deweese 2002/06/20 14:35:10
Modified: . build.xml
sources/org/apache/batik/bridge URIResolver.java
sources/org/apache/batik/ext/awt/image/rendered BumpMap.java
sources/org/apache/batik/gvt/text GlyphLayout.java
test-resources/org/apache/batik/test samplesRendering.xml
Added: test-references/samples batikCandyBumpMap1.png
Log:
1) Changed build target for svgbrowser to squiggle. Also the jar file
will now be 'batik-squiggle.jar' not 'batik-svgbrowser.jar'.
2) Fixed a bug in BupMap.java when the bump map was only one pixle wide/high.
3) Added a test for this case.
PR:8333
Revision Changes Path
1.117 +17 -11 xml-batik/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/xml-batik/build.xml,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -r1.116 -r1.117
--- build.xml 17 Jun 2002 17:06:52 -0000 1.116
+++ build.xml 20 Jun 2002 21:35:09 -0000 1.117
@@ -34,8 +34,8 @@
You can now launch the SVG browser by typing:
- [unix] ./build.sh svgbrowser
- [win32] .\build.bat svgbrowser
+ [unix] ./build.sh squiggle
+ [win32] .\build.bat squiggle
Build Targets
@@ -138,7 +138,8 @@
<echo message=" dist-tgz --> build the tgz distributions"/>
<echo message=" compile --> compiles the source code"/>
<echo message=" compiletest --> compiles the tests source code"/>
- <echo message=" svgbrowser --> runs the SVG browser"/>
+ <echo message=" squiggle --> runs Squiggle the SVG browser"/>
+ <echo message=" svgbrowser --> runs Squiggle the SVG browser"/>
<echo message=" svgrasterizer --> runs the SVG rasterizer"/>
<echo message=" svgpp --> runs the SVG pretty-printer"/>
<echo message=" ttf2svg --> converts selected glyphs from a True Type"/>
@@ -388,7 +389,7 @@
svg-pp-jar,
svg-slideshow-jar,
svggen-jar,
- svg-browser-jar,
+ squiggle-jar,
rasterizer-jar,
ttf2svg-jar">
<copy todir="${build}/lib">
@@ -725,14 +726,15 @@
</jar>
</target>
- <!-- SVG Browser (dependencies: all) -->
- <target name="svg-browser-jar" depends="compile, prepare-build">
+
+ <!-- Squiggle (dependencies: all) -->
+ <target name="squiggle-jar" depends="compile, prepare-build">
<move
file="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy"
tofile="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.classes.policy"
/>
<move
file="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.bin.policy"
tofile="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy" />
<jar manifest="${src}/${project}-browser.mf"
- jarfile="${build}/${project}-svgbrowser.jar">
+ jarfile="${build}/${project}-squiggle.jar">
<fileset dir="${dest}">
<include name="${package-prefix}/apps/svgbrowser/**/*.class"/>
<include name="${package-prefix}/experiment/**/*.class"/>
@@ -749,6 +751,8 @@
tofile="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy" />
</target>
+ <!-- Squiggle - SVG Browser (dependencies: all) -->
+ <target name="svg-browser-jar" depends="squiggle-jar"/>
<!-- Rasterizer (dependencies: all except GUI util) -->
<target name="rasterizer-jar" depends="compile, prepare-build">
@@ -789,9 +793,8 @@
<!-- Applications ....................................................... -->
- <target name="svgbrowser"
- depends="compile"
- description="Runs the SVG browser">
+ <target name="squiggle" depends="compile"
+ description="Runs Squiggle - the SVG browser">
<java fork="yes"
classname="${class-prefix}.apps.svgbrowser.Main">
<classpath>
@@ -809,6 +812,9 @@
-->
</java>
</target>
+
+ <target name="svgbrowser" depends="squiggle"
+ description="Runs Squiggle - the SVG browser"/>
<target name="svgrasterizer"
depends="compile"
1.19 +6 -2 xml-batik/sources/org/apache/batik/bridge/URIResolver.java
Index: URIResolver.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/URIResolver.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- URIResolver.java 13 Jun 2002 11:19:37 -0000 1.18
+++ URIResolver.java 20 Jun 2002 21:35:09 -0000 1.19
@@ -97,8 +97,12 @@
String frag = purl.getRef();
if ((frag != null) && (documentURI != null)) {
ParsedURL pDocURL = new ParsedURL(documentURI);
- if (pDocURL.sameFile(purl))
+ // System.out.println("doc: " + pDocURL);
+ // System.out.println("Purl: " + purl);
+ if (pDocURL.sameFile(purl)) {
+ // System.out.println("match");
return document.getElementById(frag);
+ }
}
// uri is not a reference into this document, so load the
1.2 +81 -2
xml-batik/sources/org/apache/batik/ext/awt/image/rendered/BumpMap.java
Index: BumpMap.java
===================================================================
RCS file:
/home/cvs/xml-batik/sources/org/apache/batik/ext/awt/image/rendered/BumpMap.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BumpMap.java 26 Mar 2001 21:27:35 -0000 1.1
+++ BumpMap.java 20 Jun 2002 21:35:09 -0000 1.2
@@ -143,6 +143,72 @@
// Top edge extend filters...
if (yloc == srcRect.y) {
+ if (yloc == yEnd) {
+ // Only one row of pixels...
+ final double [][] NRow = N[yloc-y];
+ int xloc=x;
+ if (xloc < srcRect.x)
+ xloc = srcRect.x;
+ int p = (offset + (xloc-srcRect.x) +
+ scanStride*(yloc-srcRect.y));
+
+ crcc = (pixels[p] >>> 24)*pixelScale;
+
+ if (xloc != srcRect.x) {
+ crpc = (pixels[p - 1] >>> 24)*pixelScale;
+ }
+ else if (xloc < xEnd) {
+ // Top left pixel, in src (0, 0);
+ crnc = (pixels[p+1] >>> 24)*pixelScale;
+
+ final double [] n = NRow[xloc-x];
+
+ n[0] = 2*surfaceScaleX*(crcc - crnc);
+ invNorm = 1.0/Math.sqrt(n[0]*n[0] + 1);
+ n[0] *= invNorm;
+ n[1] = 0;
+ n[2] = invNorm;
+ n[3] = crcc*surfaceScale;
+ p++;
+ xloc++;
+ crpc = crcc;
+ crcc = crnc;
+ } else {
+ // Single pix.
+ crpc = crcc;
+ }
+
+ for (; xloc<xEnd; xloc++) {
+ // Middle Top row...
+ crnc = (pixels[p+1] >>> 24)*pixelScale;
+ final double [] n = NRow[xloc-x];
+
+ n[0] = surfaceScaleX * (crpc - crnc );
+ invNorm = 1.0/Math.sqrt(n[0]*n[0] + 1);
+ n[0] *= invNorm;
+ n[1] = 0;
+ n[2] = invNorm;
+ n[3] = crcc*surfaceScale;
+ p++;
+ crpc = crcc;
+ crcc = crnc;
+ }
+
+ if ((xloc < x+w) &&
+ (xloc == srcRect.x+srcRect.width-1)) {
+ // Last pixel of top row
+ final double [] n = NRow[xloc-x];
+
+ n[0] = 2*surfaceScaleX*(crpc - crcc);
+ invNorm = 1.0/Math.sqrt(n[0]*n[0] + n[1]*n[1] + 1);
+ n[0] *= invNorm;
+ n[1] *= invNorm;
+ n[2] = invNorm;
+ n[3] = crcc*surfaceScale;
+ }
+ return N;
+ }
+
final double [][] NRow = N[yloc-y];
int p = offset + scanStride*(yloc-srcRect.y);
int xloc=x;
@@ -179,6 +245,10 @@
nrpc = nrcc;
crcc = crnc;
nrcc = nrnc;
+ } else {
+ // Single pix
+ crpc = crcc;
+ nrpc = nrcc;
}
for (; xloc<xEnd; xloc++) {
@@ -242,7 +312,7 @@
prpc = (pixels[p - scanStridePP] >>> 24)*pixelScale;
crpc = (pixels[p - 1] >>> 24)*pixelScale;
nrpc = (pixels[p + scanStrideMM] >>> 24)*pixelScale;
- }
+ }
else if (xloc < xEnd) {
// Now, process left column, from (0, 1) to (0, h-1)
crnc = (pixels[p+1] >>> 24)*pixelScale;
@@ -271,6 +341,11 @@
prcc = prnc;
crcc = crnc;
nrcc = nrnc;
+ } else {
+ // Single pix
+ prpc = prcc;
+ crpc = crcc;
+ nrpc = nrcc;
}
for (; xloc<xEnd; xloc++) {
@@ -357,6 +432,10 @@
prpc = prcc;
crcc = crnc;
prcc = prnc;
+ } else {
+ // Single pix
+ crpc = crcc;
+ prpc = prcc;
}
for (; xloc<xEnd; xloc++) {
1.43 +1 -3 xml-batik/sources/org/apache/batik/gvt/text/GlyphLayout.java
Index: GlyphLayout.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/text/GlyphLayout.java,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- GlyphLayout.java 8 May 2002 09:42:47 -0000 1.42
+++ GlyphLayout.java 20 Jun 2002 21:35:09 -0000 1.43
@@ -1848,8 +1848,6 @@
//
// Does not properly handle Bi-DI languages (does text wrapping on
// display order not logical order).
- //
- // Does not drop leading non-printing chars on a line..
/**
* This will wrap the text associated with <tt>aci</tt> and
1.1 xml-batik/test-references/samples/batikCandyBumpMap1.png
<<Binary file>>
1.77 +3 -1
xml-batik/test-resources/org/apache/batik/test/samplesRendering.xml
Index: samplesRendering.xml
===================================================================
RCS file:
/home/cvs/xml-batik/test-resources/org/apache/batik/test/samplesRendering.xml,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- samplesRendering.xml 11 Jun 2002 09:59:55 -0000 1.76
+++ samplesRendering.xml 20 Jun 2002 21:35:09 -0000 1.77
@@ -104,6 +104,8 @@
<test id="samples/tests/spec/filters/feTurbulence.svg" />
<test id="samples/tests/spec/filters/filterRegions.svg" />
<test id="samples/tests/spec/filters/svgEnableBackground.svg" />
+ <test id="samples/batikCandy.svg#svgView(transform(scale(0.01)))-BumpMap1"
+ class="org.apache.batik.test.svg.SVGReferenceRenderingAccuracyTest"/>
</testGroup>
<testGroup id="tests.spec.fonts">
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]