ASF Bugzilla – Attachment 20424 Details for
Bug 42785
[PATCH] Support baseline-shift for images
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
baselineshift patch
baselineshift.patch (text/plain), 5.98 KB, created by
Max Berger
on 2007-06-30 08:06:18 UTC
(
hide
)
Description:
baselineshift patch
Filename:
MIME Type:
Creator:
Max Berger
Created:
2007-06-30 08:06:18 UTC
Size:
5.98 KB
patch
obsolete
>Index: src/java/org/apache/fop/image/AbstractFopImage.java >=================================================================== >--- src/java/org/apache/fop/image/AbstractFopImage.java (revision 552142) >+++ src/java/org/apache/fop/image/AbstractFopImage.java (working copy) >@@ -258,6 +258,12 @@ > return (int)(getHeight() * 72000 / getVerticalResolution()); > } > >+ /** @see org.apache.fop.image.FopImage#getIntrinsicBaselineShift() */ >+ public int getIntrinsicBaselineShift() { >+ return this.imageInfo.baselineShift; >+ } >+ >+ > /** @see org.apache.fop.image.FopImage#getHorizontalResolution() */ > public double getHorizontalResolution() { > return this.dpiHorizontal; >Index: src/java/org/apache/fop/image/FopImage.java >=================================================================== >--- src/java/org/apache/fop/image/FopImage.java (revision 552142) >+++ src/java/org/apache/fop/image/FopImage.java (working copy) >@@ -88,6 +88,11 @@ > * @return the intrinsic image width (in millipoints) > */ > int getIntrinsicHeight(); >+ >+ /** >+ * @return the intrinsic baseline-shift (in millipoints) >+ */ >+ int getIntrinsicBaselineShift(); > > /** > * @return the horizontal bitmap resolution (in dpi) >@@ -193,6 +198,8 @@ > public String mimeType; > /** implementation-specific String (ex. the namespace for XML-based images) */ > public String str; >+ /** baselineShift in millipoints */ >+ public int baselineShift = 0; > } > > } >Index: src/java/org/apache/fop/fo/flow/InstreamForeignObject.java >=================================================================== >--- src/java/org/apache/fop/fo/flow/InstreamForeignObject.java (revision 552142) >+++ src/java/org/apache/fop/fo/flow/InstreamForeignObject.java (working copy) >@@ -40,6 +40,8 @@ > //Additional value > private Point2D intrinsicDimensions; > >+ private float intrinsicBaselineShift; >+ > /** > * constructs an instream-foreign-object object (called by Maker). > * >@@ -105,6 +107,7 @@ > log.error("Intrinsic dimensions of " > + " instream-foreign-object could not be determined"); > } >+ intrinsicBaselineShift = child.getBaselineShift(); > } > } > >@@ -132,6 +135,15 @@ > } > } > >+ /** >+ * @see org.apache.fop.fo.flow.AbstractGraphics#getIntrinsicBaselineShift() >+ */ >+ public int getIntrinsicBaselineShift() { >+ prepareIntrinsicSize(); >+ return (int)(intrinsicBaselineShift * 1000); >+ } >+ >+ > /** @see org.apache.fop.fo.FONode#addChildNode(org.apache.fop.fo.FONode) */ > protected void addChildNode(FONode child) throws FOPException { > super.addChildNode(child); >Index: src/java/org/apache/fop/fo/flow/AbstractGraphics.java >=================================================================== >--- src/java/org/apache/fop/fo/flow/AbstractGraphics.java (revision 552142) >+++ src/java/org/apache/fop/fo/flow/AbstractGraphics.java (working copy) >@@ -29,6 +29,7 @@ > import org.apache.fop.fo.properties.CommonBorderPaddingBackground; > import org.apache.fop.fo.properties.CommonMarginInline; > import org.apache.fop.fo.properties.CommonRelativePosition; >+import org.apache.fop.fo.properties.FixedLength; > import org.apache.fop.fo.properties.KeepProperty; > import org.apache.fop.fo.properties.LengthRangeProperty; > import org.apache.fop.fo.properties.SpaceProperty; >@@ -250,7 +251,8 @@ > * @return the "baseline-shift" property > */ > public Length getBaselineShift() { >- return baselineShift; >+ return new FixedLength(baselineShift.getValue() >+ - getIntrinsicBaselineShift()); > } > > /** >@@ -261,12 +263,21 @@ > } > > /** >- * @return the graphics intrinsic width >+ * @return the graphics intrinsic width in millipoints > */ > public abstract int getIntrinsicWidth(); > > /** >- * @return the graphics intrinsic height >+ * @return the graphics intrinsic height in millipoints > */ > public abstract int getIntrinsicHeight(); >+ >+ /** >+ * retrieve the baseline-shift for this graphic in millipoints. >+ * <p> >+ * It should probably be 0 < baseline-shift < height. >+ * >+ * @return the graphics baseline shift. >+ */ >+ public abstract int getIntrinsicBaselineShift(); > } >Index: src/java/org/apache/fop/fo/flow/ExternalGraphic.java >=================================================================== >--- src/java/org/apache/fop/fo/flow/ExternalGraphic.java (revision 552142) >+++ src/java/org/apache/fop/fo/flow/ExternalGraphic.java (working copy) >@@ -44,6 +44,7 @@ > private String url; > private int intrinsicWidth; > private int intrinsicHeight; >+ private int intrinsicBaselineShift; > > /** > * Create a new External graphic node. >@@ -75,6 +76,7 @@ > } > this.intrinsicWidth = fopimage.getIntrinsicWidth(); > this.intrinsicHeight = fopimage.getIntrinsicHeight(); >+ this.intrinsicBaselineShift = fopimage.getIntrinsicBaselineShift(); > } > //TODO Report to caller so he can decide to throw an exception > } >@@ -136,4 +138,10 @@ > return this.intrinsicHeight; > } > >+ /** >+ * @see org.apache.fop.fo.flow.AbstractGraphics#getIntrinsicBaselineShift() >+ */ >+ public int getIntrinsicBaselineShift() { >+ return this.intrinsicBaselineShift; >+ } > } >Index: src/java/org/apache/fop/fo/XMLObj.java >=================================================================== >--- src/java/org/apache/fop/fo/XMLObj.java (revision 552142) >+++ src/java/org/apache/fop/fo/XMLObj.java (working copy) >@@ -94,6 +94,14 @@ > public Point2D getDimension(Point2D view) { > return null; > } >+ >+ /** >+ * Retrieve the baseline-shift of the ares in pts. >+ * @return the baseline shift. >+ */ >+ public float getBaselineShift() { >+ return 0.0f; >+ } > > /** @see org.apache.fop.fo.FONode#getLocalName() */ > public String getLocalName() {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 42785
: 20424 |
20475