RetroArch
d2d1svg.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation. All rights reserved.
3 //
4 // This file is automatically generated. Please do not edit it directly.
5 //
6 // File name: D2D1Svg.h
7 //---------------------------------------------------------------------------
8 #ifdef _MSC_VER
9 #pragma once
10 #endif // #ifdef _MSC_VER
11 
12 #ifndef _D2D1_SVG_
13 #define _D2D1_SVG_
14 
15 #ifndef _D2D1_2_H_
16 #include <d2d1_2.h>
17 #endif // #ifndef _D2D1_2_H_
18 
19 /*#include <winapifamily.h>*/
20 
21 /*#pragma region Application Family*/
22 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)*/
23 
25 typedef interface ID2D1SvgElement ID2D1SvgElement;
26 
30 typedef enum D2D1_SVG_PAINT_TYPE
31 {
32 
37 
42 
47 
52 
58 
64 
72 
74 
75 
80 {
81 
86 
92 
94 
95 
99 typedef enum D2D1_SVG_DISPLAY
100 {
101 
106 
112 
114 
115 
120 {
121 
126 
132 
134 
135 
139 typedef enum D2D1_SVG_OVERFLOW
140 {
141 
146 
152 
154 
155 
159 typedef enum D2D1_SVG_LINE_CAP
160 {
161 
166 
171 
177 
179 
180 
184 typedef enum D2D1_SVG_LINE_JOIN
185 {
186 
191 
197 
203 
205 
206 
211 {
212 
217 
222 
227 
232 
237 
242 
247 
252 
257 
263 
265 
266 
271 {
272 
278 
285 
287 
288 
296 {
297 
302 
307 
312 
317 
322 
329 
336 
342 
348 
355 
362 
367 
372 
377 
382 
388 
394 
400 
407 
409 
410 
414 typedef enum D2D1_SVG_UNIT_TYPE
415 {
416 
421 
427 
429 
430 
435 {
436 
445 
451 
453 
454 
459 {
460 
465 
470 
475 
480 
485 
490 
495 
500 
505 
510 
515 
520 
525 
531 
533 
534 
538 typedef struct D2D1_SVG_LENGTH
539 {
542 
544 
545 
550 {
551 
558 
563 
568 
570 
571 
575 typedef struct D2D1_SVG_VIEWBOX
576 {
581 
583 
584 
592 
593 
594 #ifndef D2D_USE_C_DEFINITIONS
595 
596 #if NTDDI_VERSION >= NTDDI_WIN10_RS2
597 
601 interface DX_DECLARE_INTERFACE("c9cdb0dd-f8c9-4e70-b7c2-301c80292c5e") ID2D1SvgAttribute : public ID2D1Resource
602 {
603 
608  STDMETHOD_(void, GetElement)(
609  _Outptr_result_maybenull_ ID2D1SvgElement **element
610  ) PURE;
611 
616  STDMETHOD(Clone)(
617  _COM_Outptr_ ID2D1SvgAttribute **attribute
618  ) PURE;
619 }; // interface ID2D1SvgAttribute
620 
621 
625 interface DX_DECLARE_INTERFACE("d59bab0a-68a2-455b-a5dc-9eb2854e2490") ID2D1SvgPaint : public ID2D1SvgAttribute
626 {
627 
631  STDMETHOD(SetPaintType)(
632  D2D1_SVG_PAINT_TYPE paintType
633  ) PURE;
634 
638  STDMETHOD_(D2D1_SVG_PAINT_TYPE, GetPaintType)(
639  ) PURE;
640 
645  STDMETHOD(SetColor)(
646  _In_ CONST D2D1_COLOR_F *color
647  ) PURE;
648 
653  STDMETHOD_(void, GetColor)(
654  _Out_ D2D1_COLOR_F *color
655  ) PURE;
656 
661  STDMETHOD(SetId)(
662  _In_ PCWSTR id
663  ) PURE;
664 
669  STDMETHOD(GetId)(
670  _Out_writes_(idCount) PWSTR id,
671  UINT32 idCount
672  ) PURE;
673 
679  STDMETHOD_(UINT32, GetIdLength)(
680  ) PURE;
681 
686  COM_DECLSPEC_NOTHROW
687  HRESULT
688  SetColor(
690  )
691  {
692  return SetColor(&color);
693  }
694 }; // interface ID2D1SvgPaint
695 
696 
700 interface DX_DECLARE_INTERFACE("f1c0ca52-92a3-4f00-b4ce-f35691efd9d9") ID2D1SvgStrokeDashArray : public ID2D1SvgAttribute
701 {
702 
707  STDMETHOD(RemoveDashesAtEnd)(
708  UINT32 dashesCount
709  ) PURE;
710 
719  STDMETHOD(UpdateDashes)(
720  _In_reads_(dashesCount) CONST FLOAT *dashes,
721  UINT32 dashesCount,
722  UINT32 startIndex = 0
723  ) PURE;
724 
733  STDMETHOD(UpdateDashes)(
734  _In_reads_(dashesCount) CONST D2D1_SVG_LENGTH *dashes,
735  UINT32 dashesCount,
736  UINT32 startIndex = 0
737  ) PURE;
738 
745  STDMETHOD(GetDashes)(
746  _Out_writes_(dashesCount) FLOAT *dashes,
747  UINT32 dashesCount,
748  UINT32 startIndex = 0
749  ) PURE;
750 
757  STDMETHOD(GetDashes)(
758  _Out_writes_(dashesCount) D2D1_SVG_LENGTH *dashes,
759  UINT32 dashesCount,
760  UINT32 startIndex = 0
761  ) PURE;
762 
766  STDMETHOD_(UINT32, GetDashesCount)(
767  ) PURE;
768 }; // interface ID2D1SvgStrokeDashArray
769 
770 
774 interface DX_DECLARE_INTERFACE("9dbe4c0d-3572-4dd9-9825-5530813bb712") ID2D1SvgPointCollection : public ID2D1SvgAttribute
775 {
776 
781  STDMETHOD(RemovePointsAtEnd)(
782  UINT32 pointsCount
783  ) PURE;
784 
794  STDMETHOD(UpdatePoints)(
795  _In_reads_(pointsCount) CONST D2D1_POINT_2F *points,
796  UINT32 pointsCount,
797  UINT32 startIndex = 0
798  ) PURE;
799 
806  STDMETHOD(GetPoints)(
807  _Out_writes_(pointsCount) D2D1_POINT_2F *points,
808  UINT32 pointsCount,
809  UINT32 startIndex = 0
810  ) PURE;
811 
815  STDMETHOD_(UINT32, GetPointsCount)(
816  ) PURE;
817 }; // interface ID2D1SvgPointCollection
818 
819 
832 interface DX_DECLARE_INTERFACE("c095e4f4-bb98-43d6-9745-4d1b84ec9888") ID2D1SvgPathData : public ID2D1SvgAttribute
833 {
834 
839  STDMETHOD(RemoveSegmentDataAtEnd)(
840  UINT32 dataCount
841  ) PURE;
842 
852  STDMETHOD(UpdateSegmentData)(
853  _In_reads_(dataCount) CONST FLOAT *data,
854  UINT32 dataCount,
855  UINT32 startIndex = 0
856  ) PURE;
857 
865  STDMETHOD(GetSegmentData)(
866  _Out_writes_(dataCount) FLOAT *data,
867  UINT32 dataCount,
868  UINT32 startIndex = 0
869  ) PURE;
870 
874  STDMETHOD_(UINT32, GetSegmentDataCount)(
875  ) PURE;
876 
881  STDMETHOD(RemoveCommandsAtEnd)(
882  UINT32 commandsCount
883  ) PURE;
884 
894  STDMETHOD(UpdateCommands)(
895  _In_reads_(commandsCount) CONST D2D1_SVG_PATH_COMMAND *commands,
896  UINT32 commandsCount,
897  UINT32 startIndex = 0
898  ) PURE;
899 
906  STDMETHOD(GetCommands)(
907  _Out_writes_(commandsCount) D2D1_SVG_PATH_COMMAND *commands,
908  UINT32 commandsCount,
909  UINT32 startIndex = 0
910  ) PURE;
911 
915  STDMETHOD_(UINT32, GetCommandsCount)(
916  ) PURE;
917 
921  STDMETHOD(CreatePathGeometry)(
923  _COM_Outptr_ ID2D1PathGeometry1 **pathGeometry
924  ) PURE;
925 }; // interface ID2D1SvgPathData
926 
927 
931 interface DX_DECLARE_INTERFACE("ac7b67a6-183e-49c1-a823-0ebe40b0db29") ID2D1SvgElement : public ID2D1Resource
932 {
933 
938  STDMETHOD_(void, GetDocument)(
939  _Outptr_result_maybenull_ ID2D1SvgDocument **document
940  ) PURE;
941 
945  STDMETHOD(GetTagName)(
946  _Out_writes_(nameCount) PWSTR name,
947  UINT32 nameCount
948  ) PURE;
949 
954  STDMETHOD_(UINT32, GetTagNameLength)(
955  ) PURE;
956 
961  STDMETHOD_(BOOL, IsTextContent)(
962  ) PURE;
963 
967  STDMETHOD_(void, GetParent)(
968  _Outptr_result_maybenull_ ID2D1SvgElement **parent
969  ) PURE;
970 
974  STDMETHOD_(BOOL, HasChildren)(
975  ) PURE;
976 
980  STDMETHOD_(void, GetFirstChild)(
981  _Outptr_result_maybenull_ ID2D1SvgElement **child
982  ) PURE;
983 
987  STDMETHOD_(void, GetLastChild)(
988  _Outptr_result_maybenull_ ID2D1SvgElement **child
989  ) PURE;
990 
999  STDMETHOD(GetPreviousChild)(
1000  _In_ ID2D1SvgElement *referenceChild,
1001  _COM_Outptr_result_maybenull_ ID2D1SvgElement **previousChild
1002  ) PURE;
1003 
1012  STDMETHOD(GetNextChild)(
1013  _In_ ID2D1SvgElement *referenceChild,
1014  _COM_Outptr_result_maybenull_ ID2D1SvgElement **nextChild
1015  ) PURE;
1016 
1029  STDMETHOD(InsertChildBefore)(
1030  _In_ ID2D1SvgElement *newChild,
1031  _In_opt_ ID2D1SvgElement *referenceChild = NULL
1032  ) PURE;
1033 
1041  STDMETHOD(AppendChild)(
1042  _In_ ID2D1SvgElement *newChild
1043  ) PURE;
1044 
1055  STDMETHOD(ReplaceChild)(
1056  _In_ ID2D1SvgElement *newChild,
1057  _In_ ID2D1SvgElement *oldChild
1058  ) PURE;
1059 
1066  STDMETHOD(RemoveChild)(
1067  _In_ ID2D1SvgElement *oldChild
1068  ) PURE;
1069 
1078  STDMETHOD(CreateChild)(
1079  _In_ PCWSTR tagName,
1080  _COM_Outptr_ ID2D1SvgElement **newChild
1081  ) PURE;
1082 
1091  STDMETHOD_(BOOL, IsAttributeSpecified)(
1092  _In_ PCWSTR name,
1093  _Out_opt_ BOOL *inherited = NULL
1094  ) PURE;
1095 
1103  STDMETHOD_(UINT32, GetSpecifiedAttributeCount)(
1104  ) PURE;
1105 
1113  STDMETHOD(GetSpecifiedAttributeName)(
1114  UINT32 index,
1115  _Out_writes_(nameCount) PWSTR name,
1116  UINT32 nameCount,
1117  _Out_opt_ BOOL *inherited = NULL
1118  ) PURE;
1119 
1129  STDMETHOD(GetSpecifiedAttributeNameLength)(
1130  UINT32 index,
1131  _Out_ UINT32 *nameLength,
1132  _Out_opt_ BOOL *inherited = NULL
1133  ) PURE;
1134 
1140  STDMETHOD(RemoveAttribute)(
1141  _In_ PCWSTR name
1142  ) PURE;
1143 
1147  STDMETHOD(SetTextValue)(
1148  _In_reads_(nameCount) CONST WCHAR *name,
1149  UINT32 nameCount
1150  ) PURE;
1151 
1155  STDMETHOD(GetTextValue)(
1156  _Out_writes_(nameCount) PWSTR name,
1157  UINT32 nameCount
1158  ) PURE;
1159 
1164  STDMETHOD_(UINT32, GetTextValueLength)(
1165  ) PURE;
1166 
1172  STDMETHOD(SetAttributeValue)(
1173  _In_ PCWSTR name,
1175  _In_ PCWSTR value
1176  ) PURE;
1177 
1184  STDMETHOD(GetAttributeValue)(
1185  _In_ PCWSTR name,
1187  _Out_writes_(valueCount) PWSTR value,
1188  UINT32 valueCount
1189  ) PURE;
1190 
1198  STDMETHOD(GetAttributeValueLength)(
1199  _In_ PCWSTR name,
1201  _Out_ UINT32 *valueLength
1202  ) PURE;
1203 
1209  STDMETHOD(SetAttributeValue)(
1210  _In_ PCWSTR name,
1212  _In_reads_bytes_(valueSizeInBytes) CONST void *value,
1213  UINT32 valueSizeInBytes
1214  ) PURE;
1215 
1222  STDMETHOD(GetAttributeValue)(
1223  _In_ PCWSTR name,
1225  _Out_writes_bytes_(valueSizeInBytes) void *value,
1226  UINT32 valueSizeInBytes
1227  ) PURE;
1228 
1236  STDMETHOD(SetAttributeValue)(
1237  _In_ PCWSTR name,
1238  _In_ ID2D1SvgAttribute *value
1239  ) PURE;
1240 
1248  STDMETHOD(GetAttributeValue)(
1249  _In_ PCWSTR name,
1250  _In_ REFIID riid,
1251  _COM_Outptr_result_maybenull_ void **value
1252  ) PURE;
1253 
1257  COM_DECLSPEC_NOTHROW
1258  HRESULT
1259  SetAttributeValue(
1260  _In_ PCWSTR name,
1261  FLOAT value
1262  )
1263  {
1264  return SetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_FLOAT, &value, sizeof(value));
1265  }
1266 
1270  COM_DECLSPEC_NOTHROW
1271  HRESULT
1272  GetAttributeValue(
1273  _In_ PCWSTR name,
1274  _Out_ FLOAT *value
1275  )
1276  {
1277  return GetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_FLOAT, value, sizeof(*value));
1278  }
1279 
1283  COM_DECLSPEC_NOTHROW
1284  HRESULT
1285  SetAttributeValue(
1286  _In_ PCWSTR name,
1288  )
1289  {
1290  return SetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_COLOR, &value, sizeof(value));
1291  }
1292 
1296  COM_DECLSPEC_NOTHROW
1297  HRESULT
1298  GetAttributeValue(
1299  _In_ PCWSTR name,
1300  _Out_ D2D1_COLOR_F *value
1301  )
1302  {
1303  return GetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_COLOR, value, sizeof(*value));
1304  }
1305 
1310  COM_DECLSPEC_NOTHROW
1311  HRESULT
1312  SetAttributeValue(
1313  _In_ PCWSTR name,
1315  )
1316  {
1317  return SetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_FILL_MODE, &value, sizeof(value));
1318  }
1319 
1324  COM_DECLSPEC_NOTHROW
1325  HRESULT
1326  GetAttributeValue(
1327  _In_ PCWSTR name,
1328  _Out_ D2D1_FILL_MODE *value
1329  )
1330  {
1331  return GetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_FILL_MODE, value, sizeof(*value));
1332  }
1333 
1338  COM_DECLSPEC_NOTHROW
1339  HRESULT
1340  SetAttributeValue(
1341  _In_ PCWSTR name,
1343  )
1344  {
1345  return SetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_DISPLAY, &value, sizeof(value));
1346  }
1347 
1352  COM_DECLSPEC_NOTHROW
1353  HRESULT
1354  GetAttributeValue(
1355  _In_ PCWSTR name,
1356  _Out_ D2D1_SVG_DISPLAY *value
1357  )
1358  {
1359  return GetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_DISPLAY, value, sizeof(*value));
1360  }
1361 
1366  COM_DECLSPEC_NOTHROW
1367  HRESULT
1368  SetAttributeValue(
1369  _In_ PCWSTR name,
1371  )
1372  {
1373  return SetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_OVERFLOW, &value, sizeof(value));
1374  }
1375 
1380  COM_DECLSPEC_NOTHROW
1381  HRESULT
1382  GetAttributeValue(
1383  _In_ PCWSTR name,
1384  _Out_ D2D1_SVG_OVERFLOW *value
1385  )
1386  {
1387  return GetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_OVERFLOW, value, sizeof(*value));
1388  }
1389 
1394  COM_DECLSPEC_NOTHROW
1395  HRESULT
1396  SetAttributeValue(
1397  _In_ PCWSTR name,
1399  )
1400  {
1401  return SetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_JOIN, &value, sizeof(value));
1402  }
1403 
1408  COM_DECLSPEC_NOTHROW
1409  HRESULT
1410  GetAttributeValue(
1411  _In_ PCWSTR name,
1412  _Out_ D2D1_SVG_LINE_JOIN *value
1413  )
1414  {
1415  return GetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_JOIN, value, sizeof(*value));
1416  }
1417 
1422  COM_DECLSPEC_NOTHROW
1423  HRESULT
1424  SetAttributeValue(
1425  _In_ PCWSTR name,
1427  )
1428  {
1429  return SetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_CAP, &value, sizeof(value));
1430  }
1431 
1436  COM_DECLSPEC_NOTHROW
1437  HRESULT
1438  GetAttributeValue(
1439  _In_ PCWSTR name,
1440  _Out_ D2D1_SVG_LINE_CAP *value
1441  )
1442  {
1443  return GetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_CAP, value, sizeof(*value));
1444  }
1445 
1450  COM_DECLSPEC_NOTHROW
1451  HRESULT
1452  SetAttributeValue(
1453  _In_ PCWSTR name,
1455  )
1456  {
1457  return SetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_VISIBILITY, &value, sizeof(value));
1458  }
1459 
1464  COM_DECLSPEC_NOTHROW
1465  HRESULT
1466  GetAttributeValue(
1467  _In_ PCWSTR name,
1468  _Out_ D2D1_SVG_VISIBILITY *value
1469  )
1470  {
1471  return GetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_VISIBILITY, value, sizeof(*value));
1472  }
1473 
1478  COM_DECLSPEC_NOTHROW
1479  HRESULT
1480  SetAttributeValue(
1481  _In_ PCWSTR name,
1483  )
1484  {
1485  return SetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_MATRIX, &value, sizeof(value));
1486  }
1487 
1492  COM_DECLSPEC_NOTHROW
1493  HRESULT
1494  GetAttributeValue(
1495  _In_ PCWSTR name,
1496  _Out_ D2D1_MATRIX_3X2_F *value
1497  )
1498  {
1499  return GetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_MATRIX, value, sizeof(*value));
1500  }
1501 
1506  COM_DECLSPEC_NOTHROW
1507  HRESULT
1508  SetAttributeValue(
1509  _In_ PCWSTR name,
1511  )
1512  {
1513  return SetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_UNIT_TYPE, &value, sizeof(value));
1514  }
1515 
1520  COM_DECLSPEC_NOTHROW
1521  HRESULT
1522  GetAttributeValue(
1523  _In_ PCWSTR name,
1524  _Out_ D2D1_SVG_UNIT_TYPE *value
1525  )
1526  {
1527  return GetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_UNIT_TYPE, value, sizeof(*value));
1528  }
1529 
1534  COM_DECLSPEC_NOTHROW
1535  HRESULT
1536  SetAttributeValue(
1537  _In_ PCWSTR name,
1539  )
1540  {
1541  return SetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_EXTEND_MODE, &value, sizeof(value));
1542  }
1543 
1548  COM_DECLSPEC_NOTHROW
1549  HRESULT
1550  GetAttributeValue(
1551  _In_ PCWSTR name,
1552  _Out_ D2D1_EXTEND_MODE *value
1553  )
1554  {
1555  return GetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_EXTEND_MODE, value, sizeof(*value));
1556  }
1557 
1562  COM_DECLSPEC_NOTHROW
1563  HRESULT
1564  SetAttributeValue(
1565  _In_ PCWSTR name,
1567  )
1568  {
1569  return SetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_PRESERVE_ASPECT_RATIO, &value, sizeof(value));
1570  }
1571 
1576  COM_DECLSPEC_NOTHROW
1577  HRESULT
1578  GetAttributeValue(
1579  _In_ PCWSTR name,
1581  )
1582  {
1583  return GetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_PRESERVE_ASPECT_RATIO, value, sizeof(*value));
1584  }
1585 
1589  COM_DECLSPEC_NOTHROW
1590  HRESULT
1591  SetAttributeValue(
1592  _In_ PCWSTR name,
1594  )
1595  {
1596  return SetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_LENGTH, &value, sizeof(value));
1597  }
1598 
1602  COM_DECLSPEC_NOTHROW
1603  HRESULT
1604  GetAttributeValue(
1605  _In_ PCWSTR name,
1606  _Out_ D2D1_SVG_LENGTH *value
1607  )
1608  {
1609  return GetAttributeValue(name, D2D1_SVG_ATTRIBUTE_POD_TYPE_LENGTH, value, sizeof(*value));
1610  }
1611 
1615  COM_DECLSPEC_NOTHROW
1616  HRESULT
1617  GetAttributeValue(
1618  _In_ PCWSTR name,
1619  _COM_Outptr_result_maybenull_ ID2D1SvgAttribute **value
1620  )
1621  {
1622  return GetAttributeValue(name, IID_ID2D1SvgAttribute, reinterpret_cast<void **>(value));
1623  }
1624 
1629  COM_DECLSPEC_NOTHROW
1630  HRESULT
1631  GetAttributeValue(
1632  _In_ PCWSTR name,
1633  _COM_Outptr_result_maybenull_ ID2D1SvgPaint **value
1634  )
1635  {
1636  return GetAttributeValue(name, IID_ID2D1SvgPaint, reinterpret_cast<void **>(value));
1637  }
1638 
1643  COM_DECLSPEC_NOTHROW
1644  HRESULT
1645  GetAttributeValue(
1646  _In_ PCWSTR name,
1647  _COM_Outptr_result_maybenull_ ID2D1SvgStrokeDashArray **value
1648  )
1649  {
1650  return GetAttributeValue(name, IID_ID2D1SvgStrokeDashArray, reinterpret_cast<void **>(value));
1651  }
1652 
1657  COM_DECLSPEC_NOTHROW
1658  HRESULT
1659  GetAttributeValue(
1660  _In_ PCWSTR name,
1661  _COM_Outptr_result_maybenull_ ID2D1SvgPointCollection **value
1662  )
1663  {
1664  return GetAttributeValue(name, IID_ID2D1SvgPointCollection, reinterpret_cast<void **>(value));
1665  }
1666 
1671  COM_DECLSPEC_NOTHROW
1672  HRESULT
1673  GetAttributeValue(
1674  _In_ PCWSTR name,
1675  _COM_Outptr_result_maybenull_ ID2D1SvgPathData **value
1676  )
1677  {
1678  return GetAttributeValue(name, IID_ID2D1SvgPathData, reinterpret_cast<void **>(value));
1679  }
1680 }; // interface ID2D1SvgElement
1681 
1682 
1683 interface DX_DECLARE_INTERFACE("86b88e4d-afa4-4d7b-88e4-68a51c4a0aec") ID2D1SvgDocument : public ID2D1Resource
1684 {
1685 
1689  STDMETHOD(SetViewportSize)(
1690  D2D1_SIZE_F viewportSize
1691  ) PURE;
1692 
1696  STDMETHOD_(D2D1_SIZE_F, GetViewportSize)(
1697  ) CONST PURE;
1698 
1703  STDMETHOD(SetRoot)(
1704  _In_opt_ ID2D1SvgElement *root
1705  ) PURE;
1706 
1710  STDMETHOD_(void, GetRoot)(
1711  _Outptr_result_maybenull_ ID2D1SvgElement **root
1712  ) PURE;
1713 
1718  STDMETHOD(FindElementById)(
1719  _In_ PCWSTR id,
1720  _COM_Outptr_result_maybenull_ ID2D1SvgElement **svgElement
1721  ) PURE;
1722 
1731  STDMETHOD(Serialize)(
1732  _In_ IStream *outputXmlStream,
1733  _In_opt_ ID2D1SvgElement *subtree = NULL
1734  ) PURE;
1735 
1744  STDMETHOD(Deserialize)(
1745  _In_ IStream *inputXmlStream,
1746  _COM_Outptr_ ID2D1SvgElement **subtree
1747  ) PURE;
1748 
1757  STDMETHOD(CreatePaint)(
1758  D2D1_SVG_PAINT_TYPE paintType,
1759  _In_opt_ CONST D2D1_COLOR_F *color,
1760  _In_opt_ PCWSTR id,
1761  _COM_Outptr_ ID2D1SvgPaint **paint
1762  ) PURE;
1763 
1768  STDMETHOD(CreateStrokeDashArray)(
1769  _In_reads_opt_(dashesCount) CONST D2D1_SVG_LENGTH *dashes,
1770  UINT32 dashesCount,
1771  _COM_Outptr_ ID2D1SvgStrokeDashArray **strokeDashArray
1772  ) PURE;
1773 
1778  STDMETHOD(CreatePointCollection)(
1779  _In_reads_opt_(pointsCount) CONST D2D1_POINT_2F *points,
1780  UINT32 pointsCount,
1781  _COM_Outptr_ ID2D1SvgPointCollection **pointCollection
1782  ) PURE;
1783 
1788  STDMETHOD(CreatePathData)(
1789  _In_reads_opt_(segmentDataCount) CONST FLOAT *segmentData,
1790  UINT32 segmentDataCount,
1791  _In_reads_opt_(commandsCount) CONST D2D1_SVG_PATH_COMMAND *commands,
1792  UINT32 commandsCount,
1793  _COM_Outptr_ ID2D1SvgPathData **pathData
1794  ) PURE;
1795 
1804  COM_DECLSPEC_NOTHROW
1805  HRESULT
1806  CreatePaint(
1807  D2D1_SVG_PAINT_TYPE paintType,
1809  _In_opt_ PCWSTR id,
1810  _COM_Outptr_ ID2D1SvgPaint **paint
1811  )
1812  {
1813  return CreatePaint(paintType, &color, id, paint);
1814  }
1815 }; // interface ID2D1SvgDocument
1816 
1817 
1818 #endif
1819 
1820 #endif
1821 
1822 
1823 #ifdef D2D_USE_C_DEFINITIONS
1824 
1825 
1826 #endif
1827 
1828 
1829 
1830 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
1831 /*#pragma endregion*/
1832 #endif // #ifndef _D2D1_SVG_
Starts a new subpath at the coordinate (x y). Uses 2 floats of segment data.
Definition: d2d1svg.h:311
#define DX_DECLARE_INTERFACE(x)
Definition: dcommon.h:17
Draws a quadratic Bezier curve (x1 y1 x y). The curve ends at (x, y) and is defined by the control po...
Definition: d2d1svg.h:341
Represents all SVG preserveAspectRatio settings.
Definition: d2d1svg.h:549
GLuint const GLchar * name
Definition: glext.h:6671
Draws a smooth quadratic Bezier curve ending at (x, y). Uses 2 floats of segment data.
Definition: d2d1svg.h:399
D2D1_SVG_ATTRIBUTE_STRING_TYPE
Defines the type of SVG string attribute to set or get.
Definition: d2d1svg.h:434
The attribute is a D2D1_EXTEND_MODE.
Definition: d2d1svg.h:514
Draws an elliptical arc (rx ry x-axis-rotation large-arc-flag sweep-flag x y). The curve ends at (x,...
Definition: d2d1svg.h:354
The element is visible.
Definition: d2d1svg.h:125
The property is set to SVG's 'bevel' value.
Definition: d2d1svg.h:190
D2D1_SVG_VISIBILITY
Specifies a value for the SVG visibility property.
Definition: d2d1svg.h:119
EXTERN_C CONST IID IID_ID2D1SvgDocument
Definition: d2d1svg.h:591
The attribute is an element ID.
Definition: d2d1svg.h:449
The attribute is a D2D1_SVG_LINE_CAP.
Definition: d2d1svg.h:489
D2D1_SVG_OVERFLOW
Specifies a value for the SVG overflow property.
Definition: d2d1svg.h:139
Definition: glslang_tab.cpp:129
Draws a cubic Bezier curve (x1 y1 x2 y2 x y). The curve ends at (x, y) and is defined by the two cont...
Definition: d2d1svg.h:335
Definition: d2d1svg.h:111
Definition: d2d1svg.h:131
D2D1_SVG_ATTRIBUTE_POD_TYPE
Defines the type of SVG POD attribute to set or get.
Definition: d2d1svg.h:458
The attribute is a D2D1_COLOR_F.
Definition: d2d1svg.h:469
The alignment is set to SVG's 'xMidYMin' value.
Definition: d2d1svg.h:226
Square line cap.
Definition: d2d1.h:391
The current color is rendered.
Definition: d2d1svg.h:46
Draws a vertical line to the coordinate (y). Uses 1 float of segment data.
Definition: d2d1svg.h:376
FLOAT y
Definition: d2d1svg.h:578
EXTERN_C CONST IID IID_ID2D1SvgStrokeDashArray
Definition: d2d1svg.h:587
The attribute is a D2D1_SVG_UNIT_TYPE.
Definition: d2d1svg.h:509
GLenum GLuint id
Definition: glext.h:6233
Draws a cubic Bezier curve (x1 y1 x2 y2 x y). The curve ends at (x, y) and is defined by the two cont...
Definition: d2d1svg.h:328
The alignment is set to SVG's 'xMinYMid' value.
Definition: d2d1svg.h:236
Draws a line to the coordinate (x y). Uses 2 floats of segment data.
Definition: d2d1svg.h:321
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
Draws a horizontal line to the coordinate (x). Uses 1 float of segment data.
Definition: d2d1svg.h:371
The attribute is a FLOAT.
Definition: d2d1svg.h:464
The alignment is set to SVG's 'none' value.
Definition: d2d1svg.h:216
A solid color is rendered.
Definition: d2d1svg.h:41
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: glext.h:6303
D2D1_SVG_PAINT_TYPE
Specifies the paint type for an SVG fill or stroke.
Definition: d2d1svg.h:30
GLboolean GLboolean GLboolean b
Definition: glext.h:6844
The attribute is a D2D1_SVG_PRESERVE_ASPECT_RATIO.
Definition: d2d1svg.h:519
The length is a percentage value.
Definition: d2d1svg.h:90
The element and all children are not rendered directly.
Definition: d2d1svg.h:110
Draws a vertical line to the coordinate (y). Uses 1 float of segment data.
Definition: d2d1svg.h:381
Definition: d2d1svg.h:426
Round line cap.
Definition: d2d1.h:396
EXTERN_C CONST IID IID_ID2D1SvgAttribute
Definition: d2d1svg.h:585
The element uses the default display behavior.
Definition: d2d1svg.h:105
Draws a smooth cubic Bezier curve (x2 y2 x y). The curve ends at (x, y) and is defined by the control...
Definition: d2d1svg.h:387
D2D1_SVG_DISPLAY
Specifies a value for the SVG display property.
Definition: d2d1svg.h:99
The attribute is a D2D1_SVG_LINE_JOIN.
Definition: d2d1svg.h:494
The attribute is a D2D1_SVG_OVERFLOW.
Definition: d2d1svg.h:484
EXTERN_C CONST IID IID_ID2D1SvgPathData
Definition: d2d1svg.h:589
D2D1_SVG_ASPECT_SCALING meetOrSlice
Sets the meetOrSlice portion of the preserveAspectRatio settings.
Definition: d2d1svg.h:567
Draws a smooth cubic Bezier curve (x2 y2 x y). The curve ends at (x, y) and is defined by the control...
Definition: d2d1svg.h:393
#define NULL
Pointer to 0.
Definition: gctypes.h:65
GLenum type
Definition: glext.h:6233
struct D2D1_SVG_LENGTH D2D1_SVG_LENGTH
Represents an SVG length.
The attribute is a D2D1_FILL_MODE.
Definition: d2d1svg.h:474
interface ID2D1SvgDocument ID2D1SvgDocument
Definition: d2d1svg.h:24
FLOAT width
Definition: d2d1svg.h:579
Definition: d2d1svg.h:202
The attribute is a D2D1_SVG_DISPLAY.
Definition: d2d1svg.h:479
Miter/Bevel join.
Definition: d2d1.h:447
The alignment is set to SVG's 'xMaxYMax' value.
Definition: d2d1svg.h:261
GLsizei const GLfloat * points
Definition: glext.h:9015
GLsizei const GLubyte * commands
Definition: glext.h:12617
D2D1_EXTEND_MODE
Enum which describes how to sample from a source outside its base tile.
Definition: d2d1.h:151
The property is set to SVG's 'miter' value. Note that this is equivalent to D2D1_LINE_JOIN_MITER_OR_B...
Definition: d2d1svg.h:196
interface ID2D1SvgElement ID2D1SvgElement
Definition: d2d1svg.h:25
Stores an ordered pair of floats, typically the width and height of a rectangle.
Definition: dcommon.h:252
The fill or stroke is not rendered.
Definition: d2d1svg.h:36
Draws a smooth quadratic Bezier curve ending at (x, y). Uses 2 floats of segment data.
Definition: d2d1svg.h:405
EXTERN_C CONST IID IID_ID2D1SvgPaint
Definition: d2d1svg.h:586
\ The property is set to SVG's 'round' value.
Definition: d2d1svg.h:201
Definition: d2d1svg.h:406
Definition: d2d1svg.h:71
Definition: d2d1svg.h:91
Represents an x-coordinate and y-coordinate pair in two-dimensional space.
Definition: dcommon.h:175
The element is clipped to its viewport.
Definition: d2d1svg.h:150
D2D1_SVG_ASPECT_SCALING
The meetOrSlice portion of the SVG preserveAspectRatio attribute.
Definition: d2d1svg.h:270
Round join.
Definition: d2d1.h:442
f32 a2
Definition: gx_regdef.h:5096
The alignment is set to SVG's 'xMaxYMid' value.
Definition: d2d1svg.h:246
Definition: d2d1svg.h:262
The property is set to SVG's 'round' value.
Definition: d2d1svg.h:175
interface ID2D1PathGeometry1 ID2D1PathGeometry1
Definition: d2d1_1.h:2418
A paint server, defined by another element in the SVG document, is used. If the paint server referenc...
Definition: d2d1svg.h:57
EXTERN_C CONST IID IID_ID2D1SvgElement
Definition: d2d1svg.h:590
Definition: d2d1svg.h:284
Represents a 3-by-2 matrix.
Definition: dcommon.h:275
GLuint index
Definition: glext.h:6671
A paint server, defined by another element in the SVG document, is used. If the paint server referenc...
Definition: d2d1svg.h:63
Flat line cap.
Definition: d2d1.h:386
A paint server, defined by another element in the SVG document, is used. If the paint server referenc...
Definition: d2d1svg.h:70
Draws a line to the coordinate (x y). Uses 2 floats of segment data.
Definition: d2d1svg.h:316
unsigned int BOOL
Definition: gctypes.h:51
Definition: d2d1svg.h:151
D2D1_SVG_ASPECT_ALIGN align
Sets the align portion of the preserveAspectRatio settings.
Definition: d2d1svg.h:562
struct D2D1_SVG_VIEWBOX D2D1_SVG_VIEWBOX
Represents an SVG viewBox.
uint32_t UINT32
Definition: coretypes.h:10
Draws a horizontal line to the coordinate (x). Uses 1 float of segment data.
Definition: d2d1svg.h:366
The alignment is set to SVG's 'xMinYMin' value.
Definition: d2d1svg.h:221
GLenum fillMode
Definition: glext.h:12635
interface ID2D1Resource ID2D1Resource
Definition: d2d1.h:3576
The property is set to SVG's 'userSpaceOnUse' value.
Definition: d2d1svg.h:420
The attribute is a string in the same form as it would appear in the SVG XML.
Definition: d2d1svg.h:444
GLuint color
Definition: glext.h:6883
Draws an elliptical arc (rx ry x-axis-rotation large-arc-flag sweep-flag x y). The curve ends at (x,...
Definition: d2d1svg.h:361
The alignment is set to SVG's 'xMinYMax' value.
Definition: d2d1svg.h:251
Definition: d2d1svg.h:176
Starts a new subpath at the coordinate (x y). Uses 2 floats of segment data.
Definition: d2d1svg.h:306
The attribute is a D2D1_MATRIX_3X2_F.
Definition: d2d1svg.h:504
Represents an SVG length.
Definition: d2d1svg.h:538
struct D2D1_SVG_PRESERVE_ASPECT_RATIO D2D1_SVG_PRESERVE_ASPECT_RATIO
Represents all SVG preserveAspectRatio settings.
The property is set to SVG's 'square' value.
Definition: d2d1svg.h:170
D2D1_FILL_MODE
Specifies how the intersecting areas of geometries or figures are combined to form the area of the co...
Definition: d2d1.h:616
BOOL defer
Sets the 'defer' portion of the preserveAspectRatio settings. This field only has an effect on an 'im...
Definition: d2d1svg.h:557
Closes the current subpath. Uses no segment data.
Definition: d2d1svg.h:301
The attribute is a D2D1_SVG_VISIBILITY.
Definition: d2d1svg.h:499
D2D1_SVG_LENGTH_UNITS
Specifies the units for an SVG length.
Definition: d2d1svg.h:79
Definition: glslang_tab.cpp:133
The alignment is set to SVG's 'xMidYMax' value.
Definition: d2d1svg.h:256
GLsizei const GLfloat * value
Definition: glext.h:6709
D2D1_SVG_UNIT_TYPE
Defines the coordinate system used for SVG gradient or clipPath elements.
Definition: d2d1svg.h:414
Draws a quadratic Bezier curve (x1 y1 x y). The curve ends at (x, y) and is defined by the control po...
Definition: d2d1svg.h:347
Bevel join.
Definition: d2d1.h:437
FLOAT value
Definition: d2d1svg.h:540
FLOAT x
Definition: d2d1svg.h:577
Scale the viewBox down as much as possible such that the entire viewport is covered by the viewBox.
Definition: d2d1svg.h:283
FLOAT height
Definition: d2d1svg.h:580
The property is set to SVG's 'butt' value.
Definition: d2d1svg.h:165
EXTERN_C CONST IID IID_ID2D1SvgPointCollection
Definition: d2d1svg.h:588
The length is unitless.
Definition: d2d1svg.h:85
Represents an SVG viewBox.
Definition: d2d1svg.h:575
The alignment is set to SVG's 'xMidYMid' value.
Definition: d2d1svg.h:241
D2D1_SVG_LENGTH_UNITS units
Definition: d2d1svg.h:541
D2D1_SVG_ASPECT_ALIGN
The alignment portion of the SVG preserveAspectRatio attribute.
Definition: d2d1svg.h:210
The alignment is set to SVG's 'xMaxYMin' value.
Definition: d2d1svg.h:231
The attribute is a D2D1_SVG_VIEWBOX.
Definition: d2d1svg.h:524
The text renderer interface represents a set of application-defined callbacks that perform rendering ...
Definition: d3d8types.h:57
A paint server, defined by another element in the SVG document, is used.
Definition: d2d1svg.h:51
D2D1_SVG_LINE_JOIN
Specifies a value for the SVG stroke-linejoin property.
Definition: d2d1svg.h:184
Scale the viewBox up as much as possible such that the entire viewBox is visible within the viewport.
Definition: d2d1svg.h:277
The element is not clipped to its viewport.
Definition: d2d1svg.h:145
D2D1_SVG_PATH_COMMAND
Represents a path commmand. Each command may reference floats from the segment data....
Definition: d2d1svg.h:295
The attribute is a D2D1_SVG_LENGTH.
Definition: d2d1svg.h:529
D2D1_SVG_LINE_CAP
Specifies a value for the SVG stroke-linecap property.
Definition: d2d1svg.h:159
The element is invisible.
Definition: d2d1svg.h:130
The property is set to SVG's 'objectBoundingBox' value.
Definition: d2d1svg.h:425