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
This commit is contained in:
Rüdiger Timm 2004-11-26 19:57:20 +00:00
parent abc3686091
commit c376ce8bac

View File

@ -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;