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