[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] fenfire docs/design_SpanImages.rst org/fenfire/...
From: |
Tuomas J. Lukka |
Subject: |
[Gzz-commits] fenfire docs/design_SpanImages.rst org/fenfire/... |
Date: |
Thu, 12 Jun 2003 07:07:45 -0400 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Branch:
Changes by: Tuomas J. Lukka <address@hidden> 03/06/12 07:07:45
Modified files:
docs : design_SpanImages.rst
org/fenfire/spanimages/gl: MuxSpanImageFactory.java
Added files:
org/fenfire/spanimages/gl: PageScrollBlockImager.java
ScrollBlockImager.java
SingleImage.java
Log message:
More page loading work
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/docs/design_SpanImages.rst.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/spanimages/gl/PageScrollBlockImager.java?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/spanimages/gl/ScrollBlockImager.java?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/spanimages/gl/SingleImage.java?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/spanimages/gl/MuxSpanImageFactory.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
Patches:
Index: fenfire/docs/design_SpanImages.rst
diff -u fenfire/docs/design_SpanImages.rst:1.2
fenfire/docs/design_SpanImages.rst:1.3
--- fenfire/docs/design_SpanImages.rst:1.2 Wed Jun 11 12:55:08 2003
+++ fenfire/docs/design_SpanImages.rst Thu Jun 12 07:07:45 2003
@@ -47,13 +47,14 @@
======================
The interfaces ``SpanImageFactory`` and ``SpanImageVob`` in the package
-``org.fenfire.spanimage`` are the
+``org.fenfire.spanimages`` are the
.. UML:: fenfirespansint1
- jlinkpackage org.fenfire.spanimage
+ jlinkpackage org.fenfire.spanimages
class SpanImageFactory "abstract"
+ jlink
methods
static getDefaultInstance()
getSpanImageVob(ImageSpan s)
@@ -61,6 +62,7 @@
dep "create" SpanImageFactory SpanImageVob
class SpanImageVob "interface"
+ jlink
inherit org.nongnu.libvob.Vob
class org.nongnu.libvob.Vob "interface"
@@ -82,8 +84,8 @@
Implementation
==============
-The implementations are in ``org.fenfire.spanimage.gl`` (once an AWT
implementation
-is made, it will be in the package ``org.fenfire.spanimage.fuzzybear``).
+The implementations are in ``org.fenfire.spanimages.gl`` (once an AWT
implementation
+is made, it will be in the package ``org.fenfire.spanimages.fuzzybear``).
ImageSpan vs PageImageSpan
--------------------------
@@ -93,11 +95,11 @@
.. UML:: fenfirespansint2
- jlinkpackage org.fenfire.spanimage
+ jlinkpackage org.fenfire.spanimages
class SpanImageFactory "abstract"
jlink
- jlinkpackage org.fenfire.spanimage.gl
+ jlinkpackage org.fenfire.spanimages.gl
class MuxSpanImageFactory
jlink
realize SpanImageFactory
@@ -120,7 +122,7 @@
.. UML:: fenfirespans_sbimg
- jlinkpackage org.fenfire.spanimage.gl
+ jlinkpackage org.fenfire.spanimages.gl
class ScrollBlockImager "abstract"
jlink
@@ -150,7 +152,9 @@
class SingleImage
assoc compos multi(1) - multi(1) org.nongnu.libvob.gl.MipzipLoader
+ assoc compos multi(1) - multi(1) org.nongnu.libvob.gl.GL.TexAccum
+ class org.nongnu.libvob.gl.GL.TexAccum
jlinkpackage org.nongnu.libvob.gl
@@ -160,14 +164,18 @@
float origWidth, origHeight
---
- pq.w = PageScrollBlockImager.e;
- iq.w = ImageScrollBlockImager.e;
+ pq.n = PageScrollBlockImager.s;
+ iq.n = ImageScrollBlockImager.s;
- vertically(80, xx, PageScrollBlockImager, ImageScrollBlockImager);
+ horizontally(40, xx, PageScrollBlockImager, ImageScrollBlockImager);
- horizontally(150, yy, ScrollBlockImager, xx, SingleImage);
+ vertically(50, yy, ScrollBlockImager, xx, SingleImage);
- vertically(80, zz, SingleImage, org.nongnu.libvob.gl.MipzipLoader);
+ horizontally(60, ww, org.nongnu.libvob.gl.MipzipLoader,
+ org.nongnu.libvob.gl.GL.TexAccum
+ );
+ vertically(80, zz, SingleImage, ww);
+
An important architectural feature is that the classes are not static: this
allows
us to, e.g, plug in filters for the images of PageImageSpan.
@@ -184,7 +192,7 @@
.. UML:: fenfirespans_paper
- jlinkpackage org.fenfire.spanimage.gl
+ jlinkpackage org.fenfire.spanimages.gl
class PaperMaker "interface"
jlink
@@ -203,6 +211,37 @@
horizontally(100, xx, PaperMaker, org.nongnu.libvob.gl.Paper);
vertically(70, yy, PaperMaker, SingleImage);
+Statistics accumulation and memory pool handling
+------------------------------------------------
+
+Now we come to the *raison d'etre* of this architecture:
+centralized handling of the feedback from vobscene rendering.
+The TexAccum class in Libvob is able to accumulate the approximate
+number of pixels rendered at each mipmap level of each texture.
+
+.. UML:: fenfirespans_texaccum
+
+ jlinkpackage org.fenfire.spanimages.gl
+
+ class org.nongnu.libvob.memory.MemoryPartitioner
+
+ class PoolManager
+ jlink
+ assoc compos - org.nongnu.libvob.memory.MemoryPartitioner
+ methods
+ SpanImageVob makeVob(SingleImage i, Paper p, float[] texgen, float
w, float h)
+
+ qual q
+ fields
+ SingleImage i
+
+ ---
+ q.n = PoolManager.s;
+
+ org.nongnu.libvob.memory.MemoryPartitioner.s + (0, -60) = PoolManager.n;
+
+
+
The final piece: the default implementation of ``SpanImageFactory``
-------------------------------------------------------------------
@@ -214,11 +253,11 @@
.. UML:: fenfirespans_imgfactoryimpl
- jlinkpackage org.fenfire.spanimage
+ jlinkpackage org.fenfire.spanimages
class SpanImageFactory "abstract"
- jlinkpackage org.fenfire.spanimage.gl
+ jlinkpackage org.fenfire.spanimages.gl
class DefaultSpanImageFactory
realize SpanImageFactory
Index: fenfire/org/fenfire/spanimages/gl/MuxSpanImageFactory.java
diff -u fenfire/org/fenfire/spanimages/gl/MuxSpanImageFactory.java:1.3
fenfire/org/fenfire/spanimages/gl/MuxSpanImageFactory.java:1.4
--- fenfire/org/fenfire/spanimages/gl/MuxSpanImageFactory.java:1.3 Wed Jun
11 13:00:24 2003
+++ fenfire/org/fenfire/spanimages/gl/MuxSpanImageFactory.java Thu Jun 12
07:07:45 2003
@@ -24,7 +24,8 @@
* Written by Tuomas J. Lukka
*/
-package org.fenfire.spanimages;
+package org.fenfire.spanimages.gl;
+import org.fenfire.spanimages.*;
import org.nongnu.alph.*;
/** A spanimagefactory that redirects pageimage and image spans