summaryrefslogtreecommitdiff
path: root/canvas/source/java/CanvasBase.java
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2004-11-26 16:04:53 +0000
committerRüdiger Timm <rt@openoffice.org>2004-11-26 16:04:53 +0000
commit8f43ee5f222a2ee34201615ce7b14eb00d4e86fb (patch)
tree483571bbab6c5b5a013f4309dbeda835cd87dec9 /canvas/source/java/CanvasBase.java
parent46aac2f01f9b12be5570e6a280274f858550edba (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.java72
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" );