fenfire-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ff-cvs] libvob doc/pegboard/vobscene_recursion--tjl/peg...


From: Tuomas J. Lukka
Subject: [ff-cvs] libvob doc/pegboard/vobscene_recursion--tjl/peg...
Date: Sun, 14 Sep 2003 04:57:21 -0400

CVSROOT:        /cvsroot/libvob
Module name:    libvob
Branch:         
Changes by:     Tuomas J. Lukka <address@hidden>        03/09/14 04:57:21

Modified files:
        doc/pegboard/vobscene_recursion--tjl: peg.rst 
        org/nongnu/libvob/impl/gl: GLVobMap.java 
        vob/putil      : demo.py 

Log message:
        Arch sync

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/doc/pegboard/vobscene_recursion--tjl/peg.rst.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/org/nongnu/libvob/impl/gl/GLVobMap.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/vob/putil/demo.py.diff?tr1=1.23&tr2=1.24&r1=text&r2=text

Patches:
Index: libvob/doc/pegboard/vobscene_recursion--tjl/peg.rst
diff -u libvob/doc/pegboard/vobscene_recursion--tjl/peg.rst:1.7 
libvob/doc/pegboard/vobscene_recursion--tjl/peg.rst:1.8
--- libvob/doc/pegboard/vobscene_recursion--tjl/peg.rst:1.7     Wed Aug  6 
12:27:43 2003
+++ libvob/doc/pegboard/vobscene_recursion--tjl/peg.rst Sun Sep 14 04:57:20 2003
@@ -3,11 +3,12 @@
 =============================================================
 
 :Author:   Tuomas J. Lukka
-:Last-Modified: $Date: 2003/08/06 16:27:43 $
-:Revision: $Revision: 1.7 $
+:Last-Modified: $Date: 2003/09/14 08:57:20 $
+:Revision: $Revision: 1.8 $
 :Status:   Current
 
-Performance problems in PP show that we should soon make a big
+Performance problems in FenPDF as well as running out 
+of coordinate systems show that we should soon make a big
 change I've been mulling over for some time: make vobscenes
 hierarchical.
 
@@ -24,7 +25,8 @@
 
     This is also because of interpolation: placing the "VobSceneVob"
     into the parent must have a key to allow interpolation *inside*
-    the VobSceneVob. Therefore, it cannot be called a Vob.
+    a VobSceneVob. Therefore, it cannot be called a Vob. (This feature
+    will be implemented only in the future)
 
     In fact, it seems that we should support placing VobScenes directly.
 
@@ -37,13 +39,13 @@
 
     Therefore, the time should be linear w.r.t. the **rendered**
     coordsystems of the child, but constant w.r.t. child size. This makes
