summaryrefslogtreecommitdiff
path: root/cppcanvas/source/mtfrenderer/textaction.hxx
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2004-11-26 19:57:20 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2004-11-26 19:57:20 +0000
commitc376ce8bac12ea28977b145d90cc3cc2b56e6e55 (patch)
tree8895ea4533ae7c99a5ef8e84031ada0783c3c96e /cppcanvas/source/mtfrenderer/textaction.hxx
parentabc3686091f09e61d582a2e34b976c3c1468907b (diff)
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/08/23 19:15:50 thb 1.2.2.5: #110496# Added more overridable attributes (needed for slideshow attribute animations 2004/07/20 19:09:01 thb 1.2.2.4: #110496# Unified include statements; removed external prefix from boost includes 2004/05/27 20:51:28 thb 1.2.2.3: #110496# Added classification code to all TODO/HACK/FIXME comments. There are four categories: - code quality (C) - performance (P) - missing functionality (F) - and missing/incomplete error handling (E) Furthermore, every category has a severity number between 1 and 3 associated, where 1 is lowest and 3 highest severity 2004/04/12 15:13:21 thb 1.2.2.2: #110496# Adaptions after canvas01 merge 2004/04/05 15:58:50 thb 1.2.2.1: Resync with canvas01 changes
Diffstat (limited to 'cppcanvas/source/mtfrenderer/textaction.hxx')
-rw-r--r--cppcanvas/source/mtfrenderer/textaction.hxx55
1 files changed, 37 insertions, 18 deletions
diff --git a/cppcanvas/source/mtfrenderer/textaction.hxx b/cppcanvas/source/mtfrenderer/textaction.hxx
index 3bd00e398bd5..8ad8ad7337f0 100644
--- a/cppcanvas/source/mtfrenderer/textaction.hxx
+++ b/cppcanvas/source/mtfrenderer/textaction.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: textaction.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: thb $ $Date: 2004-03-18 10:41:07 $
+ * last change: $Author: rt $ $Date: 2004-11-26 20:57:20 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -78,7 +78,14 @@
#include <drafts/com/sun/star/rendering/TextDirection.hpp>
#endif
-#include "action.hxx"
+#ifndef _COMPHELPER_OPTIONALVALUE_HXX
+#include <comphelper/optionalvalue.hxx>
+#endif
+#ifndef _BGFX_MATRIX_B2DHOMMATRIX_HXX
+#include <basegfx/matrix/b2dhommatrix.hxx>
+#endif
+
+#include <action.hxx>
#include <cppcanvas/canvas.hxx>
class Point;
@@ -86,6 +93,7 @@ class Point;
namespace drafts { namespace com { namespace sun { namespace star { namespace rendering
{
class XCanvasFont;
+ class XTextLayout;
} } } } }
/* Definition of internal::LineAction class */
@@ -99,32 +107,43 @@ namespace cppcanvas
class TextAction : public Action
{
public:
- TextAction( const ::Point& rStartPoint,
- const ::rtl::OUString& rText,
- sal_Int32 nStartPos,
- sal_Int32 nLen,
- const CanvasSharedPtr& rCanvas,
- const OutDevState& rState );
- TextAction( const ::Point& rStartPoint,
- const ::rtl::OUString& rText,
- sal_Int32 nStartPos,
- sal_Int32 nLen,
- ::com::sun::star::uno::Sequence< double > aOffsets,
- const CanvasSharedPtr& rCanvas,
- const OutDevState& rState );
+ TextAction( const ::Point& rStartPoint,
+ const ::rtl::OUString& rText,
+ sal_Int32 nStartPos,
+ sal_Int32 nLen,
+ const CanvasSharedPtr& rCanvas,
+ const OutDevState& rState,
+ const ::comphelper::OptionalValue< ::basegfx::B2DHomMatrix >& rTextTransform );
+ TextAction( const ::Point& rStartPoint,
+ const ::rtl::OUString& rText,
+ sal_Int32 nStartPos,
+ sal_Int32 nLen,
+ ::com::sun::star::uno::Sequence< double > aOffsets,
+ const CanvasSharedPtr& rCanvas,
+ const OutDevState& rState,
+ const ::comphelper::OptionalValue< ::basegfx::B2DHomMatrix >& rTextTransform );
virtual ~TextAction();
- virtual bool render() const;
+ virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation ) const;
private:
// default: disabled copy/assignment
TextAction(const TextAction&);
TextAction& operator = ( const TextAction& );
- void init( const ::Point& rStartPoint, const OutDevState& rState );
+ void init( const ::Point& rStartPoint,
+ const OutDevState& rState,
+ const ::comphelper::OptionalValue< ::basegfx::B2DHomMatrix >& rTextTransform );
+
+ // TODO(P2): This is potentially a real mass object (every character might be
+ // a separate TextAction), thus, make it as lightweight as possible. For
+ // example, share common RenderState among several TextActions, use maOffsets
+ // for the translation.
::com::sun::star::uno::Reference<
::drafts::com::sun::star::rendering::XCanvasFont > mxFont;
+ ::com::sun::star::uno::Reference<
+ ::drafts::com::sun::star::rendering::XTextLayout > mxTextLayout;
::drafts::com::sun::star::rendering::StringContext maStringContext;
::com::sun::star::uno::Sequence< double > maOffsets;
CanvasSharedPtr mpCanvas;