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