10d63794cSAndrew Rist /************************************************************** 20d63794cSAndrew Rist * 30d63794cSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 40d63794cSAndrew Rist * or more contributor license agreements. See the NOTICE file 50d63794cSAndrew Rist * distributed with this work for additional information 60d63794cSAndrew Rist * regarding copyright ownership. The ASF licenses this file 70d63794cSAndrew Rist * to you under the Apache License, Version 2.0 (the 80d63794cSAndrew Rist * "License"); you may not use this file except in compliance 90d63794cSAndrew Rist * with the License. You may obtain a copy of the License at 100d63794cSAndrew Rist * 110d63794cSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 120d63794cSAndrew Rist * 130d63794cSAndrew Rist * Unless required by applicable law or agreed to in writing, 140d63794cSAndrew Rist * software distributed under the License is distributed on an 150d63794cSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 160d63794cSAndrew Rist * KIND, either express or implied. See the License for the 170d63794cSAndrew Rist * specific language governing permissions and limitations 180d63794cSAndrew Rist * under the License. 190d63794cSAndrew Rist * 200d63794cSAndrew Rist *************************************************************/ 210d63794cSAndrew Rist 220d63794cSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef _SV_METAACT_HXX 25cdf0e10cSrcweir #define _SV_METAACT_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <vcl/dllapi.h> 28cdf0e10cSrcweir #include <vcl/gradient.hxx> 29cdf0e10cSrcweir #include <vcl/hatch.hxx> 30cdf0e10cSrcweir #include <vcl/wall.hxx> 31cdf0e10cSrcweir #include <vcl/font.hxx> 32cdf0e10cSrcweir #include <tools/poly.hxx> 33cdf0e10cSrcweir #include <vcl/bitmap.hxx> 34cdf0e10cSrcweir #include <vcl/bitmapex.hxx> 35cdf0e10cSrcweir #include <vcl/region.hxx> 36cdf0e10cSrcweir #include <vcl/graph.hxx> 37cdf0e10cSrcweir #include <vcl/outdev.hxx> 38cdf0e10cSrcweir #include <vcl/gdimtf.hxx> 39cdf0e10cSrcweir #include <vcl/gfxlink.hxx> 40cdf0e10cSrcweir #include <vcl/lineinfo.hxx> 41cdf0e10cSrcweir 42cdf0e10cSrcweir class SvStream; 43cdf0e10cSrcweir 44cdf0e10cSrcweir // ----------- 45cdf0e10cSrcweir // - Defines - 46cdf0e10cSrcweir // ----------- 47cdf0e10cSrcweir 48cdf0e10cSrcweir #define META_NULL_ACTION (0) 49cdf0e10cSrcweir #define META_PIXEL_ACTION (100) 50cdf0e10cSrcweir #define META_POINT_ACTION (101) 51cdf0e10cSrcweir #define META_LINE_ACTION (102) 52cdf0e10cSrcweir #define META_RECT_ACTION (103) 53cdf0e10cSrcweir #define META_ROUNDRECT_ACTION (104) 54cdf0e10cSrcweir #define META_ELLIPSE_ACTION (105) 55cdf0e10cSrcweir #define META_ARC_ACTION (106) 56cdf0e10cSrcweir #define META_PIE_ACTION (107) 57cdf0e10cSrcweir #define META_CHORD_ACTION (108) 58cdf0e10cSrcweir #define META_POLYLINE_ACTION (109) 59cdf0e10cSrcweir #define META_POLYGON_ACTION (110) 60cdf0e10cSrcweir #define META_POLYPOLYGON_ACTION (111) 61cdf0e10cSrcweir #define META_TEXT_ACTION (112) 62cdf0e10cSrcweir #define META_TEXTARRAY_ACTION (113) 63cdf0e10cSrcweir #define META_STRETCHTEXT_ACTION (114) 64cdf0e10cSrcweir #define META_TEXTRECT_ACTION (115) 65cdf0e10cSrcweir #define META_BMP_ACTION (116) 66cdf0e10cSrcweir #define META_BMPSCALE_ACTION (117) 67cdf0e10cSrcweir #define META_BMPSCALEPART_ACTION (118) 68cdf0e10cSrcweir #define META_BMPEX_ACTION (119) 69cdf0e10cSrcweir #define META_BMPEXSCALE_ACTION (120) 70cdf0e10cSrcweir #define META_BMPEXSCALEPART_ACTION (121) 71cdf0e10cSrcweir #define META_MASK_ACTION (122) 72cdf0e10cSrcweir #define META_MASKSCALE_ACTION (123) 73cdf0e10cSrcweir #define META_MASKSCALEPART_ACTION (124) 74cdf0e10cSrcweir #define META_GRADIENT_ACTION (125) 75cdf0e10cSrcweir #define META_HATCH_ACTION (126) 76cdf0e10cSrcweir #define META_WALLPAPER_ACTION (127) 77cdf0e10cSrcweir #define META_CLIPREGION_ACTION (128) 78cdf0e10cSrcweir #define META_ISECTRECTCLIPREGION_ACTION (129) 79cdf0e10cSrcweir #define META_ISECTREGIONCLIPREGION_ACTION (130) 80cdf0e10cSrcweir #define META_MOVECLIPREGION_ACTION (131) 81cdf0e10cSrcweir #define META_LINECOLOR_ACTION (132) 82cdf0e10cSrcweir #define META_FILLCOLOR_ACTION (133) 83cdf0e10cSrcweir #define META_TEXTCOLOR_ACTION (134) 84cdf0e10cSrcweir #define META_TEXTFILLCOLOR_ACTION (135) 85cdf0e10cSrcweir #define META_TEXTALIGN_ACTION (136) 86cdf0e10cSrcweir #define META_MAPMODE_ACTION (137) 87cdf0e10cSrcweir #define META_FONT_ACTION (138) 88cdf0e10cSrcweir #define META_PUSH_ACTION (139) 89cdf0e10cSrcweir #define META_POP_ACTION (140) 90cdf0e10cSrcweir #define META_RASTEROP_ACTION (141) 91cdf0e10cSrcweir #define META_TRANSPARENT_ACTION (142) 92cdf0e10cSrcweir #define META_EPS_ACTION (143) 93cdf0e10cSrcweir #define META_REFPOINT_ACTION (144) 94cdf0e10cSrcweir #define META_TEXTLINECOLOR_ACTION (145) 95cdf0e10cSrcweir #define META_TEXTLINE_ACTION (146) 96cdf0e10cSrcweir #define META_FLOATTRANSPARENT_ACTION (147) 97cdf0e10cSrcweir #define META_GRADIENTEX_ACTION (148) 98cdf0e10cSrcweir #define META_LAYOUTMODE_ACTION (149) 99cdf0e10cSrcweir #define META_TEXTLANGUAGE_ACTION (150) 100cdf0e10cSrcweir #define META_OVERLINECOLOR_ACTION (151) 101cdf0e10cSrcweir 102cdf0e10cSrcweir #define META_COMMENT_ACTION (512) 103cdf0e10cSrcweir 104cdf0e10cSrcweir // ------------------------------------------------------------------------ 105cdf0e10cSrcweir 106cdf0e10cSrcweir struct ImplMetaReadData 107cdf0e10cSrcweir { 108cdf0e10cSrcweir rtl_TextEncoding meActualCharSet; 109cdf0e10cSrcweir ImplMetaReadDataImplMetaReadData110cdf0e10cSrcweir ImplMetaReadData() : 111cdf0e10cSrcweir meActualCharSet( RTL_TEXTENCODING_ASCII_US ) 112cdf0e10cSrcweir { 113cdf0e10cSrcweir } 114cdf0e10cSrcweir }; 115cdf0e10cSrcweir 116cdf0e10cSrcweir // ------------------------------------------------------------------------ 117cdf0e10cSrcweir 118cdf0e10cSrcweir struct ImplMetaWriteData 119cdf0e10cSrcweir { 120cdf0e10cSrcweir rtl_TextEncoding meActualCharSet; 121cdf0e10cSrcweir ImplMetaWriteDataImplMetaWriteData122cdf0e10cSrcweir ImplMetaWriteData() : 123ddde725dSArmin Le Grand meActualCharSet( RTL_TEXTENCODING_ASCII_US ) 124cdf0e10cSrcweir { 125cdf0e10cSrcweir } 126cdf0e10cSrcweir }; 127cdf0e10cSrcweir 128cdf0e10cSrcweir // ------------------------------------------------------------------------ 129cdf0e10cSrcweir 130cdf0e10cSrcweir #define DECL_META_ACTION( Name, nType ) \ 131cdf0e10cSrcweir Meta##Name##Action(); \ 132cdf0e10cSrcweir protected: \ 133cdf0e10cSrcweir virtual ~Meta##Name##Action(); \ 134cdf0e10cSrcweir public: \ 135cdf0e10cSrcweir virtual void Execute( OutputDevice* pOut ); \ 136cdf0e10cSrcweir virtual MetaAction* Clone(); \ 137cdf0e10cSrcweir virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ); \ 138cdf0e10cSrcweir virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ); 139cdf0e10cSrcweir 140cdf0e10cSrcweir #define IMPL_META_ACTION( Name, nType ) \ 141cdf0e10cSrcweir Meta##Name##Action::Meta##Name##Action() : \ 142cdf0e10cSrcweir MetaAction( nType ) {} \ 143cdf0e10cSrcweir Meta##Name##Action::~Meta##Name##Action() {} 144cdf0e10cSrcweir 145cdf0e10cSrcweir // -------------- 146cdf0e10cSrcweir // - MetaAction - 147cdf0e10cSrcweir // -------------- 148cdf0e10cSrcweir 149cdf0e10cSrcweir class VCL_DLLPUBLIC MetaAction 150cdf0e10cSrcweir { 151cdf0e10cSrcweir private: 152cdf0e10cSrcweir sal_uLong mnRefCount; 153cdf0e10cSrcweir sal_uInt16 mnType; 154cdf0e10cSrcweir 155cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 156cdf0e10cSrcweir 157cdf0e10cSrcweir protected: 158cdf0e10cSrcweir virtual ~MetaAction(); 159cdf0e10cSrcweir 160cdf0e10cSrcweir public: 161cdf0e10cSrcweir MetaAction(); 162*e1beba7dSHerbert Dürr explicit MetaAction( sal_uInt16 nType ); 163cdf0e10cSrcweir 164cdf0e10cSrcweir virtual void Execute( OutputDevice* pOut ); 165cdf0e10cSrcweir 166cdf0e10cSrcweir virtual MetaAction* Clone(); 167cdf0e10cSrcweir 168cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 169cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 170cdf0e10cSrcweir 171cdf0e10cSrcweir virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ); 172cdf0e10cSrcweir virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ); 173cdf0e10cSrcweir 174cdf0e10cSrcweir sal_Bool IsEqual( const MetaAction& ) const; 175cdf0e10cSrcweir GetType() const176cdf0e10cSrcweir sal_uInt16 GetType() const { return mnType; } GetRefCount() const177cdf0e10cSrcweir sal_uLong GetRefCount() const { return mnRefCount; } ResetRefCount()178cdf0e10cSrcweir void ResetRefCount() { mnRefCount = 1; } Duplicate()179cdf0e10cSrcweir void Duplicate() { mnRefCount++; } Delete()180cdf0e10cSrcweir void Delete() { if ( 0 == --mnRefCount ) delete this; } 181cdf0e10cSrcweir 182cdf0e10cSrcweir public: 183cdf0e10cSrcweir static MetaAction* ReadMetaAction( SvStream& rIStm, ImplMetaReadData* pData ); 184cdf0e10cSrcweir }; 185cdf0e10cSrcweir 186cdf0e10cSrcweir // ------------------- 187cdf0e10cSrcweir // - MetaPixelAction - 188cdf0e10cSrcweir // ------------------- 189cdf0e10cSrcweir 190cdf0e10cSrcweir class VCL_DLLPUBLIC MetaPixelAction : public MetaAction 191cdf0e10cSrcweir { 192cdf0e10cSrcweir private: 193cdf0e10cSrcweir Point maPt; 194cdf0e10cSrcweir Color maColor; 195cdf0e10cSrcweir 196cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 197cdf0e10cSrcweir 198cdf0e10cSrcweir public: 199cdf0e10cSrcweir DECL_META_ACTION( Pixel, META_PIXEL_ACTION ) 200cdf0e10cSrcweir 201cdf0e10cSrcweir MetaPixelAction( const Point& rPt, const Color& rColor ); 202cdf0e10cSrcweir 203cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 204cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 205cdf0e10cSrcweir GetPoint() const206cdf0e10cSrcweir const Point& GetPoint() const { return maPt; } GetColor() const207cdf0e10cSrcweir const Color& GetColor() const { return maColor; } 208cdf0e10cSrcweir }; 209cdf0e10cSrcweir 210cdf0e10cSrcweir // ------------------- 211cdf0e10cSrcweir // - MetaPointAction - 212cdf0e10cSrcweir // ------------------- 213cdf0e10cSrcweir 214cdf0e10cSrcweir class VCL_DLLPUBLIC MetaPointAction : public MetaAction 215cdf0e10cSrcweir { 216cdf0e10cSrcweir private: 217cdf0e10cSrcweir Point maPt; 218cdf0e10cSrcweir 219cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 220cdf0e10cSrcweir 221cdf0e10cSrcweir public: 222cdf0e10cSrcweir DECL_META_ACTION( Point, META_POINT_ACTION ) 223cdf0e10cSrcweir 224*e1beba7dSHerbert Dürr explicit MetaPointAction( const Point& ); 225cdf0e10cSrcweir 226cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 227cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 228cdf0e10cSrcweir GetPoint() const229cdf0e10cSrcweir const Point& GetPoint() const { return maPt; } 230cdf0e10cSrcweir }; 231cdf0e10cSrcweir 232cdf0e10cSrcweir // ------------------ 233cdf0e10cSrcweir // - MetaLineAction - 234cdf0e10cSrcweir // ------------------ 235cdf0e10cSrcweir 236cdf0e10cSrcweir class VCL_DLLPUBLIC MetaLineAction : public MetaAction 237cdf0e10cSrcweir { 238cdf0e10cSrcweir private: 239cdf0e10cSrcweir 240cdf0e10cSrcweir LineInfo maLineInfo; 241cdf0e10cSrcweir Point maStartPt; 242cdf0e10cSrcweir Point maEndPt; 243cdf0e10cSrcweir 244cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 245cdf0e10cSrcweir 246cdf0e10cSrcweir public: 247cdf0e10cSrcweir DECL_META_ACTION( Line, META_LINE_ACTION ) 248cdf0e10cSrcweir 249cdf0e10cSrcweir MetaLineAction( const Point& rStart, const Point& rEnd ); 250cdf0e10cSrcweir MetaLineAction( const Point& rStart, const Point& rEnd, 251cdf0e10cSrcweir const LineInfo& rLineInfo ); 252cdf0e10cSrcweir 253cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 254cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 255cdf0e10cSrcweir GetStartPoint() const256cdf0e10cSrcweir const Point& GetStartPoint() const { return maStartPt; } GetEndPoint() const257cdf0e10cSrcweir const Point& GetEndPoint() const { return maEndPt; } GetLineInfo() const258cdf0e10cSrcweir const LineInfo& GetLineInfo() const { return maLineInfo; } 259cdf0e10cSrcweir }; 260cdf0e10cSrcweir 261cdf0e10cSrcweir // ------------------ 262cdf0e10cSrcweir // - MetaRectAction - 263cdf0e10cSrcweir // ------------------ 264cdf0e10cSrcweir 265cdf0e10cSrcweir class VCL_DLLPUBLIC MetaRectAction : public MetaAction 266cdf0e10cSrcweir { 267cdf0e10cSrcweir private: 268cdf0e10cSrcweir 269cdf0e10cSrcweir Rectangle maRect; 270cdf0e10cSrcweir 271cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 272cdf0e10cSrcweir public: 273cdf0e10cSrcweir DECL_META_ACTION( Rect, META_RECT_ACTION ) 274cdf0e10cSrcweir 275*e1beba7dSHerbert Dürr explicit MetaRectAction( const Rectangle& ); 276cdf0e10cSrcweir 277cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 278cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 279cdf0e10cSrcweir GetRect() const280cdf0e10cSrcweir const Rectangle& GetRect() const { return maRect; } 281cdf0e10cSrcweir }; 282cdf0e10cSrcweir 283cdf0e10cSrcweir // ----------------------- 284cdf0e10cSrcweir // - MetaRoundRectAction - 285cdf0e10cSrcweir // ----------------------- 286cdf0e10cSrcweir 287cdf0e10cSrcweir class VCL_DLLPUBLIC MetaRoundRectAction : public MetaAction 288cdf0e10cSrcweir { 289cdf0e10cSrcweir private: 290cdf0e10cSrcweir 291cdf0e10cSrcweir Rectangle maRect; 292cdf0e10cSrcweir sal_uInt32 mnHorzRound; 293cdf0e10cSrcweir sal_uInt32 mnVertRound; 294cdf0e10cSrcweir 295cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 296cdf0e10cSrcweir 297cdf0e10cSrcweir public: 298cdf0e10cSrcweir DECL_META_ACTION( RoundRect, META_ROUNDRECT_ACTION ) 299cdf0e10cSrcweir 300cdf0e10cSrcweir MetaRoundRectAction( const Rectangle& rRect, 301cdf0e10cSrcweir sal_uInt32 nHorzRound, sal_uInt32 nVertRound ); 302cdf0e10cSrcweir 303cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 304cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 305cdf0e10cSrcweir GetRect() const306cdf0e10cSrcweir const Rectangle& GetRect() const { return maRect; } GetHorzRound() const307cdf0e10cSrcweir sal_uInt32 GetHorzRound() const { return mnHorzRound; } GetVertRound() const308cdf0e10cSrcweir sal_uInt32 GetVertRound() const { return mnVertRound; } 309cdf0e10cSrcweir }; 310cdf0e10cSrcweir 311cdf0e10cSrcweir // --------------------- 312cdf0e10cSrcweir // - MetaEllipseAction - 313cdf0e10cSrcweir // --------------------- 314cdf0e10cSrcweir 315cdf0e10cSrcweir class VCL_DLLPUBLIC MetaEllipseAction : public MetaAction 316cdf0e10cSrcweir { 317cdf0e10cSrcweir private: 318cdf0e10cSrcweir 319cdf0e10cSrcweir Rectangle maRect; 320cdf0e10cSrcweir 321cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 322cdf0e10cSrcweir 323cdf0e10cSrcweir public: 324cdf0e10cSrcweir DECL_META_ACTION( Ellipse, META_ELLIPSE_ACTION ) 325cdf0e10cSrcweir 326*e1beba7dSHerbert Dürr explicit MetaEllipseAction( const Rectangle& ); 327cdf0e10cSrcweir 328cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 329cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 330cdf0e10cSrcweir GetRect() const331cdf0e10cSrcweir const Rectangle& GetRect() const { return maRect; } 332cdf0e10cSrcweir }; 333cdf0e10cSrcweir 334cdf0e10cSrcweir // ----------------- 335cdf0e10cSrcweir // - MetaArcAction - 336cdf0e10cSrcweir // ----------------- 337cdf0e10cSrcweir 338cdf0e10cSrcweir class VCL_DLLPUBLIC MetaArcAction : public MetaAction 339cdf0e10cSrcweir { 340cdf0e10cSrcweir private: 341cdf0e10cSrcweir 342cdf0e10cSrcweir Rectangle maRect; 343cdf0e10cSrcweir Point maStartPt; 344cdf0e10cSrcweir Point maEndPt; 345cdf0e10cSrcweir 346cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 347cdf0e10cSrcweir 348cdf0e10cSrcweir public: 349cdf0e10cSrcweir DECL_META_ACTION( Arc, META_ARC_ACTION ) 350cdf0e10cSrcweir 351cdf0e10cSrcweir MetaArcAction( const Rectangle& rRect, 352cdf0e10cSrcweir const Point& rStart, const Point& rEnd ); 353cdf0e10cSrcweir 354cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 355cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 356cdf0e10cSrcweir GetRect() const357cdf0e10cSrcweir const Rectangle& GetRect() const { return maRect; } GetStartPoint() const358cdf0e10cSrcweir const Point& GetStartPoint() const { return maStartPt; } GetEndPoint() const359cdf0e10cSrcweir const Point& GetEndPoint() const { return maEndPt; } 360cdf0e10cSrcweir }; 361cdf0e10cSrcweir 362cdf0e10cSrcweir // ----------------- 363cdf0e10cSrcweir // - MetaPieAction - 364cdf0e10cSrcweir // ----------------- 365cdf0e10cSrcweir 366cdf0e10cSrcweir class VCL_DLLPUBLIC MetaPieAction : public MetaAction 367cdf0e10cSrcweir { 368cdf0e10cSrcweir private: 369cdf0e10cSrcweir 370cdf0e10cSrcweir Rectangle maRect; 371cdf0e10cSrcweir Point maStartPt; 372cdf0e10cSrcweir Point maEndPt; 373cdf0e10cSrcweir 374cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 375cdf0e10cSrcweir 376cdf0e10cSrcweir public: 377cdf0e10cSrcweir DECL_META_ACTION( Pie, META_PIE_ACTION ) 378cdf0e10cSrcweir 379cdf0e10cSrcweir MetaPieAction( const Rectangle& rRect, 380cdf0e10cSrcweir const Point& rStart, const Point& rEnd ); 381cdf0e10cSrcweir 382cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 383cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 384cdf0e10cSrcweir GetRect() const385cdf0e10cSrcweir const Rectangle& GetRect() const { return maRect; } GetStartPoint() const386cdf0e10cSrcweir const Point& GetStartPoint() const { return maStartPt; } GetEndPoint() const387cdf0e10cSrcweir const Point& GetEndPoint() const { return maEndPt; } 388cdf0e10cSrcweir }; 389cdf0e10cSrcweir 390cdf0e10cSrcweir // ------------------- 391cdf0e10cSrcweir // - MetaChordAction - 392cdf0e10cSrcweir // ------------------- 393cdf0e10cSrcweir 394cdf0e10cSrcweir class VCL_DLLPUBLIC MetaChordAction : public MetaAction 395cdf0e10cSrcweir { 396cdf0e10cSrcweir private: 397cdf0e10cSrcweir 398cdf0e10cSrcweir Rectangle maRect; 399cdf0e10cSrcweir Point maStartPt; 400cdf0e10cSrcweir Point maEndPt; 401cdf0e10cSrcweir 402cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 403cdf0e10cSrcweir 404cdf0e10cSrcweir public: 405cdf0e10cSrcweir DECL_META_ACTION( Chord, META_CHORD_ACTION ) 406cdf0e10cSrcweir 407cdf0e10cSrcweir MetaChordAction( const Rectangle& rRect, 408cdf0e10cSrcweir const Point& rStart, const Point& rEnd ); 409cdf0e10cSrcweir 410cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 411cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 412cdf0e10cSrcweir GetRect() const413cdf0e10cSrcweir const Rectangle& GetRect() const { return maRect; } GetStartPoint() const414cdf0e10cSrcweir const Point& GetStartPoint() const { return maStartPt; } GetEndPoint() const415cdf0e10cSrcweir const Point& GetEndPoint() const { return maEndPt; } 416cdf0e10cSrcweir }; 417cdf0e10cSrcweir 418cdf0e10cSrcweir // ---------------------- 419cdf0e10cSrcweir // - MetaPolyLineAction - 420cdf0e10cSrcweir // ---------------------- 421cdf0e10cSrcweir 422cdf0e10cSrcweir class VCL_DLLPUBLIC MetaPolyLineAction : public MetaAction 423cdf0e10cSrcweir { 424cdf0e10cSrcweir private: 425cdf0e10cSrcweir 426cdf0e10cSrcweir LineInfo maLineInfo; 427cdf0e10cSrcweir Polygon maPoly; 428cdf0e10cSrcweir 429cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 430cdf0e10cSrcweir 431cdf0e10cSrcweir public: 432cdf0e10cSrcweir DECL_META_ACTION( PolyLine, META_POLYLINE_ACTION ) 433cdf0e10cSrcweir 434*e1beba7dSHerbert Dürr explicit MetaPolyLineAction( const Polygon& ); 435*e1beba7dSHerbert Dürr explicit MetaPolyLineAction( const Polygon&, const LineInfo& ); 436cdf0e10cSrcweir 437cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 438cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 439cdf0e10cSrcweir GetPolygon() const440cdf0e10cSrcweir const Polygon& GetPolygon() const { return maPoly; } GetLineInfo() const441cdf0e10cSrcweir const LineInfo& GetLineInfo() const { return maLineInfo; } 442cdf0e10cSrcweir }; 443cdf0e10cSrcweir 444cdf0e10cSrcweir // --------------------- 445cdf0e10cSrcweir // - MetaPolygonAction - 446cdf0e10cSrcweir // --------------------- 447cdf0e10cSrcweir 448cdf0e10cSrcweir class VCL_DLLPUBLIC MetaPolygonAction : public MetaAction 449cdf0e10cSrcweir { 450cdf0e10cSrcweir private: 451cdf0e10cSrcweir 452cdf0e10cSrcweir Polygon maPoly; 453cdf0e10cSrcweir 454cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 455cdf0e10cSrcweir 456cdf0e10cSrcweir public: 457cdf0e10cSrcweir DECL_META_ACTION( Polygon, META_POLYGON_ACTION ) 458cdf0e10cSrcweir 459*e1beba7dSHerbert Dürr explicit MetaPolygonAction( const Polygon& ); 460cdf0e10cSrcweir 461cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 462cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 463cdf0e10cSrcweir GetPolygon() const464cdf0e10cSrcweir const Polygon& GetPolygon() const { return maPoly; } 465cdf0e10cSrcweir }; 466cdf0e10cSrcweir 467cdf0e10cSrcweir // ------------------------- 468cdf0e10cSrcweir // - MetaPolyPolygonAction - 469cdf0e10cSrcweir // ------------------------- 470cdf0e10cSrcweir 471cdf0e10cSrcweir class VCL_DLLPUBLIC MetaPolyPolygonAction : public MetaAction 472cdf0e10cSrcweir { 473cdf0e10cSrcweir private: 474cdf0e10cSrcweir 475cdf0e10cSrcweir PolyPolygon maPolyPoly; 476cdf0e10cSrcweir 477cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 478cdf0e10cSrcweir 479cdf0e10cSrcweir public: 480cdf0e10cSrcweir DECL_META_ACTION( PolyPolygon, META_POLYPOLYGON_ACTION ) 481cdf0e10cSrcweir 482*e1beba7dSHerbert Dürr explicit MetaPolyPolygonAction( const PolyPolygon& ); 483cdf0e10cSrcweir 484cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 485cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 486cdf0e10cSrcweir GetPolyPolygon() const487cdf0e10cSrcweir const PolyPolygon& GetPolyPolygon() const { return maPolyPoly; } 488cdf0e10cSrcweir }; 489cdf0e10cSrcweir 490cdf0e10cSrcweir // ------------------ 491cdf0e10cSrcweir // - MetaTextAction - 492cdf0e10cSrcweir // ------------------ 493cdf0e10cSrcweir 494cdf0e10cSrcweir class VCL_DLLPUBLIC MetaTextAction : public MetaAction 495cdf0e10cSrcweir { 496cdf0e10cSrcweir private: 497cdf0e10cSrcweir 498cdf0e10cSrcweir Point maPt; 499cdf0e10cSrcweir XubString maStr; 500cdf0e10cSrcweir sal_uInt16 mnIndex; 501cdf0e10cSrcweir sal_uInt16 mnLen; 502cdf0e10cSrcweir 503cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 504cdf0e10cSrcweir 505cdf0e10cSrcweir public: 506cdf0e10cSrcweir DECL_META_ACTION( Text, META_TEXT_ACTION ) 507cdf0e10cSrcweir 508cdf0e10cSrcweir MetaTextAction( const Point& rPt, const XubString& rStr, 509cdf0e10cSrcweir sal_uInt16 nIndex, sal_uInt16 nLen ); 510cdf0e10cSrcweir 511cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 512cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 513cdf0e10cSrcweir GetPoint() const514cdf0e10cSrcweir const Point& GetPoint() const { return maPt; } GetText() const515cdf0e10cSrcweir const XubString& GetText() const { return maStr; } GetIndex() const516cdf0e10cSrcweir sal_uInt16 GetIndex() const { return mnIndex; } GetLen() const517cdf0e10cSrcweir sal_uInt16 GetLen() const { return mnLen; } 518cdf0e10cSrcweir }; 519cdf0e10cSrcweir 520cdf0e10cSrcweir // ----------------------- 521cdf0e10cSrcweir // - MetaTextArrayAction - 522cdf0e10cSrcweir // ----------------------- 523cdf0e10cSrcweir 524cdf0e10cSrcweir class VCL_DLLPUBLIC MetaTextArrayAction : public MetaAction 525cdf0e10cSrcweir { 526cdf0e10cSrcweir private: 527cdf0e10cSrcweir 528cdf0e10cSrcweir Point maStartPt; 529cdf0e10cSrcweir XubString maStr; 530cdf0e10cSrcweir sal_Int32* mpDXAry; 531cdf0e10cSrcweir sal_uInt16 mnIndex; 532cdf0e10cSrcweir sal_uInt16 mnLen; 533cdf0e10cSrcweir 534cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 535cdf0e10cSrcweir 536cdf0e10cSrcweir protected: 537cdf0e10cSrcweir virtual ~MetaTextArrayAction(); 538cdf0e10cSrcweir 539cdf0e10cSrcweir public: 540cdf0e10cSrcweir MetaTextArrayAction(); 541cdf0e10cSrcweir MetaTextArrayAction( const MetaTextArrayAction& rAction ); 542cdf0e10cSrcweir MetaTextArrayAction( const Point& rStartPt, 543cdf0e10cSrcweir const XubString& rStr, 544cdf0e10cSrcweir const sal_Int32* pDXAry, 545cdf0e10cSrcweir sal_uInt16 nIndex, 546cdf0e10cSrcweir sal_uInt16 nLen ); 547cdf0e10cSrcweir 548cdf0e10cSrcweir virtual void Execute( OutputDevice* pOut ); 549cdf0e10cSrcweir 550cdf0e10cSrcweir virtual MetaAction* Clone(); 551cdf0e10cSrcweir 552cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 553cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 554cdf0e10cSrcweir 555cdf0e10cSrcweir virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ); 556cdf0e10cSrcweir virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ); 557cdf0e10cSrcweir GetPoint() const558cdf0e10cSrcweir const Point& GetPoint() const { return maStartPt; } GetText() const559cdf0e10cSrcweir const XubString& GetText() const { return maStr; } GetIndex() const560cdf0e10cSrcweir sal_uInt16 GetIndex() const { return mnIndex; } GetLen() const561cdf0e10cSrcweir sal_uInt16 GetLen() const { return mnLen; } GetDXArray() const562cdf0e10cSrcweir sal_Int32* GetDXArray() const { return mpDXAry; } 563cdf0e10cSrcweir }; 564cdf0e10cSrcweir 565cdf0e10cSrcweir // ------------------------- 566cdf0e10cSrcweir // - MetaStretchTextAction - 567cdf0e10cSrcweir // ------------------------- 568cdf0e10cSrcweir 569cdf0e10cSrcweir class VCL_DLLPUBLIC MetaStretchTextAction : public MetaAction 570cdf0e10cSrcweir { 571cdf0e10cSrcweir private: 572cdf0e10cSrcweir 573cdf0e10cSrcweir Point maPt; 574cdf0e10cSrcweir XubString maStr; 575cdf0e10cSrcweir sal_uInt32 mnWidth; 576cdf0e10cSrcweir sal_uInt16 mnIndex; 577cdf0e10cSrcweir sal_uInt16 mnLen; 578cdf0e10cSrcweir 579cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 580cdf0e10cSrcweir 581cdf0e10cSrcweir public: 582cdf0e10cSrcweir DECL_META_ACTION( StretchText, META_STRETCHTEXT_ACTION ) 583cdf0e10cSrcweir 584cdf0e10cSrcweir MetaStretchTextAction( const Point& rPt, sal_uInt32 nWidth, 585cdf0e10cSrcweir const XubString& rStr, 586cdf0e10cSrcweir sal_uInt16 nIndex, sal_uInt16 nLen ); 587cdf0e10cSrcweir 588cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 589cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 590cdf0e10cSrcweir GetPoint() const591cdf0e10cSrcweir const Point& GetPoint() const { return maPt; } GetText() const592cdf0e10cSrcweir const XubString& GetText() const { return maStr; } GetWidth() const593cdf0e10cSrcweir sal_uInt32 GetWidth() const { return mnWidth; } GetIndex() const594cdf0e10cSrcweir sal_uInt16 GetIndex() const { return mnIndex; } GetLen() const595cdf0e10cSrcweir sal_uInt16 GetLen() const { return mnLen; } 596cdf0e10cSrcweir }; 597cdf0e10cSrcweir 598cdf0e10cSrcweir // ---------------------- 599cdf0e10cSrcweir // - MetaTextRectAction - 600cdf0e10cSrcweir // ---------------------- 601cdf0e10cSrcweir 602cdf0e10cSrcweir class VCL_DLLPUBLIC MetaTextRectAction : public MetaAction 603cdf0e10cSrcweir { 604cdf0e10cSrcweir private: 605cdf0e10cSrcweir 606cdf0e10cSrcweir Rectangle maRect; 607cdf0e10cSrcweir XubString maStr; 608cdf0e10cSrcweir sal_uInt16 mnStyle; 609cdf0e10cSrcweir 610cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 611cdf0e10cSrcweir 612cdf0e10cSrcweir public: 613cdf0e10cSrcweir DECL_META_ACTION( TextRect, META_TEXTRECT_ACTION ) 614cdf0e10cSrcweir 615cdf0e10cSrcweir MetaTextRectAction( const Rectangle& rRect, 616cdf0e10cSrcweir const XubString& rStr, sal_uInt16 nStyle ); 617cdf0e10cSrcweir 618cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 619cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 620cdf0e10cSrcweir GetRect() const621cdf0e10cSrcweir const Rectangle& GetRect() const { return maRect; } GetText() const622cdf0e10cSrcweir const XubString& GetText() const { return maStr; } GetStyle() const623cdf0e10cSrcweir sal_uInt16 GetStyle() const { return mnStyle; } 624cdf0e10cSrcweir }; 625cdf0e10cSrcweir 626cdf0e10cSrcweir // ---------------------- 627cdf0e10cSrcweir // - MetaTextLineAction - 628cdf0e10cSrcweir // ---------------------- 629cdf0e10cSrcweir 630cdf0e10cSrcweir class VCL_DLLPUBLIC MetaTextLineAction : public MetaAction 631cdf0e10cSrcweir { 632cdf0e10cSrcweir private: 633cdf0e10cSrcweir 634cdf0e10cSrcweir Point maPos; 635cdf0e10cSrcweir long mnWidth; 636cdf0e10cSrcweir FontStrikeout meStrikeout; 637cdf0e10cSrcweir FontUnderline meUnderline; 638cdf0e10cSrcweir FontUnderline meOverline; 639cdf0e10cSrcweir 640cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 641cdf0e10cSrcweir 642cdf0e10cSrcweir public: 643cdf0e10cSrcweir DECL_META_ACTION( TextLine, META_TEXTLINE_ACTION ) 644cdf0e10cSrcweir 645cdf0e10cSrcweir MetaTextLineAction( const Point& rPos, long nWidth, 646cdf0e10cSrcweir FontStrikeout eStrikeout, 647cdf0e10cSrcweir FontUnderline eUnderline, 648cdf0e10cSrcweir FontUnderline eOverline ); 649cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 650cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 651cdf0e10cSrcweir GetStartPoint() const652cdf0e10cSrcweir const Point& GetStartPoint() const { return maPos; } GetWidth() const653cdf0e10cSrcweir long GetWidth() const { return mnWidth; } GetStrikeout() const654cdf0e10cSrcweir FontStrikeout GetStrikeout() const { return meStrikeout; } GetUnderline() const655cdf0e10cSrcweir FontUnderline GetUnderline() const { return meUnderline; } GetOverline() const656cdf0e10cSrcweir FontUnderline GetOverline() const { return meOverline; } 657cdf0e10cSrcweir }; 658cdf0e10cSrcweir 659cdf0e10cSrcweir // ----------------- 660cdf0e10cSrcweir // - MetaBmpAction - 661cdf0e10cSrcweir // ----------------- 662cdf0e10cSrcweir 663cdf0e10cSrcweir class VCL_DLLPUBLIC MetaBmpAction : public MetaAction 664cdf0e10cSrcweir { 665cdf0e10cSrcweir private: 666cdf0e10cSrcweir 667cdf0e10cSrcweir Bitmap maBmp; 668cdf0e10cSrcweir Point maPt; 669cdf0e10cSrcweir 670cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 671cdf0e10cSrcweir 672cdf0e10cSrcweir public: 673cdf0e10cSrcweir DECL_META_ACTION( Bmp, META_BMP_ACTION ) 674cdf0e10cSrcweir 675cdf0e10cSrcweir MetaBmpAction( const Point& rPt, const Bitmap& rBmp ); 676cdf0e10cSrcweir 677cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 678cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 679cdf0e10cSrcweir GetBitmap() const680cdf0e10cSrcweir const Bitmap& GetBitmap() const { return maBmp; } GetPoint() const681cdf0e10cSrcweir const Point& GetPoint() const { return maPt; } 682cdf0e10cSrcweir }; 683cdf0e10cSrcweir 684cdf0e10cSrcweir // ---------------------- 685cdf0e10cSrcweir // - MetaBmpScaleAction - 686cdf0e10cSrcweir // ---------------------- 687cdf0e10cSrcweir 688cdf0e10cSrcweir class VCL_DLLPUBLIC MetaBmpScaleAction : public MetaAction 689cdf0e10cSrcweir { 690cdf0e10cSrcweir private: 691cdf0e10cSrcweir 692cdf0e10cSrcweir Bitmap maBmp; 693cdf0e10cSrcweir Point maPt; 694cdf0e10cSrcweir Size maSz; 695cdf0e10cSrcweir 696cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 697cdf0e10cSrcweir 698cdf0e10cSrcweir public: 699cdf0e10cSrcweir DECL_META_ACTION( BmpScale, META_BMPSCALE_ACTION ) 700cdf0e10cSrcweir 701cdf0e10cSrcweir MetaBmpScaleAction( const Point& rPt, const Size& rSz, 702cdf0e10cSrcweir const Bitmap& rBmp ); 703cdf0e10cSrcweir 704cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 705cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 706cdf0e10cSrcweir GetBitmap() const707cdf0e10cSrcweir const Bitmap& GetBitmap() const { return maBmp; } GetPoint() const708cdf0e10cSrcweir const Point& GetPoint() const { return maPt; } GetSize() const709cdf0e10cSrcweir const Size& GetSize() const { return maSz; } 710cdf0e10cSrcweir }; 711cdf0e10cSrcweir 712cdf0e10cSrcweir // -------------------------- 713cdf0e10cSrcweir // - MetaBmpScalePartAction - 714cdf0e10cSrcweir // -------------------------- 715cdf0e10cSrcweir 716cdf0e10cSrcweir class VCL_DLLPUBLIC MetaBmpScalePartAction : public MetaAction 717cdf0e10cSrcweir { 718cdf0e10cSrcweir private: 719cdf0e10cSrcweir 720cdf0e10cSrcweir Bitmap maBmp; 721cdf0e10cSrcweir Point maDstPt; 722cdf0e10cSrcweir Size maDstSz; 723cdf0e10cSrcweir Point maSrcPt; 724cdf0e10cSrcweir Size maSrcSz; 725cdf0e10cSrcweir 726cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 727cdf0e10cSrcweir 728cdf0e10cSrcweir public: 729cdf0e10cSrcweir DECL_META_ACTION( BmpScalePart, META_BMPSCALEPART_ACTION ) 730cdf0e10cSrcweir 731cdf0e10cSrcweir MetaBmpScalePartAction( const Point& rDstPt, const Size& rDstSz, 732cdf0e10cSrcweir const Point& rSrcPt, const Size& rSrcSz, 733cdf0e10cSrcweir const Bitmap& rBmp ); 734cdf0e10cSrcweir 735cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 736cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 737cdf0e10cSrcweir GetBitmap() const738cdf0e10cSrcweir const Bitmap& GetBitmap() const { return maBmp; } GetDestPoint() const739cdf0e10cSrcweir const Point& GetDestPoint() const { return maDstPt; } GetDestSize() const740cdf0e10cSrcweir const Size& GetDestSize() const { return maDstSz; } GetSrcPoint() const741cdf0e10cSrcweir const Point& GetSrcPoint() const { return maSrcPt; } GetSrcSize() const742cdf0e10cSrcweir const Size& GetSrcSize() const { return maSrcSz; } 743cdf0e10cSrcweir }; 744cdf0e10cSrcweir 745cdf0e10cSrcweir // ----------------- 746cdf0e10cSrcweir // - MetaBmpExAction - 747cdf0e10cSrcweir // ----------------- 748cdf0e10cSrcweir 749cdf0e10cSrcweir class VCL_DLLPUBLIC MetaBmpExAction : public MetaAction 750cdf0e10cSrcweir { 751cdf0e10cSrcweir private: 752cdf0e10cSrcweir 753cdf0e10cSrcweir BitmapEx maBmpEx; 754cdf0e10cSrcweir Point maPt; 755cdf0e10cSrcweir 756cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 757cdf0e10cSrcweir 758cdf0e10cSrcweir public: 759cdf0e10cSrcweir DECL_META_ACTION( BmpEx, META_BMPEX_ACTION ) 760cdf0e10cSrcweir 761cdf0e10cSrcweir MetaBmpExAction( const Point& rPt, const BitmapEx& rBmpEx ); 762cdf0e10cSrcweir 763cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 764cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 765cdf0e10cSrcweir GetBitmapEx() const766cdf0e10cSrcweir const BitmapEx& GetBitmapEx() const { return maBmpEx; } GetPoint() const767cdf0e10cSrcweir const Point& GetPoint() const { return maPt; } 768cdf0e10cSrcweir }; 769cdf0e10cSrcweir 770cdf0e10cSrcweir // ---------------------- 771cdf0e10cSrcweir // - MetaBmpExScaleAction - 772cdf0e10cSrcweir // ---------------------- 773cdf0e10cSrcweir 774cdf0e10cSrcweir class VCL_DLLPUBLIC MetaBmpExScaleAction : public MetaAction 775cdf0e10cSrcweir { 776cdf0e10cSrcweir private: 777cdf0e10cSrcweir 778cdf0e10cSrcweir BitmapEx maBmpEx; 779cdf0e10cSrcweir Point maPt; 780cdf0e10cSrcweir Size maSz; 781cdf0e10cSrcweir 782cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 783cdf0e10cSrcweir 784cdf0e10cSrcweir public: 785cdf0e10cSrcweir DECL_META_ACTION( BmpExScale, META_BMPEXSCALE_ACTION ) 786cdf0e10cSrcweir 787cdf0e10cSrcweir MetaBmpExScaleAction( const Point& rPt, const Size& rSz, 788cdf0e10cSrcweir const BitmapEx& rBmpEx ) ; 789cdf0e10cSrcweir 790cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 791cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 792cdf0e10cSrcweir GetBitmapEx() const793cdf0e10cSrcweir const BitmapEx& GetBitmapEx() const { return maBmpEx; } GetPoint() const794cdf0e10cSrcweir const Point& GetPoint() const { return maPt; } GetSize() const795cdf0e10cSrcweir const Size& GetSize() const { return maSz; } 796cdf0e10cSrcweir }; 797cdf0e10cSrcweir 798cdf0e10cSrcweir // ---------------------------- 799cdf0e10cSrcweir // - MetaBmpExScalePartAction - 800cdf0e10cSrcweir // ---------------------------- 801cdf0e10cSrcweir 802cdf0e10cSrcweir class VCL_DLLPUBLIC MetaBmpExScalePartAction : public MetaAction 803cdf0e10cSrcweir { 804cdf0e10cSrcweir private: 805cdf0e10cSrcweir 806cdf0e10cSrcweir BitmapEx maBmpEx; 807cdf0e10cSrcweir Point maDstPt; 808cdf0e10cSrcweir Size maDstSz; 809cdf0e10cSrcweir Point maSrcPt; 810cdf0e10cSrcweir Size maSrcSz; 811cdf0e10cSrcweir 812cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 813cdf0e10cSrcweir 814cdf0e10cSrcweir public: 815cdf0e10cSrcweir DECL_META_ACTION( BmpExScalePart, META_BMPEXSCALEPART_ACTION ) 816cdf0e10cSrcweir 817cdf0e10cSrcweir MetaBmpExScalePartAction( const Point& rDstPt, const Size& rDstSz, 818cdf0e10cSrcweir const Point& rSrcPt, const Size& rSrcSz, 819cdf0e10cSrcweir const BitmapEx& rBmpEx ); 820cdf0e10cSrcweir 821cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 822cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 823cdf0e10cSrcweir GetBitmapEx() const824cdf0e10cSrcweir const BitmapEx& GetBitmapEx() const { return maBmpEx; } GetDestPoint() const825cdf0e10cSrcweir const Point& GetDestPoint() const { return maDstPt; } GetDestSize() const826cdf0e10cSrcweir const Size& GetDestSize() const { return maDstSz; } GetSrcPoint() const827cdf0e10cSrcweir const Point& GetSrcPoint() const { return maSrcPt; } GetSrcSize() const828cdf0e10cSrcweir const Size& GetSrcSize() const { return maSrcSz; } 829cdf0e10cSrcweir }; 830cdf0e10cSrcweir 831cdf0e10cSrcweir // ------------------ 832cdf0e10cSrcweir // - MetaMaskAction - 833cdf0e10cSrcweir // ------------------ 834cdf0e10cSrcweir 835cdf0e10cSrcweir class VCL_DLLPUBLIC MetaMaskAction : public MetaAction 836cdf0e10cSrcweir { 837cdf0e10cSrcweir private: 838cdf0e10cSrcweir 839cdf0e10cSrcweir Bitmap maBmp; 840cdf0e10cSrcweir Color maColor; 841cdf0e10cSrcweir Point maPt; 842cdf0e10cSrcweir 843cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 844cdf0e10cSrcweir 845cdf0e10cSrcweir public: 846cdf0e10cSrcweir DECL_META_ACTION( Mask, META_MASK_ACTION ) 847cdf0e10cSrcweir 848cdf0e10cSrcweir MetaMaskAction( const Point& rPt, 849cdf0e10cSrcweir const Bitmap& rBmp, 850cdf0e10cSrcweir const Color& rColor ); 851cdf0e10cSrcweir 852cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 853cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 854cdf0e10cSrcweir GetBitmap() const855cdf0e10cSrcweir const Bitmap& GetBitmap() const { return maBmp; } GetColor() const856cdf0e10cSrcweir const Color& GetColor() const { return maColor; } GetPoint() const857cdf0e10cSrcweir const Point& GetPoint() const { return maPt; } 858cdf0e10cSrcweir }; 859cdf0e10cSrcweir 860cdf0e10cSrcweir // ----------------------- 861cdf0e10cSrcweir // - MetaMaskScaleAction - 862cdf0e10cSrcweir // ----------------------- 863cdf0e10cSrcweir 864cdf0e10cSrcweir class VCL_DLLPUBLIC MetaMaskScaleAction : public MetaAction 865cdf0e10cSrcweir { 866cdf0e10cSrcweir private: 867cdf0e10cSrcweir 868cdf0e10cSrcweir Bitmap maBmp; 869cdf0e10cSrcweir Color maColor; 870cdf0e10cSrcweir Point maPt; 871cdf0e10cSrcweir Size maSz; 872cdf0e10cSrcweir 873cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 874cdf0e10cSrcweir 875cdf0e10cSrcweir public: 876cdf0e10cSrcweir DECL_META_ACTION( MaskScale, META_MASKSCALE_ACTION ) 877cdf0e10cSrcweir 878cdf0e10cSrcweir MetaMaskScaleAction( const Point& rPt, const Size& rSz, 879cdf0e10cSrcweir const Bitmap& rBmp, 880cdf0e10cSrcweir const Color& rColor ); 881cdf0e10cSrcweir 882cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 883cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 884cdf0e10cSrcweir GetBitmap() const885cdf0e10cSrcweir const Bitmap& GetBitmap() const { return maBmp; } GetColor() const886cdf0e10cSrcweir const Color& GetColor() const { return maColor; } GetPoint() const887cdf0e10cSrcweir const Point& GetPoint() const { return maPt; } GetSize() const888cdf0e10cSrcweir const Size& GetSize() const { return maSz; } 889cdf0e10cSrcweir }; 890cdf0e10cSrcweir 891cdf0e10cSrcweir // --------------------------- 892cdf0e10cSrcweir // - MetaMaskScalePartAction - 893cdf0e10cSrcweir // --------------------------- 894cdf0e10cSrcweir 895cdf0e10cSrcweir class VCL_DLLPUBLIC MetaMaskScalePartAction : public MetaAction 896cdf0e10cSrcweir { 897cdf0e10cSrcweir private: 898cdf0e10cSrcweir 899cdf0e10cSrcweir Bitmap maBmp; 900cdf0e10cSrcweir Color maColor; 901cdf0e10cSrcweir Point maDstPt; 902cdf0e10cSrcweir Size maDstSz; 903cdf0e10cSrcweir Point maSrcPt; 904cdf0e10cSrcweir Size maSrcSz; 905cdf0e10cSrcweir 906cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 907cdf0e10cSrcweir 908cdf0e10cSrcweir public: 909cdf0e10cSrcweir DECL_META_ACTION( MaskScalePart, META_MASKSCALEPART_ACTION ) 910cdf0e10cSrcweir 911cdf0e10cSrcweir MetaMaskScalePartAction( const Point& rDstPt, const Size& rDstSz, 912cdf0e10cSrcweir const Point& rSrcPt, const Size& rSrcSz, 913cdf0e10cSrcweir const Bitmap& rBmp, 914cdf0e10cSrcweir const Color& rColor ); 915cdf0e10cSrcweir 916cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 917cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 918cdf0e10cSrcweir GetBitmap() const919cdf0e10cSrcweir const Bitmap& GetBitmap() const { return maBmp; } GetColor() const920cdf0e10cSrcweir const Color& GetColor() const { return maColor; } GetDestPoint() const921cdf0e10cSrcweir const Point& GetDestPoint() const { return maDstPt; } GetDestSize() const922cdf0e10cSrcweir const Size& GetDestSize() const { return maDstSz; } GetSrcPoint() const923cdf0e10cSrcweir const Point& GetSrcPoint() const { return maSrcPt; } GetSrcSize() const924cdf0e10cSrcweir const Size& GetSrcSize() const { return maSrcSz; } 925cdf0e10cSrcweir }; 926cdf0e10cSrcweir 927cdf0e10cSrcweir // ---------------------- 928cdf0e10cSrcweir // - MetaGradientAction - 929cdf0e10cSrcweir // ---------------------- 930cdf0e10cSrcweir 931cdf0e10cSrcweir class VCL_DLLPUBLIC MetaGradientAction : public MetaAction 932cdf0e10cSrcweir { 933cdf0e10cSrcweir private: 934cdf0e10cSrcweir 935cdf0e10cSrcweir Rectangle maRect; 936cdf0e10cSrcweir Gradient maGradient; 937cdf0e10cSrcweir 938cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 939cdf0e10cSrcweir 940cdf0e10cSrcweir public: 941cdf0e10cSrcweir DECL_META_ACTION( Gradient, META_GRADIENT_ACTION ) 942cdf0e10cSrcweir 943cdf0e10cSrcweir MetaGradientAction( const Rectangle& rRect, const Gradient& rGradient ); 944cdf0e10cSrcweir 945cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 946cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 947cdf0e10cSrcweir GetRect() const948cdf0e10cSrcweir const Rectangle& GetRect() const { return maRect; } GetGradient() const949cdf0e10cSrcweir const Gradient& GetGradient() const { return maGradient; } 950cdf0e10cSrcweir }; 951cdf0e10cSrcweir 952cdf0e10cSrcweir // ------------------------ 953cdf0e10cSrcweir // - MetaGradientExAction - 954cdf0e10cSrcweir // ------------------------ 955cdf0e10cSrcweir 956cdf0e10cSrcweir class VCL_DLLPUBLIC MetaGradientExAction : public MetaAction 957cdf0e10cSrcweir { 958cdf0e10cSrcweir private: 959cdf0e10cSrcweir 960cdf0e10cSrcweir PolyPolygon maPolyPoly; 961cdf0e10cSrcweir Gradient maGradient; 962cdf0e10cSrcweir 963cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 964cdf0e10cSrcweir 965cdf0e10cSrcweir public: 966cdf0e10cSrcweir DECL_META_ACTION( GradientEx, META_GRADIENTEX_ACTION ) 967cdf0e10cSrcweir 968cdf0e10cSrcweir MetaGradientExAction( const PolyPolygon& rPolyPoly, const Gradient& rGradient ); 969cdf0e10cSrcweir 970cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 971cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 972cdf0e10cSrcweir GetPolyPolygon() const973cdf0e10cSrcweir const PolyPolygon& GetPolyPolygon() const { return maPolyPoly; } GetGradient() const974cdf0e10cSrcweir const Gradient& GetGradient() const { return maGradient; } 975cdf0e10cSrcweir }; 976cdf0e10cSrcweir 977cdf0e10cSrcweir // ------------------- 978cdf0e10cSrcweir // - MetaHatchAction - 979cdf0e10cSrcweir // ------------------- 980cdf0e10cSrcweir 981cdf0e10cSrcweir class VCL_DLLPUBLIC MetaHatchAction : public MetaAction 982cdf0e10cSrcweir { 983cdf0e10cSrcweir private: 984cdf0e10cSrcweir 985cdf0e10cSrcweir PolyPolygon maPolyPoly; 986cdf0e10cSrcweir Hatch maHatch; 987cdf0e10cSrcweir 988cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 989cdf0e10cSrcweir 990cdf0e10cSrcweir public: 991cdf0e10cSrcweir DECL_META_ACTION( Hatch, META_HATCH_ACTION ) 992cdf0e10cSrcweir 993cdf0e10cSrcweir MetaHatchAction( const PolyPolygon& rPolyPoly, const Hatch& rHatch ); 994cdf0e10cSrcweir 995cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 996cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 997cdf0e10cSrcweir GetPolyPolygon() const998cdf0e10cSrcweir const PolyPolygon& GetPolyPolygon() const { return maPolyPoly; } GetHatch() const999cdf0e10cSrcweir const Hatch& GetHatch() const { return maHatch; } 1000cdf0e10cSrcweir }; 1001cdf0e10cSrcweir 1002cdf0e10cSrcweir // ----------------------- 1003cdf0e10cSrcweir // - MetaWallpaperAction - 1004cdf0e10cSrcweir // ----------------------- 1005cdf0e10cSrcweir 1006cdf0e10cSrcweir class VCL_DLLPUBLIC MetaWallpaperAction : public MetaAction 1007cdf0e10cSrcweir { 1008cdf0e10cSrcweir private: 1009cdf0e10cSrcweir 1010cdf0e10cSrcweir Rectangle maRect; 1011cdf0e10cSrcweir Wallpaper maWallpaper; 1012cdf0e10cSrcweir 1013cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1014cdf0e10cSrcweir 1015cdf0e10cSrcweir public: 1016cdf0e10cSrcweir DECL_META_ACTION( Wallpaper, META_WALLPAPER_ACTION ) 1017cdf0e10cSrcweir 1018cdf0e10cSrcweir MetaWallpaperAction( const Rectangle& rRect, 1019cdf0e10cSrcweir const Wallpaper& rPaper ); 1020cdf0e10cSrcweir 1021cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 1022cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 1023cdf0e10cSrcweir GetRect() const1024cdf0e10cSrcweir const Rectangle& GetRect() const { return maRect; } GetWallpaper() const1025cdf0e10cSrcweir const Wallpaper& GetWallpaper() const { return maWallpaper; } 1026cdf0e10cSrcweir }; 1027cdf0e10cSrcweir 1028cdf0e10cSrcweir // ------------------------ 1029cdf0e10cSrcweir // - MetaClipRegionAction - 1030cdf0e10cSrcweir // ------------------------ 1031cdf0e10cSrcweir 1032cdf0e10cSrcweir class VCL_DLLPUBLIC MetaClipRegionAction : public MetaAction 1033cdf0e10cSrcweir { 1034cdf0e10cSrcweir private: 1035cdf0e10cSrcweir 1036cdf0e10cSrcweir Region maRegion; 1037cdf0e10cSrcweir sal_Bool mbClip; 1038cdf0e10cSrcweir 1039cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1040cdf0e10cSrcweir 1041cdf0e10cSrcweir public: 1042cdf0e10cSrcweir DECL_META_ACTION( ClipRegion, META_CLIPREGION_ACTION ) 1043cdf0e10cSrcweir 1044cdf0e10cSrcweir MetaClipRegionAction( const Region& rRegion, sal_Bool bClip ); 1045cdf0e10cSrcweir 1046cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 1047cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 1048cdf0e10cSrcweir GetRegion() const1049cdf0e10cSrcweir const Region& GetRegion() const { return maRegion; } IsClipping() const1050cdf0e10cSrcweir sal_Bool IsClipping() const { return mbClip; } 1051cdf0e10cSrcweir }; 1052cdf0e10cSrcweir 1053cdf0e10cSrcweir // --------------------------------- 1054cdf0e10cSrcweir // - MetaISectRectClipRegionAction - 1055cdf0e10cSrcweir // --------------------------------- 1056cdf0e10cSrcweir 1057cdf0e10cSrcweir class VCL_DLLPUBLIC MetaISectRectClipRegionAction : public MetaAction 1058cdf0e10cSrcweir { 1059cdf0e10cSrcweir private: 1060cdf0e10cSrcweir 1061cdf0e10cSrcweir Rectangle maRect; 1062cdf0e10cSrcweir 1063cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1064cdf0e10cSrcweir 1065cdf0e10cSrcweir public: 1066cdf0e10cSrcweir DECL_META_ACTION( ISectRectClipRegion, META_ISECTRECTCLIPREGION_ACTION ) 1067cdf0e10cSrcweir 1068*e1beba7dSHerbert Dürr explicit MetaISectRectClipRegionAction( const Rectangle& ); 1069cdf0e10cSrcweir 1070cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 1071cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 1072cdf0e10cSrcweir GetRect() const1073cdf0e10cSrcweir const Rectangle& GetRect() const { return maRect; } 1074cdf0e10cSrcweir }; 1075cdf0e10cSrcweir 1076cdf0e10cSrcweir // ----------------------------------- 1077cdf0e10cSrcweir // - MetaISectRegionClipRegionAction - 1078cdf0e10cSrcweir // ----------------------------------- 1079cdf0e10cSrcweir 1080cdf0e10cSrcweir class VCL_DLLPUBLIC MetaISectRegionClipRegionAction : public MetaAction 1081cdf0e10cSrcweir { 1082cdf0e10cSrcweir private: 1083cdf0e10cSrcweir 1084cdf0e10cSrcweir Region maRegion; 1085cdf0e10cSrcweir 1086cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1087cdf0e10cSrcweir 1088cdf0e10cSrcweir public: 1089cdf0e10cSrcweir DECL_META_ACTION( ISectRegionClipRegion, META_ISECTREGIONCLIPREGION_ACTION ) 1090cdf0e10cSrcweir 1091*e1beba7dSHerbert Dürr explicit MetaISectRegionClipRegionAction( const Region& ); 1092cdf0e10cSrcweir 1093cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 1094cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 1095cdf0e10cSrcweir GetRegion() const1096cdf0e10cSrcweir const Region& GetRegion() const { return maRegion; } 1097cdf0e10cSrcweir }; 1098cdf0e10cSrcweir 1099cdf0e10cSrcweir // ---------------------------- 1100cdf0e10cSrcweir // - MetaMoveClipRegionAction - 1101cdf0e10cSrcweir // ---------------------------- 1102cdf0e10cSrcweir 1103cdf0e10cSrcweir class VCL_DLLPUBLIC MetaMoveClipRegionAction : public MetaAction 1104cdf0e10cSrcweir { 1105cdf0e10cSrcweir private: 1106cdf0e10cSrcweir 1107cdf0e10cSrcweir long mnHorzMove; 1108cdf0e10cSrcweir long mnVertMove; 1109cdf0e10cSrcweir 1110cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1111cdf0e10cSrcweir 1112cdf0e10cSrcweir public: 1113cdf0e10cSrcweir DECL_META_ACTION( MoveClipRegion, META_MOVECLIPREGION_ACTION ) 1114cdf0e10cSrcweir 1115cdf0e10cSrcweir MetaMoveClipRegionAction( long nHorzMove, long nVertMove ); 1116cdf0e10cSrcweir 1117cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 1118cdf0e10cSrcweir GetHorzMove() const1119cdf0e10cSrcweir long GetHorzMove() const { return mnHorzMove; } GetVertMove() const1120cdf0e10cSrcweir long GetVertMove() const { return mnVertMove; } 1121cdf0e10cSrcweir }; 1122cdf0e10cSrcweir 1123cdf0e10cSrcweir // ----------------------- 1124cdf0e10cSrcweir // - MetaLineColorAction - 1125cdf0e10cSrcweir // ----------------------- 1126cdf0e10cSrcweir 1127cdf0e10cSrcweir class VCL_DLLPUBLIC MetaLineColorAction : public MetaAction 1128cdf0e10cSrcweir { 1129cdf0e10cSrcweir private: 1130cdf0e10cSrcweir 1131cdf0e10cSrcweir Color maColor; 1132cdf0e10cSrcweir sal_Bool mbSet; 1133cdf0e10cSrcweir 1134cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1135cdf0e10cSrcweir 1136cdf0e10cSrcweir public: 1137cdf0e10cSrcweir DECL_META_ACTION( LineColor, META_LINECOLOR_ACTION ) 1138cdf0e10cSrcweir 1139cdf0e10cSrcweir MetaLineColorAction( const Color& rColor, sal_Bool bSet ); 1140cdf0e10cSrcweir GetColor() const1141cdf0e10cSrcweir const Color& GetColor() const { return maColor; } IsSetting() const1142cdf0e10cSrcweir sal_Bool IsSetting() const { return mbSet; } 1143cdf0e10cSrcweir }; 1144cdf0e10cSrcweir 1145cdf0e10cSrcweir // ----------------------- 1146cdf0e10cSrcweir // - MetaFillColorAction - 1147cdf0e10cSrcweir // ----------------------- 1148cdf0e10cSrcweir 1149cdf0e10cSrcweir class VCL_DLLPUBLIC MetaFillColorAction : public MetaAction 1150cdf0e10cSrcweir { 1151cdf0e10cSrcweir private: 1152cdf0e10cSrcweir 1153cdf0e10cSrcweir Color maColor; 1154cdf0e10cSrcweir sal_Bool mbSet; 1155cdf0e10cSrcweir 1156cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1157cdf0e10cSrcweir 1158cdf0e10cSrcweir public: 1159cdf0e10cSrcweir DECL_META_ACTION( FillColor, META_FILLCOLOR_ACTION ) 1160cdf0e10cSrcweir 1161cdf0e10cSrcweir MetaFillColorAction( const Color& rColor, sal_Bool bSet ); 1162cdf0e10cSrcweir GetColor() const1163cdf0e10cSrcweir const Color& GetColor() const { return maColor; } IsSetting() const1164cdf0e10cSrcweir sal_Bool IsSetting() const { return mbSet; } 1165cdf0e10cSrcweir }; 1166cdf0e10cSrcweir 1167cdf0e10cSrcweir // ----------------------- 1168cdf0e10cSrcweir // - MetaTextColorAction - 1169cdf0e10cSrcweir // ----------------------- 1170cdf0e10cSrcweir 1171cdf0e10cSrcweir class VCL_DLLPUBLIC MetaTextColorAction : public MetaAction 1172cdf0e10cSrcweir { 1173cdf0e10cSrcweir private: 1174cdf0e10cSrcweir 1175cdf0e10cSrcweir Color maColor; 1176cdf0e10cSrcweir 1177cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1178cdf0e10cSrcweir 1179cdf0e10cSrcweir public: 1180cdf0e10cSrcweir DECL_META_ACTION( TextColor, META_TEXTCOLOR_ACTION ) 1181cdf0e10cSrcweir 1182*e1beba7dSHerbert Dürr explicit MetaTextColorAction( const Color& ); 1183cdf0e10cSrcweir GetColor() const1184cdf0e10cSrcweir const Color& GetColor() const { return maColor; } 1185cdf0e10cSrcweir }; 1186cdf0e10cSrcweir 1187cdf0e10cSrcweir // --------------------------- 1188cdf0e10cSrcweir // - MetaTextFillColorAction - 1189cdf0e10cSrcweir // --------------------------- 1190cdf0e10cSrcweir 1191cdf0e10cSrcweir class VCL_DLLPUBLIC MetaTextFillColorAction : public MetaAction 1192cdf0e10cSrcweir { 1193cdf0e10cSrcweir private: 1194cdf0e10cSrcweir 1195cdf0e10cSrcweir Color maColor; 1196cdf0e10cSrcweir sal_Bool mbSet; 1197cdf0e10cSrcweir 1198cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1199cdf0e10cSrcweir 1200cdf0e10cSrcweir public: 1201cdf0e10cSrcweir DECL_META_ACTION( TextFillColor, META_TEXTFILLCOLOR_ACTION ) 1202cdf0e10cSrcweir 1203cdf0e10cSrcweir MetaTextFillColorAction( const Color& rColor, sal_Bool bSet ); 1204cdf0e10cSrcweir GetColor() const1205cdf0e10cSrcweir const Color& GetColor() const { return maColor; } IsSetting() const1206cdf0e10cSrcweir sal_Bool IsSetting() const { return mbSet; } 1207cdf0e10cSrcweir }; 1208cdf0e10cSrcweir 1209cdf0e10cSrcweir // --------------------------- 1210cdf0e10cSrcweir // - MetaTextLineColorAction - 1211cdf0e10cSrcweir // --------------------------- 1212cdf0e10cSrcweir 1213cdf0e10cSrcweir class VCL_DLLPUBLIC MetaTextLineColorAction : public MetaAction 1214cdf0e10cSrcweir { 1215cdf0e10cSrcweir private: 1216cdf0e10cSrcweir 1217cdf0e10cSrcweir Color maColor; 1218cdf0e10cSrcweir sal_Bool mbSet; 1219cdf0e10cSrcweir 1220cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1221cdf0e10cSrcweir 1222cdf0e10cSrcweir public: 1223cdf0e10cSrcweir DECL_META_ACTION( TextLineColor, META_TEXTLINECOLOR_ACTION ) 1224cdf0e10cSrcweir 1225cdf0e10cSrcweir MetaTextLineColorAction( const Color& rColor, sal_Bool bSet ); 1226cdf0e10cSrcweir GetColor() const1227cdf0e10cSrcweir const Color& GetColor() const { return maColor; } IsSetting() const1228cdf0e10cSrcweir sal_Bool IsSetting() const { return mbSet; } 1229cdf0e10cSrcweir }; 1230cdf0e10cSrcweir 1231cdf0e10cSrcweir // --------------------------- 1232cdf0e10cSrcweir // - MetaOverlineColorAction - 1233cdf0e10cSrcweir // --------------------------- 1234cdf0e10cSrcweir 1235cdf0e10cSrcweir class VCL_DLLPUBLIC MetaOverlineColorAction : public MetaAction 1236cdf0e10cSrcweir { 1237cdf0e10cSrcweir private: 1238cdf0e10cSrcweir 1239cdf0e10cSrcweir Color maColor; 1240cdf0e10cSrcweir sal_Bool mbSet; 1241cdf0e10cSrcweir 1242cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1243cdf0e10cSrcweir 1244cdf0e10cSrcweir public: 1245cdf0e10cSrcweir DECL_META_ACTION( OverlineColor, META_OVERLINECOLOR_ACTION ) 1246cdf0e10cSrcweir 1247cdf0e10cSrcweir MetaOverlineColorAction( const Color& rColor, sal_Bool bSet ); 1248cdf0e10cSrcweir GetColor() const1249cdf0e10cSrcweir const Color& GetColor() const { return maColor; } IsSetting() const1250cdf0e10cSrcweir sal_Bool IsSetting() const { return mbSet; } 1251cdf0e10cSrcweir }; 1252cdf0e10cSrcweir 1253cdf0e10cSrcweir // ----------------------- 1254cdf0e10cSrcweir // - MetaTextAlignAction - 1255cdf0e10cSrcweir // ----------------------- 1256cdf0e10cSrcweir 1257cdf0e10cSrcweir class VCL_DLLPUBLIC MetaTextAlignAction : public MetaAction 1258cdf0e10cSrcweir { 1259cdf0e10cSrcweir private: 1260cdf0e10cSrcweir 1261cdf0e10cSrcweir TextAlign maAlign; 1262cdf0e10cSrcweir 1263cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1264cdf0e10cSrcweir 1265cdf0e10cSrcweir public: 1266cdf0e10cSrcweir DECL_META_ACTION( TextAlign, META_TEXTALIGN_ACTION ) 1267cdf0e10cSrcweir 1268*e1beba7dSHerbert Dürr explicit MetaTextAlignAction( TextAlign eAlign ); 1269cdf0e10cSrcweir GetTextAlign() const1270cdf0e10cSrcweir TextAlign GetTextAlign() const { return maAlign; } 1271cdf0e10cSrcweir }; 1272cdf0e10cSrcweir 1273cdf0e10cSrcweir // --------------------- 1274cdf0e10cSrcweir // - MetaMapModeAction - 1275cdf0e10cSrcweir // --------------------- 1276cdf0e10cSrcweir 1277cdf0e10cSrcweir class VCL_DLLPUBLIC MetaMapModeAction : public MetaAction 1278cdf0e10cSrcweir { 1279cdf0e10cSrcweir private: 1280cdf0e10cSrcweir 1281cdf0e10cSrcweir MapMode maMapMode; 1282cdf0e10cSrcweir 1283cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1284cdf0e10cSrcweir 1285cdf0e10cSrcweir public: 1286cdf0e10cSrcweir DECL_META_ACTION( MapMode, META_MAPMODE_ACTION ) 1287cdf0e10cSrcweir 1288*e1beba7dSHerbert Dürr explicit MetaMapModeAction( const MapMode& ); 1289cdf0e10cSrcweir 1290cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 1291cdf0e10cSrcweir GetMapMode() const1292cdf0e10cSrcweir const MapMode& GetMapMode() const { return maMapMode; } 1293cdf0e10cSrcweir }; 1294cdf0e10cSrcweir 1295cdf0e10cSrcweir // --------------------- 1296cdf0e10cSrcweir // - MetaFontAction - 1297cdf0e10cSrcweir // --------------------- 1298cdf0e10cSrcweir 1299cdf0e10cSrcweir class VCL_DLLPUBLIC MetaFontAction : public MetaAction 1300cdf0e10cSrcweir { 1301cdf0e10cSrcweir private: 1302cdf0e10cSrcweir 1303cdf0e10cSrcweir Font maFont; 1304cdf0e10cSrcweir 1305cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1306cdf0e10cSrcweir 1307cdf0e10cSrcweir public: 1308cdf0e10cSrcweir DECL_META_ACTION( Font, META_FONT_ACTION ) 1309cdf0e10cSrcweir 1310*e1beba7dSHerbert Dürr explicit MetaFontAction( const Font& ); 1311cdf0e10cSrcweir 1312cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 1313cdf0e10cSrcweir GetFont() const1314cdf0e10cSrcweir const Font& GetFont() const { return maFont; } 1315cdf0e10cSrcweir }; 1316cdf0e10cSrcweir 1317cdf0e10cSrcweir // ------------------ 1318cdf0e10cSrcweir // - MetaPushAction - 1319cdf0e10cSrcweir // ------------------ 1320cdf0e10cSrcweir 1321cdf0e10cSrcweir class VCL_DLLPUBLIC MetaPushAction : public MetaAction 1322cdf0e10cSrcweir { 1323cdf0e10cSrcweir private: 1324cdf0e10cSrcweir 1325cdf0e10cSrcweir sal_uInt16 mnFlags; 1326cdf0e10cSrcweir 1327cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1328cdf0e10cSrcweir 1329cdf0e10cSrcweir public: 1330cdf0e10cSrcweir DECL_META_ACTION( Push, META_PUSH_ACTION ) 1331cdf0e10cSrcweir 1332*e1beba7dSHerbert Dürr explicit MetaPushAction( sal_uInt16 nFlags ); 1333cdf0e10cSrcweir GetFlags() const1334cdf0e10cSrcweir sal_uInt16 GetFlags() const { return mnFlags; } 1335cdf0e10cSrcweir }; 1336cdf0e10cSrcweir 1337cdf0e10cSrcweir // ----------------- 1338cdf0e10cSrcweir // - MetaPopAction - 1339cdf0e10cSrcweir // ----------------- 1340cdf0e10cSrcweir 1341cdf0e10cSrcweir class VCL_DLLPUBLIC MetaPopAction : public MetaAction 1342cdf0e10cSrcweir { 1343cdf0e10cSrcweir public: 1344cdf0e10cSrcweir 1345cdf0e10cSrcweir DECL_META_ACTION( Pop, META_POP_ACTION ) 1346cdf0e10cSrcweir }; 1347cdf0e10cSrcweir 1348cdf0e10cSrcweir // ---------------------- 1349cdf0e10cSrcweir // - MetaRasterOpAction - 1350cdf0e10cSrcweir // ---------------------- 1351cdf0e10cSrcweir 1352cdf0e10cSrcweir class VCL_DLLPUBLIC MetaRasterOpAction : public MetaAction 1353cdf0e10cSrcweir { 1354cdf0e10cSrcweir private: 1355cdf0e10cSrcweir 1356cdf0e10cSrcweir RasterOp meRasterOp; 1357cdf0e10cSrcweir 1358cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1359cdf0e10cSrcweir 1360cdf0e10cSrcweir public: 1361cdf0e10cSrcweir DECL_META_ACTION( RasterOp, META_RASTEROP_ACTION ) 1362cdf0e10cSrcweir 1363*e1beba7dSHerbert Dürr explicit MetaRasterOpAction( RasterOp eRasterOp ); 1364cdf0e10cSrcweir GetRasterOp() const1365cdf0e10cSrcweir RasterOp GetRasterOp() const { return meRasterOp; } 1366cdf0e10cSrcweir }; 1367cdf0e10cSrcweir 1368cdf0e10cSrcweir // ------------------------- 1369cdf0e10cSrcweir // - MetaTransparentAction - 1370cdf0e10cSrcweir // ------------------------- 1371cdf0e10cSrcweir 1372cdf0e10cSrcweir class VCL_DLLPUBLIC MetaTransparentAction : public MetaAction 1373cdf0e10cSrcweir { 1374cdf0e10cSrcweir private: 1375cdf0e10cSrcweir 1376cdf0e10cSrcweir PolyPolygon maPolyPoly; 1377cdf0e10cSrcweir sal_uInt16 mnTransPercent; 1378cdf0e10cSrcweir 1379cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1380cdf0e10cSrcweir 1381cdf0e10cSrcweir public: 1382cdf0e10cSrcweir DECL_META_ACTION( Transparent, META_TRANSPARENT_ACTION ) 1383cdf0e10cSrcweir 1384cdf0e10cSrcweir MetaTransparentAction( const PolyPolygon& rPolyPoly, sal_uInt16 nTransPercent ); 1385cdf0e10cSrcweir 1386cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 1387cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 1388cdf0e10cSrcweir GetPolyPolygon() const1389cdf0e10cSrcweir const PolyPolygon& GetPolyPolygon() const { return maPolyPoly; } GetTransparence() const1390cdf0e10cSrcweir sal_uInt16 GetTransparence() const { return mnTransPercent; } 1391cdf0e10cSrcweir }; 1392cdf0e10cSrcweir 1393cdf0e10cSrcweir // ------------------------------ 1394cdf0e10cSrcweir // - MetaFloatTransparentAction - 1395cdf0e10cSrcweir // ------------------------------ 1396cdf0e10cSrcweir 1397cdf0e10cSrcweir class VCL_DLLPUBLIC MetaFloatTransparentAction : public MetaAction 1398cdf0e10cSrcweir { 1399cdf0e10cSrcweir private: 1400cdf0e10cSrcweir 1401cdf0e10cSrcweir GDIMetaFile maMtf; 1402cdf0e10cSrcweir Point maPoint; 1403cdf0e10cSrcweir Size maSize; 1404cdf0e10cSrcweir Gradient maGradient; 1405cdf0e10cSrcweir 1406cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1407cdf0e10cSrcweir 1408cdf0e10cSrcweir public: 1409cdf0e10cSrcweir DECL_META_ACTION( FloatTransparent, META_FLOATTRANSPARENT_ACTION ) 1410cdf0e10cSrcweir 1411cdf0e10cSrcweir MetaFloatTransparentAction( const GDIMetaFile& rMtf, const Point& rPos, 1412cdf0e10cSrcweir const Size& rSize, const Gradient& rGradient ); 1413cdf0e10cSrcweir 1414cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 1415cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 1416cdf0e10cSrcweir GetGDIMetaFile() const1417cdf0e10cSrcweir const GDIMetaFile& GetGDIMetaFile() const { return maMtf; } GetPoint() const1418cdf0e10cSrcweir const Point& GetPoint() const { return maPoint; } GetSize() const1419cdf0e10cSrcweir const Size& GetSize() const { return maSize; } GetGradient() const1420cdf0e10cSrcweir const Gradient& GetGradient() const { return maGradient; } 1421cdf0e10cSrcweir }; 1422cdf0e10cSrcweir 1423cdf0e10cSrcweir // --------------------- 1424cdf0e10cSrcweir // - MetaDrawEPSAction - 1425cdf0e10cSrcweir // --------------------- 1426cdf0e10cSrcweir 1427cdf0e10cSrcweir class VCL_DLLPUBLIC MetaEPSAction : public MetaAction 1428cdf0e10cSrcweir { 1429cdf0e10cSrcweir private: 1430cdf0e10cSrcweir 1431cdf0e10cSrcweir GfxLink maGfxLink; 1432cdf0e10cSrcweir GDIMetaFile maSubst; 1433cdf0e10cSrcweir Point maPoint; 1434cdf0e10cSrcweir Size maSize; 1435cdf0e10cSrcweir 1436cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1437cdf0e10cSrcweir 1438cdf0e10cSrcweir public: 1439cdf0e10cSrcweir DECL_META_ACTION( EPS, META_EPS_ACTION ) 1440cdf0e10cSrcweir 1441cdf0e10cSrcweir MetaEPSAction( const Point& rPoint, const Size& rSize, 1442cdf0e10cSrcweir const GfxLink& rGfxLink, const GDIMetaFile& rSubst ); 1443cdf0e10cSrcweir 1444cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 1445cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 1446cdf0e10cSrcweir GetLink() const1447cdf0e10cSrcweir const GfxLink& GetLink() const { return maGfxLink; } GetSubstitute() const1448cdf0e10cSrcweir const GDIMetaFile& GetSubstitute() const { return maSubst; } GetPoint() const1449cdf0e10cSrcweir const Point& GetPoint() const { return maPoint; } GetSize() const1450cdf0e10cSrcweir const Size& GetSize() const { return maSize; } 1451cdf0e10cSrcweir }; 1452cdf0e10cSrcweir 1453cdf0e10cSrcweir // ---------------------- 1454cdf0e10cSrcweir // - MetaRefPointAction - 1455cdf0e10cSrcweir // ---------------------- 1456cdf0e10cSrcweir 1457cdf0e10cSrcweir class VCL_DLLPUBLIC MetaRefPointAction : public MetaAction 1458cdf0e10cSrcweir { 1459cdf0e10cSrcweir private: 1460cdf0e10cSrcweir 1461cdf0e10cSrcweir Point maRefPoint; 1462cdf0e10cSrcweir sal_Bool mbSet; 1463cdf0e10cSrcweir 1464cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1465cdf0e10cSrcweir 1466cdf0e10cSrcweir public: 1467cdf0e10cSrcweir DECL_META_ACTION( RefPoint, META_REFPOINT_ACTION ) 1468cdf0e10cSrcweir 1469cdf0e10cSrcweir MetaRefPointAction( const Point& rRefPoint, sal_Bool bSet ); 1470cdf0e10cSrcweir GetRefPoint() const1471cdf0e10cSrcweir const Point& GetRefPoint() const { return maRefPoint; } IsSetting() const1472cdf0e10cSrcweir sal_Bool IsSetting() const { return mbSet; } 1473cdf0e10cSrcweir }; 1474cdf0e10cSrcweir 1475cdf0e10cSrcweir // --------------------- 1476cdf0e10cSrcweir // - MetaCommentAction - 1477cdf0e10cSrcweir // --------------------- 1478cdf0e10cSrcweir 1479cdf0e10cSrcweir class VCL_DLLPUBLIC MetaCommentAction : public MetaAction 1480cdf0e10cSrcweir { 1481cdf0e10cSrcweir private: 1482cdf0e10cSrcweir 1483cdf0e10cSrcweir ByteString maComment; 1484cdf0e10cSrcweir sal_Int32 mnValue; 1485cdf0e10cSrcweir sal_uInt32 mnDataSize; 1486cdf0e10cSrcweir sal_uInt8* mpData; 1487cdf0e10cSrcweir 1488cdf0e10cSrcweir SAL_DLLPRIVATE void ImplInitDynamicData( const sal_uInt8* pData, sal_uInt32 nDataSize ); 1489cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1490cdf0e10cSrcweir 1491cdf0e10cSrcweir protected: 1492*e1beba7dSHerbert Dürr virtual ~MetaCommentAction(); 1493cdf0e10cSrcweir 1494cdf0e10cSrcweir public: 1495*e1beba7dSHerbert Dürr explicit MetaCommentAction( sal_Int32 nValue = 0L ); 1496*e1beba7dSHerbert Dürr explicit MetaCommentAction( const MetaCommentAction& ); 1497*e1beba7dSHerbert Dürr explicit MetaCommentAction( const ByteString& rComment, sal_Int32 nValue = 0L, const sal_uInt8* pData = NULL, sal_uInt32 nDataSize = 0UL ); 1498*e1beba7dSHerbert Dürr explicit MetaCommentAction( const sal_uInt8* pData, sal_uInt32 nDataSize ); 1499cdf0e10cSrcweir 1500cdf0e10cSrcweir virtual void Move( long nHorzMove, long nVertMove ); 1501cdf0e10cSrcweir virtual void Scale( double fScaleX, double fScaleY ); 1502cdf0e10cSrcweir 1503cdf0e10cSrcweir virtual void Execute( OutputDevice* pOut ); 1504cdf0e10cSrcweir virtual MetaAction* Clone(); 1505cdf0e10cSrcweir virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ); 1506cdf0e10cSrcweir virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ); 1507cdf0e10cSrcweir GetComment() const1508cdf0e10cSrcweir const ByteString& GetComment() const { return maComment; } GetValue() const1509cdf0e10cSrcweir sal_Int32 GetValue() const { return mnValue; } GetDataSize() const1510cdf0e10cSrcweir sal_uInt32 GetDataSize() const { return mnDataSize; } GetData() const1511cdf0e10cSrcweir const sal_uInt8* GetData() const { return mpData; } 1512cdf0e10cSrcweir }; 1513cdf0e10cSrcweir 1514cdf0e10cSrcweir // ------------------------ 1515cdf0e10cSrcweir // - MetaLayoutModeAction - 1516cdf0e10cSrcweir // ------------------------ 1517cdf0e10cSrcweir 1518cdf0e10cSrcweir class VCL_DLLPUBLIC MetaLayoutModeAction : public MetaAction 1519cdf0e10cSrcweir { 1520cdf0e10cSrcweir private: 1521cdf0e10cSrcweir 1522cdf0e10cSrcweir sal_uInt32 mnLayoutMode; 1523cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1524cdf0e10cSrcweir 1525cdf0e10cSrcweir public: 1526cdf0e10cSrcweir DECL_META_ACTION( LayoutMode, META_LAYOUTMODE_ACTION ) 1527cdf0e10cSrcweir 1528*e1beba7dSHerbert Dürr explicit MetaLayoutModeAction( sal_uInt32 nLayoutMode ); 1529cdf0e10cSrcweir GetLayoutMode() const1530cdf0e10cSrcweir sal_uInt32 GetLayoutMode() const { return mnLayoutMode; } 1531cdf0e10cSrcweir }; 1532cdf0e10cSrcweir 1533cdf0e10cSrcweir // ------------------------ 1534cdf0e10cSrcweir // - MetaTextLanguageAction - 1535cdf0e10cSrcweir // ------------------------ 1536cdf0e10cSrcweir 1537cdf0e10cSrcweir class VCL_DLLPUBLIC MetaTextLanguageAction : public MetaAction 1538cdf0e10cSrcweir { 1539cdf0e10cSrcweir private: 1540cdf0e10cSrcweir 1541cdf0e10cSrcweir LanguageType meTextLanguage; 1542cdf0e10cSrcweir virtual sal_Bool Compare( const MetaAction& ) const; 1543cdf0e10cSrcweir 1544cdf0e10cSrcweir public: 1545cdf0e10cSrcweir DECL_META_ACTION( TextLanguage, META_TEXTLANGUAGE_ACTION ) 1546cdf0e10cSrcweir 1547*e1beba7dSHerbert Dürr explicit MetaTextLanguageAction( LanguageType ); 1548cdf0e10cSrcweir GetTextLanguage() const1549cdf0e10cSrcweir LanguageType GetTextLanguage() const { return meTextLanguage; } 1550cdf0e10cSrcweir }; 1551cdf0e10cSrcweir 1552cdf0e10cSrcweir #endif // _SV_METAACT_HXX 1553*e1beba7dSHerbert Dürr 1554