diff options
author | RĂ¼diger Timm <rt@openoffice.org> | 2004-11-26 19:57:20 +0000 |
---|---|---|
committer | RĂ¼diger Timm <rt@openoffice.org> | 2004-11-26 19:57:20 +0000 |
commit | c376ce8bac12ea28977b145d90cc3cc2b56e6e55 (patch) | |
tree | 8895ea4533ae7c99a5ef8e84031ada0783c3c96e /cppcanvas/source/mtfrenderer/textaction.hxx | |
parent | abc3686091f09e61d582a2e34b976c3c1468907b (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.hxx | 55 |
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; |