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/kernarray.hxx>
41#include <vcl/lineinfo.hxx>
43#include <vcl/region.hxx>
45#include <vcl/wall.hxx>
46
47#include <memory>
48
49class OutputDevice;
50class SvStream;
51enum class DrawTextFlags;
52
54{
55 rtl_TextEncoding meActualCharSet;
57
59 : meActualCharSet(RTL_TEXTENCODING_ASCII_US)
60 , mnParseDepth(0)
61 {}
62};
63
65{
66 rtl_TextEncoding meActualCharSet;
67
69 meActualCharSet( RTL_TEXTENCODING_ASCII_US )
70 {}
71};
72
74{
75private:
77
78protected:
79 virtual ~MetaAction() override;
80
81public:
82 MetaAction();
83 explicit MetaAction( MetaActionType nType );
84 MetaAction( MetaAction const & );
85
86 virtual void Execute( OutputDevice* pOut );
87
88 oslInterlockedCount GetRefCount() const { return m_nCount; }
89
90 virtual rtl::Reference<MetaAction> Clone() const;
91
92 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove );
93 virtual void Scale( double fScaleX, double fScaleY );
94
95 MetaActionType GetType() const { return mnType; }
99 virtual bool IsTransparent() const { return false; }
100};
101
103{
104private:
107
108public:
112 MetaPixelAction & operator =(MetaPixelAction const &) = delete; // due to MetaAction
113 MetaPixelAction & operator =(MetaPixelAction &&) = delete; // due to MetaAction
114private:
115 virtual ~MetaPixelAction() override;
116public:
117 virtual void Execute( OutputDevice* pOut ) override;
118 virtual rtl::Reference<MetaAction> Clone() const override;
119
120 MetaPixelAction( const Point& rPt, const Color& rColor );
121
122 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
123 virtual void Scale( double fScaleX, double fScaleY ) override;
124
125 const Point& GetPoint() const { return maPt; }
126 const Color& GetColor() const { return maColor; }
127 void SetPoint(const Point& rPt) { maPt = rPt; }
128 void SetColor(Color rColor) { maColor = rColor; }
129};
130
132{
133private:
135
136public:
140 MetaPointAction & operator =(MetaPointAction const &) = delete; // due to MetaAction
141 MetaPointAction & operator =(MetaPointAction &&) = delete; // due to MetaAction
142private:
143 virtual ~MetaPointAction() override;
144public:
145 virtual void Execute( OutputDevice* pOut ) override;
146 virtual rtl::Reference<MetaAction> Clone() const override;
147
148 explicit MetaPointAction( const Point& );
149
150 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
151 virtual void Scale( double fScaleX, double fScaleY ) override;
152
153 const Point& GetPoint() const { return maPt; }
154 void SetPoint(const Point& rPt) { maPt = rPt; }
155};
156
158{
159private:
160
164
165public:
167 MetaLineAction(MetaLineAction const &) = default;
169 MetaLineAction & operator =(MetaLineAction const &) = delete; // due to MetaAction
170 MetaLineAction & operator =(MetaLineAction &&) = delete; // due to MetaAction
171private:
172 virtual ~MetaLineAction() override;
173public:
174 virtual void Execute( OutputDevice* pOut ) override;
175 virtual rtl::Reference<MetaAction> Clone() const override;
176
177 MetaLineAction( const Point& rStart, const Point& rEnd );
178 MetaLineAction( const Point& rStart, const Point& rEnd,
179 LineInfo aLineInfo );
180
181 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
182 virtual void Scale( double fScaleX, double fScaleY ) override;
183
184 const Point& GetStartPoint() const { return maStartPt; }
185 const Point& GetEndPoint() const { return maEndPt; }
186 const LineInfo& GetLineInfo() const { return maLineInfo; }
187 void SetStartPoint(const Point& rPoint) { maStartPt = rPoint; }
188 void SetEndPoint(const Point& rPoint) { maEndPt = rPoint; }
189 void SetLineInfo(const LineInfo& rLineInfo) { maLineInfo = rLineInfo; }
190};
191
193{
194private:
195
197
198public:
200 MetaRectAction(MetaRectAction const &) = default;
202 MetaRectAction & operator =(MetaRectAction const &) = delete; // due to MetaAction
203 MetaRectAction & operator =(MetaRectAction &&) = delete; // due to MetaAction
204private:
205 virtual ~MetaRectAction() override;
206public:
207 virtual void Execute( OutputDevice* pOut ) override;
208 virtual rtl::Reference<MetaAction> Clone() const override;
209
210 explicit MetaRectAction( const tools::Rectangle& );
211
212 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
213 virtual void Scale( double fScaleX, double fScaleY ) override;
214
215 const tools::Rectangle& GetRect() const { return maRect; }
216 void SetRect(const tools::Rectangle& rRect) { maRect = rRect; }
217};
218
220{
221private:
222
224 sal_uInt32 mnHorzRound;
225 sal_uInt32 mnVertRound;
226
227public:
231 MetaRoundRectAction & operator =(MetaRoundRectAction const &) = delete; // due to MetaAction
232 MetaRoundRectAction & operator =(MetaRoundRectAction &&) = delete; // due to MetaAction
233private:
234 virtual ~MetaRoundRectAction() override;
235public:
236 virtual void Execute( OutputDevice* pOut ) override;
237 virtual rtl::Reference<MetaAction> Clone() const override;
238
240 sal_uInt32 nHorzRound, sal_uInt32 nVertRound );
241
242 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
243 virtual void Scale( double fScaleX, double fScaleY ) override;
244
245 const tools::Rectangle& GetRect() const { return maRect; }
246 sal_uInt32 GetHorzRound() const { return mnHorzRound; }
247 sal_uInt32 GetVertRound() const { return mnVertRound; }
248 void SetRect(const tools::Rectangle& rRect) { maRect = rRect; }
249 void SetHorzRound(sal_uInt32 rHorzRound) { mnHorzRound = rHorzRound; }
250 void SetVertRound(sal_uInt32 rVertRound) { mnVertRound = rVertRound; }
251};
252
254{
255private:
256
258
259public:
263 MetaEllipseAction & operator =(MetaEllipseAction const &) = delete; // due to MetaAction
264 MetaEllipseAction & operator =(MetaEllipseAction &&) = delete; // due to MetaAction
265private:
266 virtual ~MetaEllipseAction() override;
267public:
268 virtual void Execute( OutputDevice* pOut ) override;
269 virtual rtl::Reference<MetaAction> Clone() const override;
270
271 explicit MetaEllipseAction( const tools::Rectangle& );
272
273 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
274 virtual void Scale( double fScaleX, double fScaleY ) override;
275
276 const tools::Rectangle& GetRect() const { return maRect; }
277 void SetRect(const tools::Rectangle& rRect) { maRect = rRect; }
278};
279
281{
282private:
283
287
288public:
290 MetaArcAction(MetaArcAction const &) = default;
292 MetaArcAction & operator =(MetaArcAction const &) = delete; // due to MetaAction
293 MetaArcAction & operator =(MetaArcAction &&) = delete; // due to MetaAction
294private:
295 virtual ~MetaArcAction() override;
296public:
297 virtual void Execute( OutputDevice* pOut ) override;
298 virtual rtl::Reference<MetaAction> Clone() const override;
299
300 MetaArcAction( const tools::Rectangle& rRect,
301 const Point& rStart, const Point& rEnd );
302
303 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
304 virtual void Scale( double fScaleX, double fScaleY ) override;
305
306 const tools::Rectangle& GetRect() const { return maRect; }
307 const Point& GetStartPoint() const { return maStartPt; }
308 const Point& GetEndPoint() const { return maEndPt; }
309 void SetRect(const tools::Rectangle& rRect) { maRect = rRect; }
310 void SetStartPoint(const Point& rPoint) { maStartPt = rPoint; }
311 void SetEndPoint(const Point& rPoint) { maEndPt = rPoint; }
312};
313
315{
316private:
317
321
322public:
324 MetaPieAction(MetaPieAction const &) = default;
326 MetaPieAction & operator =(MetaPieAction const &) = delete; // due to MetaAction
327 MetaPieAction & operator =(MetaPieAction &&) = delete; // due to MetaAction
328private:
329 virtual ~MetaPieAction() override;
330public:
331 virtual void Execute( OutputDevice* pOut ) override;
332 virtual rtl::Reference<MetaAction> Clone() const override;
333
334 MetaPieAction( const tools::Rectangle& rRect,
335 const Point& rStart, const Point& rEnd );
336
337 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
338 virtual void Scale( double fScaleX, double fScaleY ) override;
339
340 const tools::Rectangle& GetRect() const { return maRect; }
341 const Point& GetStartPoint() const { return maStartPt; }
342 const Point& GetEndPoint() const { return maEndPt; }
343 void SetRect(const tools::Rectangle& rRect) { maRect = rRect; }
344 void SetStartPoint(const Point& rPoint) { maStartPt = rPoint; }
345 void SetEndPoint(const Point& rPoint) { maEndPt = rPoint; }
346};
347
349{
350private:
351
355
356public:
360 MetaChordAction & operator =(MetaChordAction const &) = delete; // due to MetaAction
361 MetaChordAction & operator =(MetaChordAction &&) = delete; // due to MetaAction
362private:
363 virtual ~MetaChordAction() override;
364public:
365 virtual void Execute( OutputDevice* pOut ) override;
366 virtual rtl::Reference<MetaAction> Clone() const override;
367
368 MetaChordAction( const tools::Rectangle& rRect,
369 const Point& rStart, const Point& rEnd );
370
371 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
372 virtual void Scale( double fScaleX, double fScaleY ) override;
373
374 const tools::Rectangle& GetRect() const { return maRect; }
375 const Point& GetStartPoint() const { return maStartPt; }
376 const Point& GetEndPoint() const { return maEndPt; }
377 void SetRect(const tools::Rectangle& rRect) { maRect = rRect; }
378 void SetStartPoint(const Point& rPoint) { maStartPt = rPoint; }
379 void SetEndPoint(const Point& rPoint) { maEndPt = rPoint; }
380};
381
383{
384private:
385
388
389public:
393 MetaPolyLineAction & operator =(MetaPolyLineAction const &) = delete; // due to MetaAction
394 MetaPolyLineAction & operator =(MetaPolyLineAction &&) = delete; // due to MetaAction
395private:
396 virtual ~MetaPolyLineAction() override;
397public:
398 virtual void Execute( OutputDevice* pOut ) override;
399 virtual rtl::Reference<MetaAction> Clone() const override;
400
403
404 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
405 virtual void Scale( double fScaleX, double fScaleY ) override;
406
407 const tools::Polygon& GetPolygon() const { return maPoly; }
408 const LineInfo& GetLineInfo() const { return maLineInfo; }
409 void SetLineInfo(const LineInfo& rLineInfo) { maLineInfo = rLineInfo; }
410 void SetPolygon(const tools::Polygon& rPoly) { maPoly = rPoly; }
411};
412
414{
415private:
416
418
419public:
423 MetaPolygonAction & operator =(MetaPolygonAction const &) = delete; // due to MetaAction
424 MetaPolygonAction & operator =(MetaPolygonAction &&) = delete; // due to MetaAction
425private:
426 virtual ~MetaPolygonAction() override;
427public:
428 virtual void Execute( OutputDevice* pOut ) override;
429 virtual rtl::Reference<MetaAction> Clone() const override;
430
432
433 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
434 virtual void Scale( double fScaleX, double fScaleY ) override;
435
436 const tools::Polygon& GetPolygon() const { return maPoly; }
437 void SetPolygon(const tools::Polygon& rPoly) { maPoly = rPoly; }
438};
439
441{
442private:
443
445
446public:
450 MetaPolyPolygonAction & operator =(MetaPolyPolygonAction const &) = delete; // due to MetaAction
451 MetaPolyPolygonAction & operator =(MetaPolyPolygonAction &&) = delete; // due to MetaAction
452private:
453 virtual ~MetaPolyPolygonAction() override;
454public:
455 virtual void Execute( OutputDevice* pOut ) override;
456 virtual rtl::Reference<MetaAction> Clone() const override;
457
459
460 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
461 virtual void Scale( double fScaleX, double fScaleY ) override;
462
463 const tools::PolyPolygon& GetPolyPolygon() const { return maPolyPoly; }
464 void SetPolyPolygon(const tools::PolyPolygon& rPolyPoly) { maPolyPoly = rPolyPoly; }
465};
466
467class SAL_DLLPUBLIC_RTTI MetaTextAction final : public MetaAction
468{
469private:
470
472 OUString maStr;
473 sal_Int32 mnIndex;
474 sal_Int32 mnLen;
475
476public:
478 MetaTextAction(MetaTextAction const &) = default;
480 MetaTextAction & operator =(MetaTextAction const &) = delete; // due to MetaAction
481 MetaTextAction & operator =(MetaTextAction &&) = delete; // due to MetaAction
482private:
483 virtual ~MetaTextAction() override;
484public:
485 virtual void Execute( OutputDevice* pOut ) override;
486 virtual rtl::Reference<MetaAction> Clone() const override;
487
488 MetaTextAction( const Point& rPt, OUString aStr,
489 sal_Int32 nIndex, sal_Int32 nLen );
490
491 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
492 virtual void Scale( double fScaleX, double fScaleY ) override;
493
494 const Point& GetPoint() const { return maPt; }
495 const OUString& GetText() const { return maStr; }
496 sal_Int32 GetIndex() const { return mnIndex; }
497 sal_Int32 GetLen() const { return mnLen; }
498 void SetPoint(const Point& rPt) { maPt = rPt; }
499 void SetText(const OUString& rStr) { maStr = rStr; }
500 void SetIndex(sal_Int32 rIndex) { mnIndex = rIndex; }
501 void SetLen(sal_Int32 rLen) { mnLen = rLen; }
502};
503
505{
506private:
507
509 OUString maStr;
511 std::vector<sal_Bool> maKashidaAry;
512 sal_Int32 mnIndex;
513 sal_Int32 mnLen;
514
515 virtual ~MetaTextArrayAction() override;
516
517public:
520 MetaTextArrayAction( const Point& rStartPt, OUString aStr,
521 KernArray rDXAry,
522 std::vector<sal_Bool> pKashidaAry,
523 sal_Int32 nIndex,
524 sal_Int32 nLen );
525 MetaTextArrayAction( const Point& rStartPt, OUString aStr,
526 KernArraySpan pDXAry,
527 o3tl::span<const sal_Bool> pKashidaAry,
528 sal_Int32 nIndex,
529 sal_Int32 nLen );
530
531 virtual void Execute( OutputDevice* pOut ) override;
532
533 virtual rtl::Reference<MetaAction> Clone() const override;
534
535 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
536 virtual void Scale( double fScaleX, double fScaleY ) override;
537
538 const Point& GetPoint() const { return maStartPt; }
539 const OUString& GetText() const { return maStr; }
540 sal_Int32 GetIndex() const { return mnIndex; }
541 sal_Int32 GetLen() const { return mnLen; }
542 const KernArray& GetDXArray() const { return maDXAry; }
543 const std::vector<sal_Bool> & GetKashidaArray() const { return maKashidaAry; }
544 void SetPoint(const Point& rPt) { maStartPt = rPt; }
545 void SetText(const OUString& rStr) { maStr = rStr; }
546 void SetIndex(sal_Int32 rIndex) { mnIndex = rIndex; }
547 void SetLen(sal_Int32 rLen) { mnLen = rLen; }
548 void SetDXArray(KernArray aArray);
549 void SetKashidaArray(std::vector<sal_Bool> aArray);
550};
551
552class SAL_DLLPUBLIC_RTTI MetaStretchTextAction final : public MetaAction
553{
554private:
555
557 OUString maStr;
558 sal_uInt32 mnWidth;
559 sal_Int32 mnIndex;
560 sal_Int32 mnLen;
561
562public:
566 MetaStretchTextAction & operator =(MetaStretchTextAction const &) = delete; // due to MetaAction
567 MetaStretchTextAction & operator =(MetaStretchTextAction &&) = delete; // due to MetaAction
568private:
569 virtual ~MetaStretchTextAction() override;
570public:
571 virtual void Execute( OutputDevice* pOut ) override;
572 virtual rtl::Reference<MetaAction> Clone() const override;
573
574 MetaStretchTextAction( const Point& rPt, sal_uInt32 nWidth,
575 OUString aStr,
576 sal_Int32 nIndex, sal_Int32 nLen );
577
578 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
579 virtual void Scale( double fScaleX, double fScaleY ) override;
580
581 const Point& GetPoint() const { return maPt; }
582 const OUString& GetText() const { return maStr; }
583 sal_uInt32 GetWidth() const { return mnWidth; }
584 sal_Int32 GetIndex() const { return mnIndex; }
585 sal_Int32 GetLen() const { return mnLen; }
586 void SetPoint(const Point& rPt) { maPt = rPt; }
587 void SetText(const OUString& rStr) { maStr = rStr; }
588 void SetWidth(sal_uInt32 rWidth) { mnWidth = rWidth; }
589 void SetIndex(sal_uInt32 rIndex) { mnIndex = rIndex; }
590 void SetLen(sal_uInt32 rLen) { mnLen = rLen; }
591};
592
593class SAL_DLLPUBLIC_RTTI MetaTextRectAction final : public MetaAction
594{
595private:
596
598 OUString maStr;
600
601public:
605 MetaTextRectAction & operator =(MetaTextRectAction const &) = delete; // due to MetaAction
606 MetaTextRectAction & operator =(MetaTextRectAction &&) = delete; // due to MetaAction
607private:
608 virtual ~MetaTextRectAction() override;
609public:
610 virtual void Execute( OutputDevice* pOut ) override;
611 virtual rtl::Reference<MetaAction> Clone() const override;
612
614 OUString aStr, DrawTextFlags nStyle );
615
616 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
617 virtual void Scale( double fScaleX, double fScaleY ) override;
618
619 const tools::Rectangle& GetRect() const { return maRect; }
620 const OUString& GetText() const { return maStr; }
621 DrawTextFlags GetStyle() const { return mnStyle; }
622 void SetRect(const tools::Rectangle& rRect) { maRect = rRect; }
623 void SetText(const OUString& rStr) { maStr = rStr; }
624 void SetStyle(DrawTextFlags rStyle) { mnStyle = rStyle; }
625};
626
627class SAL_DLLPUBLIC_RTTI MetaTextLineAction final : public MetaAction
628{
629private:
630
636
637public:
641 MetaTextLineAction & operator =(MetaTextLineAction const &) = delete; // due to MetaAction
642 MetaTextLineAction & operator =(MetaTextLineAction &&) = delete; // due to MetaAction
643private:
644 virtual ~MetaTextLineAction() override;
645public:
646 virtual void Execute( OutputDevice* pOut ) override;
647 virtual rtl::Reference<MetaAction> Clone() const override;
648
649 MetaTextLineAction( const Point& rPos, tools::Long nWidth,
650 FontStrikeout eStrikeout,
651 FontLineStyle eUnderline,
652 FontLineStyle eOverline );
653 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
654 virtual void Scale( double fScaleX, double fScaleY ) override;
655
656 const Point& GetStartPoint() const { return maPos; }
657 tools::Long GetWidth() const { return mnWidth; }
658 FontStrikeout GetStrikeout() const { return meStrikeout; }
659 FontLineStyle GetUnderline() const { return meUnderline; }
660 FontLineStyle GetOverline() const { return meOverline; }
661 void SetStartPoint(const Point& rPos) { maPos = rPos; }
662 void SetWidth(tools::Long rWidth) { mnWidth = rWidth; }
663 void SetStrikeout(FontStrikeout eStrikeout) { meStrikeout = eStrikeout; }
664 void SetUnderline(FontLineStyle eUnderline) { meUnderline = eUnderline; }
665 void SetOverline(FontLineStyle eOverline) { meOverline = eOverline; }
666};
667
669{
670private:
671
674
675public:
677 MetaBmpAction(MetaBmpAction const &) = default;
679 MetaBmpAction & operator =(MetaBmpAction const &) = delete; // due to MetaAction
680 MetaBmpAction & operator =(MetaBmpAction &&) = delete; // due to MetaAction
681private:
682 virtual ~MetaBmpAction() override;
683public:
684 virtual void Execute( OutputDevice* pOut ) override;
685 virtual rtl::Reference<MetaAction> Clone() const override;
686
687 MetaBmpAction( const Point& rPt, const Bitmap& rBmp );
688
689 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
690 virtual void Scale( double fScaleX, double fScaleY ) override;
691
692 const Bitmap& GetBitmap() const { return maBmp; }
693 const Point& GetPoint() const { return maPt; }
694 void SetBitmap(const Bitmap& rBmp) { maBmp = rBmp; }
695 void SetPoint(const Point& rPt) { maPt = rPt; }
696};
697
699{
700private:
701
705
706public:
710 MetaBmpScaleAction & operator =(MetaBmpScaleAction const &) = delete; // due to MetaAction
711 MetaBmpScaleAction & operator =(MetaBmpScaleAction &&) = delete; // due to MetaAction
712private:
713 virtual ~MetaBmpScaleAction() override;
714public:
715 virtual void Execute( OutputDevice* pOut ) override;
716 virtual rtl::Reference<MetaAction> Clone() const override;
717
718 MetaBmpScaleAction( const Point& rPt, const Size& rSz,
719 const Bitmap& rBmp );
720
721 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
722 virtual void Scale( double fScaleX, double fScaleY ) override;
723
724 const Bitmap& GetBitmap() const { return maBmp; }
725 const Point& GetPoint() const { return maPt; }
726 const Size& GetSize() const { return maSz; }
727 void SetBitmap(const Bitmap& rBmp) { maBmp = rBmp; }
728 void SetPoint(const Point& rPt) { maPt = rPt; }
729 void SetSize(const Size& rSz) { maSz = rSz; }
730};
731
733{
734private:
735
741
742public:
746 MetaBmpScalePartAction & operator =(MetaBmpScalePartAction const &) = delete; // due to MetaAction
747 MetaBmpScalePartAction & operator =(MetaBmpScalePartAction &&) = delete; // due to MetaAction
748private:
749 virtual ~MetaBmpScalePartAction() override;
750public:
751 virtual void Execute( OutputDevice* pOut ) override;
752 virtual rtl::Reference<MetaAction> Clone() const override;
753
754 MetaBmpScalePartAction( const Point& rDstPt, const Size& rDstSz,
755 const Point& rSrcPt, const Size& rSrcSz,
756 const Bitmap& rBmp );
757
758 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
759 virtual void Scale( double fScaleX, double fScaleY ) override;
760
761 const Bitmap& GetBitmap() const { return maBmp; }
762 const Point& GetDestPoint() const { return maDstPt; }
763 const Size& GetDestSize() const { return maDstSz; }
764 const Point& GetSrcPoint() const { return maSrcPt; }
765 const Size& GetSrcSize() const { return maSrcSz; }
766 void SetBitmap(const Bitmap& rBmp) { maBmp = rBmp; }
767 void SetDestPoint(const Point& rPt) { maDstPt = rPt; }
768 void SetDestSize(const Size& rSz) { maDstSz = rSz; }
769 void SetSrcPoint(const Point& rPt) { maSrcPt = rPt; }
770 void SetSrcSize(const Size& rSz) { maSrcSz = rSz; }
771};
772
774{
775private:
776
779
780public:
784 MetaBmpExAction & operator =(MetaBmpExAction const &) = delete; // due to MetaAction
785 MetaBmpExAction & operator =(MetaBmpExAction &&) = delete; // due to MetaAction
786private:
787 virtual ~MetaBmpExAction() override;
788public:
789 virtual void Execute( OutputDevice* pOut ) override;
790 virtual rtl::Reference<MetaAction> Clone() const override;
791
792 MetaBmpExAction( const Point& rPt, const BitmapEx& rBmpEx );
793
794 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
795 virtual void Scale( double fScaleX, double fScaleY ) override;
796
797 const BitmapEx& GetBitmapEx() const { return maBmpEx; }
798 const Point& GetPoint() const { return maPt; }
799 void SetBitmapEx(BitmapEx rBmpEx) { maBmpEx = rBmpEx; }
800 void SetPoint(const Point& rPt) { maPt = rPt; }
801 bool IsTransparent() const override { return GetBitmapEx().IsAlpha(); }
802};
803
805{
806private:
807
811
812public:
816 MetaBmpExScaleAction & operator =(MetaBmpExScaleAction const &) = delete; // due to MetaAction
817 MetaBmpExScaleAction & operator =(MetaBmpExScaleAction &&) = delete; // due to MetaAction
818private:
819 virtual ~MetaBmpExScaleAction() override;
820public:
821 virtual void Execute( OutputDevice* pOut ) override;
822 virtual rtl::Reference<MetaAction> Clone() const override;
823
824 MetaBmpExScaleAction( const Point& rPt, const Size& rSz,
825 const BitmapEx& rBmpEx ) ;
826
827 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
828 virtual void Scale( double fScaleX, double fScaleY ) override;
829
830 const BitmapEx& GetBitmapEx() const { return maBmpEx; }
831 const Point& GetPoint() const { return maPt; }
832 const Size& GetSize() const { return maSz; }
833 void SetBitmapEx(const BitmapEx& rBmpEx) { maBmpEx = rBmpEx; }
834 void SetPoint(const Point& rPt) { maPt = rPt; }
835 void SetSize(const Size& rSz) { maSz = rSz; }
836 bool IsTransparent() const override { return GetBitmapEx().IsAlpha(); }
837};
838
840{
841private:
842
848
849public:
853 MetaBmpExScalePartAction & operator =(MetaBmpExScalePartAction const &) = delete; // due to MetaAction
855private:
856 virtual ~MetaBmpExScalePartAction() override;
857public:
858 virtual void Execute( OutputDevice* pOut ) override;
859 virtual rtl::Reference<MetaAction> Clone() const override;
860
861 MetaBmpExScalePartAction( const Point& rDstPt, const Size& rDstSz,
862 const Point& rSrcPt, const Size& rSrcSz,
863 const BitmapEx& rBmpEx );
864
865 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
866 virtual void Scale( double fScaleX, double fScaleY ) override;
867
868 const BitmapEx& GetBitmapEx() const { return maBmpEx; }
869 const Point& GetDestPoint() const { return maDstPt; }
870 const Size& GetDestSize() const { return maDstSz; }
871 const Point& GetSrcPoint() const { return maSrcPt; }
872 const Size& GetSrcSize() const { return maSrcSz; }
873 void SetBitmapEx(const BitmapEx& rBmpEx) { maBmpEx = rBmpEx; }
874 void SetDestPoint(const Point& rDstPt) { maDstPt = rDstPt; }
875 void SetDestSize(const Size& rDstSz) { maDstSz = rDstSz; }
876 void SetSrcPoint(const Point& rSrcPt) { maSrcPt = rSrcPt; }
877 void SetSrcSize(const Size& rSrcSz) { maSrcSz = rSrcSz; }
878 bool IsTransparent() const override { return GetBitmapEx().IsAlpha(); }
879};
880
881class SAL_DLLPUBLIC_RTTI MetaMaskAction final : public MetaAction
882{
883private:
884
888
889public:
891 MetaMaskAction(MetaMaskAction const &) = default;
893 MetaMaskAction & operator =(MetaMaskAction const &) = delete; // due to MetaAction
894 MetaMaskAction & operator =(MetaMaskAction &&) = delete; // due to MetaAction
895private:
896 virtual ~MetaMaskAction() override;
897public:
898 virtual void Execute( OutputDevice* pOut ) override;
899 virtual rtl::Reference<MetaAction> Clone() const override;
900
901 MetaMaskAction( const Point& rPt,
902 const Bitmap& rBmp,
903 const Color& rColor );
904
905 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
906 virtual void Scale( double fScaleX, double fScaleY ) override;
907
908 const Bitmap& GetBitmap() const { return maBmp; }
909 const Color& GetColor() const { return maColor; }
910 const Point& GetPoint() const { return maPt; }
911 void SetBitmap(const Bitmap& rBmp) { maBmp = rBmp; }
912 void SetPoint(const Point& rPt) { maPt = rPt; }
913};
914
915class SAL_DLLPUBLIC_RTTI MetaMaskScaleAction final : public MetaAction
916{
917private:
918
923
924public:
928 MetaMaskScaleAction & operator =(MetaMaskScaleAction const &) = delete; // due to MetaAction
929 MetaMaskScaleAction & operator =(MetaMaskScaleAction &&) = delete; // due to MetaAction
930private:
931 virtual ~MetaMaskScaleAction() override;
932public:
933 virtual void Execute( OutputDevice* pOut ) override;
934 virtual rtl::Reference<MetaAction> Clone() const override;
935
936 MetaMaskScaleAction( const Point& rPt, const Size& rSz,
937 const Bitmap& rBmp,
938 const Color& rColor );
939
940 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
941 virtual void Scale( double fScaleX, double fScaleY ) override;
942
943 const Bitmap& GetBitmap() const { return maBmp; }
944 const Color& GetColor() const { return maColor; }
945 const Point& GetPoint() const { return maPt; }
946 const Size& GetSize() const { return maSz; }
947 void SetBitmap(const Bitmap& rBmp) { maBmp = rBmp; }
948 void SetPoint(const Point& rPt) { maPt = rPt; }
949 void SetSize(const Size& rSz) { maSz = rSz; }
950};
951
952class SAL_DLLPUBLIC_RTTI MetaMaskScalePartAction final : public MetaAction
953{
954private:
955
962
963public:
967 MetaMaskScalePartAction & operator =(MetaMaskScalePartAction const &) = delete; // due to MetaAction
968 MetaMaskScalePartAction & operator =(MetaMaskScalePartAction &&) = delete; // due to MetaAction
969private:
970 virtual ~MetaMaskScalePartAction() override;
971public:
972 virtual void Execute( OutputDevice* pOut ) override;
973 virtual rtl::Reference<MetaAction> Clone() const override;
974
975 MetaMaskScalePartAction( const Point& rDstPt, const Size& rDstSz,
976 const Point& rSrcPt, const Size& rSrcSz,
977 const Bitmap& rBmp,
978 const Color& rColor );
979
980 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
981 virtual void Scale( double fScaleX, double fScaleY ) override;
982
983 const Bitmap& GetBitmap() const { return maBmp; }
984 const Color& GetColor() const { return maColor; }
985 const Point& GetDestPoint() const { return maDstPt; }
986 const Size& GetDestSize() const { return maDstSz; }
987 const Point& GetSrcPoint() const { return maSrcPt; }
988 const Size& GetSrcSize() const { return maSrcSz; }
989 void SetBitmap(const Bitmap& rBmp) { maBmp = rBmp; }
990 void SetColor(Color rColor) { maColor = rColor; }
991 void SetDestPoint(const Point& rPt) { maDstPt = rPt; }
992 void SetDestSize(const Size& rSz) { maDstSz = rSz; }
993 void SetSrcPoint(const Point& rPt) { maSrcPt = rPt; }
994 void SetSrcSize(const Size& rSz) { maSrcSz = rSz; }
995};
996
997class SAL_DLLPUBLIC_RTTI MetaGradientAction final : public MetaAction
998{
999private:
1000
1003
1004public:
1008 MetaGradientAction & operator =(MetaGradientAction const &) = delete; // due to MetaAction
1009 MetaGradientAction & operator =(MetaGradientAction &&) = delete; // due to MetaAction
1010private:
1011 virtual ~MetaGradientAction() override;
1012public:
1013 virtual void Execute( OutputDevice* pOut ) override;
1014 virtual rtl::Reference<MetaAction> Clone() const override;
1015
1016 MetaGradientAction( const tools::Rectangle& rRect, Gradient aGradient );
1017
1018 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1019 virtual void Scale( double fScaleX, double fScaleY ) override;
1020
1021 const tools::Rectangle& GetRect() const { return maRect; }
1022 const Gradient& GetGradient() const { return maGradient; }
1023 void SetGradient(const Gradient& rGradient) { maGradient = rGradient; }
1024 void SetRect(const tools::Rectangle& rRect) { maRect = rRect; }
1025};
1026
1028{
1029private:
1030
1033
1034public:
1038 MetaGradientExAction & operator =(MetaGradientExAction const &) = delete; // due to MetaAction
1039 MetaGradientExAction & operator =(MetaGradientExAction &&) = delete; // due to MetaAction
1040private:
1041 virtual ~MetaGradientExAction() override;
1042public:
1043 virtual void Execute( OutputDevice* pOut ) override;
1044 virtual rtl::Reference<MetaAction> Clone() const override;
1045
1046 MetaGradientExAction( tools::PolyPolygon rPolyPoly, Gradient aGradient );
1047
1048 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1049 virtual void Scale( double fScaleX, double fScaleY ) override;
1050
1051 const tools::PolyPolygon& GetPolyPolygon() const { return maPolyPoly; }
1052 const Gradient& GetGradient() const { return maGradient; }
1053 void SetPolyPolygon(const tools::PolyPolygon& rPolyPoly) { maPolyPoly = rPolyPoly; }
1054 void SetGradient(const Gradient& rGradient) { maGradient = rGradient; }
1055};
1056
1057class SAL_DLLPUBLIC_RTTI MetaHatchAction final : public MetaAction
1058{
1059private:
1060
1063
1064public:
1068 MetaHatchAction & operator =(MetaHatchAction const &) = delete; // due to MetaAction
1069 MetaHatchAction & operator =(MetaHatchAction &&) = delete; // due to MetaAction
1070private:
1071 virtual ~MetaHatchAction() override;
1072public:
1073 virtual void Execute( OutputDevice* pOut ) override;
1074 virtual rtl::Reference<MetaAction> Clone() const override;
1075
1076 MetaHatchAction( tools::PolyPolygon aPolyPoly, const Hatch& rHatch );
1077
1078 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1079 virtual void Scale( double fScaleX, double fScaleY ) override;
1080
1081 const tools::PolyPolygon& GetPolyPolygon() const { return maPolyPoly; }
1082 const Hatch& GetHatch() const { return maHatch; }
1083 void SetPolyPolygon(const tools::PolyPolygon& rPolyPoly) { maPolyPoly = rPolyPoly; }
1084 void SetHatch(const Hatch& rHatch) { maHatch = rHatch; }
1085};
1086
1088{
1089private:
1090
1093
1094public:
1098 MetaWallpaperAction & operator =(MetaWallpaperAction const &) = delete; // due to MetaAction
1099 MetaWallpaperAction & operator =(MetaWallpaperAction &&) = delete; // due to MetaAction
1100private:
1101 virtual ~MetaWallpaperAction() override;
1102public:
1103 virtual void Execute( OutputDevice* pOut ) override;
1104 virtual rtl::Reference<MetaAction> Clone() const override;
1105
1107 const Wallpaper& rPaper );
1108
1109 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1110 virtual void Scale( double fScaleX, double fScaleY ) override;
1111
1112 const tools::Rectangle& GetRect() const { return maRect; }
1113 const Wallpaper& GetWallpaper() const { return maWallpaper; }
1114 void SetWallpaper(const Wallpaper& rWallpaper) { maWallpaper = rWallpaper; }
1115};
1116
1118{
1119private:
1120
1123
1124public:
1128 MetaClipRegionAction & operator =(MetaClipRegionAction const &) = delete; // due to MetaAction
1129 MetaClipRegionAction & operator =(MetaClipRegionAction &&) = delete; // due to MetaAction
1130private:
1131 virtual ~MetaClipRegionAction() override;
1132public:
1133 virtual void Execute( OutputDevice* pOut ) override;
1134 virtual rtl::Reference<MetaAction> Clone() const override;
1135
1136 MetaClipRegionAction( vcl::Region aRegion, bool bClip );
1137
1138 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1139 virtual void Scale( double fScaleX, double fScaleY ) override;
1140
1141 const vcl::Region& GetRegion() const { return maRegion; }
1142 bool IsClipping() const { return mbClip; }
1143 void SetRegion(const vcl::Region& rRegion) { maRegion = rRegion; }
1144 void SetClipping(bool bClip) { mbClip = bClip; }
1145};
1146
1148{
1149private:
1150
1152
1153public:
1159private:
1160 virtual ~MetaISectRectClipRegionAction() override;
1161public:
1162 virtual void Execute( OutputDevice* pOut ) override;
1163 virtual rtl::Reference<MetaAction> Clone() const override;
1164
1166
1167 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1168 virtual void Scale( double fScaleX, double fScaleY ) override;
1169
1170 const tools::Rectangle& GetRect() const { return maRect; }
1171 void SetRect(const tools::Rectangle& rRect) { maRect = rRect; }
1172};
1173
1175{
1176private:
1177
1179
1180public:
1186private:
1187 virtual ~MetaISectRegionClipRegionAction() override;
1188public:
1189 virtual void Execute( OutputDevice* pOut ) override;
1190 virtual rtl::Reference<MetaAction> Clone() const override;
1191
1193
1194 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1195 virtual void Scale( double fScaleX, double fScaleY ) override;
1196
1197 const vcl::Region& GetRegion() const { return maRegion; }
1198 void SetRegion(const vcl::Region& rRegion) { maRegion = rRegion; }
1199};
1200
1202{
1203private:
1204
1207
1208public:
1212 MetaMoveClipRegionAction & operator =(MetaMoveClipRegionAction const &) = delete; // due to MetaAction
1214private:
1215 virtual ~MetaMoveClipRegionAction() override;
1216public:
1217 virtual void Execute( OutputDevice* pOut ) override;
1218 virtual rtl::Reference<MetaAction> Clone() const override;
1219
1220 MetaMoveClipRegionAction( tools::Long nHorzMove, tools::Long nVertMove );
1221
1222 virtual void Scale( double fScaleX, double fScaleY ) override;
1223
1224 tools::Long GetHorzMove() const { return mnHorzMove; }
1225 tools::Long GetVertMove() const { return mnVertMove; }
1226 void SetHorzMove(tools::Long nHorzMove) { mnHorzMove = nHorzMove; }
1227 void SetVertMove(tools::Long nVertMove) { mnVertMove = nVertMove; }
1228};
1229
1231{
1232private:
1233
1235 bool mbSet;
1236
1237public:
1241 MetaLineColorAction & operator =(MetaLineColorAction const &) = delete; // due to MetaAction
1242 MetaLineColorAction & operator =(MetaLineColorAction &&) = delete; // due to MetaAction
1243private:
1244 virtual ~MetaLineColorAction() override;
1245public:
1246 virtual void Execute( OutputDevice* pOut ) override;
1247 virtual rtl::Reference<MetaAction> Clone() const override;
1248
1249 MetaLineColorAction( const Color& rColor, bool bSet );
1250
1251 const Color& GetColor() const { return maColor; }
1252 bool IsSetting() const { return mbSet; }
1253 void SetColor(const Color& rColor) { maColor = rColor; }
1254 void SetSetting(bool rSet) { mbSet = rSet; }
1255};
1256
1258{
1259private:
1260
1262 bool mbSet;
1263
1264public:
1268 MetaFillColorAction & operator =(MetaFillColorAction const &) = delete; // due to MetaAction
1269 MetaFillColorAction & operator =(MetaFillColorAction &&) = delete; // due to MetaAction
1270private:
1271 virtual ~MetaFillColorAction() override;
1272public:
1273 virtual void Execute( OutputDevice* pOut ) override;
1274 virtual rtl::Reference<MetaAction> Clone() const override;
1275
1276 MetaFillColorAction( const Color& rColor, bool bSet );
1277
1278 const Color& GetColor() const { return maColor; }
1279 bool IsSetting() const { return mbSet; }
1280 void SetSetting(bool rSet) { mbSet = rSet; }
1281 void SetColor(Color rColor) { maColor = rColor; }
1282
1283};
1284
1286{
1287private:
1288
1290
1291public:
1295 MetaTextColorAction & operator =(MetaTextColorAction const &) = delete; // due to MetaAction
1296 MetaTextColorAction & operator =(MetaTextColorAction &&) = delete; // due to MetaAction
1297private:
1298 virtual ~MetaTextColorAction() override;
1299public:
1300 virtual void Execute( OutputDevice* pOut ) override;
1301 virtual rtl::Reference<MetaAction> Clone() const override;
1302
1303 explicit MetaTextColorAction( const Color& );
1304
1305 const Color& GetColor() const { return maColor; }
1306 void SetColor(Color rColor) { maColor = rColor; }
1307};
1308
1310{
1311private:
1312
1314 bool mbSet;
1315
1316public:
1320 MetaTextFillColorAction & operator =(MetaTextFillColorAction const &) = delete; // due to MetaAction
1322private:
1323 virtual ~MetaTextFillColorAction() override;
1324public:
1325 virtual void Execute( OutputDevice* pOut ) override;
1326 virtual rtl::Reference<MetaAction> Clone() const override;
1327
1328 MetaTextFillColorAction( const Color& rColor, bool bSet );
1329
1330 const Color& GetColor() const { return maColor; }
1331 void SetColor(Color rColor) { maColor = rColor; }
1332 void SetSetting(bool bSet) { mbSet = bSet; }
1333 bool IsSetting() const { return mbSet; }
1334
1335};
1336
1338{
1339private:
1340
1342 bool mbSet;
1343
1344public:
1348 MetaTextLineColorAction & operator =(MetaTextLineColorAction const &) = delete; // due to MetaAction
1350private:
1351 virtual ~MetaTextLineColorAction() override;
1352public:
1353 virtual void Execute( OutputDevice* pOut ) override;
1354 virtual rtl::Reference<MetaAction> Clone() const override;
1355
1356 MetaTextLineColorAction( const Color& rColor, bool bSet );
1357
1358 const Color& GetColor() const { return maColor; }
1359 void SetColor(const Color& rColor) { maColor = rColor; }
1360 void SetSetting(bool bSet) { mbSet = bSet; }
1361 bool IsSetting() const { return mbSet; }
1362};
1363
1365{
1366private:
1367
1369 bool mbSet;
1370
1371public:
1375 MetaOverlineColorAction & operator =(MetaOverlineColorAction const &) = delete; // due to MetaAction
1377private:
1378 virtual ~MetaOverlineColorAction() override;
1379public:
1380 virtual void Execute( OutputDevice* pOut ) override;
1381 virtual rtl::Reference<MetaAction> Clone() const override;
1382
1383 MetaOverlineColorAction( const Color& rColor, bool bSet );
1384
1385 const Color& GetColor() const { return maColor; }
1386 void SetColor(const Color& rColor) { maColor = rColor; }
1387 void SetSetting(bool bSet) { mbSet = bSet; }
1388 bool IsSetting() const { return mbSet; }
1389};
1390
1392{
1393private:
1394
1396
1397public:
1401 MetaTextAlignAction & operator =(MetaTextAlignAction const &) = delete; // due to MetaAction
1402 MetaTextAlignAction & operator =(MetaTextAlignAction &&) = delete; // due to MetaAction
1403private:
1404 virtual ~MetaTextAlignAction() override;
1405public:
1406 virtual void Execute( OutputDevice* pOut ) override;
1407 virtual rtl::Reference<MetaAction> Clone() const override;
1408
1409 explicit MetaTextAlignAction( TextAlign eAlign );
1410
1411 TextAlign GetTextAlign() const { return maAlign; }
1412 void SetTextAlign(TextAlign eAlign) { maAlign = eAlign; }
1413};
1414
1416{
1417private:
1418
1420
1421public:
1425 MetaMapModeAction & operator =(MetaMapModeAction const &) = delete; // due to MetaAction
1426 MetaMapModeAction & operator =(MetaMapModeAction &&) = delete; // due to MetaAction
1427private:
1428 virtual ~MetaMapModeAction() override;
1429public:
1430 virtual void Execute( OutputDevice* pOut ) override;
1431 virtual rtl::Reference<MetaAction> Clone() const override;
1432
1433 explicit MetaMapModeAction( const MapMode& );
1434
1435 virtual void Scale( double fScaleX, double fScaleY ) override;
1436
1437 const MapMode& GetMapMode() const { return maMapMode; }
1438 void SetMapMode(const MapMode& rMapMode) { maMapMode = rMapMode; }
1439};
1440
1441// tdf#127471 decl for friend below
1442namespace emfio { class ScaledFontDetectCorrectHelper; }
1443
1445{
1446private:
1447
1449
1450 // tdf#127471 for import correction of own wrong written EMF/WMF files allow correction
1451 // of FontScale after import. Only from there, so use a friend here and keep the method private
1453 void correctFontScale(tools::Long nNewFontScale) { maFont.SetAverageFontWidth(nNewFontScale); }
1454
1455public:
1457 MetaFontAction(MetaFontAction const &) = default;
1459 MetaFontAction & operator =(MetaFontAction const &) = delete; // due to MetaAction
1460 MetaFontAction & operator =(MetaFontAction &&) = delete; // due to MetaAction
1461private:
1462 virtual ~MetaFontAction() override;
1463public:
1464 virtual void Execute( OutputDevice* pOut ) override;
1465 virtual rtl::Reference<MetaAction> Clone() const override;
1466
1467 explicit MetaFontAction( vcl::Font );
1468
1469 virtual void Scale( double fScaleX, double fScaleY ) override;
1470
1471 const vcl::Font& GetFont() const { return maFont; }
1472 void SetFont(const vcl::Font& rFont) { maFont = rFont; }
1473
1474};
1475
1477{
1478private:
1479
1481
1482public:
1484 MetaPushAction(MetaPushAction const &) = default;
1486 MetaPushAction & operator =(MetaPushAction const &) = delete; // due to MetaAction
1487 MetaPushAction & operator =(MetaPushAction &&) = delete; // due to MetaAction
1488private:
1489 virtual ~MetaPushAction() override;
1490public:
1491 virtual void Execute( OutputDevice* pOut ) override;
1492 virtual rtl::Reference<MetaAction> Clone() const override;
1493
1494 explicit MetaPushAction( vcl::PushFlags nFlags );
1495
1496 vcl::PushFlags GetFlags() const { return mnFlags; }
1497 void SetPushFlags(const vcl::PushFlags nFlags) { mnFlags = nFlags; }
1498};
1499
1501{
1502public:
1503
1504 MetaPopAction();
1505 MetaPopAction(MetaPopAction const &) = default;
1507 MetaPopAction & operator =(MetaPopAction const &) = delete; // due to MetaAction
1508 MetaPopAction & operator =(MetaPopAction &&) = delete; // due to MetaAction
1509private:
1510 virtual ~MetaPopAction() override;
1511public:
1512 virtual void Execute( OutputDevice* pOut ) override;
1513 virtual rtl::Reference<MetaAction> Clone() const override;
1514};
1515
1517{
1518private:
1519
1521
1522public:
1526 MetaRasterOpAction & operator =(MetaRasterOpAction const &) = delete; // due to MetaAction
1527 MetaRasterOpAction & operator =(MetaRasterOpAction &&) = delete; // due to MetaAction
1528private:
1529 virtual ~MetaRasterOpAction() override;
1530public:
1531 virtual void Execute( OutputDevice* pOut ) override;
1532 virtual rtl::Reference<MetaAction> Clone() const override;
1533
1534 explicit MetaRasterOpAction( RasterOp eRasterOp );
1535
1536 RasterOp GetRasterOp() const { return meRasterOp; }
1537 void SetRasterOp(const RasterOp eRasterOp) { meRasterOp = eRasterOp; }
1538};
1539
1540class SAL_DLLPUBLIC_RTTI MetaTransparentAction final : public MetaAction
1541{
1542private:
1543
1545 sal_uInt16 mnTransPercent;
1546
1547public:
1551 MetaTransparentAction & operator =(MetaTransparentAction const &) = delete; // due to MetaAction
1552 MetaTransparentAction & operator =(MetaTransparentAction &&) = delete; // due to MetaAction
1553private:
1554 virtual ~MetaTransparentAction() override;
1555public:
1556 virtual void Execute( OutputDevice* pOut ) override;
1557 virtual rtl::Reference<MetaAction> Clone() const override;
1558
1559 MetaTransparentAction( tools::PolyPolygon aPolyPoly, sal_uInt16 nTransPercent );
1560
1561 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1562 virtual void Scale( double fScaleX, double fScaleY ) override;
1563
1564 const tools::PolyPolygon& GetPolyPolygon() const { return maPolyPoly; }
1565 sal_uInt16 GetTransparence() const { return mnTransPercent; }
1566 void SetPolyPolygon(const tools::PolyPolygon& rPolyPoly) { maPolyPoly = rPolyPoly; }
1567 void SetTransparence(const sal_uInt16 nTransPercent) { mnTransPercent = nTransPercent; }
1568
1569 bool IsTransparent() const override { return true; }
1570};
1571
1572class SAL_DLLPUBLIC_RTTI MetaFloatTransparentAction final : public MetaAction
1573{
1574private:
1575
1580
1581public:
1585 MetaFloatTransparentAction & operator =(MetaFloatTransparentAction const &) = delete; // due to MetaAction
1587private:
1588 virtual ~MetaFloatTransparentAction() override;
1589public:
1590 virtual void Execute( OutputDevice* pOut ) override;
1591 virtual rtl::Reference<MetaAction> Clone() const override;
1592
1593 MetaFloatTransparentAction( const GDIMetaFile& rMtf, const Point& rPos,
1594 const Size& rSize, Gradient aGradient );
1595
1596 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1597 virtual void Scale( double fScaleX, double fScaleY ) override;
1598
1599 const GDIMetaFile& GetGDIMetaFile() const { return maMtf; }
1600 const Point& GetPoint() const { return maPoint; }
1601 const Size& GetSize() const { return maSize; }
1602 const Gradient& GetGradient() const { return maGradient; }
1603 void SetGDIMetaFile(const GDIMetaFile &rMtf) { maMtf = rMtf; }
1604 void SetPoint(const Point& rPoint) { maPoint = rPoint; }
1605 void SetSize(const Size& rSize) { maSize = rSize; }
1606 void SetGradient(const Gradient& rGradient) { maGradient = rGradient; }
1607 bool IsTransparent() const override { return true; }
1608};
1609
1611{
1612private:
1613
1618
1619public:
1620 MetaEPSAction();
1621 MetaEPSAction(MetaEPSAction const &) = default;
1623 MetaEPSAction & operator =(MetaEPSAction const &) = delete; // due to MetaAction
1624 MetaEPSAction & operator =(MetaEPSAction &&) = delete; // due to MetaAction
1625private:
1626 virtual ~MetaEPSAction() override;
1627public:
1628 virtual void Execute( OutputDevice* pOut ) override;
1629 virtual rtl::Reference<MetaAction> Clone() const override;
1630
1631 MetaEPSAction( const Point& rPoint, const Size& rSize,
1632 GfxLink aGfxLink, const GDIMetaFile& rSubst );
1633
1634 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1635 virtual void Scale( double fScaleX, double fScaleY ) override;
1636
1637 const GfxLink& GetLink() const { return maGfxLink; }
1638 const GDIMetaFile& GetSubstitute() const { return maSubst; }
1639 const Point& GetPoint() const { return maPoint; }
1640 const Size& GetSize() const { return maSize; }
1641 void SetLink(const GfxLink& rGfxLink) { maGfxLink = rGfxLink; }
1642 void SetSubstitute(const GDIMetaFile& rSubst) { maSubst = rSubst; }
1643 void SetPoint(const Point& rPoint) { maPoint = rPoint; }
1644 void SetSize(const Size& rSize) { maSize = rSize; }
1645};
1646
1648{
1649private:
1650
1652 bool mbSet;
1653
1654public:
1658 MetaRefPointAction & operator =(MetaRefPointAction const &) = delete; // due to MetaAction
1659 MetaRefPointAction & operator =(MetaRefPointAction &&) = delete; // due to MetaAction
1660private:
1661 virtual ~MetaRefPointAction() override;
1662public:
1663 virtual void Execute( OutputDevice* pOut ) override;
1664 virtual rtl::Reference<MetaAction> Clone() const override;
1665
1666 MetaRefPointAction( const Point& rRefPoint, bool bSet );
1667
1668 const Point& GetRefPoint() const { return maRefPoint; }
1669 void SetRefPoint(const Point& rRefPoint) { maRefPoint = rRefPoint; }
1670 void SetSetting(const bool bSet) { mbSet = bSet; }
1671 bool IsSetting() const { return mbSet; }
1672};
1673
1675{
1676private:
1677
1678 OString maComment;
1679 sal_Int32 mnValue;
1680 sal_uInt32 mnDataSize;
1681 std::unique_ptr<sal_uInt8[]>
1683
1684 SAL_DLLPRIVATE void ImplInitDynamicData( const sal_uInt8* pData, sal_uInt32 nDataSize );
1685
1686private:
1687 virtual ~MetaCommentAction() override;
1688
1689public:
1690 explicit MetaCommentAction();
1691 explicit MetaCommentAction( const MetaCommentAction& rAct );
1692 explicit MetaCommentAction( OString aComment, sal_Int32 nValue = 0, const sal_uInt8* pData = nullptr, sal_uInt32 nDataSize = 0 );
1693
1694 virtual void Move( tools::Long nHorzMove, tools::Long nVertMove ) override;
1695 virtual void Scale( double fScaleX, double fScaleY ) override;
1696
1697 virtual void Execute( OutputDevice* pOut ) override;
1698 virtual rtl::Reference<MetaAction> Clone() const override;
1699
1700 const OString& GetComment() const { return maComment; }
1701 sal_Int32 GetValue() const { return mnValue; }
1702 sal_uInt32 GetDataSize() const { return mnDataSize; }
1703 const sal_uInt8* GetData() const { return mpData.get(); }
1704 void SetComment(const OString& rComment) { maComment = rComment; }
1705 void SetValue(const sal_Int32 nValue) { mnValue = nValue; }
1706 void SetDataSize(const sal_Int32 nDataSize) { mnDataSize = nDataSize; }
1707 void SetData(const sal_uInt8* pData, const sal_uInt32 nDataSize) { ImplInitDynamicData(pData, nDataSize); }
1708};
1709
1711{
1712private:
1713
1715
1716public:
1720 MetaLayoutModeAction & operator =(MetaLayoutModeAction const &) = delete; // due to MetaAction
1721 MetaLayoutModeAction & operator =(MetaLayoutModeAction &&) = delete; // due to MetaAction
1722private:
1723 virtual ~MetaLayoutModeAction() override;
1724public:
1725 virtual void Execute( OutputDevice* pOut ) override;
1726 virtual rtl::Reference<MetaAction> Clone() const override;
1727
1729
1730 vcl::text::ComplexTextLayoutFlags GetLayoutMode() const { return mnLayoutMode; }
1731 void SetLayoutMode(const vcl::text::ComplexTextLayoutFlags nLayoutMode) { mnLayoutMode = nLayoutMode; }
1732};
1733
1735{
1736private:
1737
1739
1740public:
1744 MetaTextLanguageAction & operator =(MetaTextLanguageAction const &) = delete; // due to MetaAction
1745 MetaTextLanguageAction & operator =(MetaTextLanguageAction &&) = delete; // due to MetaAction
1746private:
1747 virtual ~MetaTextLanguageAction() override;
1748public:
1749 virtual void Execute( OutputDevice* pOut ) override;
1750 virtual rtl::Reference<MetaAction> Clone() const override;
1751
1753
1754 LanguageType GetTextLanguage() const { return meTextLanguage; }
1755 void SetTextLanguage(const LanguageType eTextLanguage) { meTextLanguage = eTextLanguage; }
1756};
1757
1758#endif // INCLUDED_VCL_METAACT_HXX
1759
1760/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
basegfx::BColor maColor
DrawTextFlags
geometry::RealSize2D maSize
RasterOp
Definition: RasterOp.hxx:23
B2DPoint maPoint
bool IsAlpha() const
Definition: BitmapEx.cxx:193
Definition: hatch.hxx:47
virtual bool IsTransparent() const
#i10613# Extracted from Printer::GetPreparedMetaFile.
Definition: metaact.hxx:99
MetaActionType mnType
Definition: metaact.hxx:76
MetaActionType GetType() const
Definition: metaact.hxx:95
virtual void Execute(OutputDevice *pOut)
Definition: metaact.cxx:99
virtual void Scale(double fScaleX, double fScaleY)
Definition: metaact.cxx:112
virtual void Move(tools::Long nHorzMove, tools::Long nVertMove)
Definition: metaact.cxx:108
virtual rtl::Reference< MetaAction > Clone() const
Definition: metaact.cxx:103
oslInterlockedCount GetRefCount() const
Definition: metaact.hxx:88
Point maStartPt
Definition: metaact.hxx:285
void SetStartPoint(const Point &rPoint)
Definition: metaact.hxx:310
MetaArcAction(MetaArcAction &&)=default
const Point & GetStartPoint() const
Definition: metaact.hxx:307
void SetEndPoint(const Point &rPoint)
Definition: metaact.hxx:311
Point maEndPt
Definition: metaact.hxx:286
const tools::Rectangle & GetRect() const
Definition: metaact.hxx:306
tools::Rectangle maRect
Definition: metaact.hxx:284
MetaArcAction(MetaArcAction const &)=default
const Point & GetEndPoint() const
Definition: metaact.hxx:308
void SetRect(const tools::Rectangle &rRect)
Definition: metaact.hxx:309
Bitmap maBmp
Definition: metaact.hxx:672
MetaBmpAction(MetaBmpAction const &)=default
const Bitmap & GetBitmap() const
Definition: metaact.hxx:692
MetaBmpAction(MetaBmpAction &&)=default
void SetBitmap(const Bitmap &rBmp)
Definition: metaact.hxx:694
const Point & GetPoint() const
Definition: metaact.hxx:693
void SetPoint(const Point &rPt)
Definition: metaact.hxx:695
void SetBitmapEx(BitmapEx rBmpEx)
Definition: metaact.hxx:799
MetaBmpExAction(MetaBmpExAction &&)=default
MetaBmpExAction(MetaBmpExAction const &)=default
bool IsTransparent() const override
#i10613# Extracted from Printer::GetPreparedMetaFile.
Definition: metaact.hxx:801
void SetPoint(const Point &rPt)
Definition: metaact.hxx:800
const BitmapEx & GetBitmapEx() const
Definition: metaact.hxx:797
const Point & GetPoint() const
Definition: metaact.hxx:798
BitmapEx maBmpEx
Definition: metaact.hxx:777
const Size & GetSize() const
Definition: metaact.hxx:832
MetaBmpExScaleAction(MetaBmpExScaleAction const &)=default
const Point & GetPoint() const
Definition: metaact.hxx:831
MetaBmpExScaleAction(MetaBmpExScaleAction &&)=default
void SetPoint(const Point &rPt)
Definition: metaact.hxx:834
const BitmapEx & GetBitmapEx() const
Definition: metaact.hxx:830
void SetBitmapEx(const BitmapEx &rBmpEx)
Definition: metaact.hxx:833
bool IsTransparent() const override
#i10613# Extracted from Printer::GetPreparedMetaFile.
Definition: metaact.hxx:836
void SetSize(const Size &rSz)
Definition: metaact.hxx:835
const Point & GetSrcPoint() const
Definition: metaact.hxx:871
MetaBmpExScalePartAction(MetaBmpExScalePartAction const &)=default
void SetDestPoint(const Point &rDstPt)
Definition: metaact.hxx:874
const Size & GetDestSize() const
Definition: metaact.hxx:870
const Point & GetDestPoint() const
Definition: metaact.hxx:869
void SetBitmapEx(const BitmapEx &rBmpEx)
Definition: metaact.hxx:873
const Size & GetSrcSize() const
Definition: metaact.hxx:872
void SetSrcSize(const Size &rSrcSz)
Definition: metaact.hxx:877
const BitmapEx & GetBitmapEx() const
Definition: metaact.hxx:868
void SetSrcPoint(const Point &rSrcPt)
Definition: metaact.hxx:876
bool IsTransparent() const override
#i10613# Extracted from Printer::GetPreparedMetaFile.
Definition: metaact.hxx:878
void SetDestSize(const Size &rDstSz)
Definition: metaact.hxx:875
MetaBmpExScalePartAction(MetaBmpExScalePartAction &&)=default
void SetBitmap(const Bitmap &rBmp)
Definition: metaact.hxx:727
MetaBmpScaleAction(MetaBmpScaleAction const &)=default
const Point & GetPoint() const
Definition: metaact.hxx:725
const Size & GetSize() const
Definition: metaact.hxx:726
MetaBmpScaleAction(MetaBmpScaleAction &&)=default
const Bitmap & GetBitmap() const
Definition: metaact.hxx:724
void SetSize(const Size &rSz)
Definition: metaact.hxx:729
void SetPoint(const Point &rPt)
Definition: metaact.hxx:728
const Bitmap & GetBitmap() const
Definition: metaact.hxx:761
void SetDestSize(const Size &rSz)
Definition: metaact.hxx:768
const Point & GetDestPoint() const
Definition: metaact.hxx:762
MetaBmpScalePartAction(MetaBmpScalePartAction const &)=default
void SetBitmap(const Bitmap &rBmp)
Definition: metaact.hxx:766
MetaBmpScalePartAction(MetaBmpScalePartAction &&)=default
const Point & GetSrcPoint() const
Definition: metaact.hxx:764
const Size & GetSrcSize() const
Definition: metaact.hxx:765
void SetSrcPoint(const Point &rPt)
Definition: metaact.hxx:769
void SetSrcSize(const Size &rSz)
Definition: metaact.hxx:770
const Size & GetDestSize() const
Definition: metaact.hxx:763
void SetDestPoint(const Point &rPt)
Definition: metaact.hxx:767
const tools::Rectangle & GetRect() const
Definition: metaact.hxx:374
void SetRect(const tools::Rectangle &rRect)
Definition: metaact.hxx:377
MetaChordAction(MetaChordAction const &)=default
const Point & GetStartPoint() const
Definition: metaact.hxx:375
tools::Rectangle maRect
Definition: metaact.hxx:352
void SetStartPoint(const Point &rPoint)
Definition: metaact.hxx:378
void SetEndPoint(const Point &rPoint)
Definition: metaact.hxx:379
const Point & GetEndPoint() const
Definition: metaact.hxx:376
MetaChordAction(MetaChordAction &&)=default
vcl::Region maRegion
Definition: metaact.hxx:1121
const vcl::Region & GetRegion() const
Definition: metaact.hxx:1141
void SetRegion(const vcl::Region &rRegion)
Definition: metaact.hxx:1143
MetaClipRegionAction(MetaClipRegionAction &&)=default
bool IsClipping() const
Definition: metaact.hxx:1142
void SetClipping(bool bClip)
Definition: metaact.hxx:1144
MetaClipRegionAction(MetaClipRegionAction const &)=default
sal_uInt32 mnDataSize
Definition: metaact.hxx:1680
sal_Int32 GetValue() const
Definition: metaact.hxx:1701
const sal_uInt8 * GetData() const
Definition: metaact.hxx:1703
const OString & GetComment() const
Definition: metaact.hxx:1700
void SetValue(const sal_Int32 nValue)
Definition: metaact.hxx:1705
void SetData(const sal_uInt8 *pData, const sal_uInt32 nDataSize)
Definition: metaact.hxx:1707
void SetComment(const OString &rComment)
Definition: metaact.hxx:1704
std::unique_ptr< sal_uInt8[]> mpData
Definition: metaact.hxx:1682
sal_Int32 mnValue
Definition: metaact.hxx:1679
void SetDataSize(const sal_Int32 nDataSize)
Definition: metaact.hxx:1706
sal_uInt32 GetDataSize() const
Definition: metaact.hxx:1702
void SetSize(const Size &rSize)
Definition: metaact.hxx:1644
GfxLink maGfxLink
Definition: metaact.hxx:1614
const GDIMetaFile & GetSubstitute() const
Definition: metaact.hxx:1638
const Point & GetPoint() const
Definition: metaact.hxx:1639
void SetSubstitute(const GDIMetaFile &rSubst)
Definition: metaact.hxx:1642
MetaEPSAction(MetaEPSAction const &)=default
MetaEPSAction(MetaEPSAction &&)=default
void SetLink(const GfxLink &rGfxLink)
Definition: metaact.hxx:1641
GDIMetaFile maSubst
Definition: metaact.hxx:1615
const Size & GetSize() const
Definition: metaact.hxx:1640
void SetPoint(const Point &rPoint)
Definition: metaact.hxx:1643
const GfxLink & GetLink() const
Definition: metaact.hxx:1637
MetaEllipseAction(MetaEllipseAction const &)=default
void SetRect(const tools::Rectangle &rRect)
Definition: metaact.hxx:277
const tools::Rectangle & GetRect() const
Definition: metaact.hxx:276
tools::Rectangle maRect
Definition: metaact.hxx:257
MetaEllipseAction(MetaEllipseAction &&)=default
void SetColor(Color rColor)
Definition: metaact.hxx:1281
void SetSetting(bool rSet)
Definition: metaact.hxx:1280
MetaFillColorAction(MetaFillColorAction const &)=default
const Color & GetColor() const
Definition: metaact.hxx:1278
bool IsSetting() const
Definition: metaact.hxx:1279
MetaFillColorAction(MetaFillColorAction &&)=default
void SetPoint(const Point &rPoint)
Definition: metaact.hxx:1604
void SetSize(const Size &rSize)
Definition: metaact.hxx:1605
void SetGDIMetaFile(const GDIMetaFile &rMtf)
Definition: metaact.hxx:1603
const Gradient & GetGradient() const
Definition: metaact.hxx:1602
const Size & GetSize() const
Definition: metaact.hxx:1601
void SetGradient(const Gradient &rGradient)
Definition: metaact.hxx:1606
MetaFloatTransparentAction(MetaFloatTransparentAction &&)=default
const GDIMetaFile & GetGDIMetaFile() const
Definition: metaact.hxx:1599
bool IsTransparent() const override
#i10613# Extracted from Printer::GetPreparedMetaFile.
Definition: metaact.hxx:1607
const Point & GetPoint() const
Definition: metaact.hxx:1600
MetaFloatTransparentAction(MetaFloatTransparentAction const &)=default
const vcl::Font & GetFont() const
Definition: metaact.hxx:1471
void SetFont(const vcl::Font &rFont)
Definition: metaact.hxx:1472
vcl::Font maFont
Definition: metaact.hxx:1448
MetaFontAction(MetaFontAction const &)=default
MetaFontAction(MetaFontAction &&)=default
void correctFontScale(tools::Long nNewFontScale)
Definition: metaact.hxx:1453
MetaGradientAction(MetaGradientAction &&)=default
Gradient maGradient
Definition: metaact.hxx:1002
void SetRect(const tools::Rectangle &rRect)
Definition: metaact.hxx:1024
const tools::Rectangle & GetRect() const
Definition: metaact.hxx:1021
MetaGradientAction(MetaGradientAction const &)=default
tools::Rectangle maRect
Definition: metaact.hxx:1001
const Gradient & GetGradient() const
Definition: metaact.hxx:1022
void SetGradient(const Gradient &rGradient)
Definition: metaact.hxx:1023
MetaGradientExAction(MetaGradientExAction &&)=default
MetaGradientExAction(MetaGradientExAction const &)=default
const tools::PolyPolygon & GetPolyPolygon() const
Definition: metaact.hxx:1051
void SetGradient(const Gradient &rGradient)
Definition: metaact.hxx:1054
const Gradient & GetGradient() const
Definition: metaact.hxx:1052
tools::PolyPolygon maPolyPoly
Definition: metaact.hxx:1031
void SetPolyPolygon(const tools::PolyPolygon &rPolyPoly)
Definition: metaact.hxx:1053
void SetPolyPolygon(const tools::PolyPolygon &rPolyPoly)
Definition: metaact.hxx:1083
MetaHatchAction(MetaHatchAction &&)=default
const tools::PolyPolygon & GetPolyPolygon() const
Definition: metaact.hxx:1081
const Hatch & GetHatch() const
Definition: metaact.hxx:1082
tools::PolyPolygon maPolyPoly
Definition: metaact.hxx:1061
MetaHatchAction(MetaHatchAction const &)=default
void SetHatch(const Hatch &rHatch)
Definition: metaact.hxx:1084
void SetRect(const tools::Rectangle &rRect)
Definition: metaact.hxx:1171
MetaISectRectClipRegionAction(MetaISectRectClipRegionAction const &)=default
const tools::Rectangle & GetRect() const
Definition: metaact.hxx:1170
MetaISectRectClipRegionAction(MetaISectRectClipRegionAction &&)=default
const vcl::Region & GetRegion() const
Definition: metaact.hxx:1197
MetaISectRegionClipRegionAction(MetaISectRegionClipRegionAction const &)=default
void SetRegion(const vcl::Region &rRegion)
Definition: metaact.hxx:1198
MetaISectRegionClipRegionAction(MetaISectRegionClipRegionAction &&)=default
void SetLayoutMode(const vcl::text::ComplexTextLayoutFlags nLayoutMode)
Definition: metaact.hxx:1731
MetaLayoutModeAction(MetaLayoutModeAction const &)=default
vcl::text::ComplexTextLayoutFlags GetLayoutMode() const
Definition: metaact.hxx:1730
vcl::text::ComplexTextLayoutFlags mnLayoutMode
Definition: metaact.hxx:1714
MetaLayoutModeAction(MetaLayoutModeAction &&)=default
LineInfo maLineInfo
Definition: metaact.hxx:161
void SetEndPoint(const Point &rPoint)
Definition: metaact.hxx:188
const LineInfo & GetLineInfo() const
Definition: metaact.hxx:186
void SetLineInfo(const LineInfo &rLineInfo)
Definition: metaact.hxx:189
MetaLineAction(MetaLineAction &&)=default
const Point & GetEndPoint() const
Definition: metaact.hxx:185
const Point & GetStartPoint() const
Definition: metaact.hxx:184
void SetStartPoint(const Point &rPoint)
Definition: metaact.hxx:187
Point maStartPt
Definition: metaact.hxx:162
MetaLineAction(MetaLineAction const &)=default
MetaLineColorAction(MetaLineColorAction const &)=default
void SetSetting(bool rSet)
Definition: metaact.hxx:1254
MetaLineColorAction(MetaLineColorAction &&)=default
bool IsSetting() const
Definition: metaact.hxx:1252
const Color & GetColor() const
Definition: metaact.hxx:1251
void SetColor(const Color &rColor)
Definition: metaact.hxx:1253
MetaMapModeAction(MetaMapModeAction const &)=default
void SetMapMode(const MapMode &rMapMode)
Definition: metaact.hxx:1438
const MapMode & GetMapMode() const
Definition: metaact.hxx:1437
MetaMapModeAction(MetaMapModeAction &&)=default
const Point & GetPoint() const
Definition: metaact.hxx:910
Bitmap maBmp
Definition: metaact.hxx:885
MetaMaskAction(MetaMaskAction const &)=default
MetaMaskAction(MetaMaskAction &&)=default
void SetBitmap(const Bitmap &rBmp)
Definition: metaact.hxx:911
const Bitmap & GetBitmap() const
Definition: metaact.hxx:908
void SetPoint(const Point &rPt)
Definition: metaact.hxx:912
const Color & GetColor() const
Definition: metaact.hxx:909
void SetPoint(const Point &rPt)
Definition: metaact.hxx:948
void SetBitmap(const Bitmap &rBmp)
Definition: metaact.hxx:947
MetaMaskScaleAction(MetaMaskScaleAction const &)=default
void SetSize(const Size &rSz)
Definition: metaact.hxx:949
const Bitmap & GetBitmap() const
Definition: metaact.hxx:943
const Point & GetPoint() const
Definition: metaact.hxx:945
MetaMaskScaleAction(MetaMaskScaleAction &&)=default
const Color & GetColor() const
Definition: metaact.hxx:944
const Size & GetSize() const
Definition: metaact.hxx:946
void SetSrcSize(const Size &rSz)
Definition: metaact.hxx:994
void SetColor(Color rColor)
Definition: metaact.hxx:990
void SetDestPoint(const Point &rPt)
Definition: metaact.hxx:991
const Bitmap & GetBitmap() const
Definition: metaact.hxx:983
const Point & GetSrcPoint() const
Definition: metaact.hxx:987
void SetSrcPoint(const Point &rPt)
Definition: metaact.hxx:993
const Color & GetColor() const
Definition: metaact.hxx:984
const Size & GetSrcSize() const
Definition: metaact.hxx:988
void SetBitmap(const Bitmap &rBmp)
Definition: metaact.hxx:989
MetaMaskScalePartAction(MetaMaskScalePartAction const &)=default
MetaMaskScalePartAction(MetaMaskScalePartAction &&)=default
const Point & GetDestPoint() const
Definition: metaact.hxx:985
void SetDestSize(const Size &rSz)
Definition: metaact.hxx:992
const Size & GetDestSize() const
Definition: metaact.hxx:986
MetaMoveClipRegionAction(MetaMoveClipRegionAction const &)=default
tools::Long GetVertMove() const
Definition: metaact.hxx:1225
tools::Long GetHorzMove() const
Definition: metaact.hxx:1224
void SetHorzMove(tools::Long nHorzMove)
Definition: metaact.hxx:1226
void SetVertMove(tools::Long nVertMove)
Definition: metaact.hxx:1227
MetaMoveClipRegionAction(MetaMoveClipRegionAction &&)=default
MetaOverlineColorAction(MetaOverlineColorAction &&)=default
void SetSetting(bool bSet)
Definition: metaact.hxx:1387
const Color & GetColor() const
Definition: metaact.hxx:1385
void SetColor(const Color &rColor)
Definition: metaact.hxx:1386
bool IsSetting() const
Definition: metaact.hxx:1388
MetaOverlineColorAction(MetaOverlineColorAction const &)=default
void SetRect(const tools::Rectangle &rRect)
Definition: metaact.hxx:343
MetaPieAction(MetaPieAction &&)=default
Point maStartPt
Definition: metaact.hxx:319
void SetEndPoint(const Point &rPoint)
Definition: metaact.hxx:345
MetaPieAction(MetaPieAction const &)=default
void SetStartPoint(const Point &rPoint)
Definition: metaact.hxx:344
const Point & GetEndPoint() const
Definition: metaact.hxx:342
const Point & GetStartPoint() const
Definition: metaact.hxx:341
tools::Rectangle maRect
Definition: metaact.hxx:318
Point maEndPt
Definition: metaact.hxx:320
const tools::Rectangle & GetRect() const
Definition: metaact.hxx:340
void SetPoint(const Point &rPt)
Definition: metaact.hxx:127
MetaPixelAction(MetaPixelAction &&)=default
const Point & GetPoint() const
Definition: metaact.hxx:125
void SetColor(Color rColor)
Definition: metaact.hxx:128
MetaPixelAction(MetaPixelAction const &)=default
const Color & GetColor() const
Definition: metaact.hxx:126
MetaPointAction(MetaPointAction &&)=default
MetaPointAction(MetaPointAction const &)=default
void SetPoint(const Point &rPt)
Definition: metaact.hxx:154
const Point & GetPoint() const
Definition: metaact.hxx:153
MetaPolyLineAction(MetaPolyLineAction &&)=default
void SetPolygon(const tools::Polygon &rPoly)
Definition: metaact.hxx:410
tools::Polygon maPoly
Definition: metaact.hxx:387
const LineInfo & GetLineInfo() const
Definition: metaact.hxx:408
LineInfo maLineInfo
Definition: metaact.hxx:386
void SetLineInfo(const LineInfo &rLineInfo)
Definition: metaact.hxx:409
MetaPolyLineAction(MetaPolyLineAction const &)=default
const tools::Polygon & GetPolygon() const
Definition: metaact.hxx:407
tools::PolyPolygon maPolyPoly
Definition: metaact.hxx:444
void SetPolyPolygon(const tools::PolyPolygon &rPolyPoly)
Definition: metaact.hxx:464
MetaPolyPolygonAction(MetaPolyPolygonAction const &)=default
const tools::PolyPolygon & GetPolyPolygon() const
Definition: metaact.hxx:463
MetaPolyPolygonAction(MetaPolyPolygonAction &&)=default
tools::Polygon maPoly
Definition: metaact.hxx:417
MetaPolygonAction(MetaPolygonAction const &)=default
MetaPolygonAction(MetaPolygonAction &&)=default
const tools::Polygon & GetPolygon() const
Definition: metaact.hxx:436
void SetPolygon(const tools::Polygon &rPoly)
Definition: metaact.hxx:437
MetaPopAction(MetaPopAction &&)=default
MetaPopAction(MetaPopAction const &)=default
MetaPushAction(MetaPushAction &&)=default
MetaPushAction(MetaPushAction const &)=default
void SetPushFlags(const vcl::PushFlags nFlags)
Definition: metaact.hxx:1497
vcl::PushFlags mnFlags
Definition: metaact.hxx:1480
vcl::PushFlags GetFlags() const
Definition: metaact.hxx:1496
RasterOp GetRasterOp() const
Definition: metaact.hxx:1536
MetaRasterOpAction(MetaRasterOpAction &&)=default
void SetRasterOp(const RasterOp eRasterOp)
Definition: metaact.hxx:1537
MetaRasterOpAction(MetaRasterOpAction const &)=default
RasterOp meRasterOp
Definition: metaact.hxx:1520
MetaRectAction(MetaRectAction &&)=default
MetaRectAction(MetaRectAction const &)=default
const tools::Rectangle & GetRect() const
Definition: metaact.hxx:215
tools::Rectangle maRect
Definition: metaact.hxx:196
void SetRect(const tools::Rectangle &rRect)
Definition: metaact.hxx:216
void SetRefPoint(const Point &rRefPoint)
Definition: metaact.hxx:1669
bool IsSetting() const
Definition: metaact.hxx:1671
void SetSetting(const bool bSet)
Definition: metaact.hxx:1670
const Point & GetRefPoint() const
Definition: metaact.hxx:1668
MetaRefPointAction(MetaRefPointAction const &)=default
MetaRefPointAction(MetaRefPointAction &&)=default
MetaRoundRectAction(MetaRoundRectAction &&)=default
tools::Rectangle maRect
Definition: metaact.hxx:223
sal_uInt32 mnHorzRound
Definition: metaact.hxx:224
MetaRoundRectAction(MetaRoundRectAction const &)=default
void SetHorzRound(sal_uInt32 rHorzRound)
Definition: metaact.hxx:249
sal_uInt32 mnVertRound
Definition: metaact.hxx:225
sal_uInt32 GetHorzRound() const
Definition: metaact.hxx:246
void SetVertRound(sal_uInt32 rVertRound)
Definition: metaact.hxx:250
void SetRect(const tools::Rectangle &rRect)
Definition: metaact.hxx:248
sal_uInt32 GetVertRound() const
Definition: metaact.hxx:247
const tools::Rectangle & GetRect() const
Definition: metaact.hxx:245
sal_uInt32 GetWidth() const
Definition: metaact.hxx:583
sal_Int32 GetLen() const
Definition: metaact.hxx:585
void SetWidth(sal_uInt32 rWidth)
Definition: metaact.hxx:588
sal_Int32 GetIndex() const
Definition: metaact.hxx:584
const OUString & GetText() const
Definition: metaact.hxx:582
sal_uInt32 mnWidth
Definition: metaact.hxx:558
void SetIndex(sal_uInt32 rIndex)
Definition: metaact.hxx:589
void SetLen(sal_uInt32 rLen)
Definition: metaact.hxx:590
MetaStretchTextAction(MetaStretchTextAction &&)=default
void SetText(const OUString &rStr)
Definition: metaact.hxx:587
MetaStretchTextAction(MetaStretchTextAction const &)=default
const Point & GetPoint() const
Definition: metaact.hxx:581
void SetPoint(const Point &rPt)
Definition: metaact.hxx:586
const Point & GetPoint() const
Definition: metaact.hxx:494
MetaTextAction(MetaTextAction const &)=default
sal_Int32 GetLen() const
Definition: metaact.hxx:497
OUString maStr
Definition: metaact.hxx:472
void SetIndex(sal_Int32 rIndex)
Definition: metaact.hxx:500
void SetText(const OUString &rStr)
Definition: metaact.hxx:499
void SetLen(sal_Int32 rLen)
Definition: metaact.hxx:501
MetaTextAction(MetaTextAction &&)=default
const OUString & GetText() const
Definition: metaact.hxx:495
sal_Int32 mnIndex
Definition: metaact.hxx:473
void SetPoint(const Point &rPt)
Definition: metaact.hxx:498
sal_Int32 GetIndex() const
Definition: metaact.hxx:496
sal_Int32 mnLen
Definition: metaact.hxx:474
MetaTextAlignAction(MetaTextAlignAction &&)=default
MetaTextAlignAction(MetaTextAlignAction const &)=default
void SetTextAlign(TextAlign eAlign)
Definition: metaact.hxx:1412
TextAlign GetTextAlign() const
Definition: metaact.hxx:1411
KernArray maDXAry
Definition: metaact.hxx:510
void SetIndex(sal_Int32 rIndex)
Definition: metaact.hxx:546
sal_Int32 GetIndex() const
Definition: metaact.hxx:540
const KernArray & GetDXArray() const
Definition: metaact.hxx:542
sal_Int32 GetLen() const
Definition: metaact.hxx:541
void SetLen(sal_Int32 rLen)
Definition: metaact.hxx:547
const OUString & GetText() const
Definition: metaact.hxx:539
void SetPoint(const Point &rPt)
Definition: metaact.hxx:544
const Point & GetPoint() const
Definition: metaact.hxx:538
sal_Int32 mnIndex
Definition: metaact.hxx:512
std::vector< sal_Bool > maKashidaAry
Definition: metaact.hxx:511
void SetText(const OUString &rStr)
Definition: metaact.hxx:545
const std::vector< sal_Bool > & GetKashidaArray() const
Definition: metaact.hxx:543
MetaTextColorAction(MetaTextColorAction const &)=default
void SetColor(Color rColor)
Definition: metaact.hxx:1306
MetaTextColorAction(MetaTextColorAction &&)=default
const Color & GetColor() const
Definition: metaact.hxx:1305
void SetColor(Color rColor)
Definition: metaact.hxx:1331
MetaTextFillColorAction(MetaTextFillColorAction &&)=default
MetaTextFillColorAction(MetaTextFillColorAction const &)=default
bool IsSetting() const
Definition: metaact.hxx:1333
const Color & GetColor() const
Definition: metaact.hxx:1330
void SetSetting(bool bSet)
Definition: metaact.hxx:1332
MetaTextLanguageAction(MetaTextLanguageAction const &)=default
LanguageType meTextLanguage
Definition: metaact.hxx:1738
LanguageType GetTextLanguage() const
Definition: metaact.hxx:1754
MetaTextLanguageAction(MetaTextLanguageAction &&)=default
void SetTextLanguage(const LanguageType eTextLanguage)
Definition: metaact.hxx:1755
const Point & GetStartPoint() const
Definition: metaact.hxx:656
tools::Long GetWidth() const
Definition: metaact.hxx:657
FontLineStyle GetUnderline() const
Definition: metaact.hxx:659
void SetWidth(tools::Long rWidth)
Definition: metaact.hxx:662
void SetStartPoint(const Point &rPos)
Definition: metaact.hxx:661
void SetStrikeout(FontStrikeout eStrikeout)
Definition: metaact.hxx:663
FontLineStyle GetOverline() const
Definition: metaact.hxx:660
MetaTextLineAction(MetaTextLineAction &&)=default
FontStrikeout meStrikeout
Definition: metaact.hxx:633
void SetOverline(FontLineStyle eOverline)
Definition: metaact.hxx:665
tools::Long mnWidth
Definition: metaact.hxx:632
FontLineStyle meUnderline
Definition: metaact.hxx:634
FontStrikeout GetStrikeout() const
Definition: metaact.hxx:658
FontLineStyle meOverline
Definition: metaact.hxx:635
MetaTextLineAction(MetaTextLineAction const &)=default
void SetUnderline(FontLineStyle eUnderline)
Definition: metaact.hxx:664
bool IsSetting() const
Definition: metaact.hxx:1361
MetaTextLineColorAction(MetaTextLineColorAction &&)=default
void SetSetting(bool bSet)
Definition: metaact.hxx:1360
const Color & GetColor() const
Definition: metaact.hxx:1358
MetaTextLineColorAction(MetaTextLineColorAction const &)=default
void SetColor(const Color &rColor)
Definition: metaact.hxx:1359
void SetText(const OUString &rStr)
Definition: metaact.hxx:623
DrawTextFlags GetStyle() const
Definition: metaact.hxx:621
MetaTextRectAction(MetaTextRectAction const &)=default
DrawTextFlags mnStyle
Definition: metaact.hxx:599
MetaTextRectAction(MetaTextRectAction &&)=default
const tools::Rectangle & GetRect() const
Definition: metaact.hxx:619
void SetRect(const tools::Rectangle &rRect)
Definition: metaact.hxx:622
tools::Rectangle maRect
Definition: metaact.hxx:597
void SetStyle(DrawTextFlags rStyle)
Definition: metaact.hxx:624
const OUString & GetText() const
Definition: metaact.hxx:620
sal_uInt16 GetTransparence() const
Definition: metaact.hxx:1565
sal_uInt16 mnTransPercent
Definition: metaact.hxx:1545
bool IsTransparent() const override
#i10613# Extracted from Printer::GetPreparedMetaFile.
Definition: metaact.hxx:1569
MetaTransparentAction(MetaTransparentAction &&)=default
MetaTransparentAction(MetaTransparentAction const &)=default
void SetTransparence(const sal_uInt16 nTransPercent)
Definition: metaact.hxx:1567
const tools::PolyPolygon & GetPolyPolygon() const
Definition: metaact.hxx:1564
tools::PolyPolygon maPolyPoly
Definition: metaact.hxx:1544
void SetPolyPolygon(const tools::PolyPolygon &rPolyPoly)
Definition: metaact.hxx:1566
MetaWallpaperAction(MetaWallpaperAction const &)=default
const Wallpaper & GetWallpaper() const
Definition: metaact.hxx:1113
void SetWallpaper(const Wallpaper &rWallpaper)
Definition: metaact.hxx:1114
tools::Rectangle maRect
Definition: metaact.hxx:1091
Wallpaper maWallpaper
Definition: metaact.hxx:1092
const tools::Rectangle & GetRect() const
Definition: metaact.hxx:1112
MetaWallpaperAction(MetaWallpaperAction &&)=default
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
Definition: outdev.hxx:170
oslInterlockedCount m_nCount
void operator=(SimpleReferenceObject) SAL_DELETED_FUNCTION
void SetAverageFontWidth(tools::Long nWidth)
Definition: font/font.cxx:910
#define VCL_DLLPUBLIC
Definition: dllapi.h:29
sal_Int16 nValue
FontLineStyle
FontStrikeout
FuncFlags mnFlags
MetaActionType
std::unique_ptr< sal_Int32[]> pData
css::uno::Reference< css::animations::XAnimationNode > Clone(const css::uno::Reference< css::animations::XAnimationNode > &xSourceNode, const SdPage *pSource=nullptr, const SdPage *pTarget=nullptr)
TextAlign
const ::avmedia::MediaItem * Execute(const SdrMarkView *pSdrView, SfxRequest const &rReq)
long Long
BitmapEx GetBitmapEx(BitmapEx const &rBitmapEx, DrawModeFlags nDrawMode)
Definition: drawmode.cxx:242
ComplexTextLayoutFlags
Definition: State.hxx:76
PushFlags
Definition: State.hxx:40
OUString maComment
sal_Int32 mnType
double mnWidth
static SfxItemSet & rSet
const double mnValue
rtl_TextEncoding meActualCharSet
Definition: metaact.hxx:55
rtl_TextEncoding meActualCharSet
Definition: metaact.hxx:66
sal_uInt32 mnIndex
unsigned char sal_uInt8