gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz gzz/client/GraphicsAPI.java gzz/client/awt/...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz gzz/client/GraphicsAPI.java gzz/client/awt/...
Date: Wed, 11 Dec 2002 01:15:31 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        02/12/11 01:15:29

Modified files:
        gzz/client     : GraphicsAPI.java 
        gzz/client/awt : AWTAPI.java 
        test/tools     : gfx.py 

Log message:
        Use off-screen rendering in tests: now tests won't fail just because 
you happened to put another window on top of the test window.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/client/GraphicsAPI.java.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/client/awt/AWTAPI.java.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/test/tools/gfx.py.diff?tr1=1.13&tr2=1.14&r1=text&r2=text

Patches:
Index: gzz/gzz/client/GraphicsAPI.java
diff -u gzz/gzz/client/GraphicsAPI.java:1.25 
gzz/gzz/client/GraphicsAPI.java:1.26
--- gzz/gzz/client/GraphicsAPI.java:1.25        Thu Dec  5 04:29:43 2002
+++ gzz/gzz/client/GraphicsAPI.java     Wed Dec 11 01:15:29 2002
@@ -81,6 +81,11 @@
      */
     public abstract Window createWindow();
 
+    /** Create an off-screen rendering surface that does not
+     * get corrupted by other windows.
+     */
+    public abstract RenderingSurface createStableOffscreen(int w, int h) ;
+
     /** Obtain a text style object for an abstract font at a given
      * size. The parameters are as
      * in address@hidden java.awt.Font#Font()}
Index: gzz/gzz/client/awt/AWTAPI.java
diff -u gzz/gzz/client/awt/AWTAPI.java:1.15 gzz/gzz/client/awt/AWTAPI.java:1.16
--- gzz/gzz/client/awt/AWTAPI.java:1.15 Tue Nov 12 04:37:56 2002
+++ gzz/gzz/client/awt/AWTAPI.java      Wed Dec 11 01:15:29 2002
@@ -46,6 +46,10 @@
     public Window createWindow() {
        return new FrameScreen(this);
     }
+    public Window createStableOffscreen() {
+       // XXX
+       return new FrameScreen(this);
+    }
     public TextStyle getTextStyle(String family, int style, int size) {
        return new RawTextStyle(new ScalableFont(family, style, size), null);
     }
Index: gzz/test/tools/gfx.py
diff -u gzz/test/tools/gfx.py:1.13 gzz/test/tools/gfx.py:1.14
--- gzz/test/tools/gfx.py:1.13  Thu Dec  5 20:16:18 2002
+++ gzz/test/tools/gfx.py       Wed Dec 11 01:15:29 2002
@@ -9,10 +9,33 @@
 print dir(gzz)
 print dir(gzz.client)
 
-didRender = 0
+_didRender = 0
 
-win = gzz.client.GraphicsAPI.getInstance().createWindow()
-win.setLocation(0, 0, 500, 500)
+_realwin = gzz.client.GraphicsAPI.getInstance().createWindow()
+_realwin.setLocation(0, 0, 600, 600)
+
+if gzz.client.GraphicsAPI.getInstance().getTypeString() == "gl":
+    win = gzz.client.GraphicsAPI.getInstance().createStableOffscreen(500, 500)
+    from gzz.gfx.gl import GL, GLCache, GLRen
+    _buf = GL.createByteVector(500*500*3)
+    _drawbufvs = _realwin.createVobScene()
+    _drawbufvs.map.put(SolidBgVob(Color(0, 0, 0.2)))
+    _drawbufvs.map.put(GLCache.getCallList("""
+       Disable TEXTURE_2D
+    """))
+    cs = _drawbufvs.translateCS(0, "tr", 0, 501)
+    _drawbufvs.map.put(
+       GLCache.getCallList("""
+           Color 1 1 1 1
+       """)
+    )
+    _drawbufvs.map.put(
+       GLRen.createDrawPixels(
+           500, 500,
+           "RGB", "UNSIGNED_BYTE", _buf),
+           cs)
+else:
+    win = _realwin
 
 print "GW: ",win
 
@@ -24,9 +47,15 @@
     return win.createVobScene()
 
 def render(vs):
-    global didRender
-    didRender = 1
+    global _didRender
+    _didRender = 1
     win.renderStill(vs, 0)
+    if win != _realwin:
+       _buf.readFromBuffer(win.getRenderingSurface(), 
+                   "FRONT", 0, 0, 500, 500,
+                       "RGB", "UNSIGNED_BYTE")
+       _realwin.renderStill(_drawbufvs, 0)
+       
 
 def getAvgColor(x, y, w, h):
     



reply via email to

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