[Fencommits] libvob: vob twids.

Matti J. Katila majukati at cc.jyu.fi
Tue Mar 7 02:05:37 EET 2006


Tue Mar  7 01:18:28 EET 2006  Matti J. Katila <majukati at cc.jyu.fi>
  * vob twids.

diff -rN -u libvob-old/org/nongnu/libvob/vobs/TestSpotVob.java libvob-new/org/nongnu/libvob/vobs/TestSpotVob.java
--- libvob-old/org/nongnu/libvob/vobs/TestSpotVob.java	2006-03-07 02:05:35.418644313 +0200
+++ libvob-new/org/nongnu/libvob/vobs/TestSpotVob.java	2006-03-07 01:34:37.000000000 +0200
@@ -30,6 +30,8 @@
 import org.nongnu.libvob.*;
 import java.awt.*;
 import org.nongnu.libvob.gl.GLCache;
+import org.nongnu.libvob.gl.GLUtil;
+import org.nongnu.libvob.util.ColorUtil;
 
 /** A vob which produces a small (about 3x3 pixel) rectangle at a specified place
  * with a specified color;
@@ -49,9 +51,13 @@
     /** Create a white testspot.
      */
     public TestSpotVob(float x, float y, float z) {
+	this(x,y,z, Color.WHITE);
+    }
+    public TestSpotVob(float x, float y, float z, Color c) {
 	this.x = x;
 	this.y = y;
 	this.z = z;
+	this.color = c;
     }
 
     public void render(Graphics g,
@@ -69,7 +75,7 @@
 "		Disable TEXTURE_2D     \n" +
 "		Disable BLEND     \n" +
 "		PointSize 3     \n" +
-"		Color 1 1 1     \n" +
+"		Color "+ColorUtil.colorGLString(color)+"\n" +
 "		Begin POINTS     \n" +
 "		Vertex "+x+" "+y+" "+z+" \n" +
 "		End     \n" +
diff -rN -u libvob-old/org/nongnu/libvob/vobs/TextVob.java libvob-new/org/nongnu/libvob/vobs/TextVob.java
--- libvob-old/org/nongnu/libvob/vobs/TextVob.java	2006-03-07 02:05:35.420644011 +0200
+++ libvob-new/org/nongnu/libvob/vobs/TextVob.java	2006-03-07 01:34:37.000000000 +0200
@@ -29,9 +29,11 @@
 import org.nongnu.libvob.*;
 import org.nongnu.libvob.impl.awt.*;
 import org.nongnu.libvob.impl.gl.*;
+import org.nongnu.libvob.impl.lwjgl.LWJGL_API;
 import org.nongnu.libvob.linebreaking.*;
 import org.nongnu.libvob.Vob.RenderInfo;
 import org.nongnu.libvob.gl.*;
+import org.nongnu.libvob.gl.impl.lwjgl.LWJGLRen;
 import org.nongnu.libvob.util.*;
 import org.nongnu.navidoc.util.Obs;
 
@@ -166,7 +168,7 @@
 "   CombinerParameterNV CONSTANT_COLOR0_NV 0 0 0 0.4	\n" +
 "   CombinerInputNV COMBINER0_NV ALPHA VARIABLE_A_NV TEXTURE0 UNSIGNED_IDENTITY_NV ALPHA  \n" +
 "   CombinerInputNV COMBINER0_NV ALPHA VARIABLE_B_NV CONSTANT_COLOR0_NV UNSIGNED_IDENTITY_NV ALPHA	\n" +
-"   CombinerOutputNV COMBINER0_NV ALPHA SPARE0_NV DISCARD_NV DISCARD_NV SCALE_BY_FOUR_NV  NONE FALSE FALSE FALSE			\n" +
+"   CombinerOutputNV COMBINER0_NV ALPHA SPARE0_NV DISCARD_NV DISCARD_NV SCALE_BY_FOUR_NV  NONE FALSE FALSE FALSE	\n" +
 "    \n" +
 "    FinalCombinerInputNV VARIABLE_A_NV ZERO UNSIGNED_IDENTITY_NV RGB			\n" +
 "    FinalCombinerInputNV VARIABLE_B_NV ZERO UNSIGNED_IDENTITY_NV RGB			\n" +
@@ -192,19 +194,17 @@
     } 
 
     public Vob getPlainRenderableForBenchmarking() {
-	if(ht == null && GraphicsAPI.getInstance() instanceof org.nongnu.libvob.impl.gl.GLAPI) {
-	    GLTextStyle gls = (GLTextStyle)style;
-	    ht = GLRen.createText1(
+	if(ht == null) {
+	    if (GraphicsAPI.getInstance() instanceof org.nongnu.libvob.impl.gl.GLAPI) {
+		GLTextStyle gls = (GLTextStyle)style;
+		ht = GLRen.createText1(
 		    gls.getQuadFont(),
 		    text, 
 		    (baselined ? 1 : gls.getGLFont().getYOffs()),
 		    0);
-	} else
-	    ht = new AbstractVob(){
-		public void render(Graphics g, boolean fast, RenderInfo info1, RenderInfo info2) {
-		}
-		public int putGL(VobScene vs, int cs) { return 0; }
-	    };
+	    } else
+		ht = LWJGLRen.createText(style, text);
+	}
 	return ht;
     }
 
@@ -225,10 +225,16 @@
     private Vob ht;
     public int putGL(VobScene vs, int coordsys1) {
 	if(dbg) pa("Addtolistgl text "+text);
-	vs.map.put(getStartCode());
+	
+	boolean notLwjglUnknownBug = true;
+	if (GraphicsAPI.getInstance() instanceof LWJGL_API) notLwjglUnknownBug = false;
+	    
+	if (notLwjglUnknownBug)
+	    vs.map.put(getStartCode());
 	vs.map.put(setColor());
 	vs.map.put(getPlainRenderableForBenchmarking(), coordsys1);
-	vs.map.put(getStopCode());
+	if (notLwjglUnknownBug)
+	    vs.map.put(getStopCode());
 	return 0;
     }
 




More information about the Fencommits mailing list