LCOV - code coverage report
Current view: top level - libreoffice/solver/unxlngi6.pro/inc/vcl - metaact.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 48 190 25.3 %
Date: 2012-12-27 Functions: 44 186 23.7 %
Legend: Lines: hit not hit

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

Generated by: LCOV version 1.10