[Fencommits] libvob: Fixes and tweaks to support lwjgl API.
Matti J. Katila
majukati at cc.jyu.fi
Tue Feb 7 23:05:14 EET 2006
Sun Feb 5 11:10:29 EET 2006 Matti J. Katila <majukati at cc.jyu.fi>
* Fixes and tweaks to support lwjgl API.
diff -rN -u libvob-old/Makefile libvob-new/Makefile
--- libvob-old/Makefile 2006-02-07 23:05:13.486908753 +0200
+++ libvob-new/Makefile 2006-02-07 22:10:36.000000000 +0200
@@ -48,7 +48,7 @@
DEPENDS = ../depends
-CLASSPATH := $(CLASSDIR):../navidoc/CLASSES:$(DEPENDS)/jython.jar:$(DEPENDS)/png.jar:$(CLASSPATH):$(DEPENDS)/javolution.jar:$(DEPENDS)/jtidy.jar:$(DEPENDS)/xom-1.0b7.jar
+CLASSPATH := $(CLASSDIR):../navidoc/CLASSES:$(DEPENDS)/jython.jar:$(DEPENDS)/png.jar:$(CLASSPATH):$(DEPENDS)/javolution.jar:$(DEPENDS)/jtidy.jar:$(DEPENDS)/xom-1.0b7.jar:$(DEPENDS)/jline.jar:$(DEPENDS)/lwjgl.jar
export CLASSPATH
ifeq (,$(JYTHONPATH))
diff -rN -u libvob-old/org/nongnu/libvob/GraphicsAPI.java libvob-new/org/nongnu/libvob/GraphicsAPI.java
--- libvob-old/org/nongnu/libvob/GraphicsAPI.java 2006-02-07 23:05:13.459912824 +0200
+++ libvob-new/org/nongnu/libvob/GraphicsAPI.java 2006-02-07 22:10:36.000000000 +0200
@@ -56,7 +56,7 @@
gfxapi = new org.nongnu.libvob.impl.awt.AWTAPI();
type = "awt";
} else if(cl.equals("applet")) {
- gfxapi = new org.nongnu.libvob.impl.applet.APPLETAPI();
+ gfxapi = new org.nongnu.libvob.impl.applet.APPLETAPI();
type = "applet";
} else if(cl.equals("gl")) {
gfxapi = new org.nongnu.libvob.impl.gl.GLAPI();
@@ -64,9 +64,12 @@
} else if(cl.equals("terminal")) {
gfxapi = new org.nongnu.libvob.impl.terminal.TERMINALAPI();
type = "terminal";
+ } else if(cl.equals("lwjgl")) {
+ gfxapi = new org.nongnu.libvob.impl.lwjgl.LWJGL_API();
+ type = "lwjgl";
} else
throw new Error("Invalid client type '"+cl+"': should be "+
- "awt, applet, terminal or gl");
+ "awt, applet, terminal, gl or lwjgl");
}
/** Get the singleton instance.
diff -rN -u libvob-old/org/nongnu/libvob/impl/DefaultVobMap.java libvob-new/org/nongnu/libvob/impl/DefaultVobMap.java
--- libvob-old/org/nongnu/libvob/impl/DefaultVobMap.java 2006-02-07 23:05:13.449914332 +0200
+++ libvob-new/org/nongnu/libvob/impl/DefaultVobMap.java 2006-02-07 22:10:35.000000000 +0200
@@ -517,9 +517,11 @@
}
g.setColor(info.fade(textRangeColor[range]));
- ((AWTTextStyle)style).render(g, (int)x, (int)ty, chars, 0, len,
- scale, info);
-
+ if (style instanceof AWTTextStyle)
+ ((AWTTextStyle)style).render(g, (int)x, (int)ty, chars, 0, len,
+ scale, info);
+ else
+ g.drawString(new String(chars, 0, len), (int)x, (int)y);
return lastClip;
}
diff -rN -u libvob-old/org/nongnu/libvob/impl/awt/AWTVobCoorderBase.java libvob-new/org/nongnu/libvob/impl/awt/AWTVobCoorderBase.java
--- libvob-old/org/nongnu/libvob/impl/awt/AWTVobCoorderBase.java 2006-02-07 23:05:13.446914784 +0200
+++ libvob-new/org/nongnu/libvob/impl/awt/AWTVobCoorderBase.java 2006-02-07 22:10:35.000000000 +0200
@@ -379,7 +379,7 @@
Trans noOp = new Trans(){
public String toString() { return "no op"; }
void put(Coordinates into) {
- into.copy(getParent(), cs());
+ into.copy(this.getParent(), cs());
}
};
@@ -441,7 +441,7 @@
public String toString() { return "translate"; }
void put(Coordinates into) {
int f = inds[cs()+2];
- into.copy(getParent(), cs());
+ into.copy(this.getParent(), cs());
into.setX(cs(), into.x(cs()) + floats[f+0]*into.sx(cs()));
into.setY(cs(), into.y(cs()) + floats[f+1]*into.sy(cs()));
into.setD(cs(), into.d(cs()) + floats[f+2]);
@@ -452,7 +452,7 @@
public String toString() { return "scale"; }
void put(Coordinates into) {
int f = inds[cs()+2];
- into.copy(getParent(), cs());
+ into.copy(this.getParent(), cs());
into.setSX(cs(), into.sx(cs()) * floats[f+0]);
into.setSY(cs(), into.sy(cs()) * floats[f+1]);
@@ -474,7 +474,7 @@
new Trans() { // 12 box
public String toString() { return "box"; }
void put(Coordinates into) {
- into.copy(getParent(), cs());
+ into.copy(this.getParent(), cs());
}
float w() {
int f = inds[cs()+2];
@@ -495,13 +495,13 @@
public String toString() { return "ortho"; }
void put(Coordinates into) {
int f = inds[cs()+2];
- into.setX(cs(), floats[f+1]*into.sx(getParent()) +
- into.x(getParent()));
- into.setY(cs(), floats[f+2]*into.sy(getParent()) +
- into.y(getParent()));
- into.setSX(cs(), floats[f+3]*into.sx(getParent()));
- into.setSY(cs(), floats[f+4]*into.sy(getParent()));
- into.setD(cs(), floats[f+0] + into.d(getParent()));
+ into.setX(cs(), floats[f+1]*into.sx(this.getParent()) +
+ into.x(this.getParent()));
+ into.setY(cs(), floats[f+2]*into.sy(this.getParent()) +
+ into.y(this.getParent()));
+ into.setSX(cs(), floats[f+3]*into.sx(this.getParent()));
+ into.setSY(cs(), floats[f+4]*into.sy(this.getParent()));
+ into.setD(cs(), floats[f+0] + into.d(this.getParent()));
}
float sx() {
int f = inds[cs()+2];
@@ -650,13 +650,13 @@
public String toString() { return "orthoBox"; }
void put(Coordinates into) {
int f = inds[cs()+2];
- into.setX(cs(), floats[f+1]*into.sx(getParent()) +
- into.x(getParent()));
- into.setY(cs(), floats[f+2]*into.sy(getParent()) +
- into.y(getParent()));
- into.setSX(cs(), floats[f+3]*into.sx(getParent()));
- into.setSY(cs(), floats[f+4]*into.sy(getParent()));
- into.setD(cs(), floats[f+0] + into.d(getParent()));
+ into.setX(cs(), floats[f+1]*into.sx(this.getParent()) +
+ into.x(this.getParent()));
+ into.setY(cs(), floats[f+2]*into.sy(this.getParent()) +
+ into.y(this.getParent()));
+ into.setSX(cs(), floats[f+3]*into.sx(this.getParent()));
+ into.setSY(cs(), floats[f+4]*into.sy(this.getParent()));
+ into.setD(cs(), floats[f+0] + into.d(this.getParent()));
}
float sx() {
int f = inds[cs()+2];
@@ -680,7 +680,7 @@
},
new Trans() { // 20 unitSq
void put(Coordinates into) {
- into.copy(getParent(), cs());
+ into.copy(this.getParent(), cs());
into.setSX(cs(), sx()*into.sx(cs()));
into.setSY(cs(), sy()*into.sy(cs()));
}
@@ -729,7 +729,7 @@
},
new Trans() { // 22 translatePolar
void put(Coordinates into) {
- into.copy(getParent(), cs());
+ into.copy(this.getParent(), cs());
int f = inds[cs()+2];
diff -rN -u libvob-old/org/nongnu/libvob/impl/gl/GLVobCoorderBase.java libvob-new/org/nongnu/libvob/impl/gl/GLVobCoorderBase.java
--- libvob-old/org/nongnu/libvob/impl/gl/GLVobCoorderBase.java 2006-02-07 23:05:13.441915538 +0200
+++ libvob-new/org/nongnu/libvob/impl/gl/GLVobCoorderBase.java 2006-02-07 23:05:14.318783306 +0200
@@ -39,11 +39,11 @@
public static boolean dbg = false;
private static void pa(String s) { System.err.println(s); }
- float[] floats = new float[80000];
- int nfloats = 0;
+ public float[] floats = new float[80000];
+ public int nfloats = 0;
- int[] inds = new int[20000];
- int ninds = 1; // zero is special (the root)
+ public int[] inds = new int[20000];
+ public int ninds = 1; // zero is special (the root)
protected final void addFloats(int n) { nfloats += n; }
protected final void addInds(int n) { ninds += n; }
diff -rN -u libvob-old/org/nongnu/libvob/lob/lobs/ClipLob.java libvob-new/org/nongnu/libvob/lob/lobs/ClipLob.java
--- libvob-old/org/nongnu/libvob/lob/lobs/ClipLob.java 2006-02-07 23:05:13.436916292 +0200
+++ libvob-new/org/nongnu/libvob/lob/lobs/ClipLob.java 2006-02-07 22:10:35.000000000 +0200
@@ -114,7 +114,8 @@
map.clip(cs);
run_render.run();
map.unclip();
- } else if(api instanceof org.nongnu.libvob.impl.gl.GLAPI) {
+ } else if(api instanceof org.nongnu.libvob.impl.gl.GLAPI ||
+ api instanceof org.nongnu.libvob.impl.lwjgl.LWJGL_API) {
org.nongnu.libvob.gl.Stencil.drawStenciled(
scene,
run_put_stencil,
diff -rN -u libvob-old/org/nongnu/libvob/vobs/RectVob.java libvob-new/org/nongnu/libvob/vobs/RectVob.java
--- libvob-old/org/nongnu/libvob/vobs/RectVob.java 2006-02-07 23:05:13.453913729 +0200
+++ libvob-new/org/nongnu/libvob/vobs/RectVob.java 2006-02-07 22:10:36.000000000 +0200
@@ -29,6 +29,8 @@
package org.nongnu.libvob.vobs;
import org.nongnu.libvob.*;
import org.nongnu.libvob.gl.*;
+import org.nongnu.libvob.gl.impl.lwjgl.LWJGLRen;
+import org.nongnu.libvob.impl.gl.GLAPI;
import org.nongnu.libvob.util.*;
import java.awt.Color;
import java.awt.Rectangle;
@@ -134,9 +136,14 @@
float[] tlc = ColorUtil.getRGBColorComponents(tlColor, null);
float[] brc = ColorUtil.getRGBColorComponents(brColor, null);
- vob = GLRen.createNonFilledRectangle(lineWidth,
+ if (GraphicsAPI.getInstance() instanceof GLAPI)
+ vob = GLRen.createNonFilledRectangle(lineWidth,
tlc[0], tlc[1], tlc[2], 1,
brc[0], brc[1], brc[2], 1);
+ else
+ vob = LWJGLRen.createNonFilledRectangle(lineWidth,
+ tlc[0], tlc[1], tlc[2], 1,
+ brc[0], brc[1], brc[2], 1);
}
vs.map.put(vob, coordsys1);
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-02-07 23:05:13.456913276 +0200
+++ libvob-new/org/nongnu/libvob/vobs/TextVob.java 2006-02-07 22:10:36.000000000 +0200
@@ -30,9 +30,12 @@
import org.nongnu.libvob.impl.awt.*;
import org.nongnu.libvob.impl.gl.*;
import org.nongnu.libvob.linebreaking.*;
+import org.nongnu.libvob.Vob.RenderInfo;
import org.nongnu.libvob.gl.*;
import org.nongnu.libvob.util.*;
import org.nongnu.navidoc.util.Obs;
+
+import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.Shape;
import java.awt.Color;
@@ -189,14 +192,19 @@
}
public Vob getPlainRenderableForBenchmarking() {
- if(ht == null) {
+ if(ht == null && 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; }
+ };
return ht;
}
diff -rN -u libvob-old/src/jni/GLRen.template.java libvob-new/src/jni/GLRen.template.java
--- libvob-old/src/jni/GLRen.template.java 2006-02-07 23:05:13.463912221 +0200
+++ libvob-new/src/jni/GLRen.template.java 2006-02-07 22:10:36.000000000 +0200
@@ -27,6 +27,7 @@
package org.nongnu.libvob.gl;
import org.nongnu.libvob.*;
+import org.nongnu.libvob.gl.impl.lwjgl.LWJGLRen;
import org.nongnu.libvob.impl.lwjgl.LWJGL_API;
import java.awt.Graphics;
diff -rN -u libvob-old/src/texture/Texture_pipetexture.cxx libvob-new/src/texture/Texture_pipetexture.cxx
--- libvob-old/src/texture/Texture_pipetexture.cxx 2006-02-07 23:05:13.465911919 +0200
+++ libvob-new/src/texture/Texture_pipetexture.cxx 2006-02-07 22:10:36.000000000 +0200
@@ -32,6 +32,7 @@
#include <stdlib.h>
#include <stdarg.h>
#include <iostream>
+#include <errno.h>
using std::cerr;
using std::string;
More information about the Fencommits
mailing list