xref: /aoo41x/main/vcl/inc/vcl/metaact.hxx (revision e1beba7d)
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