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