[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz/doc Gzz_Frontend_View.rst Gzz_Frontend_Vobs...
From: |
Tuomas J. Lukka |
Subject: |
[Gzz-commits] gzz/doc Gzz_Frontend_View.rst Gzz_Frontend_Vobs... |
Date: |
Thu, 19 Dec 2002 18:05:17 -0500 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Tuomas J. Lukka <address@hidden> 02/12/19 18:05:17
Modified files:
doc : Gzz_Frontend_View.rst Gzz_Frontend_Vobs.rst
doc/pegboard/vobscene_interp--tjl: peg.rst
doc/uml : viewseq.mp viewseq.uml vobscene.mp vobscene.uml
Log message:
Start fixing the outdated parts
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/doc/Gzz_Frontend_View.rst.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/doc/Gzz_Frontend_Vobs.rst.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/doc/pegboard/vobscene_interp--tjl/peg.rst.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/doc/uml/viewseq.mp.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/doc/uml/viewseq.uml.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/doc/uml/vobscene.mp.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/doc/uml/vobscene.uml.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
Patches:
Index: gzz/doc/Gzz_Frontend_View.rst
diff -u gzz/doc/Gzz_Frontend_View.rst:1.1 gzz/doc/Gzz_Frontend_View.rst:1.2
--- gzz/doc/Gzz_Frontend_View.rst:1.1 Wed Dec 18 10:58:47 2002
+++ gzz/doc/Gzz_Frontend_View.rst Thu Dec 19 18:05:17 2002
@@ -1,8 +1,10 @@
-=================
-Gzz Frontend View
-=================
+==========================
+Gzz Frontend: View Classes
+==========================
+
+Views are responsible for generating Vob scenes based on
+the data in the structure.
-XXX Some description about the view system here :)
`gzz.view`__ package summary
@@ -11,6 +13,99 @@
__ view_
-.. UML-refer:: view
+.. UML:: viewclasses
+
+ jlinkpackage gzz.view
+
+ package gzz.client
+ jlink
+ use View
+
+ package Vobs
+ jlink
+ Gzz_Frontend_Vobs.gen.html
+
+ bigpackage gzz.view
+ jlink
+
+ class ViewContext "interface"
+ jlink
+ methods
+ Cell getAccursed()
+ Dim[] getDims()
+ CellView getCellView()
+ CellView getCellContentView()
+ boolean isMarked()
+ java.util.List getCursorColor(Cell c)
+ int getCursorOffset(Cell c)
+
+ class View "interface"
+ jlink
+ use ViewContext
+ use CellView
+ use Vobs
+ methods
+ void render(VobScene vs, int box, ViewContext context)
+
+ class CellView "abstract"
+ jlink
+ methods
+ void getSize(Cell c, ViewContext context, float[] out)
+ void getSize(Cell c, float scale, ViewContext context,
float[] out)
+ void place(Cell c, VobScene vs, int box, ViewContext
context)
+ use ViewContext
+ use Vobs
+
+ ---
+ ViewContext.c = (0, 10);
+
+ View.c = (250, 100);
+ vertically(50, view_v, View, CellView);
+
+
+ gzz.client.c = (0, 200);
+
+ Vobs.c = (500, ypart ViewContext.c);
+
+ pad = 30;
+ gzz.view.nw = ViewContext.nw +(-pad, 100);
+ xpart gzz.view.e = xpart(CellView.e) + pad;
+
+CellView actually appears in at least two different roles: for placing cells
+and for placing cell contents. The following diagram shows the sequence in
which a
+view might work.
+
+.. UML:: view_seq
+
+ seqobject View
+ seqobject CellView
+ seqobject CellContentView
+ seqobject ViewContext
+
+ sequence useView
+ call View "render(vs, box, context)"
+ call ViewContext "getCellView()"
+ return
+ call ViewContext "getAccursed()"
+ return
+ call CellView "getSize(null, context, size[])"
+ call ViewContext "getCellContentView()"
+ call CellContentView "getSize(c, scale, context, size)"
+ return
+ return
+ call CellView "place(c, vs, box, context)"
+ call ViewContext "getAccursed()"
+ return
+ call ViewContext "getCellContentView()"
+ return
+ call ViewContext "getCursorColors(c)"
+ return
+ call CellContentView "place(c, vs, box, context)"
+ return
+ return
+ ---
+ View.c = (0,0);
+ horizontally(100, view_h, View, CellView, CellContentView, ViewContext);
+
+
-.. UML-refer:: viewseq
Index: gzz/doc/Gzz_Frontend_Vobs.rst
diff -u gzz/doc/Gzz_Frontend_Vobs.rst:1.1 gzz/doc/Gzz_Frontend_Vobs.rst:1.2
--- gzz/doc/Gzz_Frontend_Vobs.rst:1.1 Wed Dec 18 10:58:47 2002
+++ gzz/doc/Gzz_Frontend_Vobs.rst Thu Dec 19 18:05:17 2002
@@ -1,6 +1,6 @@
-=================
-Gzz Vob subsystem
-=================
+===========================
+Gzz Frontend: Vob subsystem
+===========================
Vobs are the basis of Gzz's graphics system. As discussed elsewhere(XXX)
they enable keyframe interpolation between unrelated views by associating
@@ -12,8 +12,86 @@
However, in the Java implementation, CoordinateSystems are represented by
arrays inside the VobScene.
-.. UML-refer:: vobscene
-
+.. UML:: vobscene_overall
+
+ jlinkpackage gzz.vob
+
+ class VobScene
+ jlink
+ assoc compos - multi(1) VobMap
+ assoc compos - multi(1) VobCoorder
+ assoc compos - multi(1) VobMatcher
+ methods
+ java.awt.Dimension getSize()
+ void put(Vob v, Object key, float depth, x, y, w, h)
+
+ class VobMap "interface"
+ jlink
+ assoc aggreg multi(1) - multi(*) Vob
+ methods
+ Vob getVobByCS(int coordsys)
+ void put(Vob)
+ void put(Vob, int coordsys)
+ void put(Vob, int coordsys1, int coordsys2)
+
+
+ class VobCoorder "interface"
+ jlink
+ assoc compos - multi(*) CoordinateSystem
+ methods
+ int ortho(int parent, float depth, x, y, w, h)
+ int scale(int parent, float sx, sy)
+ ...
+ int getCSAt(int parent, float x, y)
+ boolean needInterp(VobCoorder interpTo, int[] interpList)
+ float[] transformPoints3(int withCS, float[] pt)
+ ...
+
+ class VobMatcher "interface"
+ jlink
+ methods
+ int add(int into, int cs, Object key)
+ int[] interpList(VobMatcher other)
+ ...
+
+
+ class Vob "interface"
+ jlink
+ methods
+ void render(Graphics g, boolean fast, RenderInfo info1, info2)
+ int addToListGL(...)
+ boolean intersect(int x, int y, RenderInfo info1, info2)
+
+ class CoordinateSystem "pseudoclass"
+ assoc multi(*) - multi(1) role(key) java.lang.Object
+ assoc multi(0..2{ordered}) - multi(*) Vob
+
+ class java.lang.Object
+ methods
+ int hashCode()
+ boolean equals(Object o)
+
+ hierarch = assoc CoordinateSystem aggreg multi(0..1) role(parent) -
multi(*) role(child) CoordinateSystem
+
+ ---
+ VobScene.c = (0,0);
+
+ horizontally(20, ooo, VobMap, VobCoorder, VobMatcher);
+ Vob.c = (xpart VobMap.c, ypart CoordinateSystem.c);
+
+ vertically(60, xxx, VobCoorder, CoordinateSystem, java.lang.Object);
+
+ VobCoorder.n = VobScene.s + (0,-50);
+
+ pair mn,ms;
+ mn := CoordinateSystem.ne;
+ ms := CoordinateSystem.se;
+
+ hierarch.p = (0.2[mn,ms] {1,1} .. 0.5[mn,ms]+(60,0) .. 0.8[mn,ms]{-1,1});
+
+ draw VobMap.c -- 0.7[Vob.c, CoordinateSystem.c] dashed evenly;
+ draw VobMatcher.c -- 0.6[Vob.c, java.lang.Object.c] dashed evenly;
+
The construction of a VobScene goes as follows:
.. UML-refer:: vobsceneseq
Index: gzz/doc/pegboard/vobscene_interp--tjl/peg.rst
diff -u gzz/doc/pegboard/vobscene_interp--tjl/peg.rst:1.6
gzz/doc/pegboard/vobscene_interp--tjl/peg.rst:1.7
--- gzz/doc/pegboard/vobscene_interp--tjl/peg.rst:1.6 Thu Dec 19 11:46:54 2002
+++ gzz/doc/pegboard/vobscene_interp--tjl/peg.rst Thu Dec 19 18:05:17 2002
@@ -3,9 +3,9 @@
=============================================================
:Author: Tuomas J. Lukka
-:Last-Modified: $Date: 2002/12/19 16:46:54 $
-:Revision: $Revision: 1.6 $
-:Status: Accepted
+:Last-Modified: $Date: 2002/12/19 23:05:17 $
+:Revision: $Revision: 1.7 $
+:Status: Implemented
:Affects-PEGs: vob_considerations--benja, vobcoorder_parents--tjl,
vobscene_hierarchies_clicks--tjl
:Type: Architecture
:Scope: Limited
Index: gzz/doc/uml/viewseq.mp
diff -u gzz/doc/uml/viewseq.mp:1.1 gzz/doc/uml/viewseq.mp:1.2
--- gzz/doc/uml/viewseq.mp:1.1 Tue Dec 3 06:08:35 2002
+++ gzz/doc/uml/viewseq.mp Thu Dec 19 18:05:17 2002
@@ -1,2 +0,0 @@
-View.c = (0,0);
- horizontally(100, view_h, View, CellView, CellContentView, ViewContext);
\ No newline at end of file
Index: gzz/doc/uml/viewseq.uml
diff -u gzz/doc/uml/viewseq.uml:1.1 gzz/doc/uml/viewseq.uml:1.2
--- gzz/doc/uml/viewseq.uml:1.1 Tue Dec 3 06:08:35 2002
+++ gzz/doc/uml/viewseq.uml Thu Dec 19 18:05:17 2002
@@ -1,27 +0,0 @@
-
-seqobject View
-seqobject CellView
-seqobject CellContentView
-seqobject ViewContext
-
-sequence useView
- call View "render(vs, box, context)"
- call ViewContext "getCellView()"
- return
- call ViewContext "getAccursed()"
- return
- call CellView "getSize(null, context, size[])"
- call ViewContext "getCellContentView()"
- call CellContentView "getSize(c, scale, context, size)"
- return
- return
- call CellView "place(c, vs, box, context)"
- call ViewContext "getAccursed()"
- return
- call ViewContext "getCellContentView()"
- return
- call ViewContext "getCursorColors(c)"
- return
- call CellContentView "place(c, vs, box, context)"
- return
- return
\ No newline at end of file
Index: gzz/doc/uml/vobscene.mp
diff -u gzz/doc/uml/vobscene.mp:1.2 gzz/doc/uml/vobscene.mp:1.3
--- gzz/doc/uml/vobscene.mp:1.2 Mon Aug 26 06:12:22 2002
+++ gzz/doc/uml/vobscene.mp Thu Dec 19 18:05:17 2002
@@ -1,16 +0,0 @@
-VobScene.c = (0,0);
-
-horizontally(100, ooo, VobMap, VobCoorder);
-Vob.c = (xpart VobMap.c, ypart CoordinateSystem.c);
-
-vertically(100, xxx, VobCoorder, CoordinateSystem, java.lang.Object);
-
-ooo.c = VobScene.c + (0,-100);
-
-pair mn,ms;
-mn := CoordinateSystem.ne;
-ms := CoordinateSystem.se;
-
-hierarch.p = (0.2[mn,ms] {1,1} .. 0.5[mn,ms]+(60,0) .. 0.8[mn,ms]{-1,1});
-
-draw VobMap.c -- 0.7[Vob.c, CoordinateSystem.c] dashed evenly;
Index: gzz/doc/uml/vobscene.uml
diff -u gzz/doc/uml/vobscene.uml:1.2 gzz/doc/uml/vobscene.uml:1.3
--- gzz/doc/uml/vobscene.uml:1.2 Mon Aug 26 06:12:22 2002
+++ gzz/doc/uml/vobscene.uml Thu Dec 19 18:05:17 2002
@@ -1,48 +0,0 @@
-jlinkpackage gzz.vob
-
-class VobScene
- jlink
- assoc compos - multi(1) VobMap
- assoc compos - multi(1) VobCoorder
- methods
- java.awt.Dimension getSize()
- void put(Vob v, Object key, float depth, x, y, w, h)
-
-class VobMap "interface"
- jlink
- assoc aggreg multi(1) - multi(*) Vob
- methods
- Vob getVobByCS(int coordsys)
- void put(Vob, int coordsys)
- void put(Vob, int coordsys1, int coordsys2)
- int getCoordsys(Object key)
-
-
-class VobCoorder "interface"
- jlink
- assoc compos - multi(*) CoordinateSystem
- methods
- int coordsys(int parent, Object key, float depth, x, y, w, h)
- {Object, float[2]} getKeyAt(VobMap v, float x, y)
- int getCSIndexAt(float x, y)
- boolean needInterp(VobCoorder interpTo)
- Vob.RenderInfo getRenderInfo(int csind)
-
-
-class Vob "interface"
- jlink
- methods
- void render(Graphics g, boolean fast, RenderInfo info1, info2)
- int addToListGL(...)
- boolean intersect(int x, int y, RenderInfo info1, info2)
-
-class CoordinateSystem "pseudoclass"
- assoc multi(*) - multi(1) role(key) java.lang.Object
- assoc multi(0..2{ordered}) - multi(*) Vob
-
-class java.lang.Object
- methods
- int hashCode()
- boolean equals(Object o)
-
-hierarch = assoc CoordinateSystem aggreg multi(0..1) role(parent) - multi(*)
role(child) CoordinateSystem
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] gzz/doc Gzz_Frontend_View.rst Gzz_Frontend_Vobs...,
Tuomas J. Lukka <=