Mako 9.0.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
idombrush.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2007-2026 Hybrid Software Helix Ltd. All rights reserved.
3 */
4
5#ifndef EDLIDOMBRUSH_H
6#define EDLIDOMBRUSH_H
7
14
15#include <edl/edlnamespaces.h>
16#include <edl/idomnode.h>
17#include <edl/idomhashable.h>
18#include <edl/edlfwd.h>
20
21#include <edl/edltypes.h>
22#include <edl/idomnode.h>
23#include <edl/iedlenum.h>
24#include <edl/idomcolor.h>
25#include <edl/idomfunction.h>
27#include <edl/idomgroup.h>
28
30
53class IDOMBrush : public IEDLObject
54{
55 public:
77
82 virtual eBrushType getBrushType() const = 0;
83
93 virtual float getOpacity() const = 0;
94
99 virtual void setOpacity(float opc) = 0;
100
117 virtual IDOMBrushPtr getAdjustedForUseInTransformedNode(IEDLClassFactory *pFactory, const FMatrix &nodeTransform);
118};
119#define edlobj2IDOMBrush(src) edl_cast((IDOMBrush *)NULL, src)
120
121template <class T, IDOMBrush::eBrushType BT>
122static inline CSmartPtr<T> dom2BrushType(const IDOMBrushPtr &src)
123{
124 if (src && src->getBrushType() == BT)
125 {
126 return CSmartPtr<T>(static_cast<T *>((IDOMBrush *)src), true);
127 }
128 else
129 {
130 return CSmartPtr<T>();
131 }
132}
133
147{
148 public:
153 virtual const FMatrix &getRenderTransform() const = 0;
154
159 virtual void setRenderTransform(const FMatrix &matrix) = 0;
160};
161#define edlobj2IDOMTransformableBrush(src) edl_cast((IDOMTransformableBrush *)NULL, src)
162static inline IDOMTransformableBrushPtr dom2IDOMTransformableBrush(const IDOMBrushPtr &src)
163{
164 if (src)
165 {
166 switch (src->getBrushType())
167 {
169 case IDOMBrush::eNull:
170 return IDOMTransformableBrushPtr();
171 default:
172 return IDOMTransformableBrushPtr(static_cast<IDOMTransformableBrush *>((IDOMBrush *) src), true);
173 }
174 }
175 else
176 {
177 return nullptr;
178 }
179}
180
198{
199#define IDOMGradientStopClassID 0x5c788994, 0xc0bb4387, 0x96ff4086, 0x874b16db
200 public:
201
210 static EDL_API IDOMGradientStopPtr create(IEDLClassFactory *pFactory, const IDOMColorPtr &color, double offset);
211
216 class Data : public CClassParams
217 {
218 public:
219 double offset;
220 IDOMColorPtr color;
221 };
222
227 static const CClassID &classID()
228 {
230 return id;
231 };
232
238 virtual IDOMColorPtr getColor() const = 0;
239
244 virtual void setColor(const IDOMColorPtr &color) = 0;
245
250 virtual double getOffset() const = 0;
251
256 virtual void setOffset(double offset) = 0;
257
258};
259#define edlobj2IDOMGradientStop(src) edl_cast((IDOMGradientStop *)NULL, src)
261
262
270{
271#define IDOMSolidColorBrushClassID 0x9dc4c01e, 0x8fe545f7, 0xa51b15c6, 0xed751103
272 public:
273
282 static EDL_API IDOMSolidColorBrushPtr create(IEDLClassFactory *pFactory, const IDOMColorPtr &color, float opacity = 1.0f);
283
291 static IDOMSolidColorBrushPtr createSolidGray(IEDLClassFactory *pFactory, float gray = 0.0f)
292 {
293 return IDOMSolidColorBrush::create(pFactory, IDOMColor::createSolidGray(pFactory, gray));
294 }
295
305 static IDOMSolidColorBrushPtr createSolidRgb(IEDLClassFactory *pFactory, float r = 0.0f, float g = 0.0f, float b = 0.0f)
306 {
307 return IDOMSolidColorBrush::create(pFactory, IDOMColor::createSolidRgb(pFactory, r, g, b));
308 }
309
320 static IDOMSolidColorBrushPtr createSolidCmyk(IEDLClassFactory *pFactory, float c = 0.0f, float m = 0.0f, float y = 0.0f, float k = 0.0f)
321 {
322 return IDOMSolidColorBrush::create(pFactory, IDOMColor::createSolidCmyk(pFactory, c, m, y, k));
323 }
324
366 static EDL_API IDOMSolidColorBrushPtr createWithSpaceAndComponents(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &space, double opacity,
367 double component1, double component2 = 0.0, double component3 = 0.0, double component4 = 0.0, double component5 = 0.0,
368 double component6 = 0.0, double component7 = 0.0, double component8 = 0.0, double component9 = 0.0, double component10 = 0.0,
369 double component11 = 0.0, double component12 = 0.0, double component13 = 0.0, double component14 = 0.0, double component15 = 0.0,
370 double component16 = 0.0, double component17 = 0.0, double component18 = 0.0, double component19 = 0.0, double component20 = 0.0,
371 double component21 = 0.0, double component22 = 0.0, double component23 = 0.0, double component24 = 0.0, double component25 = 0.0,
372 double component26 = 0.0, double component27 = 0.0, double component28 = 0.0, double component29 = 0.0, double component30 = 0.0,
373 double component31 = 0.0, double component32 = 0.0
374 );
375
386 static EDL_API IDOMSolidColorBrushPtr createWithSpaceAndComponentsFromVect(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &space, float opacity, const CEDLVector<float> &components);
387
388#ifdef SWIG
389#if SWIGJAVA
390 %apply float[] { const float *components };
391#endif
392#if SWIGCSHARP
393 %apply float INPUT[] { const float *components };
394#endif
395#endif
406 static EDL_API IDOMSolidColorBrushPtr createWithSpaceAndComponentsFromArray(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &space, float opacity, const float *components);
407#ifdef SWIG
408 %clear const float *components;
409#endif
410
415 class Data : public CClassParams
416 {
417 public:
418 Data(): opacity(1.0)
419 {}
420 float opacity;
421 IDOMColorPtr color;
422 };
423
428 static const CClassID &classID()
429 {
431 return id;
432 };
433
438 virtual IDOMColorPtr getColor() const = 0;
439
444 virtual void setColor(const IDOMColorPtr &color) = 0;
445
446};
447#define edlobj2IDOMSolidColorBrush(src) edl_cast((IDOMSolidColorBrush *)NULL, src)
448#define dom2IDOMSolidColorBrush(src) dom2BrushType<IDOMSolidColorBrush, IDOMBrush::eSolidColor>(src)
449
450
461
474
482{
483 public:
493
503
512 virtual eSpreadMethod getSpreadMethod() const = 0;
513
521 virtual void setSpreadMethod(eSpreadMethod sm) = 0;
522
528 virtual void setGradientStops(const CDOMGradientStopVect &stops) = 0;
529
536 virtual const CDOMGradientStopVect &getGradientStops() const = 0;
537
543 virtual void addGradientStop(const IDOMGradientStopPtr &ptrGradientStop) = 0;
544
556 virtual void normalizeStops(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &ptrColorSpace = IDOMColorSpacePtr(),
558};
559#define edlobj2IDOMGradientBrush(src) edl_cast((IDOMGradientBrush *)NULL, src)
560static inline IDOMGradientBrushPtr dom2IDOMGradientBrush(const IDOMBrushPtr &src)
561{
562 if (src)
563 {
564 switch (src->getBrushType())
565 {
568 return IDOMGradientBrushPtr(static_cast<IDOMGradientBrush *>((IDOMBrush *)src), true);
569 default:
570 return IDOMGradientBrushPtr();
571 }
572 }
573 else
574 {
575 return IDOMGradientBrushPtr();
576 }
577}
578
585{
586#define IDOMLinearGradientBrushClassID 0x59493763, 0x87084cf5, 0x8033bfd1, 0x0740e0f2
587 public:
588
602 static EDL_API IDOMLinearGradientBrushPtr create(IEDLClassFactory *pFactory,
603 const FPoint &startPoint, const FPoint &endPoint,
604 const CDOMGradientStopVect &stops, float opacity = 1.0f,
605 const FMatrix &renderTransform = FMatrix(),
606 eSpreadMethod spreadMethod = eNoSpread,
607 eColorInterpolationMode colorInterpolationMode = eSRgbLinearInterpolation);
608
626
631 static const CClassID &classID()
632 {
634 return id;
635 };
636
641 virtual const FPoint &getStartPoint() const = 0;
642
647 virtual void setStartPoint(const FPoint &pt) = 0;
648
653 virtual const FPoint &getEndPoint() const = 0;
654
659 virtual void setEndPoint(const FPoint &pt) = 0;
660
678 virtual IDOMShadingPatternType2BrushPtr createShading(IEDLClassFactory *pFactory,
679 bool ignoreSpreadMethod,
680 bool useFirstStopColorSpace) = 0;
681
693 virtual IDOMBrushPtr createPdfBrush(IEDLClassFactory *pFactory, bool useFirstStopColorSpace = false) = 0;
694};
695#define edlobj2IDOMLinearGradientBrush(src) edl_cast((IDOMLinearGradientBrush *)NULL, src)
696#define dom2IDOMLinearGradientBrush(src) dom2BrushType<IDOMLinearGradientBrush, IDOMBrush::eLinearGradient>(src)
697
698
710{
711#define IDOMRadialGradientBrushClassID 0xfd36410b, 0x387f4656, 0x9c2c276f, 0xcba05c91
712 public:
713
729 static EDL_API IDOMRadialGradientBrushPtr create(IEDLClassFactory *pFactory,
730 const FPoint &center, const FPoint &gradientOrigin,
731 double radiusX, double radiusY,
732 const CDOMGradientStopVect &stops, float opacity = 1.0f,
733 const FMatrix &renderTransform = FMatrix(),
734 eSpreadMethod spreadMethod = eNoSpread,
735 eColorInterpolationMode colorInterpolationMode = eSRgbLinearInterpolation);
736
757
761 static const CClassID &classID()
762 {
764 return id;
765 };
766
767
772 virtual const FPoint &getCenter() const = 0;
773
778 virtual void setCenter(const FPoint &pt) = 0;
779
784 virtual const FPoint &getGradientOrigin() const = 0;
785
790 virtual void setGradientOrigin(const FPoint &pt) = 0;
791
796 virtual double getRadiusX() const = 0;
797
802 virtual void setRadiusX(double r) = 0;
803
808 virtual double getRadiusY() const = 0;
809
814 virtual void setRadiusY(double r) = 0;
815
828 virtual IDOMShadingPatternType3BrushPtr createShading(IEDLClassFactory *pFactory, const FRect &fillArea, bool useFirstStopColorSpace = false) = 0;
829
841 virtual IDOMRadialGradientBrushPtr getSimplifiedGradient(IEDLClassFactory *pFactory, const FRect &fillArea) = 0;
842
843};
844#define edlobj2IDOMRadialGradientBrush(src) edl_cast((IDOMRadialGradientBrush *)NULL, src)
845#define dom2IDOMRadialGradientBrush(src) dom2BrushType<IDOMRadialGradientBrush, IDOMBrush::eRadialGradient>(src)
846
847
853typedef enum
854{
856} eViewUnits;
857
873
874
884{
885#define IDOMImageBrushClassID 0xebe9f8fd, 0xc5c34d21, 0xae76465a, 0x4b4e64a0
886 public:
887
904 static EDL_API IDOMImageBrushPtr create(IEDLClassFactory *pFactory,
905 const IDOMImagePtr &image,
906 const FRect &viewBox, const FRect &viewPort,
907 const FMatrix &renderTransform = FMatrix(),
908 float opacity = 1.0f,
909 eTilingMode tileMode = eNoTile,
910 const CDOMAlternateImageVect &alternateImages = CDOMAlternateImageVect(),
911 const JawsMako::IOptionalContentDetailsPtr &optionalContentDetails = JawsMako::IOptionalContentDetailsPtr(),
912 const JawsMako::IPDFDictionaryPtr &propertiesDictionary = JawsMako::IPDFDictionaryPtr());
913
937
941 static const CClassID &classID()
942 {
944 return id;
945 };
946
952 virtual eTilingMode getTileMode() const = 0;
953
958 virtual void setTileMode(eTilingMode tm) = 0;
959
966 virtual eViewUnits getViewBoxUnits() const = 0;
967
974 virtual void setViewBoxUnits(eViewUnits vu) = 0;
975
982 virtual eViewUnits getViewPortUnits() const = 0;
983
990 virtual void setViewPortUnits(eViewUnits vu) = 0;
991
1003 virtual const FRect &getViewBox() const = 0;
1004
1015 virtual void setViewBox(const FRect &vb) = 0;
1016
1026 virtual const FRect &getViewPort() const = 0;
1027
1037 virtual void setViewPort(const FRect &vp) = 0;
1038
1043 virtual IDOMICCProfilePtr getICCProfile() const = 0;
1044
1049 virtual void setICCProfile(const IDOMICCProfilePtr &icc) = 0;
1050
1055 virtual IDOMImagePtr getImageSource() const = 0;
1056
1061 virtual void setImageSource(const IDOMImagePtr &ptrImageSource) = 0;
1062
1068
1073 virtual void setAlternateImages(const CDOMAlternateImageVect &alternates) = 0;
1074
1079 virtual JawsMako::IOptionalContentDetailsPtr getOptionalContentDetails() const = 0;
1080
1085 virtual void setOptionalContentDetails(const JawsMako::IOptionalContentDetailsPtr &details) = 0;
1086
1112 virtual JawsMako::IPDFDictionaryPtr getPdfPropertiesDictionary() const = 0;
1113
1120 virtual void setPdfPropertiesDictionary(const JawsMako::IPDFDictionaryPtr &propertiesDictionary) = 0;
1121
1129 virtual IDOMTilingPatternBrushPtr getEquivalentTilingBrush(IEDLClassFactory *pFactory) = 0;
1130
1141 virtual IDOMVisualBrushPtr getEquivalentVisualBrush(IEDLClassFactory *pFactory) = 0;
1142};
1143#define edlobj2IDOMImageBrush(src) edl_cast((IDOMImageBrush *)NULL, src)
1144static inline IDOMImageBrushPtr dom2IDOMImageBrush(const IDOMBrushPtr &src)
1145{
1146 if (src)
1147 {
1148 switch (src->getBrushType())
1149 {
1150 case IDOMBrush::eImage:
1151 case IDOMBrush::eMasked:
1152 return IDOMImageBrushPtr(static_cast<IDOMImageBrush *>((IDOMBrush *)src), true);
1153 default:
1154 return IDOMImageBrushPtr();
1155 }
1156 }
1157 else
1158 {
1159 return IDOMImageBrushPtr();
1160 }
1161}
1162
1174{
1175#define IDOMMaskedBrushClassID 0x8EC7F5C6, 0xC56049d1, 0x9E2864EB, 0x0E7A90A6
1176 public:
1177
1194 static EDL_API IDOMMaskedBrushPtr create(IEDLClassFactory *pFactory,
1195 const IDOMImagePtr &mask,
1196 const IDOMBrushPtr &brush,
1197 const FRect &viewBox, const FRect &viewPort,
1198 const FMatrix &renderTransform = FMatrix(),
1199 float opacity = 1.0f,
1200 const CDOMAlternateImageVect &alternateImages = CDOMAlternateImageVect(),
1201 const JawsMako::IOptionalContentDetailsPtr &optionalContentDetails =
1202 JawsMako::IOptionalContentDetailsPtr(),
1203 const JawsMako::IPDFDictionaryPtr &propertiesDictionary = JawsMako::IPDFDictionaryPtr());
1204
1227
1231 static const CClassID &classID()
1232 {
1234 return id;
1235 };
1236
1241 virtual IDOMBrushPtr getBrush () const = 0;
1242
1247 virtual void setBrush (const IDOMBrushPtr &brush) = 0;
1248
1256 virtual bool getIsSoftMask(IEDLClassFactory *pFactory) = 0;
1257
1270 virtual IDOMBrushPtr getEquivalentXPSBrush(IEDLClassFactory *pFactory, const FRect &enclosedBounds) = 0;
1271
1283 virtual IDOMImageBrushPtr getSimpleImageBrush(IEDLClassFactory *pFactory) = 0;
1284
1285};
1286#define edlobj2IDOMMaskedBrush(src) edl_cast((IDOMMaskedBrush *)NULL, src)
1287#define dom2IDOMMaskedBrush(src) dom2BrushType<IDOMMaskedBrush, IDOMBrush::eMasked>(src)
1288
1302{
1303#define IDOMVisualBrushClassID 0xa811d50a, 0xfebd4be7, 0xa3901ac9, 0x0bd52265
1304 public:
1305
1318 static EDL_API IDOMVisualBrushPtr create(IEDLClassFactory *pFactory,
1319 const IDOMNodePtr &visual,
1320 const FRect &viewBox, const FRect &viewPort,
1321 const FMatrix &renderTransform = FMatrix(),
1322 float opacity = 1.0f,
1323 eTilingMode tileMode = eNoTile);
1324
1344
1349 static const CClassID &classID()
1350 {
1352 return id;
1353 };
1354
1360 virtual eTilingMode getTileMode() const = 0;
1361
1367 virtual void setTileMode(eTilingMode tm) = 0;
1368
1375 virtual eViewUnits getViewBoxUnits() const = 0;
1376
1383 virtual void setViewBoxUnits(eViewUnits vu) = 0;
1384
1391 virtual eViewUnits getViewPortUnits() const = 0;
1392
1399 virtual void setViewPortUnits(eViewUnits vu) = 0;
1400
1412 virtual const FRect &getViewBox() const = 0;
1413
1424 virtual void setViewBox(const FRect &vb) = 0;
1425
1435 virtual const FRect &getViewPort() const = 0;
1436
1446 virtual void setViewPort(const FRect &vp) = 0;
1447
1452 virtual IDOMNodePtr getVisual() const = 0;
1453
1458 virtual void setVisual(const IDOMNodePtr &ptrVisual) = 0;
1459
1467 virtual IDOMTilingPatternBrushPtr getEquivalentTilingBrush(IEDLClassFactory *pFactory) = 0;
1468
1476 virtual IDOMVisualBrushPtr getEquivalentSimpleVisualBrush(IEDLClassFactory *pFactory) = 0;
1477};
1478
1479#define edlobj2IDOMVisualBrush(src) edl_cast((IDOMVisualBrush *)NULL, src)
1480#define dom2IDOMVisualBrush(src) dom2BrushType<IDOMVisualBrush, IDOMBrush::eVisual>(src)
1481
1482
1489{
1490#define IDOMVisualRootClassID 0x2309ff5c, 0x29c64c63, 0xbf58de4d, 0x7819ee02
1491 public:
1492
1497 static const CClassID &classID()
1498 {
1500 return id;
1501 }
1502
1503 /*
1504 * @brief Create a visual root node.
1505 * Throws an IEDLError on failure.
1506 * @param pFactory The factory to use.
1507 * @return @b IDOMVisualRootPtr The new visual root node.
1508 */
1509 static EDL_API IDOMVisualRootPtr create(IEDLClassFactory *pFactory);
1510
1511};
1512#define edlobj2IDOMVisualRoot(src) edl_cast((IDOMVisualRoot *)NULL, src)
1513
1514
1525{
1526#define IDOMSoftMaskBrushClassID 0x27315fbf, 0x8f3246a9, 0x929eb580, 0x13f7955d
1527 public:
1531 typedef enum
1532 {
1535 } eSoftMaskType;
1536
1549 static EDL_API IDOMSoftMaskBrushPtr create(IEDLClassFactory *pFactory,
1550 const IDOMTransparencyGroupPtr &group,
1551 eSoftMaskType type,
1552 const FMatrix &renderTransform = FMatrix(),
1553 const IDOMColorPtr &backdropColor = IDOMColorPtr(),
1554 const IDOMFunctionPtr &transfer = IDOMFunctionPtr());
1555
1567 static EDL_API IDOMSoftMaskBrushPtr createFromBrushOpacity(IEDLClassFactory *pFactory,
1568 const IDOMBrushPtr &opacityBrush,
1569 const FRect &bounds,
1570 const IDOMColorSpacePtr &graySpace = IDOMColorSpacePtr());
1571
1576 class Data : public CClassParams
1577 {
1578 public:
1580 {
1581 }
1583 float opacity;
1584 IDOMTransparencyGroupPtr group;
1585 IDOMColorPtr backdropColor;
1586 IDOMFunctionPtr transfer;
1588 };
1589
1594 static const CClassID &classID()
1595 {
1597 return id;
1598 };
1599
1604 virtual eSoftMaskType getSoftMaskType() const = 0;
1605
1610 virtual IDOMTransparencyGroupPtr getGroup() const = 0;
1611
1616 virtual IDOMColorPtr getBackdropColor() const = 0;
1617
1622 virtual IDOMFunctionPtr getTransferFunction() const = 0;
1623
1624};
1625
1626#define edlobj2IDOMSoftMaskBrush(src) edl_cast((IDOMSoftMaskBrush *)NULL, src)
1627#define dom2IDOMSoftMaskBrush(src) dom2BrushType<IDOMSoftMaskBrush, IDOMBrush::eSoftMask>(src)
1628
1629
1636{
1637#define IDOMTilingPatternBrushClassID 0xE987B191, 0x552840e1, 0xAFA8EC97, 0x2C6EE3DC
1638 public:
1639
1656 static EDL_API IDOMTilingPatternBrushPtr create(IEDLClassFactory *pFactory,
1657 const IDOMNodePtr &visual, const FRect &bBox,
1658 uint8 paintType, const IDOMColorPtr &color,
1659 float xStep, float yStep,
1660 uint8 tilingType = 1,
1661 const FMatrix &renderTransform = FMatrix());
1662
1667 class Data : public CClassParams
1668 {
1669 public:
1671 {
1672 opacity = 1.0f;
1673 paintType = 0;
1674 patternType = 1;
1675 tilingType = 1;
1676 opacity = 1.0f;
1677 bBox = FBox(0.0, 0.0, 1.0, 1.0);
1678 xstep = 1;
1679 ystep = 1;
1681 }
1682 float opacity;
1685 float xstep;
1686 float ystep;
1690
1691 /* for uncolored patterns, these are the color to use for the
1692 * specific invocation of setpattern
1693 */
1694 IDOMColorPtr patternColor;
1695
1696 IDOMNodePtr visual;
1697 };
1698
1703 static const CClassID &classID()
1704 {
1706 return id;
1707 };
1708
1713 virtual uint8 getPatternType () const = 0;
1714
1719 virtual const FBox &getBBox () const = 0;
1720
1725 virtual void setBBox (const FBox &bBox) = 0;
1726
1727#ifdef SWIG
1728 %apply float &OUTPUT { float &xstep };
1729 %apply float &OUTPUT { float &ystep };
1730#endif
1736 virtual void getTilingStep (float &xstep, float &ystep) const = 0;
1737#ifdef SWIG
1738 %clear float &xstep;
1739 %clear float &ystep;
1740#endif
1741
1747 virtual void setTilingStep (float xstep, float ystep) = 0;
1748
1753 virtual void setPaintType (uint8 paintType) = 0;
1754
1759 virtual uint8 getPaintType () const = 0;
1760
1765 virtual void setTilingType (uint8 tilingType) = 0;
1766
1771 virtual uint8 getTilingType () const = 0;
1772
1777 virtual void setPatternColor (const IDOMColorPtr &color) = 0;
1778
1783 virtual IDOMColorPtr getPatternColor () const = 0;
1784
1789 virtual IDOMNodePtr getVisual() const = 0;
1790
1795 virtual void setVisual(const IDOMNodePtr &ptrVisual) = 0;
1796
1804 virtual IDOMVisualBrushPtr getEquivalentVisualBrush(IEDLClassFactory *pFactory) = 0;
1805
1818 virtual IDOMTilingPatternBrushPtr getColoredTilingPatternBrush(IEDLClassFactory *pFactory,
1819 bool overprint = false) = 0;
1820
1821};
1822#define edlobj2IDOMTilingPatternBrush(src) edl_cast((IDOMTilingPatternBrush *)NULL, src)
1823#define dom2IDOMTilingPatternBrush(src) dom2BrushType<IDOMTilingPatternBrush, IDOMBrush::eTilingPattern>(src)
1824
1825
1832{
1833 public:
1834
1839 virtual uint8 getShadingType () const = 0;
1840
1846 virtual bool getBBox (FBox &bBox) const = 0;
1847
1852 virtual void setBBox (const FBox &bBox) = 0;
1853
1858 virtual void setBackgroundColor (const IDOMColorPtr &color) = 0;
1859
1866 virtual IDOMColorPtr getBackgroundColor () const = 0;
1867
1872 virtual void setColorSpace (const IDOMColorSpacePtr &colorSpace) = 0;
1873
1878 virtual IDOMColorSpacePtr getColorSpace () const = 0;
1879
1891 virtual void setColorSpace (IEDLClassFactory *pFactory, const IDOMColorSpacePtr &colorSpace, eRenderingIntent intent, eBlackPointCompensation bpc) = 0;
1892
1897 virtual void deIndex (IEDLClassFactory *pFactory) = 0;
1898
1903 virtual void setAntiAlias (bool antiAlias) = 0;
1904
1909 virtual bool getAntiAlias () const = 0;
1910
1915 virtual void setFunction (const IDOMFunctionPtr &function) = 0;
1916
1921 virtual IDOMFunctionPtr getFunction () const = 0;
1922
1923};
1924#define edlobj2IDOMShadingPatternBrush(src) edl_cast((IDOMShadingPatternBrush *)NULL, src)
1925static inline IDOMShadingPatternBrushPtr dom2IDOMShadingPatternBrush(const IDOMBrushPtr &src)
1926{
1927 if (src)
1928 {
1929 switch (src->getBrushType())
1930 {
1935 return IDOMShadingPatternBrushPtr(static_cast<IDOMShadingPatternBrush *>((IDOMBrush *)src), true);
1936 default:
1937 return IDOMShadingPatternBrushPtr();
1938 }
1939 }
1940 else
1941 {
1942 return IDOMShadingPatternBrushPtr();
1943 }
1944}
1945
1946
1952
1954{
1955#define IDOMShadingPatternType1BrushClassID 0x599BD13A, 0xB5B74368, 0xA728CDF8, 0x621F8CC0
1956 public:
1957
1958#ifdef SWIG
1959#if SWIGJAVA
1960 %apply float[] { float domain[4] };
1961#endif
1962#if SWIGCSHARP
1963 %apply float INPUT[] { float domain[4] };
1964#endif
1965#endif
1982 static EDL_API IDOMShadingPatternType1BrushPtr create(IEDLClassFactory *pFactory,
1983 const IDOMColorSpacePtr &colorSpace,
1984 float domain[4],
1985 const IDOMFunctionPtr &function,
1986 bool hasBBox = false,
1987 const FBox &bBox = FBox(),
1988 const IDOMColorPtr &background = IDOMColorPtr(),
1989 const FMatrix &matrix = FMatrix(),
1990 const FMatrix &renderTransform = FMatrix(),
1991 bool antiAlias = false,
1992 float opacity = 1.0f);
1993#ifdef SWIG
1994 %clear float domain[4];
1995#endif
1996
2001 class Data : public CClassParams
2002 {
2003 public:
2005 {
2006 opacity = 1.0f;
2007 shadingType = 1;
2008 antiAlias = false;
2009 hasBBox = false;
2010
2011 bBox = FBox();
2012
2013 domain [0] = 0.0;
2014 domain [1] = 1.0;
2015 domain [2] = 0.0;
2016 domain [3] = 1.0;
2017
2018 function = NULL;
2019 }
2020
2021 /* common to all shading types */
2022 float opacity;
2027 IDOMColorSpacePtr colorSpace;
2028 IDOMColorPtr background;
2030
2031
2032 /* type 1 info */
2033 float domain [4];
2035 IDOMFunctionPtr function;
2036 };
2037
2042 static const CClassID &classID()
2043 {
2045 return id;
2046 };
2047
2048#ifdef SWIG
2049#if SWIGJAVA
2050 %apply float[] { float domain[4] };
2051#endif
2052#if SWIGCSHARP
2053 %apply float INPUT[] { float domain[4] };
2054#endif
2055#endif
2060 virtual void setDomain (float domain[4]) = 0;
2061#ifdef SWIG
2062 %clear float domain[4];
2063#endif
2064
2069 virtual const float *getDomain () const = 0;
2070
2075 virtual void setMatrix (const FMatrix &matrix) = 0;
2076
2081 virtual const FMatrix &getMatrix () = 0;
2082};
2083#define edlobj2IDOMShadingPatternType1Brush(src) edl_cast((IDOMShadingPatternType1Brush *)NULL, src)
2084#define dom2IDOMShadingPatternType1Brush(src) dom2BrushType<IDOMShadingPatternType1Brush, IDOMBrush::eType1ShadingPattern>(src)
2085
2086
2093{
2094#define IDOMShadingPatternType2BrushClassID 0xDDD7C873, 0x2C0045b6, 0xB67E54BE, 0x04AD6190
2095 public:
2096
2097#ifdef SWIG
2098#if SWIGJAVA
2099 %apply float[] { float domain[2] };
2100#endif
2101#if SWIGCSHARP
2102 %apply float INPUT[] { float domain[2] };
2103#endif
2104#endif
2124 static EDL_API IDOMShadingPatternType2BrushPtr create(IEDLClassFactory *pFactory,
2125 const FPoint &startPoint,
2126 const FPoint &endPoint,
2127 const IDOMColorSpacePtr &colorSpace,
2128 float domain[2],
2129 const IDOMFunctionPtr &function,
2130 bool extendStart = false,
2131 bool extendEnd = false,
2132 bool hasBBox = false,
2133 const FBox &bBox = FBox(),
2134 const IDOMColorPtr &background = IDOMColorPtr(),
2135 const FMatrix &renderTransform = FMatrix(),
2136 bool antiAlias = false,
2137 float opacity = 1.0f);
2138#ifdef SWIG
2139 %clear float domain[2];
2140#endif
2141
2146 class Data : public CClassParams
2147 {
2148 public:
2150 {
2151 opacity = 1.0f;
2152 shadingType = 2;
2153 antiAlias = false;
2154 hasBBox = false;
2155
2156 bBox = FBox();
2157
2158 startPoint = FPoint();
2159 endPoint = FPoint();
2160
2161 domain [0] = 0.0;
2162 domain [1] = 1.0;
2163
2164 function = NULL;
2165
2166 extend [0] = false;
2167 extend [1] = false;
2168 }
2169
2170 /* common to all shading types */
2171 float opacity;
2176 IDOMColorSpacePtr colorSpace;
2177 IDOMColorPtr background;
2179
2180 /* type 2 info */
2183 float domain [2];
2184 IDOMFunctionPtr function;
2185 bool extend [2];
2186 };
2187
2192 static const CClassID &classID()
2193 {
2195 return id;
2196 };
2197
2198#ifdef SWIG
2199#if SWIGJAVA
2200 %apply float[] { float domain[2] };
2201#endif
2202#if SWIGCSHARP
2203 %apply float INPUT[] { float domain[2] };
2204#endif
2205#endif
2210 virtual void setDomain (float domain[2]) = 0;
2211#ifdef SWIG
2212 %clear float domain[2];
2213#endif
2214
2219 virtual const float *getDomain () const = 0;
2220
2225 virtual void setStartPoint (const FPoint &point) = 0;
2226
2231 virtual const FPoint &getStartPoint () const = 0;
2232
2237 virtual void setEndPoint (const FPoint &point) = 0;
2238
2243 virtual const FPoint &getEndPoint () const = 0;
2244
2251 virtual void setExtend (bool extendStart, bool extendEnd) = 0;
2252
2253#ifdef SWIG
2254 %apply bool &OUTPUT { bool &extendStart };
2255 %apply bool &OUTPUT { bool &extendEnd };
2256#endif
2263 virtual void getExtend (bool &extendStart, bool &extendEnd) const = 0;
2264#ifdef SWIG
2265 %clear bool &extendStart;
2266 %clear bool &extendEnd;
2267#endif
2268
2280 virtual IDOMBrushPtr getEquivalentSimpleBrush(IEDLClassFactory *pFactory, uint32 maxSamples = 255) = 0;
2281};
2282
2283#define edlobj2IDOMShadingPatternType2Brush(src) edl_cast((IDOMShadingPatternType2Brush *)NULL, src)
2284#define dom2IDOMShadingPatternType2Brush(src) dom2BrushType<IDOMShadingPatternType2Brush, IDOMBrush::eType2ShadingPattern>(src)
2285
2286
2292
2294{
2295#define IDOMShadingPatternType3BrushClassID 0x383008FE, 0xB7D64314, 0x9B715287, 0xA57ACBDA
2296 public:
2297
2298#ifdef SWIG
2299#if SWIGJAVA
2300 %apply float[] { float domain[2] };
2301#endif
2302#if SWIGCSHARP
2303 %apply float INPUT[] { float domain[2] };
2304#endif
2305#endif
2327 static EDL_API IDOMShadingPatternType3BrushPtr create(IEDLClassFactory *pFactory,
2328 const FPoint &startCircleCenter,
2329 float startCircleRadius,
2330 const FPoint &endCircleCenter,
2331 float endCircleRadius,
2332 const IDOMColorSpacePtr &colorSpace,
2333 float domain[2],
2334 const IDOMFunctionPtr &function,
2335 bool extendStart = false,
2336 bool extendEnd = false,
2337 bool hasBBox = false,
2338 const FBox &bBox = FBox(),
2339 const IDOMColorPtr &background = IDOMColorPtr(),
2340 const FMatrix &renderTransform = FMatrix(),
2341 bool antiAlias = false,
2342 float opacity = 1.0f);
2343#ifdef SWIG
2344 %clear float domain[2];
2345#endif
2350 class Data : public CClassParams
2351 {
2352 public:
2354 {
2355 opacity = 1.0f;
2356 shadingType = 3;
2357 antiAlias = false;
2358 hasBBox = false;
2359
2360 bBox = FBox();
2361
2363 startCircleRadius = 0.0f;
2365 endCircleRadius = 0.0f;
2366
2367 domain [0] = 0.0;
2368 domain [1] = 1.0;
2369
2370 function = NULL;
2371
2372 extend [0] = false;
2373 extend [1] = false;
2374 }
2375
2376 /* common to all shading types */
2377 float opacity;
2382 IDOMColorSpacePtr colorSpace;
2383 IDOMColorPtr background;
2385
2386
2387 /* type 3 info */
2392 float domain [2];
2393 IDOMFunctionPtr function;
2394 bool extend [2];
2395 };
2396
2401 static const CClassID &classID()
2402 {
2404 return id;
2405 };
2406
2407#ifdef SWIG
2408#if SWIGJAVA
2409 %apply float[] { float domain[2] };
2410#endif
2411#if SWIGCSHARP
2412 %apply float INPUT[] { float domain[2] };
2413#endif
2414#endif
2419 virtual void setDomain (float domain[2]) = 0;
2420#ifdef SWIG
2421 %clear float domain[2];
2422#endif
2423
2428 virtual const float *getDomain () const = 0;
2429
2434 virtual void setStartCircleCenter (const FPoint &point) = 0;
2435
2440 virtual const FPoint &getStartCircleCenter () const = 0;
2441
2446 virtual void setStartCircleRadius(float radius) = 0;
2447
2452 virtual float getStartCircleRadius() const = 0;
2453
2458 virtual void setEndCircleCenter (const FPoint &point) = 0;
2459
2464 virtual const FPoint &getEndCircleCenter () const = 0;
2465
2470 virtual void setEndCircleRadius(float radius) = 0;
2471
2476 virtual float getEndCircleRadius() const = 0;
2477
2484 virtual void setExtend (bool extendStart, bool extendEnd) = 0;
2485
2486#ifdef SWIG
2487 %apply bool &OUTPUT { bool &extendStart };
2488 %apply bool &OUTPUT { bool &extendEnd };
2489#endif
2496 virtual void getExtend (bool &extendStart, bool &extendEnd) const = 0;
2497#ifdef SWIG
2498 %clear bool &extendStart;
2499 %clear bool &extendEnd;
2500#endif
2501
2514 virtual IDOMBrushPtr getEquivalentSimpleBrush(IEDLClassFactory *pFactory, uint32 maxSamples = 255) = 0;
2515};
2516
2517#define edlobj2IDOMShadingPatternType3Brush(src) edl_cast((IDOMShadingPatternType3Brush *)NULL, src)
2518#define dom2IDOMShadingPatternType3Brush(src) dom2BrushType<IDOMShadingPatternType3Brush, IDOMBrush::eType3ShadingPattern>(src)
2519
2520
2526
2528{
2529#define IDOMShadingPatternType4567BrushClassID 0x7204F554, 0x95984d30, 0xA090074B, 0xC03337EE
2530 public:
2531
2555 static EDL_API IDOMShadingPatternType4567BrushPtr create(IEDLClassFactory *pFactory,
2556 uint8 shadingType,
2557 const IDOMColorSpacePtr &colorSpace,
2558 const JawsMako::IPDFStringPtr &dataSource,
2559 const uint8 bitsPerCoordinate = 0,
2560 const uint8 bitsPerComponent = 0,
2561 const uint8 bitsPerFlag = 0,
2562 const int32 verticesPerRow = 0,
2563 const CEDLVector<float> &decode = CEDLVector<float>(),
2564 const IDOMFunctionPtr &function = IDOMFunctionPtr(),
2565 bool hasBBox = false,
2566 const FBox &bBox = FBox(),
2567 const IDOMColorPtr &background = IDOMColorPtr(),
2568 const FMatrix &renderTransform = FMatrix(),
2569 bool antiAlias = false,
2570 float opacity = 1.0f);
2571
2579 {
2580 public:
2590
2591 bool operator== (const CMeshEntry &other) const
2592 {
2593 return (other.flag == flag)
2594 && (other.points == points)
2595 && (other.colors == colors);
2596 }
2597
2598 bool operator!= (const CMeshEntry &other) const
2599 {
2600 return ! (*this == other);
2601 }
2602 };
2604
2632 static EDL_API IDOMShadingPatternType4567BrushPtr create(IEDLClassFactory *pFactory,
2633 uint8 shadingType,
2634 const IDOMColorSpacePtr &colorSpace,
2635 const IDOMFunctionPtr &function,
2636 const CMeshEntryVect &meshEntries,
2637 const uint8 bitsPerCoordinate = 16,
2638 const uint8 bitsPerComponent = 8,
2639 const uint8 bitsPerFlag = 8,
2640 const int32 verticesPerRow = 0,
2641 const CEDLVector<float> &decode = CEDLVector<float>(),
2642 bool hasBBox = false,
2643 const FBox &bBox = FBox(),
2644 const IDOMColorPtr &background = IDOMColorPtr(),
2645 const FMatrix &renderTransform = FMatrix(),
2646 bool antiAlias = false,
2647 float opacity = 1.0f);
2648
2653 class Data : public CClassParams
2654 {
2655 public:
2657 {
2658 opacity = 1.0f;
2659 shadingType = 4;
2660 antiAlias = false;
2661 hasBBox = false;
2662
2663 bBox = FBox();
2664
2666 bitsPerFlag = 0;
2667 bitsPerComponent = 0;
2668 verticesPerRow = 0;
2669 decode.resize(0);
2670 function = NULL;
2671 dataSource = NULL;
2672 }
2673
2674 virtual ~Data()
2675 {
2676 }
2677
2678 /* common to all shading types */
2679 float opacity;
2684 IDOMColorSpacePtr colorSpace;
2685 IDOMColorPtr background;
2687
2688 /* type 4, 5, 6, 7 info */
2693 JawsMako::IPDFStringPtr dataSource;
2695 IDOMFunctionPtr function;
2696 };
2697
2702 static const CClassID &classID()
2703 {
2705 return id;
2706 };
2707
2712 virtual void setShadingType (uint8 shadingType) = 0;
2713
2718 virtual void setDataSource (const JawsMako::IPDFStringPtr &dataSource) = 0;
2719
2724 virtual JawsMako::IPDFStringPtr getDataSource () const = 0;
2725
2730 virtual void setBitsPerCoordinate (uint8 bitsPerCoordinate) = 0;
2731
2736 virtual uint8 getBitsPerCoordinate () const = 0;
2737
2742 virtual void setBitsPerComponent (uint8 bitsPerComponent) = 0;
2743
2748 virtual uint8 getBitsPerComponent () const = 0;
2749
2754 virtual void setBitsPerFlag (uint8 bitsPerFlag) = 0;
2755
2760 virtual uint8 getBitsPerFlag () const = 0;
2761
2766 virtual void setVerticesPerRow (int32 verticesPerRow) = 0;
2767
2772 virtual int32 getVerticesPerRow () const = 0;
2773
2778 virtual void setDecode (const CEDLVector<float> &decode) = 0;
2779
2784 virtual const CEDLVector<float> &getDecode () const = 0;
2785
2791 virtual CMeshEntryVect getMeshEntries() const = 0;
2792
2798 virtual void setMeshEntries(const CMeshEntryVect &meshEntries) = 0;
2799};
2800#define edlobj2IDOMShadingPatternType4567Brush(src) edl_cast((IDOMShadingPatternType4567Brush *)NULL, src)
2801#define dom2IDOMShadingPatternType4567Brush(src) dom2BrushType<IDOMShadingPatternType4567Brush, IDOMBrush::eType4567ShadingPattern>(src)
2802
2810
2812{
2813#define IDOMNullBrushClassID 0x98F3706B, 0x403E4a41, 0xA975A9B6, 0xD52C99CC
2814 public:
2815
2822 static EDL_API IDOMNullBrushPtr create(IEDLClassFactory *pFactory);
2823
2828 class Data : public CClassParams
2829 {
2830 public:
2832 {}
2833 float opacity;
2834 };
2835
2840 static const CClassID &classID()
2841 {
2842 static CClassID id(IDOMNullBrushClassID);
2843 return id;
2844 };
2845};
2846#define edlobj2IDOMNullBrush(src) edl_cast((IDOMNullBrush *)NULL, src)
2847#define dom2IDOMNullBrush(src) dom2BrushType<IDOMNullBrush, IDOMBrush::eNull>(src)
2848
2850
2851
2852#endif /* EDLIDOMBRUSH_H */
2853
An object to represent a 128-bit globally unique ID.
Definition objclassid.h:29
EDL Object Interface.
Definition iedlobject.h:31
Definition edlvector.h:30
Interface to the brush element.
Definition idombrush.h:54
virtual void setOpacity(float opc)=0
Sets the opacity value of a brush element.
virtual float getOpacity() const =0
Retrieves the opacity value of the brush element.
virtual IDOMBrushPtr getAdjustedForUseInTransformedNode(IEDLClassFactory *pFactory, const FMatrix &nodeTransform)
Get a version of this brush adjusted for use inside a node with the given transform.
virtual eBrushType getBrushType() const =0
Retrieves the type of the brush.
@ eType4567ShadingPattern
Type 4, 5, 6 or 7 shading pattern brush.
Definition idombrush.h:74
@ eImage
Image brush.
Definition idombrush.h:66
@ eVisual
Visual brush.
Definition idombrush.h:68
@ eTilingPattern
Tiling pattern brush.
Definition idombrush.h:70
@ eLinearGradient
Linear gradient brush.
Definition idombrush.h:64
@ eType2ShadingPattern
Type 2 shading pattern brush.
Definition idombrush.h:72
@ eSolidColor
Solid color brush.
Definition idombrush.h:63
@ eMasked
Masked brush.
Definition idombrush.h:67
@ eSoftMask
Softmask brush.
Definition idombrush.h:69
@ eRadialGradient
Radial gradient brush.
Definition idombrush.h:65
@ eType3ShadingPattern
Type 3 shading pattern brush.
Definition idombrush.h:73
@ eNull
Null brush.
Definition idombrush.h:75
@ eType1ShadingPattern
Type 1 shading pattern brush.
Definition idombrush.h:71
static IDOMColorPtr createSolidGray(IEDLClassFactory *pFactory, float gray=0.0f)
Simplified color creation for DeviceGray colors. Default parameters will yield an opaque DeviceGray b...
Definition idomcolor.h:54
static IDOMColorPtr createSolidCmyk(IEDLClassFactory *pFactory, float c=0.0f, float m=0.0f, float y=0.0f, float k=0.0f)
Simplified color creation for DeviceCMYK colors. Default parameters will yield an opaque DeviceCMYK w...
Definition idomcolor.h:83
static IDOMColorPtr createSolidRgb(IEDLClassFactory *pFactory, float r=0.0f, float g=0.0f, float b=0.0f)
Simplified color creation for DeviceRGB colors. Default parameters will yield an opaque DeviceRGB bla...
Definition idomcolor.h:68
A common interface for both IDOMLinearGradient and IDOMRadialGradient. Provides straightforward acces...
Definition idombrush.h:482
virtual void setGradientStops(const CDOMGradientStopVect &stops)=0
Set the vector of stops in this gradient. Must not be empty.
virtual eSpreadMethod getSpreadMethod() const =0
Retrieves the spread method value of the RadialGradientBrush element.
virtual void setColorInterpolationMode(eColorInterpolationMode cim)=0
Sets the color interpolation mode value of the radial gradient brush.
virtual void addGradientStop(const IDOMGradientStopPtr &ptrGradientStop)=0
Append a gradient stop.
virtual const CDOMGradientStopVect & getGradientStops() const =0
Retrieves the vector of stops in this gradient. An exception will be thrown if the gradient has no st...
virtual eColorInterpolationMode getColorInterpolationMode() const =0
Retrieves the color interpolation mode value of the radial gradient brush.
virtual void setSpreadMethod(eSpreadMethod sm)=0
Sets spread method value of the RadialGradientBrush element.
virtual void normalizeStops(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &ptrColorSpace=IDOMColorSpacePtr(), eRenderingIntent intent=eRelativeColorimetric, eBlackPointCompensation bpc=eBPCDefault)=0
Normalize the gradient stops to a single color space, sort them and ensure there are stops at 0....
Initialization data.
Definition idombrush.h:217
double offset
Definition idombrush.h:219
IDOMColorPtr color
Definition idombrush.h:220
IDOMGradientStop defines the ramp of colors to use on a gradient.
Definition idombrush.h:198
virtual void setColor(const IDOMColorPtr &color)=0
Sets the color value of the gradient stop.
static EDL_API IDOMGradientStopPtr create(IEDLClassFactory *pFactory, const IDOMColorPtr &color, double offset)
Simplified gradient stop creation. Throws an IEDLError on failure.
virtual void setOffset(double offset)=0
Sets the offset value of the gradient stop.
virtual IDOMColorPtr getColor() const =0
Retrieves the color value of the gradient stop. Never returns NULL.
static const CClassID & classID()
Retrieves class id of IDOMGradientStop.
Definition idombrush.h:227
virtual double getOffset() const =0
Retrieves the offset value of the gradient stop.
Abstract interface for objects that can be hashed.
Definition idomhashable.h:28
FRect viewBox
Definition idombrush.h:925
eViewUnits viewBoxUnits
Definition idombrush.h:928
FMatrix renderTransform
Definition idombrush.h:932
eTilingMode tileMode
Definition idombrush.h:927
IDOMImagePtr ptrImageSource
Definition idombrush.h:930
JawsMako::IOptionalContentDetailsPtr optionalContentDetails
Definition idombrush.h:933
Data()
Definition idombrush.h:921
CDOMAlternateImageVect alternateImages
Definition idombrush.h:934
JawsMako::IPDFDictionaryPtr propertiesDictionary
Definition idombrush.h:935
eViewUnits viewPortUnits
Definition idombrush.h:929
IDOMICCProfilePtr ptrICCProfile
Definition idombrush.h:931
float opacity
Definition idombrush.h:924
FRect viewPort
Definition idombrush.h:926
Provides an interface to a DOM image brush object.
Definition idombrush.h:884
virtual IDOMICCProfilePtr getICCProfile() const =0
Retrieves the external ICC profile of the brush if present.
virtual IDOMImagePtr getImageSource() const =0
Retrieves a smart pointer to the image resource.
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idombrush.h:941
virtual JawsMako::IPDFDictionaryPtr getPdfPropertiesDictionary() const =0
Get the dictionary containing PDF properties attached to the image object. This dictionary will be as...
virtual eViewUnits getViewPortUnits() const =0
Retrieves the viewport units value of the image brush. Currently, only absolute units are supported.
virtual eViewUnits getViewBoxUnits() const =0
Retrieves the viewbox units used by the image brush. Currently, only absolute units are supported.
virtual void setViewBox(const FRect &vb)=0
Sets the viewbox rectangle.
virtual void setPdfPropertiesDictionary(const JawsMako::IPDFDictionaryPtr &propertiesDictionary)=0
Set the dictionary containing PDF properties attached to the image object. Please see getPdfPropertie...
virtual eTilingMode getTileMode() const =0
Retrieves the tiling mode value of the image brush.
static EDL_API IDOMImageBrushPtr create(IEDLClassFactory *pFactory, const IDOMImagePtr &image, const FRect &viewBox, const FRect &viewPort, const FMatrix &renderTransform=FMatrix(), float opacity=1.0f, eTilingMode tileMode=eNoTile, const CDOMAlternateImageVect &alternateImages=CDOMAlternateImageVect(), const JawsMako::IOptionalContentDetailsPtr &optionalContentDetails=JawsMako::IOptionalContentDetailsPtr(), const JawsMako::IPDFDictionaryPtr &propertiesDictionary=JawsMako::IPDFDictionaryPtr())
Simplified creator for an image brush. Throws an IEDLError on failure.
virtual IDOMVisualBrushPtr getEquivalentVisualBrush(IEDLClassFactory *pFactory)=0
For tiled images, returns an equivalent visual brush containing the image without tiling....
virtual JawsMako::IOptionalContentDetailsPtr getOptionalContentDetails() const =0
Returns any optional content information that applies to this brush.
virtual CDOMAlternateImageVect getAlternateImages() const =0
Retrieves any alternate images associated with this brush.
virtual const FRect & getViewBox() const =0
Retrieves the viewbox rectangle.
virtual void setViewPortUnits(eViewUnits vu)=0
Sets the viewport units used for the image brush. Currently, only absolute units are supported.
virtual IDOMTilingPatternBrushPtr getEquivalentTilingBrush(IEDLClassFactory *pFactory)=0
Gets an equivalent IDOMTilingPattern brush. If the receiver has a tile mode of eNoTile,...
virtual const FRect & getViewPort() const =0
Retrieves the viewport rectangle.
virtual void setAlternateImages(const CDOMAlternateImageVect &alternates)=0
Set the alternate images associated with this brush.
virtual void setImageSource(const IDOMImagePtr &ptrImageSource)=0
Sets the image resource for the brush.
virtual void setOptionalContentDetails(const JawsMako::IOptionalContentDetailsPtr &details)=0
Set the optional content details that apply to this brush, or NULL to remove.
virtual void setTileMode(eTilingMode tm)=0
Sets the tiling mode of the image brush.
virtual void setICCProfile(const IDOMICCProfilePtr &icc)=0
Retrieves the external ICC profile of the brush if present.
virtual void setViewPort(const FRect &vp)=0
Sets the viewport rectangle.
virtual void setViewBoxUnits(eViewUnits vu)=0
Sets the viewbox units value of the image brush. Currently, only absolute units are supported.
FPoint endPoint
Definition idombrush.h:620
eColorInterpolationMode colorInterpolationMode
Definition idombrush.h:622
eSpreadMethod spreadMethod
Definition idombrush.h:623
float opacity
Definition idombrush.h:618
FPoint startPoint
Definition idombrush.h:619
FMatrix renderTransform
Definition idombrush.h:624
CDOMGradientStopVect stops
Definition idombrush.h:621
Data()
Definition idombrush.h:616
IDOMLinearGradientBrush interface. A linear gradient brush is used to specify a gradient along a vect...
Definition idombrush.h:585
static EDL_API IDOMLinearGradientBrushPtr create(IEDLClassFactory *pFactory, const FPoint &startPoint, const FPoint &endPoint, const CDOMGradientStopVect &stops, float opacity=1.0f, const FMatrix &renderTransform=FMatrix(), eSpreadMethod spreadMethod=eNoSpread, eColorInterpolationMode colorInterpolationMode=eSRgbLinearInterpolation)
Simplified linear gradient brush creation. Throws an IEDLError on failure.
virtual const FPoint & getStartPoint() const =0
Retrieves the start point of the linear gradient.
virtual const FPoint & getEndPoint() const =0
Retrieves the end point of the linear gradient.
virtual IDOMShadingPatternType2BrushPtr createShading(IEDLClassFactory *pFactory, bool ignoreSpreadMethod, bool useFirstStopColorSpace)=0
Create a Type2 Shading Pattern brush from this linear brush. Repeat and reflect spread methods cannot...
virtual IDOMBrushPtr createPdfBrush(IEDLClassFactory *pFactory, bool useFirstStopColorSpace=false)=0
Create a PDF-compatible brush for this gradient. If the pad mode is reflect, the result will be a sha...
virtual void setStartPoint(const FPoint &pt)=0
Sets the start point of the linear gradient.
virtual void setEndPoint(const FPoint &pt)=0
Sets the end point of the linear gradient.
static const CClassID & classID()
Retrieves class id of IDOMLinearGradientBrush.
Definition idombrush.h:631
CDOMAlternateImageVect alternateImages
Definition idombrush.h:1224
JawsMako::IPDFDictionaryPtr propertiesDictionary
Definition idombrush.h:1225
FMatrix renderTransform
Definition idombrush.h:1222
FRect viewPort
Definition idombrush.h:1217
eViewUnits viewPortUnits
Definition idombrush.h:1219
JawsMako::IOptionalContentDetailsPtr optionalContentDetails
Definition idombrush.h:1223
float opacity
Definition idombrush.h:1215
IDOMBrushPtr brush
Definition idombrush.h:1221
Data()
Definition idombrush.h:1212
IDOMImagePtr imageMask
Definition idombrush.h:1220
FRect viewBox
Definition idombrush.h:1216
eViewUnits viewBoxUnits
Definition idombrush.h:1218
IDOMMaskedBrush interface, this describes a generalization of a masked image. The sub-brush (set by g...
Definition idombrush.h:1174
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idombrush.h:1231
static EDL_API IDOMMaskedBrushPtr create(IEDLClassFactory *pFactory, const IDOMImagePtr &mask, const IDOMBrushPtr &brush, const FRect &viewBox, const FRect &viewPort, const FMatrix &renderTransform=FMatrix(), float opacity=1.0f, const CDOMAlternateImageVect &alternateImages=CDOMAlternateImageVect(), const JawsMako::IOptionalContentDetailsPtr &optionalContentDetails=JawsMako::IOptionalContentDetailsPtr(), const JawsMako::IPDFDictionaryPtr &propertiesDictionary=JawsMako::IPDFDictionaryPtr())
Simplified creator for a masked brush. Throws an IEDLError on failure.
virtual void setBrush(const IDOMBrushPtr &brush)=0
Sets brush.
virtual bool getIsSoftMask(IEDLClassFactory *pFactory)=0
Is the mask a soft mask? That is, is the mask not a single bit image? An outright error will result i...
virtual IDOMBrushPtr getEquivalentXPSBrush(IEDLClassFactory *pFactory, const FRect &enclosedBounds)=0
Gets an equivalent image or visual brush that can be used to express this masked brush in XPS compati...
virtual IDOMImageBrushPtr getSimpleImageBrush(IEDLClassFactory *pFactory)=0
Attempts to create a single IDOMImageBrush that represents the masked result. This can be achieved if...
virtual IDOMBrushPtr getBrush() const =0
Retrieves smart pointer to the brush to be painted through the image.
Abstract class providing the interface to basic DOM node functionality. IDOMNode is the base class fo...
Definition idomnode.h:139
Data()
Definition idombrush.h:2831
float opacity
Definition idombrush.h:2833
IDOMNullBrush provides a way of representing the default marking brush in a Type3 postscript glyph de...
Definition idombrush.h:2812
static EDL_API IDOMNullBrushPtr create(IEDLClassFactory *pFactory)
Simplified creator for a Null brush. Throws an IEDLError on failure.
static const CClassID & classID()
Retrieves class id of IDOMNullBrush.
Definition idombrush.h:2840
eColorInterpolationMode colorInterpolationMode
Definition idombrush.h:748
Data()
Definition idombrush.h:744
FPoint gradientOrigin
Definition idombrush.h:751
FMatrix renderTransform
Definition idombrush.h:755
double radiusX
Definition idombrush.h:752
CDOMGradientStopVect stops
Definition idombrush.h:754
FPoint center
Definition idombrush.h:750
eSpreadMethod spreadMethod
Definition idombrush.h:749
float opacity
Definition idombrush.h:747
double radiusY
Definition idombrush.h:753
IDOMRadialGradientBrush interface. A radial gradient brush defines an ellipse to be filled with the g...
Definition idombrush.h:710
virtual void setCenter(const FPoint &pt)=0
Sets the center point of the gradient brush ellipse.
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idombrush.h:761
virtual const FPoint & getCenter() const =0
Retrieves the center point of the gradient brush ellipse.
virtual void setGradientOrigin(const FPoint &pt)=0
Sets the origin point of the radial gradient, corresponding to the gradient stop with an offset of 0....
virtual void setRadiusY(double r)=0
Sets the y-radius of the gradient brush ellipse.
virtual const FPoint & getGradientOrigin() const =0
Retrieves the origin point of the radial gradient, corresponding to the gradient stop with an offset ...
static EDL_API IDOMRadialGradientBrushPtr create(IEDLClassFactory *pFactory, const FPoint &center, const FPoint &gradientOrigin, double radiusX, double radiusY, const CDOMGradientStopVect &stops, float opacity=1.0f, const FMatrix &renderTransform=FMatrix(), eSpreadMethod spreadMethod=eNoSpread, eColorInterpolationMode colorInterpolationMode=eSRgbLinearInterpolation)
Simplified radial gradient brush creation. Throws an IEDLError on failure.
virtual IDOMRadialGradientBrushPtr getSimplifiedGradient(IEDLClassFactory *pFactory, const FRect &fillArea)=0
Create a simplified radial gradient brush, where any repeat or reflect pad mode is converted to simpl...
virtual void setRadiusX(double r)=0
Sets the x-radius of the gradient brush ellipse.
virtual double getRadiusX() const =0
Retrieves the x-radius of the gradient brush ellipse.
virtual double getRadiusY() const =0
Retrieves the y-radius of the gradient brush ellipse.
virtual IDOMShadingPatternType3BrushPtr createShading(IEDLClassFactory *pFactory, const FRect &fillArea, bool useFirstStopColorSpace=false)=0
Create a Type3 Shading Pattern brush from this radial brush. All alpha information in the gradient st...
IDOMShadingBrush provides a way of representing a PS style shading pattern.
Definition idombrush.h:1832
virtual void setAntiAlias(bool antiAlias)=0
Sets anti aliasing flag.
virtual uint8 getShadingType() const =0
Retrieves the shading type.
virtual void setColorSpace(const IDOMColorSpacePtr &colorSpace)=0
Sets the colorspace to use for painting the shade.
virtual void deIndex(IEDLClassFactory *pFactory)=0
If the shading brush uses an Indexed color space, reduce it to its base color space.
virtual bool getBBox(FBox &bBox) const =0
Retrieves the bounding box for the shade.
virtual void setBBox(const FBox &bBox)=0
Sets the bounding box for the shade.
virtual void setFunction(const IDOMFunctionPtr &function)=0
Sets the shade function.
virtual IDOMColorPtr getBackgroundColor() const =0
Gets the background color to use before painting the shade. If the return is NULL then the background...
virtual IDOMFunctionPtr getFunction() const =0
Gets the shade function object.
virtual bool getAntiAlias() const =0
Gets anti aliasing flag.
virtual void setColorSpace(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &colorSpace, eRenderingIntent intent, eBlackPointCompensation bpc)=0
Set the colorspace of the shading brush, performing color conversion to that target space....
virtual void setBackgroundColor(const IDOMColorPtr &color)=0
Sets the background color to use before painting the shade.
virtual IDOMColorSpacePtr getColorSpace() const =0
Gets the colorspace object to be used when painting the shading.
float domain[4]
Definition idombrush.h:2033
int shadingType
Definition idombrush.h:2023
FBox bBox
Definition idombrush.h:2024
float opacity
Definition idombrush.h:2022
IDOMColorPtr background
Definition idombrush.h:2028
Data()
Definition idombrush.h:2004
FMatrix renderTransform
Definition idombrush.h:2029
IDOMFunctionPtr function
Definition idombrush.h:2035
bool antiAlias
Definition idombrush.h:2026
IDOMColorSpacePtr colorSpace
Definition idombrush.h:2027
FMatrix matrix
Definition idombrush.h:2034
bool hasBBox
Definition idombrush.h:2025
IDOMShadingBrush provides a way of representing a PS style type 1 shading pattern.
Definition idombrush.h:1954
virtual const float * getDomain() const =0
Gets the domain range.
virtual void setMatrix(const FMatrix &matrix)=0
Sets the Type 1 shade matrix.
static EDL_API IDOMShadingPatternType1BrushPtr create(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &colorSpace, float domain[4], const IDOMFunctionPtr &function, bool hasBBox=false, const FBox &bBox=FBox(), const IDOMColorPtr &background=IDOMColorPtr(), const FMatrix &matrix=FMatrix(), const FMatrix &renderTransform=FMatrix(), bool antiAlias=false, float opacity=1.0f)
Simplified creator for a type 1 shading pattern brush Throws an IEDLError on failure.
virtual const FMatrix & getMatrix()=0
Gets the Type 1 shade matrix.
virtual void setDomain(float domain[4])=0
Sets the domain range.
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idombrush.h:2042
FBox bBox
Definition idombrush.h:2173
IDOMFunctionPtr function
Definition idombrush.h:2184
IDOMColorPtr background
Definition idombrush.h:2177
bool antiAlias
Definition idombrush.h:2175
bool hasBBox
Definition idombrush.h:2174
FPoint startPoint
Definition idombrush.h:2181
IDOMColorSpacePtr colorSpace
Definition idombrush.h:2176
float domain[2]
Definition idombrush.h:2183
FPoint endPoint
Definition idombrush.h:2182
bool extend[2]
Definition idombrush.h:2185
float opacity
Definition idombrush.h:2171
Data()
Definition idombrush.h:2149
uint8 shadingType
Definition idombrush.h:2172
FMatrix renderTransform
Definition idombrush.h:2178
IDOMShadingBrush provides a way of representing a PS style type 2 shading pattern.
Definition idombrush.h:2093
virtual void setEndPoint(const FPoint &point)=0
Set the end point.
virtual const float * getDomain() const =0
Get the domain range.
virtual const FPoint & getStartPoint() const =0
Get the start point.
static EDL_API IDOMShadingPatternType2BrushPtr create(IEDLClassFactory *pFactory, const FPoint &startPoint, const FPoint &endPoint, const IDOMColorSpacePtr &colorSpace, float domain[2], const IDOMFunctionPtr &function, bool extendStart=false, bool extendEnd=false, bool hasBBox=false, const FBox &bBox=FBox(), const IDOMColorPtr &background=IDOMColorPtr(), const FMatrix &renderTransform=FMatrix(), bool antiAlias=false, float opacity=1.0f)
Simplified creator for a type 2 shading pattern brush Throws an IEDLError on failure.
virtual void getExtend(bool &extendStart, bool &extendEnd) const =0
Gets the shading Extend flag to represent whether to extend beyond the start and end points for each ...
virtual const FPoint & getEndPoint() const =0
Get the end point.
virtual void setStartPoint(const FPoint &point)=0
Sets the start point.
virtual void setExtend(bool extendStart, bool extendEnd)=0
Sets the shading Extend flag to represent whether to extend beyond the start and end points.
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idombrush.h:2192
virtual IDOMBrushPtr getEquivalentSimpleBrush(IEDLClassFactory *pFactory, uint32 maxSamples=255)=0
Gets an equivalent Linear gradient or Visual brush, which may involve sampling the functions....
virtual void setDomain(float domain[2])=0
Sets the domain range.
float opacity
Definition idombrush.h:2377
IDOMFunctionPtr function
Definition idombrush.h:2393
bool extend[2]
Definition idombrush.h:2394
bool hasBBox
Definition idombrush.h:2380
uint8 shadingType
Definition idombrush.h:2378
bool antiAlias
Definition idombrush.h:2381
FPoint endCircleCenter
Definition idombrush.h:2390
FPoint startCircleCenter
Definition idombrush.h:2388
FBox bBox
Definition idombrush.h:2379
float endCircleRadius
Definition idombrush.h:2391
IDOMColorPtr background
Definition idombrush.h:2383
float domain[2]
Definition idombrush.h:2392
Data()
Definition idombrush.h:2353
FMatrix renderTransform
Definition idombrush.h:2384
float startCircleRadius
Definition idombrush.h:2389
IDOMColorSpacePtr colorSpace
Definition idombrush.h:2382
IDOMShadingPatternType3Brush provides a way of representing a PS style type 2 shading pattern.
Definition idombrush.h:2294
static EDL_API IDOMShadingPatternType3BrushPtr create(IEDLClassFactory *pFactory, const FPoint &startCircleCenter, float startCircleRadius, const FPoint &endCircleCenter, float endCircleRadius, const IDOMColorSpacePtr &colorSpace, float domain[2], const IDOMFunctionPtr &function, bool extendStart=false, bool extendEnd=false, bool hasBBox=false, const FBox &bBox=FBox(), const IDOMColorPtr &background=IDOMColorPtr(), const FMatrix &renderTransform=FMatrix(), bool antiAlias=false, float opacity=1.0f)
Simplified creator for a type 3 shading pattern brush Throws an IEDLError on failure.
virtual const float * getDomain() const =0
Get the domain range.
virtual void setDomain(float domain[2])=0
Sets the domain range.
virtual const FPoint & getStartCircleCenter() const =0
Get the center of the starting circle.
virtual float getStartCircleRadius() const =0
Get the radius of the starting circle.
virtual void setEndCircleCenter(const FPoint &point)=0
Sets the center of the ending circle.
virtual void setStartCircleCenter(const FPoint &point)=0
Sets the center of the starting circle.
virtual void setExtend(bool extendStart, bool extendEnd)=0
Sets the shading Extend flag to represent whether to extend beyond the start and end circles.
virtual float getEndCircleRadius() const =0
Get the radius of the ending circle.
virtual IDOMBrushPtr getEquivalentSimpleBrush(IEDLClassFactory *pFactory, uint32 maxSamples=255)=0
Gets an equivalent Radial gradient or Visual brush, which may involve sampling the functions....
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idombrush.h:2401
virtual void setEndCircleRadius(float radius)=0
Set the radius of the ending circle.
virtual void getExtend(bool &extendStart, bool &extendEnd) const =0
Gets the shading Extend flag to represent whether to extend beyond the start and end points for each ...
virtual void setStartCircleRadius(float radius)=0
Set the radius of the starting circle.
virtual const FPoint & getEndCircleCenter() const =0
Get the center of the ending circle.
uint8 flag
A flag for the mesh entry. Used for Type 4, 6, and 7 shading patterns.
Definition idombrush.h:2582
CEDLVector< CEDLVector< float > > colors
Definition idombrush.h:2585
bool operator==(const CMeshEntry &other) const
Definition idombrush.h:2591
CEDLVector< FPoint > points
Definition idombrush.h:2583
CMeshEntry()
Definition idombrush.h:2581
bool operator!=(const CMeshEntry &other) const
Definition idombrush.h:2598
float opacity
Definition idombrush.h:2679
IDOMColorPtr background
Definition idombrush.h:2685
uint8 bitsPerCoordinate
Definition idombrush.h:2689
IDOMColorSpacePtr colorSpace
Definition idombrush.h:2684
Data()
Definition idombrush.h:2656
virtual ~Data()
Definition idombrush.h:2674
IDOMFunctionPtr function
Definition idombrush.h:2695
JawsMako::IPDFStringPtr dataSource
Definition idombrush.h:2693
int32 verticesPerRow
Definition idombrush.h:2692
bool hasBBox
Definition idombrush.h:2682
uint8 shadingType
Definition idombrush.h:2680
FMatrix renderTransform
Definition idombrush.h:2686
FBox bBox
Definition idombrush.h:2681
uint8 bitsPerFlag
Definition idombrush.h:2690
CEDLVector< float > decode
Definition idombrush.h:2694
bool antiAlias
Definition idombrush.h:2683
uint8 bitsPerComponent
Definition idombrush.h:2691
IDOMShadingPatternType4567Brush provides a way of representing a PS style type 4 shading pattern.
Definition idombrush.h:2528
virtual void setMeshEntries(const CMeshEntryVect &meshEntries)=0
Set the vector of mesh entries that describe the appearance of this shading pattern.
virtual void setVerticesPerRow(int32 verticesPerRow)=0
Sets the vertices per row flag.
virtual void setBitsPerCoordinate(uint8 bitsPerCoordinate)=0
Sets the bits per coordinate.
static EDL_API IDOMShadingPatternType4567BrushPtr create(IEDLClassFactory *pFactory, uint8 shadingType, const IDOMColorSpacePtr &colorSpace, const JawsMako::IPDFStringPtr &dataSource, const uint8 bitsPerCoordinate=0, const uint8 bitsPerComponent=0, const uint8 bitsPerFlag=0, const int32 verticesPerRow=0, const CEDLVector< float > &decode=CEDLVector< float >(), const IDOMFunctionPtr &function=IDOMFunctionPtr(), bool hasBBox=false, const FBox &bBox=FBox(), const IDOMColorPtr &background=IDOMColorPtr(), const FMatrix &renderTransform=FMatrix(), bool antiAlias=false, float opacity=1.0f)
Simplified creator for a type 4,5,6 or 7 shading pattern brush Throws an IEDLError on failure.
virtual JawsMako::IPDFStringPtr getDataSource() const =0
Gets the data source property.
virtual uint8 getBitsPerComponent() const =0
Gets the bits per component parameter.
virtual uint8 getBitsPerFlag() const =0
Gets the bits per flag parameter.
virtual void setDataSource(const JawsMako::IPDFStringPtr &dataSource)=0
Sets the data source property.
virtual void setBitsPerFlag(uint8 bitsPerFlag)=0
Sets the bits per flag.
virtual uint8 getBitsPerCoordinate() const =0
Gets the bits per coordinate parameter.
virtual void setDecode(const CEDLVector< float > &decode)=0
Sets the decode array.
virtual const CEDLVector< float > & getDecode() const =0
Gets the decode array.
CEDLVector< CMeshEntry > CMeshEntryVect
Definition idombrush.h:2603
virtual int32 getVerticesPerRow() const =0
Gets the vertices per row parameter.
static EDL_API IDOMShadingPatternType4567BrushPtr create(IEDLClassFactory *pFactory, uint8 shadingType, const IDOMColorSpacePtr &colorSpace, const IDOMFunctionPtr &function, const CMeshEntryVect &meshEntries, const uint8 bitsPerCoordinate=16, const uint8 bitsPerComponent=8, const uint8 bitsPerFlag=8, const int32 verticesPerRow=0, const CEDLVector< float > &decode=CEDLVector< float >(), bool hasBBox=false, const FBox &bBox=FBox(), const IDOMColorPtr &background=IDOMColorPtr(), const FMatrix &renderTransform=FMatrix(), bool antiAlias=false, float opacity=1.0f)
Simplified creator for a type 4,5,6 or 7 shading pattern brush, providing a mesh as data source Throw...
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idombrush.h:2702
virtual CMeshEntryVect getMeshEntries() const =0
Get the vector of mesh entries that describe the appearance of this shading pattern....
virtual void setShadingType(uint8 shadingType)=0
Sets the shading type.
virtual void setBitsPerComponent(uint8 bitsPerComponent)=0
Sets the bits per component.
FMatrix renderTransform
Definition idombrush.h:1587
IDOMTransparencyGroupPtr group
Definition idombrush.h:1584
IDOMFunctionPtr transfer
Definition idombrush.h:1586
Data()
Definition idombrush.h:1579
IDOMColorPtr backdropColor
Definition idombrush.h:1585
eSoftMaskType type
Definition idombrush.h:1582
float opacity
Definition idombrush.h:1583
IDOMSoftMaskBrush provides a way of representing a PDF style soft mask in its entirety....
Definition idombrush.h:1525
virtual IDOMColorPtr getBackdropColor() const =0
Retrieves the color used for luminosity backdrop composition.
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idombrush.h:1594
eSoftMaskType
Enum for soft mask interpretation.
Definition idombrush.h:1532
@ eLuminosity
Definition idombrush.h:1534
@ eAlpha
Definition idombrush.h:1533
virtual eSoftMaskType getSoftMaskType() const =0
Retrieves the soft mask type.
virtual IDOMTransparencyGroupPtr getGroup() const =0
Retrieves the transparency group used for the mask.
virtual IDOMFunctionPtr getTransferFunction() const =0
Retrieves the function used for luminosity used for deriving mask values.
static EDL_API IDOMSoftMaskBrushPtr create(IEDLClassFactory *pFactory, const IDOMTransparencyGroupPtr &group, eSoftMaskType type, const FMatrix &renderTransform=FMatrix(), const IDOMColorPtr &backdropColor=IDOMColorPtr(), const IDOMFunctionPtr &transfer=IDOMFunctionPtr())
Simplified creator for a soft mask brush. Throws an IEDLError on failure.
static EDL_API IDOMSoftMaskBrushPtr createFromBrushOpacity(IEDLClassFactory *pFactory, const IDOMBrushPtr &opacityBrush, const FRect &bounds, const IDOMColorSpacePtr &graySpace=IDOMColorSpacePtr())
Create a soft mask from the opacity information of any other DOM brush. This will attempt to create t...
Data()
Definition idombrush.h:418
float opacity
Definition idombrush.h:420
IDOMColorPtr color
Definition idombrush.h:421
A solid color brush is used to fill defined geometric regions with a solid color. If there is an alph...
Definition idombrush.h:270
static EDL_API IDOMSolidColorBrushPtr createWithSpaceAndComponents(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &space, double opacity, double component1, double component2=0.0, double component3=0.0, double component4=0.0, double component5=0.0, double component6=0.0, double component7=0.0, double component8=0.0, double component9=0.0, double component10=0.0, double component11=0.0, double component12=0.0, double component13=0.0, double component14=0.0, double component15=0.0, double component16=0.0, double component17=0.0, double component18=0.0, double component19=0.0, double component20=0.0, double component21=0.0, double component22=0.0, double component23=0.0, double component24=0.0, double component25=0.0, double component26=0.0, double component27=0.0, double component28=0.0, double component29=0.0, double component30=0.0, double component31=0.0, double component32=0.0)
Simplified solid color brush creation routine which takes a color space and components directly....
static IDOMSolidColorBrushPtr createSolidGray(IEDLClassFactory *pFactory, float gray=0.0f)
Simplified solid color brush creation for DeviceGray colors. Default parameters will yield an opaque ...
Definition idombrush.h:291
static EDL_API IDOMSolidColorBrushPtr create(IEDLClassFactory *pFactory, const IDOMColorPtr &color, float opacity=1.0f)
Simplified solid color brush creation. Throws an IEDLError on failure.
static EDL_API IDOMSolidColorBrushPtr createWithSpaceAndComponentsFromVect(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &space, float opacity, const CEDLVector< float > &components)
Simplified solid color brush creation routine which takes a color space and components directly....
static IDOMSolidColorBrushPtr createSolidRgb(IEDLClassFactory *pFactory, float r=0.0f, float g=0.0f, float b=0.0f)
Simplified solid color brush creation for DeviceRGB colors. Default parameters will yield an opaque D...
Definition idombrush.h:305
static IDOMSolidColorBrushPtr createSolidCmyk(IEDLClassFactory *pFactory, float c=0.0f, float m=0.0f, float y=0.0f, float k=0.0f)
Simplified solid color brush creation for DeviceCMYK colors. Default parameters will yield an opaque ...
Definition idombrush.h:320
virtual void setColor(const IDOMColorPtr &color)=0
Sets color value of the solid color brush.
static EDL_API IDOMSolidColorBrushPtr createWithSpaceAndComponentsFromArray(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &space, float opacity, const float *components)
Simplified solid color brush creation routine which takes a color space and components directly....
static const CClassID & classID()
Retrieves class id of IDOMIDOMSolidColorBrush.
Definition idombrush.h:428
virtual IDOMColorPtr getColor() const =0
Retrieves the color value of the solid color brush.
Data()
Definition idombrush.h:1670
float opacity
Definition idombrush.h:1682
uint8 patternType
Definition idombrush.h:1683
uint8 tilingType
Definition idombrush.h:1688
uint8 paintType
Definition idombrush.h:1687
FMatrix renderTransform
Definition idombrush.h:1689
float ystep
Definition idombrush.h:1686
IDOMColorPtr patternColor
Definition idombrush.h:1694
FBox bBox
Definition idombrush.h:1684
IDOMNodePtr visual
Definition idombrush.h:1696
float xstep
Definition idombrush.h:1685
IDOMTilingPatternBrush provides a way of representing a PS style tiling pattern.
Definition idombrush.h:1636
virtual IDOMTilingPatternBrushPtr getColoredTilingPatternBrush(IEDLClassFactory *pFactory, bool overprint=false)=0
Get a version of this tiling pattern brush that is always colored (paint type 1) If the brush is alre...
virtual IDOMNodePtr getVisual() const =0
Retrieves smart pointer to visual (path, glyphs, group, canvas) node.
static EDL_API IDOMTilingPatternBrushPtr create(IEDLClassFactory *pFactory, const IDOMNodePtr &visual, const FRect &bBox, uint8 paintType, const IDOMColorPtr &color, float xStep, float yStep, uint8 tilingType=1, const FMatrix &renderTransform=FMatrix())
Simplified creator for a tiling brush. Throws an IEDLError on failure.
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idombrush.h:1703
virtual const FBox & getBBox() const =0
Retrieves the bounding box for the pattern.
virtual uint8 getPatternType() const =0
Retrieves the pattern type.
virtual void setPatternColor(const IDOMColorPtr &color)=0
Sets the pattern color for uncolored pattern (paint type is 2)
virtual void setTilingType(uint8 tilingType)=0
Sets the tiling type for the pattern.
virtual uint8 getPaintType() const =0
Gets the paint type for the pattern.
virtual void setPaintType(uint8 paintType)=0
Sets the paint type for the pattern.
virtual IDOMVisualBrushPtr getEquivalentVisualBrush(IEDLClassFactory *pFactory)=0
Gets an equivalent IDOMVisualBrush brush. If the brush has overlapping tiles, this cannot be done.
virtual void getTilingStep(float &xstep, float &ystep) const =0
Retrieves the tiling step for the pattern.
virtual IDOMColorPtr getPatternColor() const =0
Gets the pattern color for uncolored pattern (paint type is 2)
virtual uint8 getTilingType() const =0
Gets the tiling type for the pattern.
virtual void setVisual(const IDOMNodePtr &ptrVisual)=0
Sets visual node.
virtual void setTilingStep(float xstep, float ystep)=0
Sets the tiling step for the pattern.
virtual void setBBox(const FBox &bBox)=0
Sets the bounding box for the pattern.
Abstract interface for a brush to which a render transform may be applied.
Definition idombrush.h:147
virtual const FMatrix & getRenderTransform() const =0
Retrieves the render transform matrix.
virtual void setRenderTransform(const FMatrix &matrix)=0
Sets the render transform matrix.
eViewUnits viewBoxUnits
Definition idombrush.h:1339
eTilingMode tileMode
Definition idombrush.h:1338
FMatrix renderTransform
Definition idombrush.h:1342
FRect viewPort
Definition idombrush.h:1337
eViewUnits viewPortUnits
Definition idombrush.h:1340
IDOMNodePtr ptrVisual
Definition idombrush.h:1341
Data()
Definition idombrush.h:1332
FRect viewBox
Definition idombrush.h:1336
float opacity
Definition idombrush.h:1335
A visual brush is used to fill a region with a vector drawing.
Definition idombrush.h:1302
virtual IDOMVisualBrushPtr getEquivalentSimpleVisualBrush(IEDLClassFactory *pFactory)=0
Gets an equivalent visual brush where any flip tile mode is simplified to simple tiling....
virtual eTilingMode getTileMode() const =0
Retrieves the tiling mode value of the visual brush.
virtual void setViewBoxUnits(eViewUnits vu)=0
Sets the viewbox units value of the image brush. Currently, only absolute units are supported.
virtual const FRect & getViewPort() const =0
Retrieves the viewport rectangle.
virtual void setTileMode(eTilingMode tm)=0
Sets tiling mode value of the visual brush.
virtual void setViewPort(const FRect &vp)=0
Sets the viewport rectangle.
static EDL_API IDOMVisualBrushPtr create(IEDLClassFactory *pFactory, const IDOMNodePtr &visual, const FRect &viewBox, const FRect &viewPort, const FMatrix &renderTransform=FMatrix(), float opacity=1.0f, eTilingMode tileMode=eNoTile)
Simplified creator for a visual brush. Throws an IEDLError on failure.
virtual void setViewBox(const FRect &vb)=0
Sets viewbox rectangle.
static const CClassID & classID()
Retrieves the class id of IDOMVisualBrush.
Definition idombrush.h:1349
virtual IDOMTilingPatternBrushPtr getEquivalentTilingBrush(IEDLClassFactory *pFactory)=0
Gets an equivalent IDOMTilingPattern brush. If the receiver has a tile mode of eNoTile,...
virtual IDOMNodePtr getVisual() const =0
Retrieves smart pointer to the visual node (path, glyphs, group or canvas node) used to specify the s...
virtual void setViewPortUnits(eViewUnits vu)=0
Sets the viewport units used for the image brush. Currently, only absolute units are supported.
virtual void setVisual(const IDOMNodePtr &ptrVisual)=0
Sets the visual node (path, glyphs or canvas node) used to specify the source for the visual brush.
virtual const FRect & getViewBox() const =0
Retrieves the viewbox rectangle.
virtual eViewUnits getViewPortUnits() const =0
Retrieves the viewport units value of the image brush. Currently, only absolute units are supported.
virtual eViewUnits getViewBoxUnits() const =0
Retrieves the viewbox units used by the image brush. Currently, only absolute units are supported.
IDOMVisualRoot interface.
Definition idombrush.h:1489
static EDL_API IDOMVisualRootPtr create(IEDLClassFactory *pFactory)
static const CClassID & classID()
Retrieves the class ID of IDOMVisualRoot.
Definition idombrush.h:1497
EDL Factory Interface allows one part of the EDL infrastructure to register class creation methods id...
Definition iedlfactory.h:31
IEDLObject is an abstract base class that is used by all classes that are intended to be created via ...
Definition iedlobject.h:53
CEDLVector< IDOMPDFAlternateImagePtr > CDOMAlternateImageVect
Definition edlfwd.h:88
PointTmpl< double > FPoint
Definition edlgeom.h:111
CTransformMatrix< double > FMatrix
Definition edlgeom.h:1294
BoxTmpl< double > FBox
Definition edlgeom.h:450
RectTmpl< double > FRect
Definition edlgeom.h:347
EDL C++ namespace(s)
#define _END_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:110
#define _BEGIN_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:109
EDL "standard" types including known bit-length signed and unsigned integer type[def]s and definition...
unsigned int uint32
Definition edltypes.h:34
#define EDL_API
Definition edltypes.h:86
signed int int32
Definition edltypes.h:29
unsigned char uint8
Definition edltypes.h:32
eColorInterpolationMode
Color interpolation mode type enumeration.
Definition idombrush.h:457
eViewUnits
View units type enumeration.
Definition idombrush.h:854
eBrushType
Brush type enumeration.
Definition idombrush.h:62
eTilingMode
Tiling mode type enumeration.
Definition idombrush.h:864
eSpreadMethod
Spread Method type enumeration.
Definition idombrush.h:468
eBlackPointCompensation
Black point compensation enumeration.
Definition edlblackpointcompensation.h:17
eRenderingIntent
Rendering intent enumeration.
Definition edlrenderingintent.h:17
@ eBPCDefault
Default behavior.
Definition edlblackpointcompensation.h:19
@ eRelativeColorimetric
Relative colorimetric rendering intent.
Definition edlrenderingintent.h:20
#define IDOMShadingPatternType2BrushClassID
Definition idombrush.h:2094
#define IDOMSoftMaskBrushClassID
Definition idombrush.h:1526
#define IDOMImageBrushClassID
Definition idombrush.h:885
#define IDOMVisualRootClassID
Definition idombrush.h:1490
#define IDOMRadialGradientBrushClassID
Definition idombrush.h:711
#define IDOMShadingPatternType3BrushClassID
Definition idombrush.h:2295
#define IDOMGradientStopClassID
Definition idombrush.h:199
#define IDOMLinearGradientBrushClassID
Definition idombrush.h:586
#define IDOMVisualBrushClassID
Definition idombrush.h:1303
#define IDOMTilingPatternBrushClassID
Definition idombrush.h:1637
#define IDOMMaskedBrushClassID
Definition idombrush.h:1175
#define IDOMSolidColorBrushClassID
Definition idombrush.h:271
#define IDOMNullBrushClassID
Definition idombrush.h:2813
#define IDOMShadingPatternType1BrushClassID
Definition idombrush.h:1955
#define IDOMShadingPatternType4567BrushClassID
Definition idombrush.h:2529
CEDLVector< IDOMGradientStopPtr > CDOMGradientStopVect
Definition idombrush.h:260
@ eSCRgbLinearInterpolation
Linear interpolation for scRGB color space.
Definition idombrush.h:459
@ eSRgbLinearInterpolation
Linear interpolation for sRGB color space.
Definition idombrush.h:458
@ eAbsolute
Absolute units.
Definition idombrush.h:855
@ eFlipX
Definition idombrush.h:867
@ eTile
Tile image without any flipping or rotating of the image. A square image consisting of a single diago...
Definition idombrush.h:866
@ eNoTile
No tiling. If the area to be painted is larger than the image, just paint the image once (in the loca...
Definition idombrush.h:865
@ eFlipXY
Tile image such that alternate columns of tiles are flipped horizontally AND alternate rows of tiles ...
Definition idombrush.h:871
@ eFlipY
Tile image such that alternate rows of tiles are flipped vertically. A square image consisting of a s...
Definition idombrush.h:870
@ eReflect
Fill the remaining area by reflecting the gradient, such that the finish point becomes the start of t...
Definition idombrush.h:470
@ eNoSpread
Do not fill the remaining area, but allow it to remain transparent.
Definition idombrush.h:472
@ eRepeat
Fill the remaining area by repeating the gradient from its first gradient stop, starting at the point...
Definition idombrush.h:471
@ ePad
Fill the remaining area with the color specified by the final gradient stop.
Definition idombrush.h:469
EDL iterator template classes designed to allow iteration over the contents of a collection....
#define CSmartPtr
Definition smartptr.h:222