[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ff-cvs] libvob/doc/pegboard/single_focus_manager--mudyc...
From: |
Matti Katila |
Subject: |
[ff-cvs] libvob/doc/pegboard/single_focus_manager--mudyc... |
Date: |
Mon, 15 Sep 2003 09:17:37 -0400 |
CVSROOT: /cvsroot/libvob
Module name: libvob
Branch:
Changes by: Matti Katila <address@hidden> 03/09/15 09:17:36
Modified files:
doc/pegboard/single_focus_manager--mudyc: peg.rst
Log message:
finished the peg, i think
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/doc/pegboard/single_focus_manager--mudyc/peg.rst.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
Patches:
Index: libvob/doc/pegboard/single_focus_manager--mudyc/peg.rst
diff -u libvob/doc/pegboard/single_focus_manager--mudyc/peg.rst:1.3
libvob/doc/pegboard/single_focus_manager--mudyc/peg.rst:1.4
--- libvob/doc/pegboard/single_focus_manager--mudyc/peg.rst:1.3 Sat Sep 6
00:57:05 2003
+++ libvob/doc/pegboard/single_focus_manager--mudyc/peg.rst Mon Sep 15
09:17:36 2003
@@ -5,86 +5,101 @@
:Authors: Matti J. Katila
:Date-Created: 2003-09-05
-:Last-Modified: $Date: 2003/09/06 04:57:05 $
-:Revision: $Revision: 1.3 $
+:Last-Modified: $Date: 2003/09/15 13:17:36 $
+:Revision: $Revision: 1.4 $
:Status: Incomplete
:Stakeholders: mudyc, tjl, benja
:Scope: Major
:Type: Interface
-The buoy oriented interface is in real use and must be stabilizer.
-Here are the proposal interface to be implemented by single manager.
-The term single manager means one focus view port which is arounded
-by buoy view ports.
+The buoy oriented interface is in real use and must be stabilized.
+Here are the propose interface to be implemented by manager of
+one focus view port and buoy view ports.
Issues
======
-- Method naming?
+..
Changes
=======
-The followin interface should be implemented:
+We define the following......
+The following interface should be implemented:
::
- /** The manager for buoy view ports and one focus view port.
+ /** An interface for managing the buoy links and the construction
+ * of base coordinate systems related to buoy view.
+ * Basicly the manager constructs activated coordinate systems for focus,
main node,
+ * and for every buoy links. The information of buoys, i.e. buoy anchor,
node type etc.,
+ * are needed afterwards when user clicks any of the buoys to perform an
action.
*/
- public interface BuoyManager {
+ public interface BuoyManager extends BuoyLinkListener {
- /** Folow the buoy link that is given.
- * BuoyManager implementation should interpolate
- * the old buoy to main view port and
- * old main view port to new buoy.
+ /** Represantion of anchor object rendered with some node type.
+ * Buoy implementation should be memory efficient
+ * and this implies that it's not clear that reference of buoy,
+ * which you asked from BuoyManager, is same after new draw is done.
+ */
+ public interface Buoy {
+
+ /** Get the node type of this buoy.
+ */
+ BuoyViewNodeType getNodeType();
+
+ /** Get the link identification which is
+ * used in interpolations. The identification must be unique
+ * to get proper interpolation.
+ */
+ Object getLinkId();
+
+
+ /** Get the anchor inside of this buoy.
+ * The anchor is the object which was the reason to render this
buoy.
+ */
+ Object getBuoyAnchor();
+
+
+ /** Get the coordinate system of this buoy.
+ * The cs is given and activated by BuoyManager and the node type
+ * of this Buoy renders into it.
+ */
+ int getBuoyCS();
+
+ /** Get the direction of this buoy. If direction > 0
+ * buoy is on the rigth side, else the buoy is on the left side.
+ */
+ int getDirection();
+ }
+
+
+ /** Moves the focus to given buoy with interpolation from old buoy to
new focus.
+ * If the Buoy is not from this BuoyManager an error is thrown.
+ * The old focus view port should be interpolated to new buoy.
*/
- void followLink(Buoy buoy);
+ void moveFocusTo(Buoy buoy);
-
- /** Draw the focus view port and buoys around it.
- * @param into The coordinate system where the focus is drawn.
+ /** Draw the focus main node. While rendering BuoyViewMainNode
+ * BuoyManager get buoys with LinkListener's call back
+ * interface which it implements. The buoys must not be rendered
+ * while call back linking but after every link, because
+ * main node might render into stenciled buffer.
+ * @param into The coordinate system where the focus is drawn.
*/
- void drawScene(VobScene vs, int into);
+ void draw(VobScene vs, int into);
- /** Returns the main node view.
+ /** Returns the focused main node.
*/
- BuoyViewMainNode getViewMainNode();
+ BuoyViewMainNode getMainNode();
- /** Return the buoy if it's associated with this manager
- * by given coordinate system, otherwise returns null.
+ /** To found the buoy which is clicked ask activated
+ * coordinate system from VobScene.
*/
Buoy getBuoy(int cs);
- }
-
-The Buoy class is one buoy floating around including these attributes
-(In jython prototype implementation it used to be list of objects with
-out any naming. At least definited C kind structure should be used instead.):
-
-
-::
-
- /** One instance of buoy hanging around buoy view managered by BuoyManager.
- * @see BuoyManager
- */
- public class Buoy {
- public final BuoyViewNodeType buoyNode;
- public final Object linkId, buoyAnchor;
- public final int buoyCS, direction;
+ }
- /** One buoy.
- * @param linkId The link identification of this buoy used in
interpolations.
- * @param buoyCS The coordinate system of this buoy.
- */
- public Buoy(BuoyViewNodeType buoyNode, Object linkId,
- Object buoyAnchor, int buoyCS, int direction) {
- this.buoyNode = buoyNode;
- this.linkId = linkId;
- this.buoyAnchor = buoyAnchor;
- this.buoyCS = buoyCS;
- this.direction = direction;
- }
- }