diff options
author | Rüdiger Timm <rt@openoffice.org> | 2004-11-26 16:04:53 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2004-11-26 16:04:53 +0000 |
commit | 8f43ee5f222a2ee34201615ce7b14eb00d4e86fb (patch) | |
tree | 483571bbab6c5b5a013f4309dbeda835cd87dec9 /canvas/source/java/CanvasBase.java | |
parent | 46aac2f01f9b12be5570e6a280274f858550edba (diff) |
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/10/10 23:59:21 thb 1.2.2.2: #i34997# Adapted according to XCanvas::drawBitmapModulated() additional method
2004/04/12 15:12:21 thb 1.2.2.1: #110496# Adaptions after canvas01 merge
Diffstat (limited to 'canvas/source/java/CanvasBase.java')
-rw-r--r-- | canvas/source/java/CanvasBase.java | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/canvas/source/java/CanvasBase.java b/canvas/source/java/CanvasBase.java index b57430d5b329..ec7256e19304 100644 --- a/canvas/source/java/CanvasBase.java +++ b/canvas/source/java/CanvasBase.java @@ -281,16 +281,19 @@ public abstract class CanvasBase return null; } - public synchronized XCanvasFont queryFont( drafts.com.sun.star.rendering.FontRequest fontRequest ) throws com.sun.star.lang.IllegalArgumentException + public synchronized XCanvasFont createFont( FontRequest fontRequest, com.sun.star.beans.PropertyValue[] extraFontProperties, drafts.com.sun.star.geometry.Matrix2D fontMatrix ) throws com.sun.star.lang.IllegalArgumentException { + // TODO: support extra arguments return new CanvasFont( fontRequest, this ); } - public synchronized XCachedPrimitive drawText( drafts.com.sun.star.rendering.StringContext text, - drafts.com.sun.star.rendering.XCanvasFont xFont, - drafts.com.sun.star.rendering.ViewState viewState, - drafts.com.sun.star.rendering.RenderState renderState, - byte textDirection ) throws com.sun.star.lang.IllegalArgumentException + public FontInfo[] queryAvailableFonts( FontInfo aFilter, com.sun.star.beans.PropertyValue[] aFontProperties ) throws com.sun.star.lang.IllegalArgumentException + { + // TODO + return null; + } + + public XCachedPrimitive drawText( StringContext text, XCanvasFont xFont, ViewState viewState, RenderState renderState, byte textDirection ) throws com.sun.star.lang.IllegalArgumentException { CanvasUtils.printLog( "CanvasBase.drawText() called" ); @@ -308,43 +311,28 @@ public abstract class CanvasBase return null; } - public synchronized XCachedPrimitive drawOffsettedText( drafts.com.sun.star.rendering.StringContext text, - drafts.com.sun.star.rendering.XCanvasFont xFont, - double [] offsets, - drafts.com.sun.star.rendering.ViewState viewState, - drafts.com.sun.star.rendering.RenderState renderState, - byte textDirection ) throws com.sun.star.lang.IllegalArgumentException + public XCachedPrimitive drawTextLayout( XTextLayout layoutetText, ViewState viewState, RenderState renderState ) throws com.sun.star.lang.IllegalArgumentException { CanvasUtils.printLog( "CanvasBase.drawOffsettedText() called" ); - CanvasUtils.preCondition( text.Length == text.Text.length() && - text.Length == offsets.length, "CanvasBase.drawOffsettedText" ); - - if( text.Length > 0 ) - { - // cache - Graphics2D graphics = getGraphics(); - - CanvasUtils.printLog( "XCanvas: drawOffsettedText called" ); + // cache + Graphics2D graphics = getGraphics(); - CanvasUtils.setupGraphicsState( graphics, viewState, renderState, CanvasUtils.alsoSetupPaint ); - CanvasUtils.setupGraphicsFont( graphics, viewState, renderState, xFont ); + CanvasUtils.printLog( "XCanvas: drawOffsettedText called" ); - CanvasUtils.printLog( "XCanvas: drawOffsettedText canvas setup done" ); + CanvasUtils.setupGraphicsState( graphics, viewState, renderState, CanvasUtils.alsoSetupPaint ); + CanvasUtils.setupGraphicsFont( graphics, viewState, renderState, layoutetText.getFont() ); - // TODO: use proper advancement. Text direction need not be horizontal! - // TODO: given text string need not have a one-to-one relationship between code point and glyph (offset)! - graphics.drawString( text.Text.substring(text.StartPosition, text.StartPosition + 1), (float)0.0, (float)0.0 ); - for( int i=1; i<offsets.length && i<text.Length; ++i ) - { - CanvasUtils.printLog( "XCanvas: drawOffsettedText rendering a \"" + - text.Text.substring(text.StartPosition + i, - text.StartPosition + i + 1) + - "\" (position " + (text.StartPosition + i) + - " of " + text.Text + ", offset " + offsets[i] + ")" ); + CanvasUtils.printLog( "XCanvas: drawOffsettedText canvas setup done" ); - graphics.drawString( text.Text.substring(text.StartPosition + i, text.StartPosition + i + 1), (float)offsets[i-1], (float)0.0 ); - } + if( layoutetText instanceof TextLayout ) + { + ((TextLayout)layoutetText).draw( graphics ); + } + else + { + CanvasUtils.printLog( "drawTextLayout: mismatching TextLayout object." ); + throw new com.sun.star.lang.IllegalArgumentException(); } return null; @@ -371,6 +359,18 @@ public abstract class CanvasBase return null; } + public synchronized XCachedPrimitive drawBitmapModulated( drafts.com.sun.star.rendering.XBitmap xBitmap, + drafts.com.sun.star.rendering.ViewState viewState, + drafts.com.sun.star.rendering.RenderState renderState ) throws com.sun.star.lang.IllegalArgumentException + { + CanvasUtils.printLog( "CanvasBase.drawBitmapModulated() called" ); + + // TODO(F3): Implement channel modulation + return drawBitmap(xBitmap, + viewState, + renderState); + } + public synchronized XGraphicDevice getDevice() { CanvasUtils.printLog( "CanvasBase.getDevice() called" ); |