InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IGraphicAttributeUtils.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Bernd Paradies
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __IGraphicAttributeUtils__
25 #define __IGraphicAttributeUtils__
26 
27 
28 const PMReal kMinCornerRadius = 0;
29 const PMReal kMaxCornerRadius = 800;
30 
31 const PMReal kMinMiterLimit = 1;
32 const PMReal kMaxMiterLimit = 500;
33 const PMReal kDefaultMiterLimit = 4;
34 
35 const PMReal kMinStrokeWeight = 0;
36 const PMReal kMaxStrokeWeight = 800;
37 
38 const PMReal kMinTintPercentage = 0;
39 const PMReal kMaxTintPercentage = 100;
40 
41 const PMReal kMinGradientMidPointStop = 13;
42 const PMReal kMaxGradientMidPointStop = 87;
43 
44 const PMReal kMinGradientStop = 0;
45 const PMReal kMaxGradientStop = 100;
46 
47 const PMReal kMinOpacityPercentage = 0;
48 const PMReal kMaxOpacityPercentage = 100;
49 
50 const PMReal kMinColorCMYKValue = 0;
51 const PMReal kMaxColorCMYKValue = 100;
52 
53 const PMReal kMinColorLValue = 0;
54 const PMReal kMinColorAValue = -128;
55 const PMReal kMinColorBValue = -128;
56 const PMReal kMaxColorLValue = 100;
57 const PMReal kMaxColorAValue = 127;
58 const PMReal kMaxColorBValue = 127;
59 
60 const PMReal kMinColorRGBValue = 0;
61 const PMReal kMaxColorRGBValue = 255;
62 
63 const PMReal kMinColorHSBHValue = 0;
64 const PMReal kMinColorHSBSValue = 0;
65 const PMReal kMinColorHSBBValue = 0;
66 const PMReal kMaxColorHSBHValue = 360;
67 const PMReal kMaxColorHSBSValue = 100;
68 const PMReal kMaxColorHSBBValue = 100;
69 
70 
71 const PMReal kMinGradientAngleValue = -180;
72 const PMReal kMaxGradientAngleValue = 180;
73 
74 const PMReal kDefaultStrokeWt = 1.0;
75 const PMReal kJDefaultStrokeWt = (0.1 / 25.4 * 72.0); // 0.1 mm * 1 inch / 25.4 mm * 72 points / inch
76 
77 const PMReal kDefaultCornerRadius = 12.0;
78 const PMReal kJDefaultCornerRadius = (5.0 / 25.4 * 72.0); // 5 mm * 1 inch / 25.4 mm * 72 points / inch
79 
80 const PMReal kMinArrowHeadScale = 1.0;
81 const PMReal kMaxArrowHeadScale = 1000.0;
82 const PMReal kDefaultArrowHeadScale = 100.0;
83 
84 #ifndef __ODFRC__ // when used for core resource compilation, provide just the parameter range constants
85 
86 #include "GraphicsID.h"
87 #include "IPMUnknown.h"
88 #include "Utils.h"
89 
90 #include "ShuksanID.h"
91 #include "UIDList.h"
92 #include "PMPoint.h"
93 
94 class ICommand;
100 class IGraphicAttrInt32;
101 class IPersistUIDData;
102 class IGraphicAttrPoint;
103 class IRenderingObject;
104 
105 
121 {
122 public:
123  enum { kDefaultIID = IID_IGRAPHICATTRIBUTEUTILS };
124 
128  typedef enum {
129 
132 
135 
138 
141 
144  }CornerType;
145 
146 
147 
148 
155  virtual ErrorCode GetStrokeWeight
156  (
157  PMReal& strokeWeight,
158  IGraphicStyleDescriptor* styleDescriptor
159  ) = 0;
160 
168  virtual ErrorCode GetVisibleStrokeWeight
169  (
170  PMReal& strokeWeight,
171  IGraphicStyleDescriptor* styleDescriptor
172  ) = 0;
173 
179  (
180  PMReal strokeWeight
181  ) = 0;
182 
188  virtual ErrorCode AddStrokeWeightAttribute
189  (
190  PMReal strokeWeight,
191  IGraphicStyleAttributeBossList* attributeList
192  ) = 0;
193 
202  (
203  PMReal strokeWeight,
204  const UIDList* targetItemList,
205  bool16 doPrePost,
206  bool16 enableDoNotify
207  ) = 0;
208 
209 // =============================================
210 // Gradient Fill Angle
211 // =============================================
212 
219  virtual ErrorCode GetGradientFillAngle
220  (
221  PMReal& gradientAngle,
222  IGraphicStyleDescriptor* styleDescriptor
223  ) = 0;
224 
230  (
231  PMReal gradientAngle
232  ) = 0;
233 
239  virtual ErrorCode AddGradientFillAngleAttribute
240  (
241  PMReal gradientAngle,
242  IGraphicStyleAttributeBossList* attributeList
243  ) = 0;
244 
253  (
254  PMReal gradientAngle,
255  const UIDList* targetItemList,
256  bool16 doPrePost,
257  bool16 enableDoNotify
258  ) = 0;
259 
260 
261 
262 
263 // =============================================
264 // Gradient Stroke Angle
265 // =============================================
266 
275  virtual ErrorCode GetGradientStrokeAngle
276  (
277  PMReal& gradientAngle,
278  IGraphicStyleDescriptor* styleDescriptor
279  ) = 0;
280 
286  (
287  PMReal gradientAngle
288  ) = 0;
289 
295  virtual ErrorCode AddGradientStrokeAngleAttribute
296  (
297  PMReal gradientAngle,
298  IGraphicStyleAttributeBossList* attributeList
299  ) = 0;
300 
309  (
310  PMReal gradientAngle,
311  const UIDList* targetItemList,
312  bool16 doPrePost,
313  bool16 enableDoNotify
314  ) = 0;
315 
316 // =============================================
317 // Gradient Fill Length
318 // =============================================
319 
322  virtual ErrorCode GetGradientFillLength
323  (
324  PMReal& gradientLength,
325  UID graphicStyleUID,
326  IDataBase* dataBase
327  ) = 0;
328 
335  virtual ErrorCode GetGradientFillLength
336  (
337  PMReal& gradientLength,
338  IGraphicStyleDescriptor* styleDescriptor
339  ) = 0;
340 
346  (
347  PMReal gradientLength
348  ) = 0;
349 
355  virtual ErrorCode AddGradientFillLengthAttribute
356  (
357  PMReal gradientLength,
358  IGraphicStyleAttributeBossList* attributeList
359  ) = 0;
360 
369  (
370  PMReal gradientLength,
371  const UIDList* targetItemList,
372  bool16 doPrePost,
373  bool16 enableDoNotify
374  ) = 0;
375 
376 
377 // =============================================
378 // Gradient Stroke Length
379 // =============================================
380 
389  virtual ErrorCode GetGradientStrokeLength
390  (
391  PMReal& gradientLength,
392  IGraphicStyleDescriptor* styleDescriptor
393  ) = 0;
394 
401  (
402  PMReal gradientLength
403  ) = 0;
404 
410  virtual ErrorCode AddGradientStrokeLengthAttribute
411  (
412  PMReal gradientLength,
413  IGraphicStyleAttributeBossList* attributeList
414  ) = 0;
415 
424  (
425  PMReal gradientLength,
426  const UIDList* targetItemList,
427  bool16 doPrePost,
428  bool16 enableDoNotify
429  ) = 0;
430 
431 
432 // =============================================
433 // Gradient Fill Outer Center
434 // =============================================
435 
444  virtual ErrorCode GetGradientFillGradCenter
445  (
446  PMPoint& gradientGradCenter,
447  IGraphicStyleDescriptor* styleDescriptor
448  ) = 0;
449 
455  (
456  PMPoint gradientGradCenter
457  ) = 0;
458 
464  virtual ErrorCode AddGradientFillGradCenterAttribute
465  (
466  PMPoint gradientGradCenter,
467  IGraphicStyleAttributeBossList* attributeList
468  ) = 0;
469 
478  (
479  PMPoint gradientGradCenter,
480  const UIDList* targetItemList,
481  bool16 doPrePost,
482  bool16 enableDoNotify
483  ) = 0;
484 
485 
486 // =============================================
487 // Gradient Stroke Grad Center
488 // =============================================
489 
498  virtual ErrorCode GetGradientStrokeGradCenter
499  (
500  PMPoint& gradientGradCenter,
501  IGraphicStyleDescriptor* styleDescriptor
502  ) = 0;
503 
509  (
510  PMPoint gradientGradCenter
511  ) = 0;
512 
518  virtual ErrorCode AddGradientStrokeGradCenterAttribute
519  (
520  PMPoint gradientGradCenter,
521  IGraphicStyleAttributeBossList* attributeList
522  ) = 0;
523 
532  (
533  PMPoint gradientGradrCenter,
534  const UIDList* targetItemList,
535  bool16 doPrePost,
536  bool16 enableDoNotify
537  ) = 0;
538 
539 // =============================================
540 // Gradient Fill Radius
541 // =============================================
542 
549  virtual ErrorCode GetGradientFillRadius
550  (
551  PMReal& gradientRadius,
552  IGraphicStyleDescriptor* styleDescriptor
553  ) = 0;
554 
560  (
561  PMReal gradientRadius
562  ) = 0;
563 
569  virtual ErrorCode AddGradientFillRadiusAttribute
570  (
571  PMReal gradientRadius,
572  IGraphicStyleAttributeBossList* attributeList
573  ) = 0;
574 
583  (
584  PMReal gradientRadius,
585  const UIDList* targetItemList,
586  bool16 doPrePost,
587  bool16 enableDoNotify
588  ) = 0;
589 
590 
591 // =============================================
592 // Gradient Stroke Radius
593 // =============================================
594 
601  virtual ErrorCode GetGradientStrokeRadius
602  (
603  PMReal& gradientRadius,
604  IGraphicStyleDescriptor* styleDescriptor
605  ) = 0;
606 
612  (
613  PMReal gradientRadius
614  ) = 0;
615 
621  virtual ErrorCode AddGradientStrokeRadiusAttribute
622  (
623  PMReal gradientRadius,
624  IGraphicStyleAttributeBossList* attributeList
625  ) = 0;
626 
635  (
636  PMReal gradientRadius,
637  const UIDList* targetItemList,
638  bool16 doPrePost,
639  bool16 enableDoNotify
640  ) = 0;
641 
642 // =============================================
643 // Gradient Fill Hilite Length
644 // =============================================
645 
652  virtual ErrorCode GetGradientFillHiliteLength
653  (
654  PMReal& gradientHiliteLength,
655  IGraphicStyleDescriptor* styleDescriptor
656  ) = 0;
657 
663  (
664  PMReal gradientHiliteLength
665  ) = 0;
666 
672  virtual ErrorCode AddGradientFillHiliteLengthAttribute
673  (
674  PMReal gradientHiliteLength,
675  IGraphicStyleAttributeBossList* attributeList
676  ) = 0;
677 
686  (
687  PMReal gradientHiliteLength,
688  const UIDList* targetItemList,
689  bool16 doPrePost,
690  bool16 enableDoNotify
691  ) = 0;
692 
693 
694 // =============================================
695 // Gradient Stroke HiliteLength
696 // =============================================
697 
704  virtual ErrorCode GetGradientStrokeHiliteLength
705  (
706  PMReal& gradientHiliteLength,
707  IGraphicStyleDescriptor* styleDescriptor
708  ) = 0;
709 
715  (
716  PMReal gradientHiliteLength
717  ) = 0;
718 
725  (
726  PMReal gradientHiliteLength,
727  IGraphicStyleAttributeBossList* attributeList
728  ) = 0;
729 
738  (
739  PMReal gradientHiliteLength,
740  const UIDList* targetItemList,
741  bool16 doPrePost,
742  bool16 enableDoNotify
743  ) = 0;
744 
745 // =============================================
746 // Gradient Fill Hilite Angle
747 // =============================================
748 
755  virtual ErrorCode GetGradientFillHiliteAngle
756  (
757  PMReal& gradientHiliteAngle,
758  IGraphicStyleDescriptor* styleDescriptor
759  ) = 0;
760 
766  (
767  PMReal gradientHiliteAngle
768  ) = 0;
769 
775  virtual ErrorCode AddGradientFillHiliteAngleAttribute
776  (
777  PMReal gradientHiliteAngle,
778  IGraphicStyleAttributeBossList* attributeList
779  ) = 0;
780 
789  (
790  PMReal gradientHiliteAngle,
791  const UIDList* targetItemList,
792  bool16 doPrePost,
793  bool16 enableDoNotify
794  ) = 0;
795 
796 
797 // =============================================
798 // Gradient Stroke HiliteLength
799 // =============================================
800 
807  virtual ErrorCode GetGradientStrokeHiliteAngle
808  (
809  PMReal& gradientHiliteAngle,
810  IGraphicStyleDescriptor* styleDescriptor
811  ) = 0;
812 
818  (
819  PMReal gradientHiliteAngle
820  ) = 0;
821 
827  virtual ErrorCode AddGradientStrokeHiliteAngleAttribute
828  (
829  PMReal gradientHiliteAngle,
830  IGraphicStyleAttributeBossList* attributeList
831  ) = 0;
832 
841  (
842  PMReal gradientHiliteAngle,
843  const UIDList* targetItemList,
844  bool16 doPrePost,
845  bool16 enableDoNotify
846  ) = 0;
847 
848 // _____________________________________________
849 // Corner Radius
850 // _____________________________________________
851 
859  virtual ErrorCode GetCornerRadius
860  (
861  PMReal& cornerRadius,
862  IGraphicStyleDescriptor* styleDescriptor,
863  CornerType cornerType = kSimpleCorner
864  ) = 0;
865 
872  (
873  PMReal cornerRadius,
874  CornerType cornerType = kSimpleCorner
875  ) = 0;
876 
883  virtual ErrorCode AddCornerRadiusAttribute
884  (
885  PMReal cornerRadius,
886  IGraphicStyleAttributeBossList* attributeList,
887  CornerType cornerType = kSimpleCorner
888  ) = 0;
889 
899  (
900  PMReal cornerRadius,
901  const UIDList* targetItemList,
902  bool16 doPrePost,
903  bool16 enableDoNotify,
904  CornerType cornerType = kSimpleCorner
905  ) = 0;
906 
907 // _____________________________________________
908 // Miter Limit
909 // _____________________________________________
910 
917  virtual ErrorCode GetMiterLimit
918  (
919  PMReal& miterLimit,
920  IGraphicStyleDescriptor* styleDescriptor
921  ) = 0;
922 
928  (
929  PMReal miterLimit
930  ) = 0;
931 
937  virtual ErrorCode AddMiterLimitAttribute
938  (
939  PMReal miterLimit,
940  IGraphicStyleAttributeBossList* attributeList
941  ) = 0;
942 
951  (
952  PMReal miterLimit,
953  const UIDList* targetItemList,
954  bool16 doPrePost,
955  bool16 enableDoNotify
956  ) = 0;
957 
958 
959 // _____________________________________________
960 // Overprint fill
961 // _____________________________________________
962 
969  virtual ErrorCode GetOverprintFill
970  (
971  bool16& overprintFill,
972  IGraphicStyleDescriptor* styleDescriptor
973  ) = 0;
974 
980  (
981  bool16 overprintFill
982  ) = 0;
983 
989  virtual ErrorCode AddOverprintFillAttribute
990  (
991  bool16 overprintFill,
992  IGraphicStyleAttributeBossList* attributeList
993  ) = 0;
994 
1003  (
1004  bool16 overprintFill,
1005  const UIDList* targetItemList,
1006  bool16 doPrePost,
1007  bool16 enableDoNotify
1008  ) = 0;
1009 
1010 // _____________________________________________
1011 // Overprint storke
1012 // _____________________________________________
1013 
1021  virtual ErrorCode GetOverprintStroke
1022  (
1023  bool16& overprintStroke,
1024  IGraphicStyleDescriptor* styleDescriptor
1025  ) = 0;
1026 
1032  (
1033  bool16 overprintStroke
1034  ) = 0;
1035 
1041  virtual ErrorCode AddOverprintStrokeAttribute
1042  (
1043  bool16 overprintStroke,
1044  IGraphicStyleAttributeBossList* attributeList
1045  ) = 0;
1046 
1055  (
1056  bool16 overprintStroke,
1057  const UIDList* targetItemList,
1058  bool16 doPrePost,
1059  bool16 enableDoNotify
1060  ) = 0;
1061 
1062 // _____________________________________________
1063 // Line cap
1064 // _____________________________________________
1065 
1073  virtual ErrorCode GetLineCap
1074  (
1075  int32& lineCap,
1076  IGraphicStyleDescriptor* styleDescriptor
1077  ) = 0;
1078 
1085  (
1086  int32 lineCap
1087  ) = 0;
1088 
1095  virtual ErrorCode AddLineCapAttribute
1096  (
1097  int32 lineCap,
1098  IGraphicStyleAttributeBossList* attributeList
1099  ) = 0;
1100 
1110  (
1111  int32 lineCap,
1112  const UIDList* targetItemList,
1113  bool16 doPrePost,
1114  bool16 enableDoNotify
1115  ) = 0;
1116 
1117 // _____________________________________________
1118 // Join type
1119 // _____________________________________________
1120 
1128  virtual ErrorCode GetJoinType
1129  (
1130  int32& joinType,
1131  IGraphicStyleDescriptor* styleDescriptor
1132  ) = 0;
1133 
1139  (
1140  int32 joinType
1141  ) = 0;
1142 
1149  virtual ErrorCode AddJoinTypeAttribute
1150  (
1151  int32 joinType,
1152  IGraphicStyleAttributeBossList* attributeList
1153  ) = 0;
1154 
1164  (
1165  int32 joinType,
1166  const UIDList* targetItemList,
1167  bool16 doPrePost,
1168  bool16 enableDoNotify
1169  ) = 0;
1170 
1171 // _____________________________________________
1172 // Arrow Head Alignment
1173 // _____________________________________________
1174 
1182  virtual ErrorCode GetArrowHeadAlignment
1183  (
1184  int32& arrowHeadAlignment,
1185  IGraphicStyleDescriptor* styleDescriptor
1186  ) = 0;
1187 
1194  (
1195  int32 arrowHeadAlignment
1196  ) = 0;
1197 
1204  virtual ErrorCode AddArrowHeadAlignmentAttribute
1205  (
1206  int32 arrowHeadAlignment,
1207  IGraphicStyleAttributeBossList* attributeList
1208  ) = 0;
1209 
1219  (
1220  int32 arrowHeadAlignment,
1221  const UIDList* targetItemList,
1222  bool16 doPrePost,
1223  bool16 enableDoNotify
1224  ) = 0;
1225 
1226 // _____________________________________________
1227 // Line implementation
1228 // _____________________________________________
1229 
1241  virtual ErrorCode GetLineImplementation
1242  (
1243  ClassID& lineImplementation,
1244  UID& lineImplementationUID,
1245  IGraphicStyleDescriptor* styleDescriptor
1246  ) = 0;
1247 
1255  (
1256  ClassID lineImplementation,
1257  UID lineImplementationUID
1258  ) = 0;
1259 
1267  virtual ErrorCode AddLineImplementationAttribute
1268  (
1269  ClassID lineImplementation,
1270  UID lineImplementationUID,
1271  IGraphicStyleAttributeBossList* attributeList
1272  ) = 0;
1273 
1284  (
1285  ClassID lineImplementation,
1286  UID lineImplementationUID,
1287  const UIDList* targetItemList,
1288  bool16 doPrePost,
1289  bool16 enableDoNotify
1290  ) = 0;
1291 
1292 // _____________________________________________
1293 // Line end-start implementation
1294 // _____________________________________________
1295 
1305  virtual ErrorCode GetLineEndStartImplementation
1306  (
1307  ClassID& lineEndStartImplementation,
1308  IGraphicStyleDescriptor* styleDescriptor
1309  ) = 0;
1310 
1317  (
1318  ClassID lineEndStartImplementation
1319  ) = 0;
1320 
1327  virtual ErrorCode AddLineEndStartImplementationAttribute
1328  (
1329  ClassID lineEndStartImplementation,
1330  IGraphicStyleAttributeBossList* attributeList
1331  ) = 0;
1332 
1342  (
1343  ClassID lineEndStartImplementation,
1344  const UIDList* targetItemList,
1345  bool16 doPrePost,
1346  bool16 enableDoNotify
1347  ) = 0;
1348 
1349 // _____________________________________________
1350 // Line end-end implementation
1351 // _____________________________________________
1352 
1362  virtual ErrorCode GetLineEndEndImplementation
1363  (
1364  ClassID& lineEndEndImplementation,
1365  IGraphicStyleDescriptor* styleDescriptor
1366  ) = 0;
1367 
1374  (
1375  ClassID lineEndEndImplementation
1376  ) = 0;
1377 
1384  virtual ErrorCode AddLineEndEndImplementationAttribute
1385  (
1386  ClassID lineEndEndImplementation,
1387  IGraphicStyleAttributeBossList* attributeList
1388  ) = 0;
1389 
1399  (
1400  ClassID lineEndEndImplementation,
1401  const UIDList* targetItemList,
1402  bool16 doPrePost,
1403  bool16 enableDoNotify
1404  ) = 0;
1405 
1406 // _____________________________________________
1407  // Arrow Head Start Scaling
1408  // _____________________________________________
1409 
1415  (
1416  PMReal arrowHeadScaleFactor
1417  ) = 0;
1418 
1428  (
1429  PMReal arrowHeadScaleFactor,
1430  const UIDList* targetItemList,
1431  bool16 doPrePost,
1432  bool16 enableDoNotify
1433  ) = 0;
1434 
1442  virtual ErrorCode GetArrowHeadStartScale
1443  (
1444  PMReal& arrowHeadScaleFactor,
1445  IGraphicStyleDescriptor* styleDescriptor
1446  ) = 0;
1447 
1454  virtual ErrorCode AddArrowHeadStartScaleAttribute
1455  (
1456  PMReal arrowHeadScaleFactor,
1457  IGraphicStyleAttributeBossList* attributeList
1458  ) = 0;
1459 
1460  // _____________________________________________
1461  // Arrow Head End Scaling
1462  // _____________________________________________
1463 
1469  (
1470  PMReal arrowHeadScale
1471  ) = 0;
1472 
1482  (
1483  PMReal arrowHeadScale,
1484  const UIDList* targetItemList,
1485  bool16 doPrePost,
1486  bool16 enableDoNotify
1487  ) = 0;
1488 
1496  virtual ErrorCode GetArrowHeadEndScale
1497  (
1498  PMReal& arrowHeadScale,
1499  IGraphicStyleDescriptor* styleDescriptor
1500  ) = 0;
1501 
1508  virtual ErrorCode AddArrowHeadEndScaleAttribute
1509  (
1510  PMReal arrowHeadScale,
1511  IGraphicStyleAttributeBossList* attributeList
1512  ) = 0;
1513 
1514  // _____________________________________________
1515  // Live corner implementation
1516  // _____________________________________________
1517 
1528  virtual ErrorCode GetCornerImplementation
1529  (
1530  ClassID& cornerImplementation,
1531  IGraphicStyleDescriptor* styleDescriptor,
1532  CornerType cornerType = kSimpleCorner
1533  ) = 0;
1534 
1543  (
1544  ClassID cornerImplementation,
1545  CornerType cornerType = kSimpleCorner
1546  ) = 0;
1547 
1555  virtual ErrorCode AddCornerImplementationAttribute
1556  (
1557  ClassID cornerImplementation,
1558  IGraphicStyleAttributeBossList* attributeList,
1559  CornerType cornerType = kSimpleCorner
1560  ) = 0;
1561 
1572  (
1573  ClassID cornerImplementation,
1574  const UIDList* targetItemList,
1575  bool16 doPrePost,
1576  bool16 enableDoNotify,
1577  CornerType cornerType = kSimpleCorner
1578  ) = 0;
1579 
1580 
1581 
1582 // _____________________________________________
1583 // Stroke rendering UID
1584 // _____________________________________________
1585 
1596  virtual ErrorCode GetStrokeRenderingUID
1597  (
1598  UID& strokeRenderingUID,
1599  IGraphicStyleDescriptor* styleDescriptor
1600  ) = 0;
1601 
1609  (
1610  IGraphicStyleDescriptor* styleDescriptor
1611  ) = 0;
1612 
1620  (
1621  UID strokeRenderingUID
1622  ) = 0;
1623 
1632  virtual ErrorCode AddStrokeRenderingAttribute
1633  (
1634  UID strokeRenderingUID,
1635  IGraphicStyleAttributeBossList* attributeList
1636  ) = 0;
1637 
1649  (
1650  UID strokeRenderingUID,
1651  const UIDList* targetItemList,
1652  bool16 doPrePost,
1653  bool16 enableDoNotify
1654  ) = 0;
1655 
1656 // _____________________________________________
1657 // Fill rendering UID
1658 // _____________________________________________
1659 
1670  virtual ErrorCode GetFillRenderingUID
1671  (
1672  UID& fillRenderingUID,
1673  IGraphicStyleDescriptor* styleDescriptor
1674  ) = 0;
1675 
1683  (
1684  IGraphicStyleDescriptor* styleDescriptor
1685  ) = 0;
1686 
1695  (
1696  UID fillRenderingUID
1697  ) = 0;
1698 
1706  virtual ErrorCode AddFillRenderingAttribute
1707  (
1708  UID fillRenderingUID,
1709  IGraphicStyleAttributeBossList* attributeList
1710  ) = 0;
1711 
1723  (
1724  UID fillRenderingUID,
1725  const UIDList* targetItemList,
1726  bool16 doPrePost,
1727  bool16 enableDoNotify
1728  ) = 0;
1729 
1730 // _____________________________________________
1731 // Fill Tint
1732 // _____________________________________________
1733 
1741  virtual ErrorCode GetFillTint
1742  (
1743  PMReal& fillTint,
1744  IGraphicStyleDescriptor* styleDescriptor
1745  ) = 0;
1746 
1752  (
1753  PMReal fillTint
1754  ) = 0;
1755 
1761  virtual ErrorCode AddFillTintAttribute
1762  (
1763  PMReal fillTint,
1764  IGraphicStyleAttributeBossList* attributeList
1765  ) = 0;
1766 
1775  (
1776  PMReal fillTint,
1777  const UIDList* targetItemList,
1778  bool16 doPrePost,
1779  bool16 enableDoNotify
1780  ) = 0;
1781 
1782 // _____________________________________________
1783 // Stroke Tint
1784 // _____________________________________________
1785 
1793  virtual ErrorCode GetStrokeTint
1794  (
1795  PMReal& strokeTint,
1796  IGraphicStyleDescriptor* styleDescriptor
1797  ) = 0;
1798 
1804  (
1805  PMReal strokeTint
1806  ) = 0;
1807 
1813  virtual ErrorCode AddStrokeTintAttribute
1814  (
1815  PMReal strokeTint,
1816  IGraphicStyleAttributeBossList* attributeList
1817  ) = 0;
1818 
1827  (
1828  PMReal strokeTint,
1829  const UIDList* targetItemList,
1830  bool16 doPrePost,
1831  bool16 enableDoNotify
1832  ) = 0;
1833 
1834 // _____________________________________________
1835 // EvenOdd
1836 // _____________________________________________
1837 
1844  virtual ErrorCode GetEvenOdd
1845  (
1846  bool16& evenOddFill,
1847  IGraphicStyleDescriptor* styleDescriptor
1848  ) = 0;
1849 
1855  (
1856  bool16 evenOddFill
1857  ) = 0;
1858 
1864  virtual ErrorCode AddEvenOddAttribute
1865  (
1866  bool16 evenOddFill,
1867  IGraphicStyleAttributeBossList* attributeList
1868  ) = 0;
1869 
1878  (
1879  bool16 evenOddFill,
1880  const UIDList* targetItemList,
1881  bool16 doPrePost,
1882  bool16 enableDoNotify
1883  ) = 0;
1884 
1885 // _____________________________________________
1886 // Non-print
1887 // _____________________________________________
1888 
1896  virtual ErrorCode GetNonPrint
1897  (
1898  bool16& nonPrint,
1899  IGraphicStyleDescriptor* styleDescriptor
1900  ) = 0;
1901 
1907  (
1908  bool16 nonPrint
1909  ) = 0;
1910 
1916  virtual ErrorCode AddNonPrintAttribute
1917  (
1918  bool16 nonPrint,
1919  IGraphicStyleAttributeBossList* attributeList
1920  ) = 0;
1921 
1930  (
1931  bool16 nonPrint,
1932  const UIDList* targetItemList,
1933  bool16 doPrePost,
1934  bool16 enableDoNotify
1935  ) = 0;
1936 
1937 // _____________________________________________
1938 // _____________________________________________
1939 
1953  virtual void ApplyRenderUIDToPageItems
1954  (
1955  UIDList& pageItemList,
1956  ClassID renderObjectClassID,
1957  UID renderUID,
1958  ClassID attributeClassID
1959  ) = 0;
1960 
1961 // =============================================
1962 // Gap Attributes
1963 // =============================================
1964 
1975  virtual ErrorCode GetGapRenderingUID
1976  (
1977  UID& gapRenderingUID,
1978  IGraphicStyleDescriptor* styleDescriptor
1979  ) = 0;
1980 
1989  (
1990  IGraphicStyleDescriptor* styleDescriptor
1991  ) = 0;
1992 
2001  (
2002  UID gapRenderingUID
2003  ) = 0;
2004 
2013  virtual ErrorCode AddGapRenderingAttribute
2014  (
2015  UID gapRenderingUID,
2016  IGraphicStyleAttributeBossList* attributeList
2017  ) = 0;
2018 
2030  (
2031  UID gapRenderingUID,
2032  const UIDList* targetItemList,
2033  bool16 doPrePost,
2034  bool16 enableDoNotify
2035  ) = 0;
2036 
2037 // _____________________________________________
2038 // Stroke Gap Tint
2039 // _____________________________________________
2040 
2048  virtual ErrorCode GetGapTint
2049  (
2050  PMReal& gapTint,
2051  IGraphicStyleDescriptor* styleDescriptor
2052  ) = 0;
2053 
2059  (
2060  PMReal gapTint
2061  ) = 0;
2062 
2068  virtual ErrorCode AddGapTintAttribute
2069  (
2070  PMReal gapTint,
2071  IGraphicStyleAttributeBossList* attributeList
2072  ) = 0;
2073 
2082  (
2083  PMReal gapTint,
2084  const UIDList* targetItemList,
2085  bool16 doPrePost,
2086  bool16 enableDoNotify
2087  ) = 0;
2088 
2089 // _____________________________________________
2090 // Overprint storke gap
2091 // _____________________________________________
2092 
2099  virtual ErrorCode GetOverprintGap
2100  (
2101  bool16& overprintGap,
2102  IGraphicStyleDescriptor* styleDescriptor
2103  ) = 0;
2104 
2110  (
2111  bool16 overprintGap
2112  ) = 0;
2113 
2119  virtual ErrorCode AddOverprintGapAttribute
2120  (
2121  bool16 overprintGap,
2122  IGraphicStyleAttributeBossList* attributeList
2123  ) = 0;
2124 
2133  (
2134  bool16 overprintGap,
2135  const UIDList* targetItemList,
2136  bool16 doPrePost,
2137  bool16 enableDoNotify
2138  ) = 0;
2139 
2140 // =============================================
2141 // Stroke alignment
2142 // =============================================
2143 
2151  virtual ErrorCode GetStrokeAlignment
2152  (
2153  int32& strokeAlignment, //
2154  IGraphicStyleDescriptor* styleDescriptor
2155  ) = 0;
2156 
2163  (
2164  int32 strokeAlignment
2165  ) = 0;
2166 
2174  virtual ErrorCode AddStrokeAlignmentAttribute
2175  (
2176  int32 strokeAlignment,
2177  IGraphicStyleAttributeBossList* attributeList
2178  ) = 0;
2179 
2189  (
2190  int32 strokeAlignment,
2191  const UIDList* targetItemList,
2192  bool16 doPrePost,
2193  bool16 enableDoNotify
2194  ) = 0;
2195 
2196  virtual ErrorCode GetInt32Value( IGraphicStyleDescriptor* styleDescriptor, const ClassID& attrID, int32& value ) = 0 ;
2197  virtual ErrorCode GetBoolValue( IGraphicStyleDescriptor* styleDescriptor, const ClassID& attrID, bool16& value ) = 0 ;
2198  virtual ErrorCode GetStringValue( IGraphicStyleDescriptor* styleDescriptor, const ClassID& attrID, PMString& value ) = 0 ;
2199  virtual ErrorCode GetRealValue( IGraphicStyleDescriptor* styleDescriptor, const ClassID& attrID, PMReal& value ) = 0 ;
2200  virtual ErrorCode GetPointValue( IGraphicStyleDescriptor* styleDescriptor, const ClassID& attrID, PMPoint& value ) = 0 ;
2201  virtual ErrorCode GetClassValue( IGraphicStyleDescriptor* styleDescriptor, const ClassID& attrID, ClassID& value ) = 0 ;
2202  virtual ErrorCode GetUIDValue( IGraphicStyleDescriptor* styleDescriptor, const ClassID& attrID, UID& value ) = 0 ;
2203 
2204  virtual ErrorCode AddInt32Value( IGraphicStyleAttributeBossList* attributeList, const ClassID& attrID, const int32& value ) = 0 ;
2205  virtual ErrorCode AddBoolValue( IGraphicStyleAttributeBossList* attributeList, const ClassID& attrID, const bool16& value ) = 0 ;
2206  virtual ErrorCode AddStringValue( IGraphicStyleAttributeBossList* attributeList, const ClassID& attrID, const PMString& value ) = 0 ;
2207  virtual ErrorCode AddRealValue( IGraphicStyleAttributeBossList* attributeList, const ClassID& attrID, const PMReal& value ) = 0 ;
2208  virtual ErrorCode AddPointValue( IGraphicStyleAttributeBossList* attributeList, const ClassID& attrID, const PMPoint& value ) = 0 ;
2209  virtual ErrorCode AddClassValue( IGraphicStyleAttributeBossList* attributeList, const ClassID& attrID, const ClassID& value ) = 0 ;
2210  virtual ErrorCode AddUIDValue( IGraphicStyleAttributeBossList* attributeList, const ClassID& attrID, const UID& value ) = 0 ;
2211  virtual ErrorCode AddValue( IGraphicStyleAttributeBossList* attributeList, const ClassID& attrID, IPMUnknown* iAttr ) = 0 ;
2212 
2213  virtual ErrorCode GetFontValue( IGraphicStyleDescriptor* styleDescriptor, const ClassID& attrID, PMString& value) = 0;
2214  virtual ErrorCode GetFontFamilyUIDValue(IGraphicStyleDescriptor* styleDescriptor, const ClassID& attrID, UID& value) = 0;
2215 
2221  virtual IGraphicAttrRealNumber* CreateGradientFillAspectRatio( PMReal aspectRatio) = 0;
2222 };
2223 
2224 #endif // __ODFRC__
2225 #endif // __IGraphicAttributeUtils__
2226