LibreOffice Module vcl (master)  1
metaact.hxx
Go to the documentation of this file.
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 INCLUDED_VCL_METAACT_HXX
21 #define INCLUDED_VCL_METAACT_HXX
22 
23 #include <config_options.h>
24 #include <memory>
25 #include <vcl/dllapi.h>
26 #include <vcl/gradient.hxx>
27 #include <vcl/hatch.hxx>
28 #include <vcl/wall.hxx>
29 #include <vcl/font.hxx>
30 #include <tools/poly.hxx>
31 #include <vcl/bitmapex.hxx>
32 #include <vcl/region.hxx>
33 #include <vcl/outdevstate.hxx>
34 #include <vcl/gdimtf.hxx>
35 #include <vcl/gfxlink.hxx>
36 #include <vcl/lineinfo.hxx>
37 #include <vcl/metaactiontypes.hxx>
39 #include <rtl/ref.hxx>
40 
41 class OutputDevice;
42 class SvStream;
43 enum class DrawTextFlags;
44 
46 {
47  rtl_TextEncoding meActualCharSet;
49 
51  : meActualCharSet(RTL_TEXTENCODING_ASCII_US)
52  , mnParseDepth(0)
53  {}
54 };
55 
57 {
58  rtl_TextEncoding meActualCharSet;
59 
61  meActualCharSet( RTL_TEXTENCODING_ASCII_US )
62  {}
63 };
64 
66 {
67 private:
69 
70 protected:
71  virtual ~MetaAction() override;
72 
73 public:
74  MetaAction();
75  explicit MetaAction( MetaActionType nType );
76  MetaAction( MetaAction const & );
77 
78  virtual void Execute( OutputDevice* pOut );
79 
80  oslInterlockedCount GetRefCount() const { return m_nCount; }
81 
83 
84  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove );
85  virtual void Scale( double fScaleX, double fScaleY );
86 
87  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData );
88  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData );
89 
90  MetaActionType GetType() const { return mnType; }
94  virtual bool IsTransparent() const { return false; }
95 
96  static rtl::Reference<MetaAction> ReadMetaAction(SvStream& rIStm, ImplMetaReadData* pData);
97 
98 protected:
99  static void ReadColor(SvStream& rIStm, ::Color& rColor);
100  static void WriteColor(SvStream& rIStm, ::Color aColor);
101 };
102 
103 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaPixelAction final : public MetaAction
104 {
105 private:
106  Point maPt;
107  Color maColor;
108 
109 public:
110  MetaPixelAction();
111  MetaPixelAction(MetaPixelAction const &) = default;
112  MetaPixelAction(MetaPixelAction &&) = default;
113  MetaPixelAction & operator =(MetaPixelAction const &) = delete; // due to MetaAction
114  MetaPixelAction & operator =(MetaPixelAction &&) = delete; // due to MetaAction
115 private:
116  virtual ~MetaPixelAction() override;
117 public:
118  virtual void Execute( OutputDevice* pOut ) override;
119  virtual rtl::Reference<MetaAction> Clone() override;
120  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
121  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
122 
123  MetaPixelAction( const Point& rPt, const Color& rColor );
124 
125  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
126  virtual void Scale( double fScaleX, double fScaleY ) override;
127 
128  const Point& GetPoint() const { return maPt; }
129  const Color& GetColor() const { return maColor; }
130 };
131 
132 class SAL_DLLPUBLIC_RTTI MetaPointAction final : public MetaAction
133 {
134 private:
136 
137 public:
138  MetaPointAction();
139  MetaPointAction(MetaPointAction const &) = default;
140  MetaPointAction(MetaPointAction &&) = default;
141  MetaPointAction & operator =(MetaPointAction const &) = delete; // due to MetaAction
142  MetaPointAction & operator =(MetaPointAction &&) = delete; // due to MetaAction
143 private:
144  virtual ~MetaPointAction() override;
145 public:
146  virtual void Execute( OutputDevice* pOut ) override;
147  virtual rtl::Reference<MetaAction> Clone() override;
148  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
149  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
150 
151  explicit MetaPointAction( const Point& );
152 
153  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
154  virtual void Scale( double fScaleX, double fScaleY ) override;
155 
156  const Point& GetPoint() const { return maPt; }
157 };
158 
160 {
161 private:
162 
166 
167 public:
168  MetaLineAction();
169  MetaLineAction(MetaLineAction const &) = default;
170  MetaLineAction(MetaLineAction &&) = default;
171  MetaLineAction & operator =(MetaLineAction const &) = delete; // due to MetaAction
172  MetaLineAction & operator =(MetaLineAction &&) = delete; // due to MetaAction
173 private:
174  virtual ~MetaLineAction() override;
175 public:
176  virtual void Execute( OutputDevice* pOut ) override;
177  virtual rtl::Reference<MetaAction> Clone() override;
178  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
179  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
180 
181  MetaLineAction( const Point& rStart, const Point& rEnd );
182  MetaLineAction( const Point& rStart, const Point& rEnd,
183  const LineInfo& rLineInfo );
184 
185  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
186  virtual void Scale( double fScaleX, double fScaleY ) override;
187 
188  const Point& GetStartPoint() const { return maStartPt; }
189  const Point& GetEndPoint() const { return maEndPt; }
190  const LineInfo& GetLineInfo() const { return maLineInfo; }
191 };
192 
194 {
195 private:
196 
198 
199 public:
200  MetaRectAction();
201  MetaRectAction(MetaRectAction const &) = default;
202  MetaRectAction(MetaRectAction &&) = default;
203  MetaRectAction & operator =(MetaRectAction const &) = delete; // due to MetaAction
204  MetaRectAction & operator =(MetaRectAction &&) = delete; // due to MetaAction
205 private:
206  virtual ~MetaRectAction() override;
207 public:
208  virtual void Execute( OutputDevice* pOut ) override;
209  virtual rtl::Reference<MetaAction> Clone() override;
210  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
211  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
212 
213  explicit MetaRectAction( const tools::Rectangle& );
214 
215  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
216  virtual void Scale( double fScaleX, double fScaleY ) override;
217 
218  const tools::Rectangle& GetRect() const { return maRect; }
219 };
220 
221 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaRoundRectAction final : public MetaAction
222 {
223 private:
224 
225  tools::Rectangle maRect;
226  sal_uInt32 mnHorzRound;
227  sal_uInt32 mnVertRound;
228 
229 public:
230  MetaRoundRectAction();
231  MetaRoundRectAction(MetaRoundRectAction const &) = default;
232  MetaRoundRectAction(MetaRoundRectAction &&) = default;
233  MetaRoundRectAction & operator =(MetaRoundRectAction const &) = delete; // due to MetaAction
234  MetaRoundRectAction & operator =(MetaRoundRectAction &&) = delete; // due to MetaAction
235 private:
236  virtual ~MetaRoundRectAction() override;
237 public:
238  virtual void Execute( OutputDevice* pOut ) override;
239  virtual rtl::Reference<MetaAction> Clone() override;
240  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
241  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
242 
243  MetaRoundRectAction( const tools::Rectangle& rRect,
244  sal_uInt32 nHorzRound, sal_uInt32 nVertRound );
245 
246  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
247  virtual void Scale( double fScaleX, double fScaleY ) override;
248 
249  const tools::Rectangle& GetRect() const { return maRect; }
250  sal_uInt32 GetHorzRound() const { return mnHorzRound; }
251  sal_uInt32 GetVertRound() const { return mnVertRound; }
252 };
253 
254 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaEllipseAction final : public MetaAction
255 {
256 private:
257 
258  tools::Rectangle maRect;
259 
260 public:
261  MetaEllipseAction();
262  MetaEllipseAction(MetaEllipseAction const &) = default;
263  MetaEllipseAction(MetaEllipseAction &&) = default;
264  MetaEllipseAction & operator =(MetaEllipseAction const &) = delete; // due to MetaAction
265  MetaEllipseAction & operator =(MetaEllipseAction &&) = delete; // due to MetaAction
266 private:
267  virtual ~MetaEllipseAction() override;
268 public:
269  virtual void Execute( OutputDevice* pOut ) override;
270  virtual rtl::Reference<MetaAction> Clone() override;
271  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
272  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
273 
274  explicit MetaEllipseAction( const tools::Rectangle& );
275 
276  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
277  virtual void Scale( double fScaleX, double fScaleY ) override;
278 
279  const tools::Rectangle& GetRect() const { return maRect; }
280 };
281 
282 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaArcAction final : public MetaAction
283 {
284 private:
285 
286  tools::Rectangle maRect;
287  Point maStartPt;
288  Point maEndPt;
289 
290 public:
291  MetaArcAction();
292  MetaArcAction(MetaArcAction const &) = default;
293  MetaArcAction(MetaArcAction &&) = default;
294  MetaArcAction & operator =(MetaArcAction const &) = delete; // due to MetaAction
295  MetaArcAction & operator =(MetaArcAction &&) = delete; // due to MetaAction
296 private:
297  virtual ~MetaArcAction() override;
298 public:
299  virtual void Execute( OutputDevice* pOut ) override;
300  virtual rtl::Reference<MetaAction> Clone() override;
301  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
302  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
303 
304  MetaArcAction( const tools::Rectangle& rRect,
305  const Point& rStart, const Point& rEnd );
306 
307  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
308  virtual void Scale( double fScaleX, double fScaleY ) override;
309 
310  const tools::Rectangle& GetRect() const { return maRect; }
311  const Point& GetStartPoint() const { return maStartPt; }
312  const Point& GetEndPoint() const { return maEndPt; }
313 };
314 
315 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaPieAction final : public MetaAction
316 {
317 private:
318 
319  tools::Rectangle maRect;
320  Point maStartPt;
321  Point maEndPt;
322 
323 public:
324  MetaPieAction();
325  MetaPieAction(MetaPieAction const &) = default;
326  MetaPieAction(MetaPieAction &&) = default;
327  MetaPieAction & operator =(MetaPieAction const &) = delete; // due to MetaAction
328  MetaPieAction & operator =(MetaPieAction &&) = delete; // due to MetaAction
329 private:
330  virtual ~MetaPieAction() override;
331 public:
332  virtual void Execute( OutputDevice* pOut ) override;
333  virtual rtl::Reference<MetaAction> Clone() override;
334  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
335  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
336 
337  MetaPieAction( const tools::Rectangle& rRect,
338  const Point& rStart, const Point& rEnd );
339 
340  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
341  virtual void Scale( double fScaleX, double fScaleY ) override;
342 
343  const tools::Rectangle& GetRect() const { return maRect; }
344  const Point& GetStartPoint() const { return maStartPt; }
345  const Point& GetEndPoint() const { return maEndPt; }
346 };
347 
348 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaChordAction final : public MetaAction
349 {
350 private:
351 
352  tools::Rectangle maRect;
353  Point maStartPt;
354  Point maEndPt;
355 
356 public:
357  MetaChordAction();
358  MetaChordAction(MetaChordAction const &) = default;
359  MetaChordAction(MetaChordAction &&) = default;
360  MetaChordAction & operator =(MetaChordAction const &) = delete; // due to MetaAction
361  MetaChordAction & operator =(MetaChordAction &&) = delete; // due to MetaAction
362 private:
363  virtual ~MetaChordAction() override;
364 public:
365  virtual void Execute( OutputDevice* pOut ) override;
366  virtual rtl::Reference<MetaAction> Clone() override;
367  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
368  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
369 
370  MetaChordAction( const tools::Rectangle& rRect,
371  const Point& rStart, const Point& rEnd );
372 
373  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
374  virtual void Scale( double fScaleX, double fScaleY ) override;
375 
376  const tools::Rectangle& GetRect() const { return maRect; }
377  const Point& GetStartPoint() const { return maStartPt; }
378  const Point& GetEndPoint() const { return maEndPt; }
379 };
380 
381 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaPolyLineAction final : public MetaAction
382 {
383 private:
384 
385  LineInfo maLineInfo;
386  tools::Polygon maPoly;
387 
388 public:
389  MetaPolyLineAction();
390  MetaPolyLineAction(MetaPolyLineAction const &) = default;
391  MetaPolyLineAction(MetaPolyLineAction &&) = default;
392  MetaPolyLineAction & operator =(MetaPolyLineAction const &) = delete; // due to MetaAction
393  MetaPolyLineAction & operator =(MetaPolyLineAction &&) = delete; // due to MetaAction
394 private:
395  virtual ~MetaPolyLineAction() override;
396 public:
397  virtual void Execute( OutputDevice* pOut ) override;
398  virtual rtl::Reference<MetaAction> Clone() override;
399  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
400  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
401 
402  explicit MetaPolyLineAction( const tools::Polygon& );
403  explicit MetaPolyLineAction( const tools::Polygon&, const LineInfo& );
404 
405  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
406  virtual void Scale( double fScaleX, double fScaleY ) override;
407 
408  const tools::Polygon& GetPolygon() const { return maPoly; }
409  const LineInfo& GetLineInfo() const { return maLineInfo; }
410 };
411 
412 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaPolygonAction final : public MetaAction
413 {
414 private:
415 
416  tools::Polygon maPoly;
417 
418 public:
419  MetaPolygonAction();
420  MetaPolygonAction(MetaPolygonAction const &) = default;
421  MetaPolygonAction(MetaPolygonAction &&) = default;
422  MetaPolygonAction & operator =(MetaPolygonAction const &) = delete; // due to MetaAction
423  MetaPolygonAction & operator =(MetaPolygonAction &&) = delete; // due to MetaAction
424 private:
425  virtual ~MetaPolygonAction() override;
426 public:
427  virtual void Execute( OutputDevice* pOut ) override;
428  virtual rtl::Reference<MetaAction> Clone() override;
429  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
430  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
431 
432  explicit MetaPolygonAction( const tools::Polygon& );
433 
434  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
435  virtual void Scale( double fScaleX, double fScaleY ) override;
436 
437  const tools::Polygon& GetPolygon() const { return maPoly; }
438 };
439 
440 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaPolyPolygonAction final : public MetaAction
441 {
442 private:
443 
444  tools::PolyPolygon maPolyPoly;
445 
446 public:
447  MetaPolyPolygonAction();
448  MetaPolyPolygonAction(MetaPolyPolygonAction const &) = default;
449  MetaPolyPolygonAction(MetaPolyPolygonAction &&) = default;
450  MetaPolyPolygonAction & operator =(MetaPolyPolygonAction const &) = delete; // due to MetaAction
451  MetaPolyPolygonAction & operator =(MetaPolyPolygonAction &&) = delete; // due to MetaAction
452 private:
453  virtual ~MetaPolyPolygonAction() override;
454 public:
455  virtual void Execute( OutputDevice* pOut ) override;
456  virtual rtl::Reference<MetaAction> Clone() override;
457  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
458  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
459 
460  explicit MetaPolyPolygonAction( const tools::PolyPolygon& );
461 
462  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
463  virtual void Scale( double fScaleX, double fScaleY ) override;
464 
465  const tools::PolyPolygon& GetPolyPolygon() const { return maPolyPoly; }
466 };
467 
468 class SAL_DLLPUBLIC_RTTI MetaTextAction final : public MetaAction
469 {
470 private:
471 
473  OUString maStr;
474  sal_Int32 mnIndex;
475  sal_Int32 mnLen;
476 
477 public:
478  MetaTextAction();
479  MetaTextAction(MetaTextAction const &) = default;
480  MetaTextAction(MetaTextAction &&) = default;
481  MetaTextAction & operator =(MetaTextAction const &) = delete; // due to MetaAction
482  MetaTextAction & operator =(MetaTextAction &&) = delete; // due to MetaAction
483 private:
484  virtual ~MetaTextAction() override;
485 public:
486  virtual void Execute( OutputDevice* pOut ) override;
487  virtual rtl::Reference<MetaAction> Clone() override;
488  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
489  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
490 
491  MetaTextAction( const Point& rPt, const OUString& rStr,
492  sal_Int32 nIndex, sal_Int32 nLen );
493 
494  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
495  virtual void Scale( double fScaleX, double fScaleY ) override;
496 
497  const Point& GetPoint() const { return maPt; }
498  const OUString& GetText() const { return maStr; }
499  sal_Int32 GetIndex() const { return mnIndex; }
500  sal_Int32 GetLen() const { return mnLen; }
501 };
502 
503 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaTextArrayAction final : public MetaAction
504 {
505 private:
506 
507  Point maStartPt;
508  OUString maStr;
509  std::unique_ptr<tools::Long[]>
510  mpDXAry;
511  sal_Int32 mnIndex;
512  sal_Int32 mnLen;
513 
514  virtual ~MetaTextArrayAction() override;
515 
516 public:
517  MetaTextArrayAction();
518  MetaTextArrayAction( const MetaTextArrayAction& rAction );
519  MetaTextArrayAction( const Point& rStartPt, const OUString& rStr,
520  const tools::Long* pDXAry, sal_Int32 nIndex,
521  sal_Int32 nLen );
522 
523  virtual void Execute( OutputDevice* pOut ) override;
524 
525  virtual rtl::Reference<MetaAction> Clone() override;
526 
527  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
528  virtual void Scale( double fScaleX, double fScaleY ) override;
529 
530  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
531  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
532 
533  const Point& GetPoint() const { return maStartPt; }
534  const OUString& GetText() const { return maStr; }
535  sal_Int32 GetIndex() const { return mnIndex; }
536  sal_Int32 GetLen() const { return mnLen; }
537  tools::Long* GetDXArray() const { return mpDXAry.get(); }
538 };
539 
540 class SAL_DLLPUBLIC_RTTI MetaStretchTextAction final : public MetaAction
541 {
542 private:
543 
545  OUString maStr;
546  sal_uInt32 mnWidth;
547  sal_Int32 mnIndex;
548  sal_Int32 mnLen;
549 
550 public:
552  MetaStretchTextAction(MetaStretchTextAction const &) = default;
554  MetaStretchTextAction & operator =(MetaStretchTextAction const &) = delete; // due to MetaAction
555  MetaStretchTextAction & operator =(MetaStretchTextAction &&) = delete; // due to MetaAction
556 private:
557  virtual ~MetaStretchTextAction() override;
558 public:
559  virtual void Execute( OutputDevice* pOut ) override;
560  virtual rtl::Reference<MetaAction> Clone() override;
561  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
562  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
563 
564  MetaStretchTextAction( const Point& rPt, sal_uInt32 nWidth,
565  const OUString& rStr,
566  sal_Int32 nIndex, sal_Int32 nLen );
567 
568  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
569  virtual void Scale( double fScaleX, double fScaleY ) override;
570 
571  const Point& GetPoint() const { return maPt; }
572  const OUString& GetText() const { return maStr; }
573  sal_uInt32 GetWidth() const { return mnWidth; }
574  sal_Int32 GetIndex() const { return mnIndex; }
575  sal_Int32 GetLen() const { return mnLen; }
576 };
577 
578 class SAL_DLLPUBLIC_RTTI MetaTextRectAction final : public MetaAction
579 {
580 private:
581 
583  OUString maStr;
585 
586 public:
588  MetaTextRectAction(MetaTextRectAction const &) = default;
590  MetaTextRectAction & operator =(MetaTextRectAction const &) = delete; // due to MetaAction
591  MetaTextRectAction & operator =(MetaTextRectAction &&) = delete; // due to MetaAction
592 private:
593  virtual ~MetaTextRectAction() override;
594 public:
595  virtual void Execute( OutputDevice* pOut ) override;
596  virtual rtl::Reference<MetaAction> Clone() override;
597  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
598  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
599 
600  MetaTextRectAction( const tools::Rectangle& rRect,
601  const OUString& rStr, DrawTextFlags nStyle );
602 
603  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
604  virtual void Scale( double fScaleX, double fScaleY ) override;
605 
606  const tools::Rectangle& GetRect() const { return maRect; }
607  const OUString& GetText() const { return maStr; }
608  DrawTextFlags GetStyle() const { return mnStyle; }
609 };
610 
611 class SAL_DLLPUBLIC_RTTI MetaTextLineAction final : public MetaAction
612 {
613 private:
614 
620 
621 public:
623  MetaTextLineAction(MetaTextLineAction const &) = default;
625  MetaTextLineAction & operator =(MetaTextLineAction const &) = delete; // due to MetaAction
626  MetaTextLineAction & operator =(MetaTextLineAction &&) = delete; // due to MetaAction
627 private:
628  virtual ~MetaTextLineAction() override;
629 public:
630  virtual void Execute( OutputDevice* pOut ) override;
631  virtual rtl::Reference<MetaAction> Clone() override;
632  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
633  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
634 
635  MetaTextLineAction( const Point& rPos, tools::Long nWidth,
636  FontStrikeout eStrikeout,
637  FontLineStyle eUnderline,
638  FontLineStyle eOverline );
639  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
640  virtual void Scale( double fScaleX, double fScaleY ) override;
641 
642  const Point& GetStartPoint() const { return maPos; }
643  tools::Long GetWidth() const { return mnWidth; }
644  FontStrikeout GetStrikeout() const { return meStrikeout; }
645  FontLineStyle GetUnderline() const { return meUnderline; }
646  FontLineStyle GetOverline() const { return meOverline; }
647 };
648 
650 {
651 private:
652 
655 
656 public:
657  MetaBmpAction();
658  MetaBmpAction(MetaBmpAction const &) = default;
659  MetaBmpAction(MetaBmpAction &&) = default;
660  MetaBmpAction & operator =(MetaBmpAction const &) = delete; // due to MetaAction
661  MetaBmpAction & operator =(MetaBmpAction &&) = delete; // due to MetaAction
662 private:
663  virtual ~MetaBmpAction() override;
664 public:
665  virtual void Execute( OutputDevice* pOut ) override;
666  virtual rtl::Reference<MetaAction> Clone() override;
667  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
668  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
669 
670  MetaBmpAction( const Point& rPt, const Bitmap& rBmp );
671 
672  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
673  virtual void Scale( double fScaleX, double fScaleY ) override;
674 
675  const Bitmap& GetBitmap() const { return maBmp; }
676  const Point& GetPoint() const { return maPt; }
677 };
678 
680 {
681 private:
682 
686 
687 public:
689  MetaBmpScaleAction(MetaBmpScaleAction const &) = default;
691  MetaBmpScaleAction & operator =(MetaBmpScaleAction const &) = delete; // due to MetaAction
692  MetaBmpScaleAction & operator =(MetaBmpScaleAction &&) = delete; // due to MetaAction
693 private:
694  virtual ~MetaBmpScaleAction() override;
695 public:
696  virtual void Execute( OutputDevice* pOut ) override;
697  virtual rtl::Reference<MetaAction> Clone() override;
698  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
699  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
700 
701  MetaBmpScaleAction( const Point& rPt, const Size& rSz,
702  const Bitmap& rBmp );
703 
704  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
705  virtual void Scale( double fScaleX, double fScaleY ) override;
706 
707  const Bitmap& GetBitmap() const { return maBmp; }
708  const Point& GetPoint() const { return maPt; }
709  const Size& GetSize() const { return maSz; }
710 };
711 
712 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaBmpScalePartAction final : public MetaAction
713 {
714 private:
715 
716  Bitmap maBmp;
717  Point maDstPt;
718  Size maDstSz;
719  Point maSrcPt;
720  Size maSrcSz;
721 
722 public:
723  MetaBmpScalePartAction();
724  MetaBmpScalePartAction(MetaBmpScalePartAction const &) = default;
725  MetaBmpScalePartAction(MetaBmpScalePartAction &&) = default;
726  MetaBmpScalePartAction & operator =(MetaBmpScalePartAction const &) = delete; // due to MetaAction
727  MetaBmpScalePartAction & operator =(MetaBmpScalePartAction &&) = delete; // due to MetaAction
728 private:
729  virtual ~MetaBmpScalePartAction() override;
730 public:
731  virtual void Execute( OutputDevice* pOut ) override;
732  virtual rtl::Reference<MetaAction> Clone() override;
733  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
734  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
735 
736  MetaBmpScalePartAction( const Point& rDstPt, const Size& rDstSz,
737  const Point& rSrcPt, const Size& rSrcSz,
738  const Bitmap& rBmp );
739 
740  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
741  virtual void Scale( double fScaleX, double fScaleY ) override;
742 
743  const Bitmap& GetBitmap() const { return maBmp; }
744  const Point& GetDestPoint() const { return maDstPt; }
745  const Size& GetDestSize() const { return maDstSz; }
746  const Point& GetSrcPoint() const { return maSrcPt; }
747  const Size& GetSrcSize() const { return maSrcSz; }
748 };
749 
751 {
752 private:
753 
756 
757 public:
758  MetaBmpExAction();
759  MetaBmpExAction(MetaBmpExAction const &) = default;
760  MetaBmpExAction(MetaBmpExAction &&) = default;
761  MetaBmpExAction & operator =(MetaBmpExAction const &) = delete; // due to MetaAction
762  MetaBmpExAction & operator =(MetaBmpExAction &&) = delete; // due to MetaAction
763 private:
764  virtual ~MetaBmpExAction() override;
765 public:
766  virtual void Execute( OutputDevice* pOut ) override;
767  virtual rtl::Reference<MetaAction> Clone() override;
768  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
769  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
770 
771  MetaBmpExAction( const Point& rPt, const BitmapEx& rBmpEx );
772 
773  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
774  virtual void Scale( double fScaleX, double fScaleY ) override;
775 
776  const BitmapEx& GetBitmapEx() const { return maBmpEx; }
777  const Point& GetPoint() const { return maPt; }
778  bool IsTransparent() const override { return GetBitmapEx().IsTransparent(); }
779 };
780 
782 {
783 private:
784 
788 
789 public:
791  MetaBmpExScaleAction(MetaBmpExScaleAction const &) = default;
793  MetaBmpExScaleAction & operator =(MetaBmpExScaleAction const &) = delete; // due to MetaAction
794  MetaBmpExScaleAction & operator =(MetaBmpExScaleAction &&) = delete; // due to MetaAction
795 private:
796  virtual ~MetaBmpExScaleAction() override;
797 public:
798  virtual void Execute( OutputDevice* pOut ) override;
799  virtual rtl::Reference<MetaAction> Clone() override;
800  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
801  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
802 
803  MetaBmpExScaleAction( const Point& rPt, const Size& rSz,
804  const BitmapEx& rBmpEx ) ;
805 
806  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
807  virtual void Scale( double fScaleX, double fScaleY ) override;
808 
809  const BitmapEx& GetBitmapEx() const { return maBmpEx; }
810  const Point& GetPoint() const { return maPt; }
811  const Size& GetSize() const { return maSz; }
812  bool IsTransparent() const override { return GetBitmapEx().IsTransparent(); }
813 };
814 
815 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaBmpExScalePartAction final : public MetaAction
816 {
817 private:
818 
819  BitmapEx maBmpEx;
820  Point maDstPt;
821  Size maDstSz;
822  Point maSrcPt;
823  Size maSrcSz;
824 
825 public:
826  MetaBmpExScalePartAction();
827  MetaBmpExScalePartAction(MetaBmpExScalePartAction const &) = default;
828  MetaBmpExScalePartAction(MetaBmpExScalePartAction &&) = default;
829  MetaBmpExScalePartAction & operator =(MetaBmpExScalePartAction const &) = delete; // due to MetaAction
830  MetaBmpExScalePartAction & operator =(MetaBmpExScalePartAction &&) = delete; // due to MetaAction
831 private:
832  virtual ~MetaBmpExScalePartAction() override;
833 public:
834  virtual void Execute( OutputDevice* pOut ) override;
835  virtual rtl::Reference<MetaAction> Clone() override;
836  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
837  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
838 
839  MetaBmpExScalePartAction( const Point& rDstPt, const Size& rDstSz,
840  const Point& rSrcPt, const Size& rSrcSz,
841  const BitmapEx& rBmpEx );
842 
843  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
844  virtual void Scale( double fScaleX, double fScaleY ) override;
845 
846  const BitmapEx& GetBitmapEx() const { return maBmpEx; }
847  const Point& GetDestPoint() const { return maDstPt; }
848  const Size& GetDestSize() const { return maDstSz; }
849  const Point& GetSrcPoint() const { return maSrcPt; }
850  const Size& GetSrcSize() const { return maSrcSz; }
851  bool IsTransparent() const override { return GetBitmapEx().IsTransparent(); }
852 };
853 
854 class SAL_DLLPUBLIC_RTTI MetaMaskAction final : public MetaAction
855 {
856 private:
857 
861 
862 public:
863  MetaMaskAction();
864  MetaMaskAction(MetaMaskAction const &) = default;
865  MetaMaskAction(MetaMaskAction &&) = default;
866  MetaMaskAction & operator =(MetaMaskAction const &) = delete; // due to MetaAction
867  MetaMaskAction & operator =(MetaMaskAction &&) = delete; // due to MetaAction
868 private:
869  virtual ~MetaMaskAction() override;
870 public:
871  virtual void Execute( OutputDevice* pOut ) override;
872  virtual rtl::Reference<MetaAction> Clone() override;
873  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
874  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
875 
876  MetaMaskAction( const Point& rPt,
877  const Bitmap& rBmp,
878  const Color& rColor );
879 
880  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
881  virtual void Scale( double fScaleX, double fScaleY ) override;
882 
883  const Bitmap& GetBitmap() const { return maBmp; }
884  const Color& GetColor() const { return maColor; }
885  const Point& GetPoint() const { return maPt; }
886 };
887 
888 class SAL_DLLPUBLIC_RTTI MetaMaskScaleAction final : public MetaAction
889 {
890 private:
891 
896 
897 public:
899  MetaMaskScaleAction(MetaMaskScaleAction const &) = default;
901  MetaMaskScaleAction & operator =(MetaMaskScaleAction const &) = delete; // due to MetaAction
902  MetaMaskScaleAction & operator =(MetaMaskScaleAction &&) = delete; // due to MetaAction
903 private:
904  virtual ~MetaMaskScaleAction() override;
905 public:
906  virtual void Execute( OutputDevice* pOut ) override;
907  virtual rtl::Reference<MetaAction> Clone() override;
908  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
909  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
910 
911  MetaMaskScaleAction( const Point& rPt, const Size& rSz,
912  const Bitmap& rBmp,
913  const Color& rColor );
914 
915  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
916  virtual void Scale( double fScaleX, double fScaleY ) override;
917 
918  const Bitmap& GetBitmap() const { return maBmp; }
919  const Color& GetColor() const { return maColor; }
920  const Point& GetPoint() const { return maPt; }
921  const Size& GetSize() const { return maSz; }
922 };
923 
924 class SAL_DLLPUBLIC_RTTI MetaMaskScalePartAction final : public MetaAction
925 {
926 private:
927 
934 
935 public:
939  MetaMaskScalePartAction & operator =(MetaMaskScalePartAction const &) = delete; // due to MetaAction
940  MetaMaskScalePartAction & operator =(MetaMaskScalePartAction &&) = delete; // due to MetaAction
941 private:
942  virtual ~MetaMaskScalePartAction() override;
943 public:
944  virtual void Execute( OutputDevice* pOut ) override;
945  virtual rtl::Reference<MetaAction> Clone() override;
946  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
947  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
948 
949  MetaMaskScalePartAction( const Point& rDstPt, const Size& rDstSz,
950  const Point& rSrcPt, const Size& rSrcSz,
951  const Bitmap& rBmp,
952  const Color& rColor );
953 
954  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
955  virtual void Scale( double fScaleX, double fScaleY ) override;
956 
957  const Bitmap& GetBitmap() const { return maBmp; }
958  const Color& GetColor() const { return maColor; }
959  const Point& GetDestPoint() const { return maDstPt; }
960  const Size& GetDestSize() const { return maDstSz; }
961  const Point& GetSrcPoint() const { return maSrcPt; }
962  const Size& GetSrcSize() const { return maSrcSz; }
963 };
964 
965 class SAL_DLLPUBLIC_RTTI MetaGradientAction final : public MetaAction
966 {
967 private:
968 
971 
972 public:
974  MetaGradientAction(MetaGradientAction const &) = default;
976  MetaGradientAction & operator =(MetaGradientAction const &) = delete; // due to MetaAction
977  MetaGradientAction & operator =(MetaGradientAction &&) = delete; // due to MetaAction
978 private:
979  virtual ~MetaGradientAction() override;
980 public:
981  virtual void Execute( OutputDevice* pOut ) override;
982  virtual rtl::Reference<MetaAction> Clone() override;
983  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
984  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
985 
986  MetaGradientAction( const tools::Rectangle& rRect, const Gradient& rGradient );
987 
988  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
989  virtual void Scale( double fScaleX, double fScaleY ) override;
990 
991  const tools::Rectangle& GetRect() const { return maRect; }
992  const Gradient& GetGradient() const { return maGradient; }
993 };
994 
995 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaGradientExAction final : public MetaAction
996 {
997 private:
998 
999  tools::PolyPolygon maPolyPoly;
1000  Gradient maGradient;
1001 
1002 public:
1003  MetaGradientExAction();
1004  MetaGradientExAction(MetaGradientExAction const &) = default;
1005  MetaGradientExAction(MetaGradientExAction &&) = default;
1006  MetaGradientExAction & operator =(MetaGradientExAction const &) = delete; // due to MetaAction
1007  MetaGradientExAction & operator =(MetaGradientExAction &&) = delete; // due to MetaAction
1008 private:
1009  virtual ~MetaGradientExAction() override;
1010 public:
1011  virtual void Execute( OutputDevice* pOut ) override;
1012  virtual rtl::Reference<MetaAction> Clone() override;
1013  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1014  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1015 
1016  MetaGradientExAction( const tools::PolyPolygon& rPolyPoly, const Gradient& rGradient );
1017 
1018  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1019  virtual void Scale( double fScaleX, double fScaleY ) override;
1020 
1021  const tools::PolyPolygon& GetPolyPolygon() const { return maPolyPoly; }
1022  const Gradient& GetGradient() const { return maGradient; }
1023 };
1024 
1025 class SAL_DLLPUBLIC_RTTI MetaHatchAction final : public MetaAction
1026 {
1027 private:
1028 
1031 
1032 public:
1033  MetaHatchAction();
1034  MetaHatchAction(MetaHatchAction const &) = default;
1035  MetaHatchAction(MetaHatchAction &&) = default;
1036  MetaHatchAction & operator =(MetaHatchAction const &) = delete; // due to MetaAction
1037  MetaHatchAction & operator =(MetaHatchAction &&) = delete; // due to MetaAction
1038 private:
1039  virtual ~MetaHatchAction() override;
1040 public:
1041  virtual void Execute( OutputDevice* pOut ) override;
1042  virtual rtl::Reference<MetaAction> Clone() override;
1043  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1044  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1045 
1046  MetaHatchAction( const tools::PolyPolygon& rPolyPoly, const Hatch& rHatch );
1047 
1048  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1049  virtual void Scale( double fScaleX, double fScaleY ) override;
1050 
1051  const tools::PolyPolygon& GetPolyPolygon() const { return maPolyPoly; }
1052  const Hatch& GetHatch() const { return maHatch; }
1053 };
1054 
1055 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaWallpaperAction final : public MetaAction
1056 {
1057 private:
1058 
1059  tools::Rectangle maRect;
1060  Wallpaper maWallpaper;
1061 
1062 public:
1063  MetaWallpaperAction();
1064  MetaWallpaperAction(MetaWallpaperAction const &) = default;
1065  MetaWallpaperAction(MetaWallpaperAction &&) = default;
1066  MetaWallpaperAction & operator =(MetaWallpaperAction const &) = delete; // due to MetaAction
1067  MetaWallpaperAction & operator =(MetaWallpaperAction &&) = delete; // due to MetaAction
1068 private:
1069  virtual ~MetaWallpaperAction() override;
1070 public:
1071  virtual void Execute( OutputDevice* pOut ) override;
1072  virtual rtl::Reference<MetaAction> Clone() override;
1073  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1074  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1075 
1076  MetaWallpaperAction( const tools::Rectangle& rRect,
1077  const Wallpaper& rPaper );
1078 
1079  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1080  virtual void Scale( double fScaleX, double fScaleY ) override;
1081 
1082  const tools::Rectangle& GetRect() const { return maRect; }
1083  const Wallpaper& GetWallpaper() const { return maWallpaper; }
1084 };
1085 
1086 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaClipRegionAction final : public MetaAction
1087 {
1088 private:
1089 
1090  vcl::Region maRegion;
1091  bool mbClip;
1092 
1093 public:
1094  MetaClipRegionAction();
1095  MetaClipRegionAction(MetaClipRegionAction const &) = default;
1096  MetaClipRegionAction(MetaClipRegionAction &&) = default;
1097  MetaClipRegionAction & operator =(MetaClipRegionAction const &) = delete; // due to MetaAction
1098  MetaClipRegionAction & operator =(MetaClipRegionAction &&) = delete; // due to MetaAction
1099 private:
1100  virtual ~MetaClipRegionAction() override;
1101 public:
1102  virtual void Execute( OutputDevice* pOut ) override;
1103  virtual rtl::Reference<MetaAction> Clone() override;
1104  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1105  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1106 
1107  MetaClipRegionAction( const vcl::Region& rRegion, bool bClip );
1108 
1109  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1110  virtual void Scale( double fScaleX, double fScaleY ) override;
1111 
1112  const vcl::Region& GetRegion() const { return maRegion; }
1113  bool IsClipping() const { return mbClip; }
1114 };
1115 
1116 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaISectRectClipRegionAction final : public MetaAction
1117 {
1118 private:
1119 
1120  tools::Rectangle maRect;
1121 
1122 public:
1123  MetaISectRectClipRegionAction();
1124  MetaISectRectClipRegionAction(MetaISectRectClipRegionAction const &) = default;
1125  MetaISectRectClipRegionAction(MetaISectRectClipRegionAction &&) = default;
1126  MetaISectRectClipRegionAction & operator =(MetaISectRectClipRegionAction const &) = delete; // due to MetaAction
1127  MetaISectRectClipRegionAction & operator =(MetaISectRectClipRegionAction &&) = delete; // due to MetaAction
1128 private:
1129  virtual ~MetaISectRectClipRegionAction() override;
1130 public:
1131  virtual void Execute( OutputDevice* pOut ) override;
1132  virtual rtl::Reference<MetaAction> Clone() override;
1133  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1134  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1135 
1136  explicit MetaISectRectClipRegionAction( const tools::Rectangle& );
1137 
1138  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1139  virtual void Scale( double fScaleX, double fScaleY ) override;
1140 
1141  const tools::Rectangle& GetRect() const { return maRect; }
1142 };
1143 
1144 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaISectRegionClipRegionAction final : public MetaAction
1145 {
1146 private:
1147 
1148  vcl::Region maRegion;
1149 
1150 public:
1151  MetaISectRegionClipRegionAction();
1152  MetaISectRegionClipRegionAction(MetaISectRegionClipRegionAction const &) = default;
1153  MetaISectRegionClipRegionAction(MetaISectRegionClipRegionAction &&) = default;
1154  MetaISectRegionClipRegionAction & operator =(MetaISectRegionClipRegionAction const &) = delete; // due to MetaAction
1155  MetaISectRegionClipRegionAction & operator =(MetaISectRegionClipRegionAction &&) = delete; // due to MetaAction
1156 private:
1157  virtual ~MetaISectRegionClipRegionAction() override;
1158 public:
1159  virtual void Execute( OutputDevice* pOut ) override;
1160  virtual rtl::Reference<MetaAction> Clone() override;
1161  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1162  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1163 
1164  explicit MetaISectRegionClipRegionAction( const vcl::Region& );
1165 
1166  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1167  virtual void Scale( double fScaleX, double fScaleY ) override;
1168 
1169  const vcl::Region& GetRegion() const { return maRegion; }
1170 };
1171 
1172 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaMoveClipRegionAction final : public MetaAction
1173 {
1174 private:
1175 
1176  tools::Long mnHorzMove;
1177  tools::Long mnVertMove;
1178 
1179 public:
1180  MetaMoveClipRegionAction();
1181  MetaMoveClipRegionAction(MetaMoveClipRegionAction const &) = default;
1182  MetaMoveClipRegionAction(MetaMoveClipRegionAction &&) = default;
1183  MetaMoveClipRegionAction & operator =(MetaMoveClipRegionAction const &) = delete; // due to MetaAction
1184  MetaMoveClipRegionAction & operator =(MetaMoveClipRegionAction &&) = delete; // due to MetaAction
1185 private:
1186  virtual ~MetaMoveClipRegionAction() override;
1187 public:
1188  virtual void Execute( OutputDevice* pOut ) override;
1189  virtual rtl::Reference<MetaAction> Clone() override;
1190  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1191  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1192 
1193  MetaMoveClipRegionAction( tools::Long nHorzMove, tools::Long nVertMove );
1194 
1195  virtual void Scale( double fScaleX, double fScaleY ) override;
1196 
1197  tools::Long GetHorzMove() const { return mnHorzMove; }
1198  tools::Long GetVertMove() const { return mnVertMove; }
1199 };
1200 
1202 {
1203 private:
1204 
1206  bool mbSet;
1207 
1208 public:
1210  MetaLineColorAction(MetaLineColorAction const &) = default;
1212  MetaLineColorAction & operator =(MetaLineColorAction const &) = delete; // due to MetaAction
1213  MetaLineColorAction & operator =(MetaLineColorAction &&) = delete; // due to MetaAction
1214 private:
1215  virtual ~MetaLineColorAction() override;
1216 public:
1217  virtual void Execute( OutputDevice* pOut ) override;
1218  virtual rtl::Reference<MetaAction> Clone() override;
1219  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1220  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1221 
1222  MetaLineColorAction( const Color& rColor, bool bSet );
1223 
1224  const Color& GetColor() const { return maColor; }
1225  bool IsSetting() const { return mbSet; }
1226 };
1227 
1229 {
1230 private:
1231 
1233  bool mbSet;
1234 
1235 public:
1237  MetaFillColorAction(MetaFillColorAction const &) = default;
1239  MetaFillColorAction & operator =(MetaFillColorAction const &) = delete; // due to MetaAction
1240  MetaFillColorAction & operator =(MetaFillColorAction &&) = delete; // due to MetaAction
1241 private:
1242  virtual ~MetaFillColorAction() override;
1243 public:
1244  virtual void Execute( OutputDevice* pOut ) override;
1245  virtual rtl::Reference<MetaAction> Clone() override;
1246  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1247  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1248 
1249  MetaFillColorAction( const Color& rColor, bool bSet );
1250 
1251  const Color& GetColor() const { return maColor; }
1252  bool IsSetting() const { return mbSet; }
1253 };
1254 
1255 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaTextColorAction final : public MetaAction
1256 {
1257 private:
1258 
1259  Color maColor;
1260 
1261 public:
1262  MetaTextColorAction();
1263  MetaTextColorAction(MetaTextColorAction const &) = default;
1264  MetaTextColorAction(MetaTextColorAction &&) = default;
1265  MetaTextColorAction & operator =(MetaTextColorAction const &) = delete; // due to MetaAction
1266  MetaTextColorAction & operator =(MetaTextColorAction &&) = delete; // due to MetaAction
1267 private:
1268  virtual ~MetaTextColorAction() override;
1269 public:
1270  virtual void Execute( OutputDevice* pOut ) override;
1271  virtual rtl::Reference<MetaAction> Clone() override;
1272  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1273  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1274 
1275  explicit MetaTextColorAction( const Color& );
1276 
1277  const Color& GetColor() const { return maColor; }
1278 };
1279 
1280 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaTextFillColorAction final : public MetaAction
1281 {
1282 private:
1283 
1284  Color maColor;
1285  bool mbSet;
1286 
1287 public:
1288  MetaTextFillColorAction();
1289  MetaTextFillColorAction(MetaTextFillColorAction const &) = default;
1290  MetaTextFillColorAction(MetaTextFillColorAction &&) = default;
1291  MetaTextFillColorAction & operator =(MetaTextFillColorAction const &) = delete; // due to MetaAction
1292  MetaTextFillColorAction & operator =(MetaTextFillColorAction &&) = delete; // due to MetaAction
1293 private:
1294  virtual ~MetaTextFillColorAction() override;
1295 public:
1296  virtual void Execute( OutputDevice* pOut ) override;
1297  virtual rtl::Reference<MetaAction> Clone() override;
1298  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1299  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1300 
1301  MetaTextFillColorAction( const Color& rColor, bool bSet );
1302 
1303  const Color& GetColor() const { return maColor; }
1304  bool IsSetting() const { return mbSet; }
1305 };
1306 
1307 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaTextLineColorAction final : public MetaAction
1308 {
1309 private:
1310 
1311  Color maColor;
1312  bool mbSet;
1313 
1314 public:
1315  MetaTextLineColorAction();
1316  MetaTextLineColorAction(MetaTextLineColorAction const &) = default;
1317  MetaTextLineColorAction(MetaTextLineColorAction &&) = default;
1318  MetaTextLineColorAction & operator =(MetaTextLineColorAction const &) = delete; // due to MetaAction
1319  MetaTextLineColorAction & operator =(MetaTextLineColorAction &&) = delete; // due to MetaAction
1320 private:
1321  virtual ~MetaTextLineColorAction() override;
1322 public:
1323  virtual void Execute( OutputDevice* pOut ) override;
1324  virtual rtl::Reference<MetaAction> Clone() override;
1325  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1326  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1327 
1328  MetaTextLineColorAction( const Color& rColor, bool bSet );
1329 
1330  const Color& GetColor() const { return maColor; }
1331  bool IsSetting() const { return mbSet; }
1332 };
1333 
1334 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaOverlineColorAction final : public MetaAction
1335 {
1336 private:
1337 
1338  Color maColor;
1339  bool mbSet;
1340 
1341 public:
1342  MetaOverlineColorAction();
1343  MetaOverlineColorAction(MetaOverlineColorAction const &) = default;
1344  MetaOverlineColorAction(MetaOverlineColorAction &&) = default;
1345  MetaOverlineColorAction & operator =(MetaOverlineColorAction const &) = delete; // due to MetaAction
1346  MetaOverlineColorAction & operator =(MetaOverlineColorAction &&) = delete; // due to MetaAction
1347 private:
1348  virtual ~MetaOverlineColorAction() override;
1349 public:
1350  virtual void Execute( OutputDevice* pOut ) override;
1351  virtual rtl::Reference<MetaAction> Clone() override;
1352  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1353  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1354 
1355  MetaOverlineColorAction( const Color& rColor, bool bSet );
1356 
1357  const Color& GetColor() const { return maColor; }
1358  bool IsSetting() const { return mbSet; }
1359 };
1360 
1361 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaTextAlignAction final : public MetaAction
1362 {
1363 private:
1364 
1365  TextAlign maAlign;
1366 
1367 public:
1368  MetaTextAlignAction();
1369  MetaTextAlignAction(MetaTextAlignAction const &) = default;
1370  MetaTextAlignAction(MetaTextAlignAction &&) = default;
1371  MetaTextAlignAction & operator =(MetaTextAlignAction const &) = delete; // due to MetaAction
1372  MetaTextAlignAction & operator =(MetaTextAlignAction &&) = delete; // due to MetaAction
1373 private:
1374  virtual ~MetaTextAlignAction() override;
1375 public:
1376  virtual void Execute( OutputDevice* pOut ) override;
1377  virtual rtl::Reference<MetaAction> Clone() override;
1378  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1379  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1380 
1381  explicit MetaTextAlignAction( TextAlign eAlign );
1382 
1383  TextAlign GetTextAlign() const { return maAlign; }
1384 };
1385 
1386 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaMapModeAction final : public MetaAction
1387 {
1388 private:
1389 
1390  MapMode maMapMode;
1391 
1392 public:
1393  MetaMapModeAction();
1394  MetaMapModeAction(MetaMapModeAction const &) = default;
1395  MetaMapModeAction(MetaMapModeAction &&) = default;
1396  MetaMapModeAction & operator =(MetaMapModeAction const &) = delete; // due to MetaAction
1397  MetaMapModeAction & operator =(MetaMapModeAction &&) = delete; // due to MetaAction
1398 private:
1399  virtual ~MetaMapModeAction() override;
1400 public:
1401  virtual void Execute( OutputDevice* pOut ) override;
1402  virtual rtl::Reference<MetaAction> Clone() override;
1403  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1404  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1405 
1406  explicit MetaMapModeAction( const MapMode& );
1407 
1408  virtual void Scale( double fScaleX, double fScaleY ) override;
1409 
1410  const MapMode& GetMapMode() const { return maMapMode; }
1411 };
1412 
1413 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaFontAction final : public MetaAction
1414 {
1415 private:
1416 
1417  vcl::Font maFont;
1418 
1419 public:
1420  MetaFontAction();
1421  MetaFontAction(MetaFontAction const &) = default;
1422  MetaFontAction(MetaFontAction &&) = default;
1423  MetaFontAction & operator =(MetaFontAction const &) = delete; // due to MetaAction
1424  MetaFontAction & operator =(MetaFontAction &&) = delete; // due to MetaAction
1425 private:
1426  virtual ~MetaFontAction() override;
1427 public:
1428  virtual void Execute( OutputDevice* pOut ) override;
1429  virtual rtl::Reference<MetaAction> Clone() override;
1430  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1431  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1432 
1433  explicit MetaFontAction( const vcl::Font& );
1434 
1435  virtual void Scale( double fScaleX, double fScaleY ) override;
1436 
1437  const vcl::Font& GetFont() const { return maFont; }
1438 };
1439 
1440 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaPushAction final : public MetaAction
1441 {
1442 private:
1443 
1445 
1446 public:
1447  MetaPushAction();
1448  MetaPushAction(MetaPushAction const &) = default;
1449  MetaPushAction(MetaPushAction &&) = default;
1450  MetaPushAction & operator =(MetaPushAction const &) = delete; // due to MetaAction
1451  MetaPushAction & operator =(MetaPushAction &&) = delete; // due to MetaAction
1452 private:
1453  virtual ~MetaPushAction() override;
1454 public:
1455  virtual void Execute( OutputDevice* pOut ) override;
1456  virtual rtl::Reference<MetaAction> Clone() override;
1457  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1458  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1459 
1460  explicit MetaPushAction( PushFlags nFlags );
1461 
1462  PushFlags GetFlags() const { return mnFlags; }
1463 };
1464 
1465 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaPopAction final : public MetaAction
1466 {
1467 public:
1468 
1469  MetaPopAction();
1470  MetaPopAction(MetaPopAction const &) = default;
1471  MetaPopAction(MetaPopAction &&) = default;
1472  MetaPopAction & operator =(MetaPopAction const &) = delete; // due to MetaAction
1473  MetaPopAction & operator =(MetaPopAction &&) = delete; // due to MetaAction
1474 private:
1475  virtual ~MetaPopAction() override;
1476 public:
1477  virtual void Execute( OutputDevice* pOut ) override;
1478  virtual rtl::Reference<MetaAction> Clone() override;
1479  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1480  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1481 };
1482 
1483 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaRasterOpAction final : public MetaAction
1484 {
1485 private:
1486 
1487  RasterOp meRasterOp;
1488 
1489 public:
1490  MetaRasterOpAction();
1491  MetaRasterOpAction(MetaRasterOpAction const &) = default;
1492  MetaRasterOpAction(MetaRasterOpAction &&) = default;
1493  MetaRasterOpAction & operator =(MetaRasterOpAction const &) = delete; // due to MetaAction
1494  MetaRasterOpAction & operator =(MetaRasterOpAction &&) = delete; // due to MetaAction
1495 private:
1496  virtual ~MetaRasterOpAction() override;
1497 public:
1498  virtual void Execute( OutputDevice* pOut ) override;
1499  virtual rtl::Reference<MetaAction> Clone() override;
1500  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1501  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1502 
1503  explicit MetaRasterOpAction( RasterOp eRasterOp );
1504 
1505  RasterOp GetRasterOp() const { return meRasterOp; }
1506 };
1507 
1508 class SAL_DLLPUBLIC_RTTI MetaTransparentAction final : public MetaAction
1509 {
1510 private:
1511 
1513  sal_uInt16 mnTransPercent;
1514 
1515 public:
1517  MetaTransparentAction(MetaTransparentAction const &) = default;
1519  MetaTransparentAction & operator =(MetaTransparentAction const &) = delete; // due to MetaAction
1520  MetaTransparentAction & operator =(MetaTransparentAction &&) = delete; // due to MetaAction
1521 private:
1522  virtual ~MetaTransparentAction() override;
1523 public:
1524  virtual void Execute( OutputDevice* pOut ) override;
1525  virtual rtl::Reference<MetaAction> Clone() override;
1526  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1527  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1528 
1529  MetaTransparentAction( const tools::PolyPolygon& rPolyPoly, sal_uInt16 nTransPercent );
1530 
1531  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1532  virtual void Scale( double fScaleX, double fScaleY ) override;
1533 
1534  const tools::PolyPolygon& GetPolyPolygon() const { return maPolyPoly; }
1535  sal_uInt16 GetTransparence() const { return mnTransPercent; }
1536 
1537  bool IsTransparent() const override { return true; }
1538 };
1539 
1540 class SAL_DLLPUBLIC_RTTI MetaFloatTransparentAction final : public MetaAction
1541 {
1542 private:
1543 
1548 
1549 public:
1553  MetaFloatTransparentAction & operator =(MetaFloatTransparentAction const &) = delete; // due to MetaAction
1554  MetaFloatTransparentAction & operator =(MetaFloatTransparentAction &&) = delete; // due to MetaAction
1555 private:
1556  virtual ~MetaFloatTransparentAction() override;
1557 public:
1558  virtual void Execute( OutputDevice* pOut ) override;
1559  virtual rtl::Reference<MetaAction> Clone() override;
1560  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1561  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1562 
1563  MetaFloatTransparentAction( const GDIMetaFile& rMtf, const Point& rPos,
1564  const Size& rSize, const Gradient& rGradient );
1565 
1566  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1567  virtual void Scale( double fScaleX, double fScaleY ) override;
1568 
1569  const GDIMetaFile& GetGDIMetaFile() const { return maMtf; }
1570  const Point& GetPoint() const { return maPoint; }
1571  const Size& GetSize() const { return maSize; }
1572  const Gradient& GetGradient() const { return maGradient; }
1573  bool IsTransparent() const override { return true; }
1574 };
1575 
1577 {
1578 private:
1579 
1584 
1585 public:
1586  MetaEPSAction();
1587  MetaEPSAction(MetaEPSAction const &) = default;
1588  MetaEPSAction(MetaEPSAction &&) = default;
1589  MetaEPSAction & operator =(MetaEPSAction const &) = delete; // due to MetaAction
1590  MetaEPSAction & operator =(MetaEPSAction &&) = delete; // due to MetaAction
1591 private:
1592  virtual ~MetaEPSAction() override;
1593 public:
1594  virtual void Execute( OutputDevice* pOut ) override;
1595  virtual rtl::Reference<MetaAction> Clone() override;
1596  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1597  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1598 
1599  MetaEPSAction( const Point& rPoint, const Size& rSize,
1600  const GfxLink& rGfxLink, const GDIMetaFile& rSubst );
1601 
1602  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1603  virtual void Scale( double fScaleX, double fScaleY ) override;
1604 
1605  const GfxLink& GetLink() const { return maGfxLink; }
1606  const GDIMetaFile& GetSubstitute() const { return maSubst; }
1607  const Point& GetPoint() const { return maPoint; }
1608  const Size& GetSize() const { return maSize; }
1609 };
1610 
1611 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaRefPointAction final : public MetaAction
1612 {
1613 private:
1614 
1615  Point maRefPoint;
1616  bool mbSet;
1617 
1618 public:
1619  MetaRefPointAction();
1620  MetaRefPointAction(MetaRefPointAction const &) = default;
1621  MetaRefPointAction(MetaRefPointAction &&) = default;
1622  MetaRefPointAction & operator =(MetaRefPointAction const &) = delete; // due to MetaAction
1623  MetaRefPointAction & operator =(MetaRefPointAction &&) = delete; // due to MetaAction
1624 private:
1625  virtual ~MetaRefPointAction() override;
1626 public:
1627  virtual void Execute( OutputDevice* pOut ) override;
1628  virtual rtl::Reference<MetaAction> Clone() override;
1629  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1630  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1631 
1632  MetaRefPointAction( const Point& rRefPoint, bool bSet );
1633 
1634  const Point& GetRefPoint() const { return maRefPoint; }
1635  bool IsSetting() const { return mbSet; }
1636 };
1637 
1639 {
1640 private:
1641 
1642  OString maComment;
1643  sal_Int32 mnValue;
1644  sal_uInt32 mnDataSize;
1645  std::unique_ptr<sal_uInt8[]>
1647 
1648  SAL_DLLPRIVATE void ImplInitDynamicData( const sal_uInt8* pData, sal_uInt32 nDataSize );
1649 
1650 private:
1651  virtual ~MetaCommentAction() override;
1652 
1653 public:
1654  explicit MetaCommentAction();
1655  explicit MetaCommentAction( const MetaCommentAction& rAct );
1656  explicit MetaCommentAction( const OString& rComment, sal_Int32 nValue = 0, const sal_uInt8* pData = nullptr, sal_uInt32 nDataSize = 0 );
1657 
1658  virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1659  virtual void Scale( double fScaleX, double fScaleY ) override;
1660 
1661  virtual void Execute( OutputDevice* pOut ) override;
1662  virtual rtl::Reference<MetaAction> Clone() override;
1663  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1664  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1665 
1666  const OString& GetComment() const { return maComment; }
1667  sal_Int32 GetValue() const { return mnValue; }
1668  sal_uInt32 GetDataSize() const { return mnDataSize; }
1669  const sal_uInt8* GetData() const { return mpData.get(); }
1670 };
1671 
1672 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaLayoutModeAction final : public MetaAction
1673 {
1674 private:
1675 
1676  ComplexTextLayoutFlags mnLayoutMode;
1677 
1678 public:
1679  MetaLayoutModeAction();
1680  MetaLayoutModeAction(MetaLayoutModeAction const &) = default;
1681  MetaLayoutModeAction(MetaLayoutModeAction &&) = default;
1682  MetaLayoutModeAction & operator =(MetaLayoutModeAction const &) = delete; // due to MetaAction
1683  MetaLayoutModeAction & operator =(MetaLayoutModeAction &&) = delete; // due to MetaAction
1684 private:
1685  virtual ~MetaLayoutModeAction() override;
1686 public:
1687  virtual void Execute( OutputDevice* pOut ) override;
1688  virtual rtl::Reference<MetaAction> Clone() override;
1689  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1690  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1691 
1692  explicit MetaLayoutModeAction( ComplexTextLayoutFlags nLayoutMode );
1693 
1694  ComplexTextLayoutFlags GetLayoutMode() const { return mnLayoutMode; }
1695 };
1696 
1697 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaTextLanguageAction final : public MetaAction
1698 {
1699 private:
1700 
1701  LanguageType meTextLanguage;
1702 
1703 public:
1704  MetaTextLanguageAction();
1705  MetaTextLanguageAction(MetaTextLanguageAction const &) = default;
1706  MetaTextLanguageAction(MetaTextLanguageAction &&) = default;
1707  MetaTextLanguageAction & operator =(MetaTextLanguageAction const &) = delete; // due to MetaAction
1708  MetaTextLanguageAction & operator =(MetaTextLanguageAction &&) = delete; // due to MetaAction
1709 private:
1710  virtual ~MetaTextLanguageAction() override;
1711 public:
1712  virtual void Execute( OutputDevice* pOut ) override;
1713  virtual rtl::Reference<MetaAction> Clone() override;
1714  virtual void Write( SvStream& rOStm, ImplMetaWriteData* pData ) override;
1715  virtual void Read( SvStream& rIStm, ImplMetaReadData* pData ) override;
1716 
1717  explicit MetaTextLanguageAction( LanguageType );
1718 
1719  LanguageType GetTextLanguage() const { return meTextLanguage; }
1720 };
1721 
1722 #endif // INCLUDED_VCL_METAACT_HXX
1723 
1724 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
const Gradient & GetGradient() const
Definition: metaact.hxx:1572
MetaActionType mnType
Definition: metaact.hxx:68
virtual void Execute(OutputDevice *pOut)
Definition: metaact.cxx:168
const LineInfo & GetLineInfo() const
Definition: metaact.hxx:190
GfxLink maGfxLink
Definition: metaact.hxx:1580
DrawTextFlags GetStyle() const
Definition: metaact.hxx:608
const Size & GetDestSize() const
Definition: metaact.hxx:960
Definition: hatch.hxx:46
bool IsTransparent() const override
#i10613# Extracted from Printer::GetPreparedMetaFile.
Definition: metaact.hxx:1573
GDIMetaFile maSubst
Definition: metaact.hxx:1581
sal_Int32 GetValue() const
Definition: metaact.hxx:1667
const Bitmap & GetBitmap() const
Definition: metaact.hxx:918
sal_Int32 GetLen() const
Definition: metaact.hxx:500
const Point & GetPoint() const
Definition: metaact.hxx:708
rtl_TextEncoding meActualCharSet
Definition: metaact.hxx:47
Bitmap maBmp
Definition: metaact.hxx:858
const GDIMetaFile & GetGDIMetaFile() const
Definition: metaact.hxx:1569
#define VCL_DLLPUBLIC
Definition: dllapi.h:29
OUString maStr
Definition: metaact.hxx:473
long Long
const Point & GetPoint() const
Definition: metaact.hxx:1607
virtual bool IsTransparent() const
#i10613# Extracted from Printer::GetPreparedMetaFile.
Definition: metaact.hxx:94
sal_Int32 mnIndex
Definition: metaact.hxx:474
tools::Long GetLen(const Point &rPnt)
const Point & GetPoint() const
Definition: metaact.hxx:1570
DrawTextFlags mnStyle
Definition: metaact.hxx:584
const Size & GetSize() const
Definition: metaact.hxx:709
const tools::PolyPolygon & GetPolyPolygon() const
Definition: metaact.hxx:1534
const Point & GetEndPoint() const
Definition: metaact.hxx:189
basegfx::BColor maColor
const OUString & GetText() const
Definition: metaact.hxx:572
const Point & GetPoint() const
Definition: metaact.hxx:920
const sal_uInt8 * GetData() const
Definition: metaact.hxx:1669
FuncFlags mnFlags
const Point & GetPoint() const
Definition: metaact.hxx:810
const OUString & GetText() const
Definition: metaact.hxx:498
const Color & GetColor() const
Definition: metaact.hxx:884
RasterOp
Definition: vclenum.hxx:194
const Bitmap & GetBitmap() const
Definition: metaact.hxx:675
oslInterlockedCount GetRefCount() const
Definition: metaact.hxx:80
const Gradient & GetGradient() const
Definition: metaact.hxx:992
const Color & GetColor() const
Definition: metaact.hxx:1224
PushFlags
Definition: outdevstate.hxx:38
MetaActionType
tools::PolyPolygon maPolyPoly
Definition: metaact.hxx:1512
const Size & GetSize() const
Definition: metaact.hxx:811
bool IsTransparent() const override
#i10613# Extracted from Printer::GetPreparedMetaFile.
Definition: metaact.hxx:812
FontLineStyle GetUnderline() const
Definition: metaact.hxx:645
tools::Rectangle maRect
Definition: metaact.hxx:582
Gradient maGradient
Definition: metaact.hxx:970
const Size & GetSrcSize() const
Definition: metaact.hxx:962
bool IsTransparent() const override
#i10613# Extracted from Printer::GetPreparedMetaFile.
Definition: metaact.hxx:778
FontStrikeout meStrikeout
Definition: metaact.hxx:617
sal_uInt32 mnDataSize
Definition: metaact.hxx:1644
bool IsTransparent() const override
#i10613# Extracted from Printer::GetPreparedMetaFile.
Definition: metaact.hxx:1537
const tools::Rectangle & GetRect() const
Definition: metaact.hxx:218
FontLineStyle meOverline
Definition: metaact.hxx:619
Bitmap maBmp
Definition: metaact.hxx:653
std::unique_ptr< sal_uInt8[]> mpData
Definition: metaact.hxx:1646
sal_Int32 mnValue
Definition: metaact.hxx:1643
tools::Long GetWidth() const
Definition: metaact.hxx:643
Reference< XAnimationNode > Clone(const Reference< XAnimationNode > &xSourceNode, const SdPage *pSource, const SdPage *pTarget)
sal_Int32 mnLen
Definition: metaact.hxx:475
sal_uInt16 GetTransparence() const
Definition: metaact.hxx:1535
virtual void Scale(double fScaleX, double fScaleY)
Definition: metaact.cxx:181
Point maStartPt
Definition: metaact.hxx:164
const Size & GetSize() const
Definition: metaact.hxx:921
const Point & GetPoint() const
Definition: metaact.hxx:497
bool IsSetting() const
Definition: metaact.hxx:1225
ComplexTextLayoutFlags
Definition: outdevstate.hxx:66
const BitmapEx & GetBitmapEx() const
Definition: metaact.hxx:776
virtual rtl::Reference< MetaAction > Clone()
Definition: metaact.cxx:172
const tools::Rectangle & GetRect() const
Definition: metaact.hxx:991
const Size & GetSize() const
Definition: metaact.hxx:1571
sal_uInt32 GetWidth() const
Definition: metaact.hxx:573
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
Definition: outdev.hxx:303
rtl_TextEncoding meActualCharSet
Definition: metaact.hxx:58
const OUString & GetText() const
Definition: metaact.hxx:607
sal_Int32 GetLen() const
Definition: metaact.hxx:575
const Point & GetPoint() const
Definition: metaact.hxx:777
const Bitmap & GetBitmap() const
Definition: metaact.hxx:883
DrawTextFlags
Definition: outdev.hxx:143
virtual void Move(tools::Long nHorzMove, tools::Long nVertMove)
Definition: metaact.cxx:177
const Bitmap & GetBitmap() const
Definition: metaact.hxx:957
const Point & GetPoint() const
Definition: metaact.hxx:885
FontStrikeout GetStrikeout() const
Definition: metaact.hxx:644
void operator=(SimpleReferenceObject) SAL_DELETED_FUNCTION
const Size & GetSize() const
Definition: metaact.hxx:1608
TextAlign
virtual void Read(SvStream &rIStm, ImplMetaReadData *pData)
Definition: metaact.cxx:190
const Bitmap & GetBitmap() const
Definition: metaact.hxx:707
const tools::PolyPolygon & GetPolyPolygon() const
Definition: metaact.hxx:1051
const GfxLink & GetLink() const
Definition: metaact.hxx:1605
const Point & GetPoint() const
Definition: metaact.hxx:571
bool IsSetting() const
Definition: metaact.hxx:1252
tools::Rectangle maRect
Definition: metaact.hxx:197
const Color & GetColor() const
Definition: metaact.hxx:919
const Point & GetStartPoint() const
Definition: metaact.hxx:188
sal_uInt32 GetDataSize() const
Definition: metaact.hxx:1668
const BitmapEx & GetBitmapEx() const
Definition: metaact.hxx:809
BitmapEx maBmpEx
Definition: metaact.hxx:754
const Color & GetColor() const
Definition: metaact.hxx:958
unsigned char sal_uInt8
const Point & GetStartPoint() const
Definition: metaact.hxx:642
LineInfo maLineInfo
Definition: metaact.hxx:163
const Point & GetPoint() const
Definition: metaact.hxx:156
tools::PolyPolygon maPolyPoly
Definition: metaact.hxx:1029
const Point & GetPoint() const
Definition: metaact.hxx:676
const Point & GetDestPoint() const
Definition: metaact.hxx:959
oslInterlockedCount m_nCount
tools::Rectangle maRect
Definition: metaact.hxx:969
MetaActionType GetType() const
Definition: metaact.hxx:90
const Hatch & GetHatch() const
Definition: metaact.hxx:1052
const Point & GetSrcPoint() const
Definition: metaact.hxx:961
FontLineStyle GetOverline() const
Definition: metaact.hxx:646
sal_uInt16 mnTransPercent
Definition: metaact.hxx:1513
sal_uInt32 mnWidth
Definition: metaact.hxx:546
const OString & GetComment() const
Definition: metaact.hxx:1666
int mnIndex
const Color & GetColor() const
Definition: metaact.hxx:1251
FontLineStyle
virtual void Write(SvStream &rOStm, ImplMetaWriteData *pData)
Definition: metaact.cxx:185
const GDIMetaFile & GetSubstitute() const
Definition: metaact.hxx:1606
const tools::Rectangle & GetRect() const
Definition: metaact.hxx:606
FontLineStyle meUnderline
Definition: metaact.hxx:618
sal_Int32 GetIndex() const
Definition: metaact.hxx:574
FontStrikeout
sal_Int32 GetIndex() const
Definition: metaact.hxx:499
tools::Long mnWidth
Definition: metaact.hxx:616