-    life a bit more difficult internally (can't just copy a list) but
-    should be well worth it e.g. for FenPDF.
+    life a bit more difficult internally (can't just copy a list, have
+    to point to it) but should be well worth it e.g. for FenPDF.
 
 - How do we map between coordinate systems of the parent and child vobscenes?
 
-    RESOLVED: By explicitly creating a coordinate system in the parent
-    corresponding to a coordinate system in the child by a special method.
+    RESOLVED: By a special method in the parent that returns a coordsys
+    corresponding to a coordinate system in the child.
 
 - Are modifications to child vobscenes allowed?
 
@@ -59,7 +61,8 @@
     RESOLVED: Yes. Even for the primitive use case outlined above,
     we need two: the canvas and the viewport coordinate systems.
 
-- How generally do we need to define the coordinate systems of the child?
+- How generally do we need to define the coordinate systems 
+  inside the child (the ones passed to the child as "parameters")?
   Alternatives: *n* from the beginning, or "random access" for
   redefining any coordinate systems of the child we like.
 
@@ -74,51 +77,46 @@
     It is recommended that a class with constants is created to
     number the initial coordinate systems, for ease of access.
 
-- Should the child vobscene define the number of coordsys 
-  in the beginning to replace with coordsys from the parent?
-
-    RESOLVED: Yes. This makes it easier to use the Vob interface.
-    This is true for all VobScenes - the change of root vs unit below
-    raises the number from 1 to 2 for all vobscenes. This should be
-    a parameter.
-
-    We shall not define the default to be 2 but 2 or greater, for now -
-    we may want more than the 2 later on..
-
 - What about coordinate system 0? Should it be special in the child
   and always correspond to cs 0 of the parent (i.e. unit transformation)?
   This is made problematic by the twim roles of coordinate system 0:
   on the one hand, it's the "root" coordinate system,
   on the other hand, it's the "no transofrmation" coordinate system.
 
-    RESOLVED: It should be special. However, we should start a new
-    convention: coordinate system **1** is the "root" coordinate system,
-    and **0** remains the "identity" coordinate system.
+    RESOLVED: It should not be special. 
+
+    However, we should start a new convention: coordinate system **1**
+    is the "root" coordinate system, and **0** remains the "identity"
+    coordinate system.
 
-    The unit box of CS 1 is set to screen size, while the unit box
+    The box size of CS 1 is set to screen size, while the box size
     of CS 0 is (1,1)
 
-    The semantics of 0 and 1 for child VobScenes are chosen by the
-    programmer, and the programmer can even specify 0 or 1 reserved
-    coordinate systems. Such VobScenes cannot be used for normal
-    rendering without being inserted to a parent, though.
+    The semantics of 0 and 1 for child VobScenes are chosen 
+    by the programmer, and the programmer can even specify 0 or 1 reserved
+    coordinate systems. 
+
+    It is **strongly** recommended that coordsyses 0 at the very least,
+    and possibly 1 be used as per the convention for child coordinate
+    systems as code may rely on those.
 
-- How do we get the coordinate systems into the child vobscene? 
+- How do we place the child vobscene and choose the vobscenes? 
 
     RESOLVED: A special call in VobScene, since the child vobscene
     needs a *key* from the parent coordinate system, to allow
-    interpolation..
+    interpolation (not implemented now).
 
 - Matching between different versions of a coordinate system?
 
-    RESOLVED: Yes, as described above.
+    RESOLVED: Later.
 
 - Is a normal VobScene usable as a child vobscene? Or do we need special
   operations?
 
-    RESOLVED: No, it should not be usable. Too much overhead and difficulties. 
-    The correct way
-    is to create a VobScene by the 
+    RESOLVED: No, it should not be usable. 
+    Too much overhead and difficulties. 
+
+    The correct way is to create a child VobScene by the 
     ``GraphicsAPI.RenderingSurface.createChildVobScene(int reserveCS)``
     call.  
 
@@ -144,12 +142,23 @@
 
 Extend ``VobScene`` by
 
-    /** Create a new vobscenevob from the given VobScene.
+    /** Place the given VobScene as a child.
      * The given VobScene must not be modified after this call.
-     * @param scene The VobScene
+     * @param child The child VobScene to place. Child vobscenes
+     *                 need to be created especially, through
+     *         RenderingSurface.createChildVobScene
+     * @param key The key to use
      */
      public void putChildVobScene(VobScene child, Object key, int[] cs);
 
+And correspondingly VobCoorder and VobPlacer by
+
+     public int _putChildVobScene(VobScene child, int[] cs)
+
+(the VobScene method shall call both; the underscore means that 
+they should not be called by users).
+
+The key shall be passed to VobMatcher in the normal way.
 
 VobScene methods 
 ----------------
Index: libvob/org/nongnu/libvob/impl/gl/GLVobMap.java
diff -u libvob/org/nongnu/libvob/impl/gl/GLVobMap.java:1.3 
libvob/org/nongnu/libvob/impl/gl/GLVobMap.java:1.4
--- libvob/org/nongnu/libvob/impl/gl/GLVobMap.java:1.3  Wed Sep 10 09:40:53 2003
+++ libvob/org/nongnu/libvob/impl/gl/GLVobMap.java      Sun Sep 14 04:57:20 2003
@@ -52,10 +52,10 @@
     int nvobs;
 
     public void clear() {
-       list = new int[10000];
+       list = new int[20000];
        curs = 0;
-       cs = new int[10000];
-       vobs = new Vob[10000];
+       cs = new int[20000];
+       vobs = new Vob[20000];
        nvobs = 0;
     }
 
Index: libvob/vob/putil/demo.py
diff -u libvob/vob/putil/demo.py:1.23 libvob/vob/putil/demo.py:1.24
--- libvob/vob/putil/demo.py:1.23       Wed Sep 10 08:48:43 2003
+++ libvob/vob/putil/demo.py    Sun Sep 14 04:57:20 2003
@@ -193,7 +193,7 @@
 class Bindings(vob.AbstractBinder):
     def keystroke(self, s):
        global showHelp, currentScene
-       print "KEY: '%s'"%s
+       # print "KEY: '%s'"%s
        if usingNormalBindings:
            if s == "q" or s == "Q" or s == "Ctrl-Q":
                System.exit(43)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]