Advertisement
Guest User

Untitled

a guest
May 9th, 2012
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 83.25 KB | None | 0 0
  1. -- Generated from d2d1.h
  2. com.def {
  3.   {"ID2D1Factory";
  4.     methods = {
  5.       {"ReloadSystemMetrics"};
  6.       {ret = "void", "GetDesktopDpi", "float *dpiX, float *dpiY"};
  7.       {"CreateRectangleGeometry", "const D2D1_RECT_F *rectangle, ID2D1RectangleGeometry **rectangleGeometry"};
  8.       {"CreateRoundedRectangleGeometry", "const D2D1_ROUNDED_RECT *roundedRectangle, ID2D1RoundedRectangleGeometry **roundedRectangleGeometry"};
  9.       {"CreateEllipseGeometry", "const D2D1_ELLIPSE *ellipse, ID2D1EllipseGeometry **ellipseGeometry"};
  10.       {"CreateGeometryGroup", "D2D1_FILL_MODE fillMode, ID2D1Geometry **geometries, unsigned int geometriesCount, ID2D1GeometryGroup **geometryGroup"};
  11.       {"CreateTransformedGeometry", "ID2D1Geometry *sourceGeometry, const D2D1_MATRIX_3X2_F *transform, ID2D1TransformedGeometry **transformedGeometry"};
  12.       {"CreatePathGeometry", "ID2D1PathGeometry **pathGeometry"};
  13.       {"CreateStrokeStyle", "const D2D1_STROKE_STYLE_PROPERTIES *strokeStyleProperties, const float *dashes, unsigned int dashesCount, ID2D1StrokeStyle **strokeStyle"};
  14.       {"CreateDrawingStateBlock", "const D2D1_DRAWING_STATE_DESCRIPTION *drawingStateDescription, IDWriteRenderingParams *textRenderingParams, ID2D1DrawingStateBlock **drawingStateBlock"};
  15.       {"CreateWicBitmapRenderTarget", "IWICBitmap *target, const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties, ID2D1RenderTarget **renderTarget"};
  16.       {"CreateHwndRenderTarget", "const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties, const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwndRenderTargetProperties, ID2D1HwndRenderTarget **hwndRenderTarget"};
  17.       {"CreateDxgiSurfaceRenderTarget", "IDXGISurface *dxgiSurface, const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties, ID2D1RenderTarget **renderTarget"};
  18.       {"CreateDCRenderTarget", "const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties, ID2D1DCRenderTarget **dcRenderTarget"};
  19.     };
  20.     iid = "06152247-6f50-465a-9245-118bfd3b6007";
  21.   };
  22.   {"ID2D1TessellationSink";
  23.     methods = {
  24.       {ret = "void", "AddTriangles", "const D2D1_TRIANGLE *triangles, unsigned int trianglesCount"};
  25.       {"Close"};
  26.     };
  27.     iid = "2cd906c1-12e2-11dc-9fed-001143a055f9";
  28.   };
  29.   {"ID2D1Resource";
  30.     methods = {
  31.       {ret = "void", "GetFactory", "ID2D1Factory **factory"};
  32.     };
  33.     iid = "2cd90691-12e2-11dc-9fed-001143a055f9";
  34.   };
  35.   {"ID2D1RenderTarget"; inherits = "ID2D1Resource";
  36.     methods = {
  37.       {"CreateBitmap", "D2D1_SIZE_U size, const void *srcData, uint32_t pitch, const D2D1_BITMAP_PROPERTIES *bitmapProperties, ID2D1Bitmap **bitmap"};
  38.       {"CreateBitmapFromWicBitmap", "IWICBitmapSource *wicBitmapSource, const D2D1_BITMAP_PROPERTIES *bitmapProperties, ID2D1Bitmap **bitmap"};
  39.       {"CreateSharedBitmap", "REFIID riid, void *data, const D2D1_BITMAP_PROPERTIES *bitmapProperties, ID2D1Bitmap **bitmap"};
  40.       {"CreateBitmapBrush", "ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES *bitmapBrushProperties, const D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1BitmapBrush **bitmapBrush"};
  41.       {"CreateSolidColorBrush", "const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1SolidColorBrush **solidColorBrush"};
  42.       {"CreateGradientStopCollection", "const D2D1_GRADIENT_STOP *gradientStops, unsigned int gradientStopsCount, D2D1_GAMMA colorInterpolationGamma, D2D1_EXTEND_MODE extendMode, ID2D1GradientStopCollection **gradientStopCollection"};
  43.       {"CreateLinearGradientBrush", "const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, const D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1GradientStopCollection *gradientStopCollection, ID2D1LinearGradientBrush **linearGradientBrush"};
  44.       {"CreateRadialGradientBrush", "const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, const D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1GradientStopCollection *gradientStopCollection, ID2D1RadialGradientBrush **radialGradientBrush"};
  45.       {"CreateCompatibleRenderTarget", "const D2D1_SIZE_F *desiredSize, const D2D1_SIZE_U *desiredPixelSize, const D2D1_PIXEL_FORMAT *desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget **bitmapRenderTarget"};
  46.       {"CreateLayer", "const D2D1_SIZE_F *size, ID2D1Layer **layer"};
  47.       {"CreateMesh", "ID2D1Mesh **mesh"};
  48.       {ret = "void", "DrawLine", "D2D1_POINT_2F point0, D2D1_POINT_2F point1, ID2D1Brush *brush, float strokeWidth, ID2D1StrokeStyle *strokeStyle"};
  49.       {ret = "void", "DrawRectangle", "const D2D1_RECT_F *rect, ID2D1Brush *brush, float strokeWidth, ID2D1StrokeStyle *strokeStyle"};
  50.       {ret = "void", "FillRectangle", "const D2D1_RECT_F *rect, ID2D1Brush *brush"};
  51.       {ret = "void", "DrawRoundedRectangle", "const D2D1_ROUNDED_RECT *roundedRect, ID2D1Brush *brush, float strokeWidth, ID2D1StrokeStyle *strokeStyle"};
  52.       {ret = "void", "FillRoundedRectangle", "const D2D1_ROUNDED_RECT *roundedRect, ID2D1Brush *brush"};
  53.       {ret = "void", "DrawEllipse", "const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, float strokeWidth, ID2D1StrokeStyle *strokeStyle"};
  54.       {ret = "void", "FillEllipse", "const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush"};
  55.       {ret = "void", "DrawGeometry", "ID2D1Geometry *geometry, ID2D1Brush *brush, float strokeWidth, ID2D1StrokeStyle *strokeStyle"};
  56.       {ret = "void", "FillGeometry", "ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacityBrush"};
  57.       {ret = "void", "FillMesh", "ID2D1Mesh *mesh, ID2D1Brush *brush"};
  58.       {ret = "void", "FillOpacityMask", "ID2D1Bitmap *opacityMask, ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content, const D2D1_RECT_F *destinationRectangle, const D2D1_RECT_F *sourceRectangle"};
  59.       {ret = "void", "DrawBitmap", "ID2D1Bitmap *bitmap, const D2D1_RECT_F *destinationRectangle, float opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode, const D2D1_RECT_F *sourceRectangle"};
  60.       {ret = "void", "DrawText", "const wchar_t *string, unsigned int stringLength, IDWriteTextFormat *textFormat, const D2D1_RECT_F *layoutRect, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuringMode"};
  61.       {ret = "void", "DrawTextLayout", "D2D1_POINT_2F origin, IDWriteTextLayout *textLayout, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options"};
  62.       {ret = "void", "DrawGlyphRun", "D2D1_POINT_2F baselineOrigin, const DWRITE_GLYPH_RUN *glyphRun, ID2D1Brush *foregroundBrush, DWRITE_MEASURING_MODE measuringMode"};
  63.       {ret = "void", "SetTransform", "const D2D1_MATRIX_3X2_F *transform"};
  64.       {ret = "void", "GetTransform", "D2D1_MATRIX_3X2_F *transform"};
  65.       {ret = "void", "SetAntialiasMode", "D2D1_ANTIALIAS_MODE antialiasMode"};
  66.       {ret = "D2D1_ANTIALIAS_MODE", "GetAntialiasMode"};
  67.       {ret = "void", "SetTextAntialiasMode", "D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode"};
  68.       {ret = "D2D1_TEXT_ANTIALIAS_MODE", "GetTextAntialiasMode"};
  69.       {ret = "void", "SetTextRenderingParams", "IDWriteRenderingParams *textRenderingParams"};
  70.       {ret = "void", "GetTextRenderingParams", "IDWriteRenderingParams **textRenderingParams"};
  71.       {ret = "void", "SetTags", "D2D1_TAG tag1, D2D1_TAG tag2"};
  72.       {ret = "void", "GetTags", "D2D1_TAG *tag1, D2D1_TAG *tag2"};
  73.       {ret = "void", "PushLayer", "const D2D1_LAYER_PARAMETERS *layerParameters, ID2D1Layer *layer"};
  74.       {ret = "void", "PopLayer"};
  75.       {"Flush", "D2D1_TAG *tag1, D2D1_TAG *tag2"};
  76.       {ret = "void", "SaveDrawingState", "ID2D1DrawingStateBlock *drawingStateBlock"};
  77.       {ret = "void", "RestoreDrawingState", "ID2D1DrawingStateBlock *drawingStateBlock"};
  78.       {ret = "void", "PushAxisAlignedClip", "const D2D1_RECT_F *clipRect, D2D1_ANTIALIAS_MODE antialiasMode"};
  79.       {ret = "void", "PopAxisAlignedClip"};
  80.       {ret = "void", "Clear", "const D2D1_COLOR_F *clearColor"};
  81.       {ret = "void", "BeginDraw"};
  82.       {"EndDraw", "D2D1_TAG *tag1, D2D1_TAG *tag2"};
  83.       {ret = "D2D1_PIXEL_FORMAT", "GetPixelFormat"};
  84.       {ret = "void", "SetDpi", "float dpiX, float dpiY"};
  85.       {ret = "void", "GetDpi", "float *dpiX, float *dpiY"};
  86.       {ret = "D2D1_SIZE_F", "GetSize"};
  87.       {ret = "D2D1_SIZE_U", "GetPixelSize"};
  88.       {ret = "uint32_t", "GetMaximumBitmapSize"};
  89.       {ret = "BOOL", "IsSupported", "const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties"};
  90.     };
  91.     iid = "2cd90694-12e2-11dc-9fed-001143a055f9";
  92.   };
  93.   {"ID2D1DCRenderTarget"; inherits = "ID2D1RenderTarget";
  94.     methods = {
  95.       {"BindDC", "const HDC hDC, const RECT *pSubRect"};
  96.     };
  97.     iid = "1c51bc64-de61-46fd-9899-63a5d8f03950";
  98.   };
  99.   {"ID2D1HwndRenderTarget"; inherits = "ID2D1RenderTarget";
  100.     methods = {
  101.       {ret = "D2D1_WINDOW_STATE", "CheckWindowState"};
  102.       {"Resize", "const D2D1_SIZE_U *pixelSize"};
  103.       {ret = "HWND", "GetHwnd"};
  104.     };
  105.     iid = "2cd90698-12e2-11dc-9fed-001143a055f9";
  106.   };
  107.   {"ID2D1BitmapRenderTarget"; inherits = "ID2D1RenderTarget";
  108.     methods = {
  109.       {"GetBitmap", "ID2D1Bitmap **bitmap"};
  110.     };
  111.     iid = "2cd90695-12e2-11dc-9fed-001143a055f9";
  112.   };
  113.   {"ID2D1GradientStopCollection"; inherits = "ID2D1Resource";
  114.     methods = {
  115.       {ret = "uint32_t", "GetGradientStopCount"};
  116.       {ret = "void", "GetGradientStops", "D2D1_GRADIENT_STOP *gradientStops, unsigned int gradientStopsCount"};
  117.       {ret = "D2D1_GAMMA", "GetColorInterpolationGamma"};
  118.       {ret = "D2D1_EXTEND_MODE", "GetExtendMode"};
  119.     };
  120.     iid = "2cd906a7-12e2-11dc-9fed-001143a055f9";
  121.   };
  122.   {"ID2D1StrokeStyle"; inherits = "ID2D1Resource";
  123.     methods = {
  124.       {ret = "D2D1_CAP_STYLE", "GetStartCap"};
  125.       {ret = "D2D1_CAP_STYLE", "GetEndCap"};
  126.       {ret = "D2D1_CAP_STYLE", "GetDashCap"};
  127.       {ret = "float", "GetMiterLimit"};
  128.       {ret = "D2D1_LINE_JOIN", "GetLineJoin"};
  129.       {ret = "float", "GetDashOffset"};
  130.       {ret = "D2D1_DASH_STYLE", "GetDashStyle"};
  131.       {ret = "uint32_t", "GetDashesCount"};
  132.       {ret = "void", "GetDashes", "float *dashes, unsigned int dashesCount"};
  133.     };
  134.     iid = "2cd9069d-12e2-11dc-9fed-001143a055f9";
  135.   };
  136.   {"ID2D1Brush"; inherits = "ID2D1Resource";
  137.     methods = {
  138.       {ret = "void", "SetOpacity", "float opacity"};
  139.       {ret = "void", "SetTransform", "const D2D1_MATRIX_3X2_F *transform"};
  140.       {ret = "float", "GetOpacity"};
  141.       {ret = "void", "GetTransform", "D2D1_MATRIX_3X2_F *transform"};
  142.     };
  143.     iid = "2cd906a8-12e2-11dc-9fed-001143a055f9";
  144.   };
  145.   {"ID2D1RadialGradientBrush"; inherits = "ID2D1Brush";
  146.     methods = {
  147.       {ret = "void", "SetCenter", "D2D1_POINT_2F center"};
  148.       {ret = "void", "SetGradientOriginOffset", "D2D1_POINT_2F gradientOriginOffset"};
  149.       {ret = "void", "SetRadiusX", "float radiusX"};
  150.       {ret = "void", "SetRadiusY", "float radiusY"};
  151.       {ret = "D2D1_POINT_2F", "GetCenter"};
  152.       {ret = "D2D1_POINT_2F", "GetGradientOriginOffset"};
  153.       {ret = "float", "GetRadiusX"};
  154.       {ret = "float", "GetRadiusY"};
  155.       {ret = "void", "GetGradientStopCollection", "ID2D1GradientStopCollection **gradientStopCollection"};
  156.     };
  157.     iid = "2cd906ac-12e2-11dc-9fed-001143a055f9";
  158.   };
  159.   {"ID2D1SolidColorBrush"; inherits = "ID2D1Brush";
  160.     methods = {
  161.       {ret = "void", "SetColor", "const D2D1_COLOR_F *color"};
  162.       {ret = "D2D1_COLOR_F", "GetColor"};
  163.     };
  164.     iid = "2cd906a9-12e2-11dc-9fed-001143a055f9";
  165.   };
  166.   {"ID2D1BitmapBrush"; inherits = "ID2D1Brush";
  167.     methods = {
  168.       {ret = "void", "SetExtendModeX", "D2D1_EXTEND_MODE extendModeX"};
  169.       {ret = "void", "SetExtendModeY", "D2D1_EXTEND_MODE extendModeY"};
  170.       {ret = "void", "SetInterpolationMode", "D2D1_BITMAP_INTERPOLATION_MODE interpolationMode"};
  171.       {ret = "void", "SetBitmap", "ID2D1Bitmap *bitmap"};
  172.       {ret = "D2D1_EXTEND_MODE", "GetExtendModeX"};
  173.       {ret = "D2D1_EXTEND_MODE", "GetExtendModeY"};
  174.       {ret = "D2D1_BITMAP_INTERPOLATION_MODE", "GetInterpolationMode"};
  175.       {ret = "void", "GetBitmap", "ID2D1Bitmap **bitmap"};
  176.     };
  177.     iid = "2cd906aa-12e2-11dc-9fed-001143a055f9";
  178.   };
  179.   {"ID2D1LinearGradientBrush"; inherits = "ID2D1Brush";
  180.     methods = {
  181.       {ret = "void", "SetStartPoint", "D2D1_POINT_2F startPoint"};
  182.       {ret = "void", "SetEndPoint", "D2D1_POINT_2F endPoint"};
  183.       {ret = "D2D1_POINT_2F", "GetStartPoint"};
  184.       {ret = "D2D1_POINT_2F", "GetEndPoint"};
  185.       {ret = "void", "GetGradientStopCollection", "ID2D1GradientStopCollection **gradientStopCollection"};
  186.     };
  187.     iid = "2cd906ab-12e2-11dc-9fed-001143a055f9";
  188.   };
  189.   {"ID2D1DrawingStateBlock"; inherits = "ID2D1Resource";
  190.     methods = {
  191.       {ret = "void", "GetDescription", "D2D1_DRAWING_STATE_DESCRIPTION *stateDescription"};
  192.       {ret = "void", "SetDescription", "const D2D1_DRAWING_STATE_DESCRIPTION *stateDescription"};
  193.       {ret = "void", "SetTextRenderingParams", "IDWriteRenderingParams *textRenderingParams"};
  194.       {ret = "void", "GetTextRenderingParams", "IDWriteRenderingParams **textRenderingParams"};
  195.     };
  196.     iid = "28506e39-ebf6-46a1-bb47-fd85565ab957";
  197.   };
  198.   {"ID2D1Mesh"; inherits = "ID2D1Resource";
  199.     methods = {
  200.       {"Open", "ID2D1TessellationSink **tessellationSink"};
  201.     };
  202.     iid = "2cd906c2-12e2-11dc-9fed-001143a055f9";
  203.   };
  204.   {"ID2D1Layer"; inherits = "ID2D1Resource";
  205.     methods = {
  206.       {ret = "D2D1_SIZE_F", "GetSize"};
  207.     };
  208.     iid = "2cd9069b-12e2-11dc-9fed-001143a055f9";
  209.   };
  210.   {"ID2D1Bitmap"; inherits = "ID2D1Resource";
  211.     methods = {
  212.       {ret = "D2D1_SIZE_F", "GetSize"};
  213.       {ret = "D2D1_SIZE_U", "GetPixelSize"};
  214.       {ret = "D2D1_PIXEL_FORMAT", "GetPixelFormat"};
  215.       {ret = "void", "GetDpi", "float *dpiX, float *dpiY"};
  216.       {"CopyFromBitmap", "const D2D1_POINT_2U *destPoint, ID2D1Bitmap *bitmap, const D2D1_RECT_U *srcRect"};
  217.       {"CopyFromRenderTarget", "const D2D1_POINT_2U *destPoint, ID2D1RenderTarget *renderTarget, const D2D1_RECT_U *srcRect"};
  218.       {"CopyFromMemory", "const D2D1_RECT_U *dstRect, const void *srcData, uint32_t pitch"};
  219.     };
  220.     iid = "a2296057-ea42-4099-983b-539fb6505426";
  221.   };
  222.   {"ID2D1Geometry"; inherits = "ID2D1Resource";
  223.     methods = {
  224.       {"GetBounds", "const D2D1_MATRIX_3X2_F *worldTransform, D2D1_RECT_F *bounds"};
  225.       {"GetWidenedBounds", "float strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, float flatteningTolerance, D2D1_RECT_F *bounds"};
  226.       {"StrokeContainsPoint", "D2D1_POINT_2F point, float strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, float flatteningTolerance, BOOL *contains"};
  227.       {"FillContainsPoint", "D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *worldTransform, float flatteningTolerance, BOOL *contains"};
  228.       {"CompareWithGeometry", "ID2D1Geometry *inputGeometry, const D2D1_MATRIX_3X2_F *inputGeometryTransform, float flatteningTolerance, D2D1_GEOMETRY_RELATION *relation"};
  229.       {"Simplify", "D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption, const D2D1_MATRIX_3X2_F *worldTransform, float flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink"};
  230.       {"Tessellate", "const D2D1_MATRIX_3X2_F *worldTransform, float flatteningTolerance, ID2D1TessellationSink *tessellationSink"};
  231.       {"CombineWithGeometry", "ID2D1Geometry *inputGeometry, D2D1_COMBINE_MODE combineMode, const D2D1_MATRIX_3X2_F *inputGeometryTransform, float flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink"};
  232.       {"Outline", "const D2D1_MATRIX_3X2_F *worldTransform, float flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink"};
  233.       {"ComputeArea", "const D2D1_MATRIX_3X2_F *worldTransform, float flatteningTolerance, float *area"};
  234.       {"ComputeLength", "const D2D1_MATRIX_3X2_F *worldTransform, float flatteningTolerance, float *length"};
  235.       {"ComputePointAtLength", "float length, const D2D1_MATRIX_3X2_F *worldTransform, float flatteningTolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *unitTangentVector"};
  236.       {"Widen", "float strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, float flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink"};
  237.     };
  238.     iid = "2cd906a1-12e2-11dc-9fed-001143a055f9";
  239.   };
  240.   {"ID2D1GeometryGroup"; inherits = "ID2D1Geometry";
  241.     methods = {
  242.       {ret = "D2D1_FILL_MODE", "GetFillMode"};
  243.       {ret = "uint32_t", "GetSourceGeometryCount"};
  244.       {ret = "void", "GetSourceGeometries", "ID2D1Geometry **geometries, unsigned int geometriesCount"};
  245.     };
  246.     iid = "2cd906a6-12e2-11dc-9fed-001143a055f9";
  247.   };
  248.   {"ID2D1EllipseGeometry"; inherits = "ID2D1Geometry";
  249.     methods = {
  250.       {ret = "void", "GetEllipse", "D2D1_ELLIPSE *ellipse"};
  251.     };
  252.     iid = "2cd906a4-12e2-11dc-9fed-001143a055f9";
  253.   };
  254.   {"ID2D1RoundedRectangleGeometry"; inherits = "ID2D1Geometry";
  255.     methods = {
  256.       {ret = "void", "GetRoundedRect", "D2D1_ROUNDED_RECT *roundedRect"};
  257.     };
  258.     iid = "2cd906a3-12e2-11dc-9fed-001143a055f9";
  259.   };
  260.   {"ID2D1TransformedGeometry"; inherits = "ID2D1Geometry";
  261.     methods = {
  262.       {ret = "void", "GetSourceGeometry", "ID2D1Geometry **sourceGeometry"};
  263.       {ret = "void", "GetTransform", "D2D1_MATRIX_3X2_F *transform"};
  264.     };
  265.     iid = "2cd906bb-12e2-11dc-9fed-001143a055f9";
  266.   };
  267.   {"ID2D1PathGeometry"; inherits = "ID2D1Geometry";
  268.     methods = {
  269.       {"Open", "ID2D1GeometrySink **geometrySink"};
  270.       {"Stream", "ID2D1GeometrySink *geometrySink"};
  271.       {"GetSegmentCount", "uint32_t *count"};
  272.       {"GetFigureCount", "uint32_t *count"};
  273.     };
  274.     iid = "2cd906a5-12e2-11dc-9fed-001143a055f9";
  275.   };
  276.   {"ID2D1RectangleGeometry"; inherits = "ID2D1Geometry";
  277.     methods = {
  278.       {ret = "void", "GetRect", "D2D1_RECT_F *rect"};
  279.     };
  280.     iid = "2cd906a2-12e2-11dc-9fed-001143a055f9";
  281.   };
  282.   {"ID2D1SimplifiedGeometrySink";
  283.     methods = {
  284.       {ret = "void", "SetFillMode", "D2D1_FILL_MODE fillMode"};
  285.       {ret = "void", "SetSegmentFlags", "D2D1_PATH_SEGMENT vertexFlags"};
  286.       {ret = "void", "BeginFigure", "D2D1_POINT_2F startPoint, D2D1_FIGURE_BEGIN figureBegin"};
  287.       {ret = "void", "AddLines", "const D2D1_POINT_2F *points, unsigned int pointsCount"};
  288.       {ret = "void", "AddBeziers", "const D2D1_BEZIER_SEGMENT *beziers, unsigned int beziersCount"};
  289.       {ret = "void", "EndFigure", "D2D1_FIGURE_END figureEnd"};
  290.       {"Close"};
  291.     };
  292.     iid = "2cd9069e-12e2-11dc-9fed-001143a055f9";
  293.   };
  294.   {"ID2D1GeometrySink"; inherits = "ID2D1SimplifiedGeometrySink";
  295.     methods = {
  296.       {ret = "void", "AddLine", "D2D1_POINT_2F point"};
  297.       {ret = "void", "AddBezier", "const D2D1_BEZIER_SEGMENT *bezier"};
  298.       {ret = "void", "AddQuadraticBezier", "const D2D1_QUADRATIC_BEZIER_SEGMENT *bezier"};
  299.       {ret = "void", "AddQuadraticBeziers", "const D2D1_QUADRATIC_BEZIER_SEGMENT *beziers, unsigned int beziersCount"};
  300.       {ret = "void", "AddArc", "const D2D1_ARC_SEGMENT *arc"};
  301.     };
  302.     iid = "2cd9069f-12e2-11dc-9fed-001143a055f9";
  303.   };
  304.   {"ID2D1GdiInteropRenderTarget";
  305.     methods = {
  306.       {"GetDC", "D2D1_DC_INITIALIZE_MODE mode, HDC *hdc"};
  307.       {"ReleaseDC", "const RECT *update"};
  308.     };
  309.     iid = "e0db51c3-6f77-4bae-b3d5-e47509b35838";
  310.   };
  311. }
  312. -- Generated from d3d10_1.h
  313. com.def {
  314.   {"ID3D10Multithread";
  315.     methods = {
  316.       {ret = "void", "Enter"};
  317.       {ret = "void", "Leave"};
  318.       {ret = "BOOL", "SetMultithreadProtected", "BOOL bMTProtect"};
  319.       {ret = "BOOL", "GetMultithreadProtected"};
  320.     };
  321.     iid = "9B7E4E00-342C-4106-A19F-4F2704F689F0";
  322.   };
  323.   {"ID3D10DeviceChild";
  324.     methods = {
  325.       {ret = "void", "GetDevice", "ID3D10Device **ppDevice"};
  326.       {"GetPrivateData", "REFGUID guid, unsigned int *pDataSize, void *pData"};
  327.       {"SetPrivateData", "REFGUID guid, unsigned int DataSize, const void *pData"};
  328.       {"SetPrivateDataInterface", "REFGUID guid, const IUnknown *pData"};
  329.     };
  330.     iid = "9B7E4C00-342C-4106-A19F-4F2704F689F0";
  331.   };
  332.   {"ID3D10PixelShader"; inherits = "ID3D10DeviceChild";
  333.     methods = {
  334.     };
  335.     iid = "4968B601-9D00-4cde-8346-8E7F675819B6";
  336.   };
  337.   {"ID3D10VertexShader"; inherits = "ID3D10DeviceChild";
  338.     methods = {
  339.     };
  340.     iid = "9B7E4C0A-342C-4106-A19F-4F2704F689F0";
  341.   };
  342.   {"ID3D10GeometryShader"; inherits = "ID3D10DeviceChild";
  343.     methods = {
  344.     };
  345.     iid = "6316BE88-54CD-4040-AB44-20461BC81F68";
  346.   };
  347.   {"ID3D10RasterizerState"; inherits = "ID3D10DeviceChild";
  348.     methods = {
  349.       {ret = "void", "GetDesc", "D3D10_RASTERIZER_DESC *pDesc"};
  350.     };
  351.     iid = "A2A07292-89AF-4345-BE2E-C53D9FBB6E9F";
  352.   };
  353.   {"ID3D10BlendState"; inherits = "ID3D10DeviceChild";
  354.     methods = {
  355.       {ret = "void", "GetDesc", "D3D10_BLEND_DESC *pDesc"};
  356.     };
  357.     iid = "EDAD8D19-8A35-4d6d-8566-2EA276CDE161";
  358.   };
  359.   {"ID3D10BlendState1"; inherits = "ID3D10BlendState";
  360.     methods = {
  361.       {ret = "void", "GetDesc1", "D3D10_BLEND_DESC1 *pDesc"};
  362.     };
  363.     iid = "EDAD8D99-8A35-4d6d-8566-2EA276CDE161";
  364.   };
  365.   {"ID3D10Asynchronous"; inherits = "ID3D10DeviceChild";
  366.     methods = {
  367.       {ret = "void", "Begin"};
  368.       {ret = "void", "End"};
  369.       {"GetData", "void *pData, unsigned int DataSize, unsigned int GetDataFlags"};
  370.       {ret = "unsigned int", "GetDataSize"};
  371.     };
  372.     iid = "9B7E4C0D-342C-4106-A19F-4F2704F689F0";
  373.   };
  374.   {"ID3D10Query"; inherits = "ID3D10Asynchronous";
  375.     methods = {
  376.       {ret = "void", "GetDesc", "D3D10_QUERY_DESC *pDesc"};
  377.     };
  378.     iid = "9B7E4C0E-342C-4106-A19F-4F2704F689F0";
  379.   };
  380.   {"ID3D10Predicate"; inherits = "ID3D10Query";
  381.     methods = {
  382.     };
  383.     iid = "9B7E4C10-342C-4106-A19F-4F2704F689F0";
  384.   };
  385.   {"ID3D10Counter"; inherits = "ID3D10Asynchronous";
  386.     methods = {
  387.       {ret = "void", "GetDesc", "D3D10_COUNTER_DESC *pDesc"};
  388.     };
  389.     iid = "9B7E4C11-342C-4106-A19F-4F2704F689F0";
  390.   };
  391.   {"ID3D10Resource"; inherits = "ID3D10DeviceChild";
  392.     methods = {
  393.       {ret = "void", "GetType", "D3D10_RESOURCE_DIMENSION *rType"};
  394.       {ret = "void", "SetEvictionPriority", "unsigned int EvictionPriority"};
  395.       {ret = "unsigned int", "GetEvictionPriority"};
  396.     };
  397.     iid = "9B7E4C01-342C-4106-A19F-4F2704F689F0";
  398.   };
  399.   {"ID3D10Texture1D"; inherits = "ID3D10Resource";
  400.     methods = {
  401.       {"Map", "unsigned int Subresource, D3D10_MAP MapType, unsigned int MapFlags, void **ppData"};
  402.       {ret = "void", "Unmap", "unsigned int Subresource"};
  403.       {ret = "void", "GetDesc", "D3D10_TEXTURE1D_DESC *pDesc"};
  404.     };
  405.     iid = "9B7E4C03-342C-4106-A19F-4F2704F689F0";
  406.   };
  407.   {"ID3D10Texture2D"; inherits = "ID3D10Resource";
  408.     methods = {
  409.       {"Map", "unsigned int Subresource, D3D10_MAP MapType, unsigned int MapFlags, D3D10_MAPPED_TEXTURE2D *pMappedTex2D"};
  410.       {ret = "void", "Unmap", "unsigned int Subresource"};
  411.       {ret = "void", "GetDesc", "D3D10_TEXTURE2D_DESC *pDesc"};
  412.     };
  413.     iid = "9B7E4C04-342C-4106-A19F-4F2704F689F0";
  414.   };
  415.   {"ID3D10Texture3D"; inherits = "ID3D10Resource";
  416.     methods = {
  417.       {"Map", "unsigned int Subresource, D3D10_MAP MapType, unsigned int MapFlags, D3D10_MAPPED_TEXTURE3D *pMappedTex3D"};
  418.       {ret = "void", "Unmap", "unsigned int Subresource"};
  419.       {ret = "void", "GetDesc", "D3D10_TEXTURE3D_DESC *pDesc"};
  420.     };
  421.     iid = "9B7E4C05-342C-4106-A19F-4F2704F689F0";
  422.   };
  423.   {"ID3D10Buffer"; inherits = "ID3D10Resource";
  424.     methods = {
  425.       {"Map", "D3D10_MAP MapType, unsigned int MapFlags, void **ppData"};
  426.       {ret = "void", "Unmap"};
  427.       {ret = "void", "GetDesc", "D3D10_BUFFER_DESC *pDesc"};
  428.     };
  429.     iid = "9B7E4C02-342C-4106-A19F-4F2704F689F0";
  430.   };
  431.   {"ID3D10InputLayout"; inherits = "ID3D10DeviceChild";
  432.     methods = {
  433.     };
  434.     iid = "9B7E4C0B-342C-4106-A19F-4F2704F689F0";
  435.   };
  436.   {"ID3D10DepthStencilState"; inherits = "ID3D10DeviceChild";
  437.     methods = {
  438.       {ret = "void", "GetDesc", "D3D10_DEPTH_STENCIL_DESC *pDesc"};
  439.     };
  440.     iid = "2B4B1CC8-A4AD-41f8-8322-CA86FC3EC675";
  441.   };
  442.   {"ID3D10View"; inherits = "ID3D10DeviceChild";
  443.     methods = {
  444.       {ret = "void", "GetResource", "ID3D10Resource **ppResource"};
  445.     };
  446.     iid = "C902B03F-60A7-49BA-9936-2A3AB37A7E33";
  447.   };
  448.   {"ID3D10RenderTargetView"; inherits = "ID3D10View";
  449.     methods = {
  450.       {ret = "void", "GetDesc", "D3D10_RENDER_TARGET_VIEW_DESC *pDesc"};
  451.     };
  452.     iid = "9B7E4C08-342C-4106-A19F-4F2704F689F0";
  453.   };
  454.   {"ID3D10ShaderResourceView"; inherits = "ID3D10View";
  455.     methods = {
  456.       {ret = "void", "GetDesc", "D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc"};
  457.     };
  458.     iid = "9B7E4C07-342C-4106-A19F-4F2704F689F0";
  459.   };
  460.   {"ID3D10ShaderResourceView1"; inherits = "ID3D10ShaderResourceView";
  461.     methods = {
  462.       {ret = "void", "GetDesc1", "D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc"};
  463.     };
  464.     iid = "9B7E4C87-342C-4106-A19F-4F2704F689F0";
  465.   };
  466.   {"ID3D10DepthStencilView"; inherits = "ID3D10View";
  467.     methods = {
  468.       {ret = "void", "GetDesc", "D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc"};
  469.     };
  470.     iid = "9B7E4C09-342C-4106-A19F-4F2704F689F0";
  471.   };
  472.   {"ID3D10SamplerState"; inherits = "ID3D10DeviceChild";
  473.     methods = {
  474.       {ret = "void", "GetDesc", "D3D10_SAMPLER_DESC *pDesc"};
  475.     };
  476.     iid = "9B7E4C0C-342C-4106-A19F-4F2704F689F0";
  477.   };
  478.   {"ID3D10Device";
  479.     methods = {
  480.       {ret = "void", "VSSetConstantBuffers", "unsigned int StartSlot, unsigned int NumBuffers, ID3D10Buffer *const *ppConstantBuffers"};
  481.       {ret = "void", "PSSetShaderResources", "unsigned int StartSlot, unsigned int NumViews, ID3D10ShaderResourceView *const *ppShaderResourceViews"};
  482.       {ret = "void", "PSSetShader", "ID3D10PixelShader *pPixelShader"};
  483.       {ret = "void", "PSSetSamplers", "unsigned int StartSlot, unsigned int NumSamplers, ID3D10SamplerState *const *ppSamplers"};
  484.       {ret = "void", "VSSetShader", "ID3D10VertexShader *pVertexShader"};
  485.       {ret = "void", "DrawIndexed", "unsigned int IndexCount, unsigned int StartIndexLocation, int BaseVertexLocation"};
  486.       {ret = "void", "Draw", "unsigned int VertexCount, unsigned int StartVertexLocation"};
  487.       {ret = "void", "PSSetConstantBuffers", "unsigned int StartSlot, unsigned int NumBuffers, ID3D10Buffer *const *ppConstantBuffers"};
  488.       {ret = "void", "IASetInputLayout", "ID3D10InputLayout *pInputLayout"};
  489.       {ret = "void", "IASetVertexBuffers", "unsigned int StartSlot, unsigned int NumBuffers, ID3D10Buffer *const *ppVertexBuffers, const unsigned int *pStrides, const unsigned int *pOffsets"};
  490.       {ret = "void", "IASetIndexBuffer", "ID3D10Buffer *pIndexBuffer, DXGI_FORMAT Format, unsigned int Offset"};
  491.       {ret = "void", "DrawIndexedInstanced", "unsigned int IndexCountPerInstance, unsigned int InstanceCount, unsigned int StartIndexLocation, int BaseVertexLocation, unsigned int StartInstanceLocation"};
  492.       {ret = "void", "DrawInstanced", "unsigned int VertexCountPerInstance, unsigned int InstanceCount, unsigned int StartVertexLocation, unsigned int StartInstanceLocation"};
  493.       {ret = "void", "GSSetConstantBuffers", "unsigned int StartSlot, unsigned int NumBuffers, ID3D10Buffer *const *ppConstantBuffers"};
  494.       {ret = "void", "GSSetShader", "ID3D10GeometryShader *pShader"};
  495.       {ret = "void", "IASetPrimitiveTopology", "D3D10_PRIMITIVE_TOPOLOGY Topology"};
  496.       {ret = "void", "VSSetShaderResources", "unsigned int StartSlot, unsigned int NumViews, ID3D10ShaderResourceView *const *ppShaderResourceViews"};
  497.       {ret = "void", "VSSetSamplers", "unsigned int StartSlot, unsigned int NumSamplers, ID3D10SamplerState *const *ppSamplers"};
  498.       {ret = "void", "SetPredication", "ID3D10Predicate *pPredicate, BOOL PredicateValue"};
  499.       {ret = "void", "GSSetShaderResources", "unsigned int StartSlot, unsigned int NumViews, ID3D10ShaderResourceView *const *ppShaderResourceViews"};
  500.       {ret = "void", "GSSetSamplers", "unsigned int StartSlot, unsigned int NumSamplers, ID3D10SamplerState *const *ppSamplers"};
  501.       {ret = "void", "OMSetRenderTargets", "unsigned int NumViews, ID3D10RenderTargetView *const *ppRenderTargetViews, ID3D10DepthStencilView *pDepthStencilView"};
  502.       {ret = "void", "OMSetBlendState", "ID3D10BlendState *pBlendState, const float BlendFactor[ 4 ], unsigned int SampleMask"};
  503.       {ret = "void", "OMSetDepthStencilState", "ID3D10DepthStencilState *pDepthStencilState, unsigned int StencilRef"};
  504.       {ret = "void", "SOSetTargets", "unsigned int NumBuffers, ID3D10Buffer *const *ppSOTargets, const unsigned int *pOffsets"};
  505.       {ret = "void", "DrawAuto"};
  506.       {ret = "void", "RSSetState", "ID3D10RasterizerState *pRasterizerState"};
  507.       {ret = "void", "RSSetViewports", "unsigned int NumViewports, const D3D10_VIEWPORT *pViewports"};
  508.       {ret = "void", "RSSetScissorRects", "unsigned int NumRects, const D3D10_RECT *pRects"};
  509.       {ret = "void", "CopySubresourceRegion", "ID3D10Resource *pDstResource, unsigned int DstSubresource, unsigned int DstX, unsigned int DstY, unsigned int DstZ, ID3D10Resource *pSrcResource, unsigned int SrcSubresource, const D3D10_BOX *pSrcBox"};
  510.       {ret = "void", "CopyResource", "ID3D10Resource *pDstResource, ID3D10Resource *pSrcResource"};
  511.       {ret = "void", "UpdateSubresource", "ID3D10Resource *pDstResource, unsigned int DstSubresource, const D3D10_BOX *pDstBox, const void *pSrcData, unsigned int SrcRowPitch, unsigned int SrcDepthPitch"};
  512.       {ret = "void", "ClearRenderTargetView", "ID3D10RenderTargetView *pRenderTargetView, const float ColorRGBA[ 4 ]"};
  513.       {ret = "void", "ClearDepthStencilView", "ID3D10DepthStencilView *pDepthStencilView, unsigned int ClearFlags, float Depth, UINT8 Stencil"};
  514.       {ret = "void", "GenerateMips", "ID3D10ShaderResourceView *pShaderResourceView"};
  515.       {ret = "void", "ResolveSubresource", "ID3D10Resource *pDstResource, unsigned int DstSubresource, ID3D10Resource *pSrcResource, unsigned int SrcSubresource, DXGI_FORMAT Format"};
  516.       {ret = "void", "VSGetConstantBuffers", "unsigned int StartSlot, unsigned int NumBuffers, ID3D10Buffer **ppConstantBuffers"};
  517.       {ret = "void", "PSGetShaderResources", "unsigned int StartSlot, unsigned int NumViews, ID3D10ShaderResourceView **ppShaderResourceViews"};
  518.       {ret = "void", "PSGetShader", "ID3D10PixelShader **ppPixelShader"};
  519.       {ret = "void", "PSGetSamplers", "unsigned int StartSlot, unsigned int NumSamplers, ID3D10SamplerState **ppSamplers"};
  520.       {ret = "void", "VSGetShader", "ID3D10VertexShader **ppVertexShader"};
  521.       {ret = "void", "PSGetConstantBuffers", "unsigned int StartSlot, unsigned int NumBuffers, ID3D10Buffer **ppConstantBuffers"};
  522.       {ret = "void", "IAGetInputLayout", "ID3D10InputLayout **ppInputLayout"};
  523.       {ret = "void", "IAGetVertexBuffers", "unsigned int StartSlot, unsigned int NumBuffers, ID3D10Buffer **ppVertexBuffers, unsigned int *pStrides, unsigned int *pOffsets"};
  524.       {ret = "void", "IAGetIndexBuffer", "ID3D10Buffer **pIndexBuffer, DXGI_FORMAT *Format, unsigned int *Offset"};
  525.       {ret = "void", "GSGetConstantBuffers", "unsigned int StartSlot, unsigned int NumBuffers, ID3D10Buffer **ppConstantBuffers"};
  526.       {ret = "void", "GSGetShader", "ID3D10GeometryShader **ppGeometryShader"};
  527.       {ret = "void", "IAGetPrimitiveTopology", "D3D10_PRIMITIVE_TOPOLOGY *pTopology"};
  528.       {ret = "void", "VSGetShaderResources", "unsigned int StartSlot, unsigned int NumViews, ID3D10ShaderResourceView **ppShaderResourceViews"};
  529.       {ret = "void", "VSGetSamplers", "unsigned int StartSlot, unsigned int NumSamplers, ID3D10SamplerState **ppSamplers"};
  530.       {ret = "void", "GetPredication", "ID3D10Predicate **ppPredicate, BOOL *pPredicateValue"};
  531.       {ret = "void", "GSGetShaderResources", "unsigned int StartSlot, unsigned int NumViews, ID3D10ShaderResourceView **ppShaderResourceViews"};
  532.       {ret = "void", "GSGetSamplers", "unsigned int StartSlot, unsigned int NumSamplers, ID3D10SamplerState **ppSamplers"};
  533.       {ret = "void", "OMGetRenderTargets", "unsigned int NumViews, ID3D10RenderTargetView **ppRenderTargetViews, ID3D10DepthStencilView **ppDepthStencilView"};
  534.       {ret = "void", "OMGetBlendState", "ID3D10BlendState **ppBlendState, float BlendFactor[ 4 ], unsigned int *pSampleMask"};
  535.       {ret = "void", "OMGetDepthStencilState", "ID3D10DepthStencilState **ppDepthStencilState, unsigned int *pStencilRef"};
  536.       {ret = "void", "SOGetTargets", "unsigned int NumBuffers, ID3D10Buffer **ppSOTargets, unsigned int *pOffsets"};
  537.       {ret = "void", "RSGetState", "ID3D10RasterizerState **ppRasterizerState"};
  538.       {ret = "void", "RSGetViewports", "unsigned int *NumViewports, D3D10_VIEWPORT *pViewports"};
  539.       {ret = "void", "RSGetScissorRects", "unsigned int *NumRects, D3D10_RECT *pRects"};
  540.       {"GetDeviceRemovedReason"};
  541.       {"SetExceptionMode", "unsigned int RaiseFlags"};
  542.       {ret = "unsigned int", "GetExceptionMode"};
  543.       {"GetPrivateData", "REFGUID guid, unsigned int *pDataSize, void *pData"};
  544.       {"SetPrivateData", "REFGUID guid, unsigned int DataSize, const void *pData"};
  545.       {"SetPrivateDataInterface", "REFGUID guid, const IUnknown *pData"};
  546.       {ret = "void", "ClearState"};
  547.       {ret = "void", "Flush"};
  548.       {"CreateBuffer", "const D3D10_BUFFER_DESC *pDesc, const D3D10_SUBRESOURCE_DATA *pInitialData, ID3D10Buffer **ppBuffer"};
  549.       {"CreateTexture1D", "const D3D10_TEXTURE1D_DESC *pDesc, const D3D10_SUBRESOURCE_DATA *pInitialData, ID3D10Texture1D **ppTexture1D"};
  550.       {"CreateTexture2D", "const D3D10_TEXTURE2D_DESC *pDesc, const D3D10_SUBRESOURCE_DATA *pInitialData, ID3D10Texture2D **ppTexture2D"};
  551.       {"CreateTexture3D", "const D3D10_TEXTURE3D_DESC *pDesc, const D3D10_SUBRESOURCE_DATA *pInitialData, ID3D10Texture3D **ppTexture3D"};
  552.       {"CreateShaderResourceView", "ID3D10Resource *pResource, const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc, ID3D10ShaderResourceView **ppSRView"};
  553.       {"CreateRenderTargetView", "ID3D10Resource *pResource, const D3D10_RENDER_TARGET_VIEW_DESC *pDesc, ID3D10RenderTargetView **ppRTView"};
  554.       {"CreateDepthStencilView", "ID3D10Resource *pResource, const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc, ID3D10DepthStencilView **ppDepthStencilView"};
  555.       {"CreateInputLayout", "const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs, unsigned int NumElements, const void *pShaderBytecodeWithInputSignature, SIZE_T BytecodeLength, ID3D10InputLayout **ppInputLayout"};
  556.       {"CreateVertexShader", "const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10VertexShader **ppVertexShader"};
  557.       {"CreateGeometryShader", "const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10GeometryShader **ppGeometryShader"};
  558.       {"CreateGeometryShaderWithStreamOutput", "const void *pShaderBytecode, SIZE_T BytecodeLength, const D3D10_SO_DECLARATION_ENTRY *pSODeclaration, unsigned int NumEntries, unsigned int OutputStreamStride, ID3D10GeometryShader **ppGeometryShader"};
  559.       {"CreatePixelShader", "const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10PixelShader **ppPixelShader"};
  560.       {"CreateBlendState", "const D3D10_BLEND_DESC *pBlendStateDesc, ID3D10BlendState **ppBlendState"};
  561.       {"CreateDepthStencilState", "const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc, ID3D10DepthStencilState **ppDepthStencilState"};
  562.       {"CreateRasterizerState", "const D3D10_RASTERIZER_DESC *pRasterizerDesc, ID3D10RasterizerState **ppRasterizerState"};
  563.       {"CreateSamplerState", "const D3D10_SAMPLER_DESC *pSamplerDesc, ID3D10SamplerState **ppSamplerState"};
  564.       {"CreateQuery", "const D3D10_QUERY_DESC *pQueryDesc, ID3D10Query **ppQuery"};
  565.       {"CreatePredicate", "const D3D10_QUERY_DESC *pPredicateDesc, ID3D10Predicate **ppPredicate"};
  566.       {"CreateCounter", "const D3D10_COUNTER_DESC *pCounterDesc, ID3D10Counter **ppCounter"};
  567.       {"CheckFormatSupport", "DXGI_FORMAT Format, unsigned int *pFormatSupport"};
  568.       {"CheckMultisampleQualityLevels", "DXGI_FORMAT Format, unsigned int SampleCount, unsigned int *pNumQualityLevels"};
  569.       {ret = "void", "CheckCounterInfo", "D3D10_COUNTER_INFO *pCounterInfo"};
  570.       {"CheckCounter", "const D3D10_COUNTER_DESC *pDesc, D3D10_COUNTER_TYPE *pType, unsigned int *pActiveCounters, LPSTR szName, unsigned int *pNameLength, LPSTR szUnits, unsigned int *pUnitsLength, LPSTR szDescription, unsigned int *pDescriptionLength"};
  571.       {ret = "unsigned int", "GetCreationFlags"};
  572.       {"OpenSharedResource", "HANDLE hResource, REFIID ReturnedInterface, void **ppResource"};
  573.       {ret = "void", "SetTextFilterSize", "unsigned int Width, unsigned int Height"};
  574.       {ret = "void", "GetTextFilterSize", "unsigned int *pWidth, unsigned int *pHeight"};
  575.     };
  576.     iid = "9B7E4C0F-342C-4106-A19F-4F2704F689F0";
  577.   };
  578.   {"ID3D10Device1"; inherits = "ID3D10Device";
  579.     methods = {
  580.       {"CreateShaderResourceView1", "ID3D10Resource *pResource, const D3D10_SHADER_RESOURCE_VIEW_DESC1 *pDesc, ID3D10ShaderResourceView1 **ppSRView"};
  581.       {"CreateBlendState1", "const D3D10_BLEND_DESC1 *pBlendStateDesc, ID3D10BlendState1 **ppBlendState"};
  582.       {ret = "D3D10_FEATURE_LEVEL1", "GetFeatureLevel"};
  583.     };
  584.     iid = "9B7E4C8F-342C-4106-A19F-4F2704F689F0";
  585.   };
  586. }
  587. -- Generated from dxgi.h
  588. com.def {
  589.   {"IDXGIObject";
  590.     methods = {
  591.       {"SetPrivateData", "REFGUID Name, unsigned int DataSize, const void *pData"};
  592.       {"SetPrivateDataInterface", "REFGUID Name, const IUnknown *pUnknown"};
  593.       {"GetPrivateData", "REFGUID Name, unsigned int *pDataSize, void *pData"};
  594.       {"GetParent", "REFIID riid, void **ppParent"};
  595.     };
  596.     iid = "aec22fb8-76f3-4639-9be0-28eb43a67a2e";
  597.   };
  598.   {"IDXGIAdapter"; inherits = "IDXGIObject";
  599.     methods = {
  600.       {"EnumOutputs", "unsigned int Output, IDXGIOutput **ppOutput"};
  601.       {"GetDesc", "DXGI_ADAPTER_DESC *pDesc"};
  602.       {"CheckInterfaceSupport", "REFGUID InterfaceName, LARGE_INTEGER *pUMDVersion"};
  603.     };
  604.     iid = "2411e7e1-12ac-4ccf-bd14-9798e8534dc0";
  605.   };
  606.   {"IDXGIAdapter1"; inherits = "IDXGIAdapter";
  607.     methods = {
  608.       {"GetDesc1", "DXGI_ADAPTER_DESC1 *pDesc"};
  609.     };
  610.     iid = "29038f61-3839-4626-91fd-086879011a05";
  611.   };
  612.   {"IDXGIOutput"; inherits = "IDXGIObject";
  613.     methods = {
  614.       {"GetDesc", "DXGI_OUTPUT_DESC *pDesc"};
  615.       {"GetDisplayModeList", "DXGI_FORMAT EnumFormat, unsigned int Flags, unsigned int *pNumModes, DXGI_MODE_DESC *pDesc"};
  616.       {"FindClosestMatchingMode", "const DXGI_MODE_DESC *pModeToMatch, DXGI_MODE_DESC *pClosestMatch, IUnknown *pConcernedDevice"};
  617.       {"WaitForVBlank"};
  618.       {"TakeOwnership", "IUnknown *pDevice, BOOL Exclusive"};
  619.       {ret = "void", "ReleaseOwnership"};
  620.       {"GetGammaControlCapabilities", "DXGI_GAMMA_CONTROL_CAPABILITIES *pGammaCaps"};
  621.       {"SetGammaControl", "const DXGI_GAMMA_CONTROL *pArray"};
  622.       {"GetGammaControl", "DXGI_GAMMA_CONTROL *pArray"};
  623.       {"SetDisplaySurface", "IDXGISurface *pScanoutSurface"};
  624.       {"GetDisplaySurfaceData", "IDXGISurface *pDestination"};
  625.       {"GetFrameStatistics", "DXGI_FRAME_STATISTICS *pStats"};
  626.     };
  627.     iid = "ae02eedb-c735-4690-8d52-5a8dc20213aa";
  628.   };
  629.   {"IDXGIDeviceSubObject"; inherits = "IDXGIObject";
  630.     methods = {
  631.       {"GetDevice", "REFIID riid, void **ppDevice"};
  632.     };
  633.     iid = "3d3e0379-f9de-4d58-bb6c-18d62992f1a6";
  634.   };
  635.   {"IDXGIKeyedMutex"; inherits = "IDXGIDeviceSubObject";
  636.     methods = {
  637.       {"AcquireSync", "uint64_t Key, DWORD dwMilliseconds"};
  638.       {"ReleaseSync", "uint64_t Key"};
  639.     };
  640.     iid = "9d8e1289-d7b3-465f-8126-250e349af85d";
  641.   };
  642.   {"IDXGIResource"; inherits = "IDXGIDeviceSubObject";
  643.     methods = {
  644.       {"GetSharedHandle", "HANDLE *pSharedHandle"};
  645.       {"GetUsage", "DXGI_USAGE *pUsage"};
  646.       {"SetEvictionPriority", "unsigned int EvictionPriority"};
  647.       {"GetEvictionPriority", "unsigned int *pEvictionPriority"};
  648.     };
  649.     iid = "035f3ab4-482e-4e50-b41f-8a7f8bd8960b";
  650.   };
  651.   {"IDXGISurface"; inherits = "IDXGIDeviceSubObject";
  652.     methods = {
  653.       {"GetDesc", "DXGI_SURFACE_DESC *pDesc"};
  654.       {"Map", "DXGI_MAPPED_RECT *pLockedRect, unsigned int MapFlags"};
  655.       {"Unmap"};
  656.     };
  657.     iid = "cafcb56c-6ac3-4889-bf47-9e23bbd260ec";
  658.   };
  659.   {"IDXGISurface1"; inherits = "IDXGISurface";
  660.     methods = {
  661.       {"GetDC", "BOOL Discard, HDC *phdc"};
  662.       {"ReleaseDC", "RECT *pDirtyRect"};
  663.     };
  664.     iid = "4AE63092-6327-4c1b-80AE-BFE12EA32B86";
  665.   };
  666.   {"IDXGISwapChain"; inherits = "IDXGIDeviceSubObject";
  667.     methods = {
  668.       {"Present", "unsigned int SyncInterval, unsigned int Flags"};
  669.       {"GetBuffer", "unsigned int Buffer, REFIID riid, void **ppSurface"};
  670.       {"SetFullscreenState", "BOOL Fullscreen, IDXGIOutput *pTarget"};
  671.       {"GetFullscreenState", "BOOL *pFullscreen, IDXGIOutput **ppTarget"};
  672.       {"GetDesc", "DXGI_SWAP_CHAIN_DESC *pDesc"};
  673.       {"ResizeBuffers", "unsigned int BufferCount, unsigned int Width, unsigned int Height, DXGI_FORMAT NewFormat, unsigned int SwapChainFlags"};
  674.       {"ResizeTarget", "const DXGI_MODE_DESC *pNewTargetParameters"};
  675.       {"GetContainingOutput", "IDXGIOutput **ppOutput"};
  676.       {"GetFrameStatistics", "DXGI_FRAME_STATISTICS *pStats"};
  677.       {"GetLastPresentCount", "unsigned int *pLastPresentCount"};
  678.     };
  679.     iid = "310d36a0-d2e7-4c0a-aa04-6a9d23b8886a";
  680.   };
  681.   {"IDXGIDevice"; inherits = "IDXGIObject";
  682.     methods = {
  683.       {"GetAdapter", "IDXGIAdapter **pAdapter"};
  684.       {"CreateSurface", "const DXGI_SURFACE_DESC *pDesc, unsigned int NumSurfaces, DXGI_USAGE Usage, const DXGI_SHARED_RESOURCE *pSharedResource, IDXGISurface **ppSurface"};
  685.       {"QueryResourceResidency", "IUnknown *const *ppResources, DXGI_RESIDENCY *pResidencyStatus, unsigned int NumResources"};
  686.       {"SetGPUThreadPriority", "int Priority"};
  687.       {"GetGPUThreadPriority", "int *pPriority"};
  688.     };
  689.     iid = "54ec77fa-1377-44e6-8c32-88fd5f44c84c";
  690.   };
  691.   {"IDXGIDevice1"; inherits = "IDXGIDevice";
  692.     methods = {
  693.       {"SetMaximumFrameLatency", "unsigned int MaxLatency"};
  694.       {"GetMaximumFrameLatency", "unsigned int *pMaxLatency"};
  695.     };
  696.     iid = "77db970f-6276-48ba-ba28-070143b4392c";
  697.   };
  698.   {"IDXGIFactory"; inherits = "IDXGIObject";
  699.     methods = {
  700.       {"EnumAdapters", "unsigned int Adapter, IDXGIAdapter **ppAdapter"};
  701.       {"MakeWindowAssociation", "HWND WindowHandle, unsigned int Flags"};
  702.       {"GetWindowAssociation", "HWND *pWindowHandle"};
  703.       {"CreateSwapChain", "IUnknown *pDevice, DXGI_SWAP_CHAIN_DESC *pDesc, IDXGISwapChain **ppSwapChain"};
  704.       {"CreateSoftwareAdapter", "HMODULE Module, IDXGIAdapter **ppAdapter"};
  705.     };
  706.     iid = "7b7166ec-21c7-44ae-b21a-c9ae321ae369";
  707.   };
  708.   {"IDXGIFactory1"; inherits = "IDXGIFactory";
  709.     methods = {
  710.       {"EnumAdapters1", "unsigned int Adapter, IDXGIAdapter1 **ppAdapter"};
  711.       {ret = "BOOL", "IsCurrent"};
  712.     };
  713.     iid = "770aae78-f26f-4dba-a829-253c83d1b387";
  714.   };
  715. }
  716. -- Generated from dwrite.h
  717. com.def {
  718.   {"IDWriteLocalizedStrings";
  719.     methods = {
  720.       {ret = "uint32_t", "GetCount"};
  721.       {"FindLocaleName", "wchar_t const* localeName, uint32_t* index, BOOL* exists"};
  722.       {"GetLocaleNameLength", "uint32_t index, uint32_t* length"};
  723.       {"GetLocaleName", "uint32_t index, wchar_t* localeName, uint32_t size"};
  724.       {"GetStringLength", "uint32_t index, uint32_t* length"};
  725.       {"GetString", "uint32_t index, wchar_t* stringBuffer, uint32_t size"};
  726.     };
  727.     iid = "08256209-099a-4b34-b86d-c22b110e7771";
  728.   };
  729.   {"IDWriteGlyphRunAnalysis";
  730.     methods = {
  731.       {"GetAlphaTextureBounds", "DWRITE_TEXTURE_TYPE textureType, RECT* textureBounds"};
  732.       {"CreateAlphaTexture", "DWRITE_TEXTURE_TYPE textureType, RECT const* textureBounds, BYTE* alphaValues, uint32_t bufferSize"};
  733.       {"GetAlphaBlendParams", "IDWriteRenderingParams* renderingParams, float* blendGamma, float* blendEnhancedContrast, float* blendClearTypeLevel"};
  734.     };
  735.     iid = "7d97dbf7-e085-42d4-81e3-6a883bded118";
  736.   };
  737.   {"IDWriteTextAnalyzer";
  738.     methods = {
  739.       {"AnalyzeScript", "IDWriteTextAnalysisSource* analysisSource, uint32_t textPosition, uint32_t textLength, IDWriteTextAnalysisSink* analysisSink"};
  740.       {"AnalyzeBidi", "IDWriteTextAnalysisSource* analysisSource, uint32_t textPosition, uint32_t textLength, IDWriteTextAnalysisSink* analysisSink"};
  741.       {"AnalyzeNumberSubstitution", "IDWriteTextAnalysisSource* analysisSource, uint32_t textPosition, uint32_t textLength, IDWriteTextAnalysisSink* analysisSink"};
  742.       {"AnalyzeLineBreakpoints", "IDWriteTextAnalysisSource* analysisSource, uint32_t textPosition, uint32_t textLength, IDWriteTextAnalysisSink* analysisSink"};
  743.       {"GetGlyphs", "wchar_t const* textString, uint32_t textLength, IDWriteFontFace* fontFace, BOOL isSideways, BOOL isRightToLeft, DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis, wchar_t const* localeName, IDWriteNumberSubstitution* numberSubstitution, DWRITE_TYPOGRAPHIC_FEATURES const** features, uint32_t const* featureRangeLengths, uint32_t featureRanges, uint32_t maxGlyphCount, UINT16* clusterMap, DWRITE_SHAPING_TEXT_PROPERTIES* textProps, UINT16* glyphIndices, DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps, uint32_t* actualGlyphCount"};
  744.       {"GetGlyphPlacements", "wchar_t const* textString, UINT16 const* clusterMap, DWRITE_SHAPING_TEXT_PROPERTIES* textProps, uint32_t textLength, UINT16 const* glyphIndices, DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProps, uint32_t glyphCount, IDWriteFontFace * fontFace, float fontEmSize, BOOL isSideways, BOOL isRightToLeft, DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis, wchar_t const* localeName, DWRITE_TYPOGRAPHIC_FEATURES const** features, uint32_t const* featureRangeLengths, uint32_t featureRanges, float* glyphAdvances, DWRITE_GLYPH_OFFSET* glyphOffsets"};
  745.       {"GetGdiCompatibleGlyphPlacements", "wchar_t const* textString, UINT16 const* clusterMap, DWRITE_SHAPING_TEXT_PROPERTIES* textProps, uint32_t textLength, UINT16 const* glyphIndices, DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProps, uint32_t glyphCount, IDWriteFontFace * fontFace, float fontEmSize, float pixelsPerDip, DWRITE_MATRIX const* transform, BOOL useGdiNatural, BOOL isSideways, BOOL isRightToLeft, DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis, wchar_t const* localeName, DWRITE_TYPOGRAPHIC_FEATURES const** features, uint32_t const* featureRangeLengths, uint32_t featureRanges, float* glyphAdvances, DWRITE_GLYPH_OFFSET* glyphOffsets"};
  746.     };
  747.     iid = "b7e6163e-7f46-43b4-84b3-e4e6249c365d";
  748.   };
  749.   {"IDWriteBitmapRenderTarget";
  750.     methods = {
  751.       {"DrawGlyphRun", "float baselineOriginX, float baselineOriginY, DWRITE_MEASURING_MODE measuringMode, DWRITE_GLYPH_RUN const* glyphRun, IDWriteRenderingParams* renderingParams, COLORREF textColor, RECT* blackBoxRect"};
  752.       {ret = "HDC", "GetMemoryDC"};
  753.       {ret = "float", "GetPixelsPerDip"};
  754.       {"SetPixelsPerDip", "float pixelsPerDip"};
  755.       {"GetCurrentTransform", "DWRITE_MATRIX* transform"};
  756.       {"SetCurrentTransform", "DWRITE_MATRIX const* transform"};
  757.       {"GetSize", "SIZE* size"};
  758.       {"Resize", "uint32_t width, uint32_t height"};
  759.     };
  760.     iid = "5e5a32a3-8dff-4773-9ff6-0696eab77267";
  761.   };
  762.   {"IDWriteInlineObject";
  763.     methods = {
  764.       {"Draw", "void* clientDrawingContext, IDWriteTextRenderer* renderer, float originX, float originY, BOOL isSideways, BOOL isRightToLeft, IUnknown* clientDrawingEffect"};
  765.       {"GetMetrics", "DWRITE_INLINE_OBJECT_METRICS* metrics"};
  766.       {"GetOverhangMetrics", "DWRITE_OVERHANG_METRICS* overhangs"};
  767.       {"GetBreakConditions", "DWRITE_BREAK_CONDITION* breakConditionBefore, DWRITE_BREAK_CONDITION* breakConditionAfter"};
  768.     };
  769.     iid = "8339FDE3-106F-47ab-8373-1C6295EB10B3";
  770.   };
  771.   {"IDWriteFontFileEnumerator";
  772.     methods = {
  773.       {"MoveNext", "BOOL* hasCurrentFile"};
  774.       {"GetCurrentFontFile", "IDWriteFontFile** fontFile"};
  775.     };
  776.     iid = "72755049-5ff7-435d-8348-4be97cfa6c7c";
  777.   };
  778.   {"IDWriteFontFileStream";
  779.     methods = {
  780.       {"ReadFileFragment", "void const** fragmentStart, uint64_t fileOffset, uint64_t fragmentSize, void** fragmentContext"};
  781.       {ret = "void", "ReleaseFileFragment", "void* fragmentContext"};
  782.       {"GetFileSize", "uint64_t* fileSize"};
  783.       {"GetLastWriteTime", "uint64_t* lastWriteTime"};
  784.     };
  785.     iid = "6d4865fe-0ab8-4d91-8f62-5dd6be34a3e0";
  786.   };
  787.   {"IDWriteFactory";
  788.     methods = {
  789.       {"GetSystemFontCollection", "IDWriteFontCollection** fontCollection, BOOL checkForUpdates"};
  790.       {"CreateCustomFontCollection", "IDWriteFontCollectionLoader* collectionLoader, void const* collectionKey, uint32_t collectionKeySize, IDWriteFontCollection** fontCollection"};
  791.       {"RegisterFontCollectionLoader", "IDWriteFontCollectionLoader* fontCollectionLoader"};
  792.       {"UnregisterFontCollectionLoader", "IDWriteFontCollectionLoader* fontCollectionLoader"};
  793.       {"CreateFontFileReference", "wchar_t const* filePath, FILETIME const* lastWriteTime, IDWriteFontFile** fontFile"};
  794.       {"CreateCustomFontFileReference", "void const* fontFileReferenceKey, uint32_t fontFileReferenceKeySize, IDWriteFontFileLoader* fontFileLoader, IDWriteFontFile** fontFile"};
  795.       {"CreateFontFace", "DWRITE_FONT_FACE_TYPE fontFaceType, uint32_t numberOfFiles, IDWriteFontFile* const* fontFiles, uint32_t faceIndex, DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags, IDWriteFontFace** fontFace"};
  796.       {"CreateRenderingParams", "IDWriteRenderingParams** renderingParams"};
  797.       {"CreateMonitorRenderingParams", "HMONITOR monitor, IDWriteRenderingParams** renderingParams"};
  798.       {"CreateCustomRenderingParams", "float gamma, float enhancedContrast, float clearTypeLevel, DWRITE_PIXEL_GEOMETRY pixelGeometry, DWRITE_RENDERING_MODE renderingMode, IDWriteRenderingParams** renderingParams"};
  799.       {"RegisterFontFileLoader", "IDWriteFontFileLoader* fontFileLoader"};
  800.       {"UnregisterFontFileLoader", "IDWriteFontFileLoader* fontFileLoader"};
  801.       {"CreateTextFormat", "wchar_t const* fontFamilyName, IDWriteFontCollection* fontCollection, DWRITE_FONT_WEIGHT fontWeight, DWRITE_FONT_STYLE fontStyle, DWRITE_FONT_STRETCH fontStretch, float fontSize, wchar_t const* localeName, IDWriteTextFormat** textFormat"};
  802.       {"CreateTypography", "IDWriteTypography** typography"};
  803.       {"GetGdiInterop", "IDWriteGdiInterop** gdiInterop"};
  804.       {"CreateTextLayout", "wchar_t const* string, uint32_t stringLength, IDWriteTextFormat* textFormat, float maxWidth, float maxHeight, IDWriteTextLayout** textLayout"};
  805.       {"CreateGdiCompatibleTextLayout", "wchar_t const* string, uint32_t stringLength, IDWriteTextFormat* textFormat, float layoutWidth, float layoutHeight, float pixelsPerDip, DWRITE_MATRIX const* transform, BOOL useGdiNatural, IDWriteTextLayout** textLayout"};
  806.       {"CreateEllipsisTrimmingSign", "IDWriteTextFormat* textFormat, IDWriteInlineObject** trimmingSign"};
  807.       {"CreateTextAnalyzer", "IDWriteTextAnalyzer** textAnalyzer"};
  808.       {"CreateNumberSubstitution", "DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod, wchar_t const* localeName, BOOL ignoreUserOverride, IDWriteNumberSubstitution** numberSubstitution"};
  809.       {"CreateGlyphRunAnalysis", "DWRITE_GLYPH_RUN const* glyphRun, float pixelsPerDip, DWRITE_MATRIX const* transform, DWRITE_RENDERING_MODE renderingMode, DWRITE_MEASURING_MODE measuringMode, float baselineOriginX, float baselineOriginY, IDWriteGlyphRunAnalysis** glyphRunAnalysis"};
  810.     };
  811.     iid = "b859ee5a-d838-4b5b-a2e8-1adc7d93db48";
  812.   };
  813.   {"IDWriteRenderingParams";
  814.     methods = {
  815.       {ret = "float", "GetGamma"};
  816.       {ret = "float", "GetEnhancedContrast"};
  817.       {ret = "float", "GetClearTypeLevel"};
  818.       {ret = "DWRITE_PIXEL_GEOMETRY", "GetPixelGeometry"};
  819.       {ret = "DWRITE_RENDERING_MODE", "GetRenderingMode"};
  820.     };
  821.     iid = "2f0da53a-2add-47cd-82ee-d9ec34688e75";
  822.   };
  823.   {"IDWriteTextFormat";
  824.     methods = {
  825.       {"SetTextAlignment", "DWRITE_TEXT_ALIGNMENT textAlignment"};
  826.       {"SetParagraphAlignment", "DWRITE_PARAGRAPH_ALIGNMENT paragraphAlignment"};
  827.       {"SetWordWrapping", "DWRITE_WORD_WRAPPING wordWrapping"};
  828.       {"SetReadingDirection", "DWRITE_READING_DIRECTION readingDirection"};
  829.       {"SetFlowDirection", "DWRITE_FLOW_DIRECTION flowDirection"};
  830.       {"SetIncrementalTabStop", "float incrementalTabStop"};
  831.       {"SetTrimming", "DWRITE_TRIMMING const* trimmingOptions, IDWriteInlineObject* trimmingSign"};
  832.       {"SetLineSpacing", "DWRITE_LINE_SPACING_METHOD lineSpacingMethod, float lineSpacing, float baseline"};
  833.       {ret = "DWRITE_TEXT_ALIGNMENT", "GetTextAlignment"};
  834.       {ret = "DWRITE_PARAGRAPH_ALIGNMENT", "GetParagraphAlignment"};
  835.       {ret = "DWRITE_WORD_WRAPPING", "GetWordWrapping"};
  836.       {ret = "DWRITE_READING_DIRECTION", "GetReadingDirection"};
  837.       {ret = "DWRITE_FLOW_DIRECTION", "GetFlowDirection"};
  838.       {ret = "float", "GetIncrementalTabStop"};
  839.       {"GetTrimming", "DWRITE_TRIMMING* trimmingOptions, IDWriteInlineObject** trimmingSign"};
  840.       {"GetLineSpacing", "DWRITE_LINE_SPACING_METHOD* lineSpacingMethod, float* lineSpacing, float* baseline"};
  841.       {"GetFontCollection", "IDWriteFontCollection** fontCollection"};
  842.       {ret = "uint32_t", "GetFontFamilyNameLength"};
  843.       {"GetFontFamilyName", "wchar_t* fontFamilyName, uint32_t nameSize"};
  844.       {ret = "DWRITE_FONT_WEIGHT", "GetFontWeight"};
  845.       {ret = "DWRITE_FONT_STYLE", "GetFontStyle"};
  846.       {ret = "DWRITE_FONT_STRETCH", "GetFontStretch"};
  847.       {ret = "float", "GetFontSize"};
  848.       {ret = "uint32_t", "GetLocaleNameLength"};
  849.       {"GetLocaleName", "wchar_t* localeName, uint32_t nameSize"};
  850.     };
  851.     iid = "9c906818-31d7-4fd3-a151-7c5e225db55a";
  852.   };
  853.   {"IDWriteTextLayout"; inherits = "IDWriteTextFormat";
  854.     methods = {
  855.       {"SetMaxWidth", "float maxWidth"};
  856.       {"SetMaxHeight", "float maxHeight"};
  857.       {"SetFontCollection", "IDWriteFontCollection* fontCollection, DWRITE_TEXT_RANGE textRange"};
  858.       {"SetFontFamilyName", "wchar_t const* fontFamilyName, DWRITE_TEXT_RANGE textRange"};
  859.       {"SetFontWeight", "DWRITE_FONT_WEIGHT fontWeight, DWRITE_TEXT_RANGE textRange"};
  860.       {"SetFontStyle", "DWRITE_FONT_STYLE fontStyle, DWRITE_TEXT_RANGE textRange"};
  861.       {"SetFontStretch", "DWRITE_FONT_STRETCH fontStretch, DWRITE_TEXT_RANGE textRange"};
  862.       {"SetFontSize", "float fontSize, DWRITE_TEXT_RANGE textRange"};
  863.       {"SetUnderline", "BOOL hasUnderline, DWRITE_TEXT_RANGE textRange"};
  864.       {"SetStrikethrough", "BOOL hasStrikethrough, DWRITE_TEXT_RANGE textRange"};
  865.       {"SetDrawingEffect", "IUnknown* drawingEffect, DWRITE_TEXT_RANGE textRange"};
  866.       {"SetInlineObject", "IDWriteInlineObject* inlineObject, DWRITE_TEXT_RANGE textRange"};
  867.       {"SetTypography", "IDWriteTypography* typography, DWRITE_TEXT_RANGE textRange"};
  868.       {"SetLocaleName", "wchar_t const* localeName, DWRITE_TEXT_RANGE textRange"};
  869.       {ret = "float", "GetMaxWidth"};
  870.       {ret = "float", "GetMaxHeight"};
  871.       {"GetFontCollection", "uint32_t currentPosition, IDWriteFontCollection** fontCollection, DWRITE_TEXT_RANGE* textRange"};
  872.       {"GetFontFamilyNameLength", "uint32_t currentPosition, uint32_t* nameLength, DWRITE_TEXT_RANGE* textRange"};
  873.       {"GetFontFamilyName", "uint32_t currentPosition, wchar_t* fontFamilyName, uint32_t nameSize, DWRITE_TEXT_RANGE* textRange"};
  874.       {"GetFontWeight", "uint32_t currentPosition, DWRITE_FONT_WEIGHT* fontWeight, DWRITE_TEXT_RANGE* textRange"};
  875.       {"GetFontStyle", "uint32_t currentPosition, DWRITE_FONT_STYLE* fontStyle, DWRITE_TEXT_RANGE* textRange"};
  876.       {"GetFontStretch", "uint32_t currentPosition, DWRITE_FONT_STRETCH* fontStretch, DWRITE_TEXT_RANGE* textRange"};
  877.       {"GetFontSize", "uint32_t currentPosition, float* fontSize, DWRITE_TEXT_RANGE* textRange"};
  878.       {"GetUnderline", "uint32_t currentPosition, BOOL* hasUnderline, DWRITE_TEXT_RANGE* textRange"};
  879.       {"GetStrikethrough", "uint32_t currentPosition, BOOL* hasStrikethrough, DWRITE_TEXT_RANGE* textRange"};
  880.       {"GetDrawingEffect", "uint32_t currentPosition, IUnknown** drawingEffect, DWRITE_TEXT_RANGE* textRange"};
  881.       {"GetInlineObject", "uint32_t currentPosition, IDWriteInlineObject** inlineObject, DWRITE_TEXT_RANGE* textRange"};
  882.       {"GetTypography", "uint32_t currentPosition, IDWriteTypography** typography, DWRITE_TEXT_RANGE* textRange"};
  883.       {"GetLocaleNameLength", "uint32_t currentPosition, uint32_t* nameLength, DWRITE_TEXT_RANGE* textRange"};
  884.       {"GetLocaleName", "uint32_t currentPosition, wchar_t* localeName, uint32_t nameSize, DWRITE_TEXT_RANGE* textRange"};
  885.       {"Draw", "void* clientDrawingContext, IDWriteTextRenderer* renderer, float originX, float originY"};
  886.       {"GetLineMetrics", "DWRITE_LINE_METRICS* lineMetrics, uint32_t maxLineCount, uint32_t* actualLineCount"};
  887.       {"GetMetrics", "DWRITE_TEXT_METRICS* textMetrics"};
  888.       {"GetOverhangMetrics", "DWRITE_OVERHANG_METRICS* overhangs"};
  889.       {"GetClusterMetrics", "DWRITE_CLUSTER_METRICS* clusterMetrics, uint32_t maxClusterCount, uint32_t* actualClusterCount"};
  890.       {"DetermineMinWidth", "float* minWidth"};
  891.       {"HitTestPoint", "float pointX, float pointY, BOOL* isTrailingHit, BOOL* isInside, DWRITE_HIT_TEST_METRICS* hitTestMetrics"};
  892.       {"HitTestTextPosition", "uint32_t textPosition, BOOL isTrailingHit, float* pointX, float* pointY, DWRITE_HIT_TEST_METRICS* hitTestMetrics"};
  893.       {"HitTestTextRange", "uint32_t textPosition, uint32_t textLength, float originX, float originY, DWRITE_HIT_TEST_METRICS* hitTestMetrics, uint32_t maxHitTestMetricsCount, uint32_t* actualHitTestMetricsCount"};
  894.     };
  895.     iid = "53737037-6d14-410b-9bfe-0b182bb70961";
  896.   };
  897.   {"IDWriteFontFileLoader";
  898.     methods = {
  899.       {"CreateStreamFromKey", "void const* fontFileReferenceKey, uint32_t fontFileReferenceKeySize, IDWriteFontFileStream** fontFileStream"};
  900.     };
  901.     iid = "727cad4e-d6af-4c9e-8a08-d695b11caa49";
  902.   };
  903.   {"IDWriteLocalFontFileLoader"; inherits = "IDWriteFontFileLoader";
  904.     methods = {
  905.       {"GetFilePathLengthFromKey", "void const* fontFileReferenceKey, uint32_t fontFileReferenceKeySize, uint32_t* filePathLength"};
  906.       {"GetFilePathFromKey", "void const* fontFileReferenceKey, uint32_t fontFileReferenceKeySize, wchar_t* filePath, uint32_t filePathSize"};
  907.       {"GetLastWriteTimeFromKey", "void const* fontFileReferenceKey, uint32_t fontFileReferenceKeySize, FILETIME* lastWriteTime"};
  908.     };
  909.     iid = "b2d9f3ec-c9fe-4a11-a2ec-d86208f7c0a2";
  910.   };
  911.   {"IDWriteFont";
  912.     methods = {
  913.       {"GetFontFamily", "IDWriteFontFamily** fontFamily"};
  914.       {ret = "DWRITE_FONT_WEIGHT", "GetWeight"};
  915.       {ret = "DWRITE_FONT_STRETCH", "GetStretch"};
  916.       {ret = "DWRITE_FONT_STYLE", "GetStyle"};
  917.       {ret = "BOOL", "IsSymbolFont"};
  918.       {"GetFaceNames", "IDWriteLocalizedStrings** names"};
  919.       {"GetInformationalStrings", "DWRITE_INFORMATIONAL_STRING_ID informationalStringID, IDWriteLocalizedStrings** informationalStrings, BOOL* exists"};
  920.       {ret = "DWRITE_FONT_SIMULATIONS", "GetSimulations"};
  921.       {ret = "void", "GetMetrics", "DWRITE_FONT_METRICS* fontMetrics"};
  922.       {"HasCharacter", "uint32_t unicodeValue, BOOL* exists"};
  923.       {"CreateFontFace", "IDWriteFontFace** fontFace"};
  924.     };
  925.     iid = "acd16696-8c14-4f5d-877e-fe3fc1d32737";
  926.   };
  927.   {"IDWriteTypography";
  928.     methods = {
  929.       {"AddFontFeature", "DWRITE_FONT_FEATURE fontFeature"};
  930.       {ret = "uint32_t", "GetFontFeatureCount"};
  931.       {"GetFontFeature", "uint32_t fontFeatureIndex, DWRITE_FONT_FEATURE* fontFeature"};
  932.     };
  933.     iid = "55f1112b-1dc2-4b3c-9541-f46894ed85b6";
  934.   };
  935.   {"IDWriteTextAnalysisSource";
  936.     methods = {
  937.       {"GetTextAtPosition", "uint32_t textPosition, wchar_t const** textString, uint32_t* textLength"};
  938.       {"GetTextBeforePosition", "uint32_t textPosition, wchar_t const** textString, uint32_t* textLength"};
  939.       {ret = "DWRITE_READING_DIRECTION", "GetParagraphReadingDirection"};
  940.       {"GetLocaleName", "uint32_t textPosition, uint32_t* textLength, wchar_t const** localeName"};
  941.       {"GetNumberSubstitution", "uint32_t textPosition, uint32_t* textLength, IDWriteNumberSubstitution** numberSubstitution"};
  942.     };
  943.     iid = "688e1a58-5094-47c8-adc8-fbcea60ae92b";
  944.   };
  945.   {"IDWritePixelSnapping";
  946.     methods = {
  947.       {"IsPixelSnappingDisabled", "void* clientDrawingContext, BOOL* isDisabled"};
  948.       {"GetCurrentTransform", "void* clientDrawingContext, DWRITE_MATRIX* transform"};
  949.       {"GetPixelsPerDip", "void* clientDrawingContext, float* pixelsPerDip"};
  950.     };
  951.     iid = "eaf3a2da-ecf4-4d24-b644-b34f6842024b";
  952.   };
  953.   {"IDWriteTextRenderer"; inherits = "IDWritePixelSnapping";
  954.     methods = {
  955.       {"DrawGlyphRun", "void* clientDrawingContext, float baselineOriginX, float baselineOriginY, DWRITE_MEASURING_MODE measuringMode, DWRITE_GLYPH_RUN const* glyphRun, DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription, IUnknown* clientDrawingEffect"};
  956.       {"DrawUnderline", "void* clientDrawingContext, float baselineOriginX, float baselineOriginY, DWRITE_UNDERLINE const* underline, IUnknown* clientDrawingEffect"};
  957.       {"DrawStrikethrough", "void* clientDrawingContext, float baselineOriginX, float baselineOriginY, DWRITE_STRIKETHROUGH const* strikethrough, IUnknown* clientDrawingEffect"};
  958.       {"DrawInlineObject", "void* clientDrawingContext, float originX, float originY, IDWriteInlineObject* inlineObject, BOOL isSideways, BOOL isRightToLeft, IUnknown* clientDrawingEffect"};
  959.     };
  960.     iid = "ef8a8135-5cc6-45fe-8825-c5a0724eb819";
  961.   };
  962.   {"IDWriteFontCollectionLoader";
  963.     methods = {
  964.       {"CreateEnumeratorFromKey", "IDWriteFactory* factory, void const* collectionKey, uint32_t collectionKeySize, IDWriteFontFileEnumerator** fontFileEnumerator"};
  965.     };
  966.     iid = "cca920e4-52f0-492b-bfa8-29c72ee0a468";
  967.   };
  968.   {"IDWriteTextAnalysisSink";
  969.     methods = {
  970.       {"SetScriptAnalysis", "uint32_t textPosition, uint32_t textLength, DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis"};
  971.       {"SetLineBreakpoints", "uint32_t textPosition, uint32_t textLength, DWRITE_LINE_BREAKPOINT const* lineBreakpoints"};
  972.       {"SetBidiLevel", "uint32_t textPosition, uint32_t textLength, UINT8 explicitLevel, UINT8 resolvedLevel"};
  973.       {"SetNumberSubstitution", "uint32_t textPosition, uint32_t textLength, IDWriteNumberSubstitution* numberSubstitution"};
  974.     };
  975.     iid = "5810cd44-0ca0-4701-b3fa-bec5182ae4f6";
  976.   };
  977.   {"IDWriteFontFile";
  978.     methods = {
  979.       {"GetReferenceKey", "void const** fontFileReferenceKey, uint32_t* fontFileReferenceKeySize"};
  980.       {"GetLoader", "IDWriteFontFileLoader** fontFileLoader"};
  981.       {"Analyze", "BOOL* isSupportedFontType, DWRITE_FONT_FILE_TYPE* fontFileType, DWRITE_FONT_FACE_TYPE* fontFaceType, uint32_t* numberOfFaces"};
  982.     };
  983.     iid = "739d886a-cef5-47dc-8769-1a8b41bebbb0";
  984.   };
  985.   {"IDWriteNumberSubstitution";
  986.     methods = {
  987.     };
  988.     iid = "14885CC9-BAB0-4f90-B6ED-5C366A2CD03D";
  989.   };
  990.   {"IDWriteFontFace";
  991.     methods = {
  992.       {ret = "DWRITE_FONT_FACE_TYPE", "GetType"};
  993.       {"GetFiles", "uint32_t* numberOfFiles, IDWriteFontFile** fontFiles"};
  994.       {ret = "uint32_t", "GetIndex"};
  995.       {ret = "DWRITE_FONT_SIMULATIONS", "GetSimulations"};
  996.       {ret = "BOOL", "IsSymbolFont"};
  997.       {ret = "void", "GetMetrics", "DWRITE_FONT_METRICS* fontFaceMetrics"};
  998.       {ret = "UINT16", "GetGlyphCount"};
  999.       {"GetDesignGlyphMetrics", "UINT16 const* glyphIndices, uint32_t glyphCount, DWRITE_GLYPH_METRICS* glyphMetrics, BOOL isSideways"};
  1000.       {"GetGlyphIndices", "uint32_t const* codePoints, uint32_t codePointCount, UINT16* glyphIndices"};
  1001.       {"TryGetFontTable", "uint32_t openTypeTableTag, const void** tableData, uint32_t* tableSize, void** tableContext, BOOL* exists"};
  1002.       {ret = "void", "ReleaseFontTable", "void* tableContext"};
  1003.       {"GetGlyphRunOutline", "float emSize, UINT16 const* glyphIndices, float const* glyphAdvances, DWRITE_GLYPH_OFFSET const* glyphOffsets, uint32_t glyphCount, BOOL isSideways, BOOL isRightToLeft, IDWriteGeometrySink* geometrySink"};
  1004.       {"GetRecommendedRenderingMode", "float emSize, float pixelsPerDip, DWRITE_MEASURING_MODE measuringMode, IDWriteRenderingParams* renderingParams, DWRITE_RENDERING_MODE* renderingMode"};
  1005.       {"GetGdiCompatibleMetrics", "float emSize, float pixelsPerDip, DWRITE_MATRIX const* transform, DWRITE_FONT_METRICS* fontFaceMetrics"};
  1006.       {"GetGdiCompatibleGlyphMetrics", "float emSize, float pixelsPerDip, DWRITE_MATRIX const* transform, BOOL useGdiNatural, UINT16 const* glyphIndices, uint32_t glyphCount, DWRITE_GLYPH_METRICS* glyphMetrics, BOOL isSideways"};
  1007.     };
  1008.     iid = "5f49804d-7024-4d43-bfa9-d25984f53849";
  1009.   };
  1010.   {"IDWriteGdiInterop";
  1011.     methods = {
  1012.       {"CreateFontFromLOGFONT", "LOGFONTW const* logFont, IDWriteFont** font"};
  1013.       {"ConvertFontToLOGFONT", "IDWriteFont* font, LOGFONTW* logFont, BOOL* isSystemFont"};
  1014.       {"ConvertFontFaceToLOGFONT", "IDWriteFontFace* font, LOGFONTW* logFont"};
  1015.       {"CreateFontFaceFromHdc", "HDC hdc, IDWriteFontFace** fontFace"};
  1016.       {"CreateBitmapRenderTarget", "HDC hdc, uint32_t width, uint32_t height, IDWriteBitmapRenderTarget** renderTarget"};
  1017.     };
  1018.     iid = "1edd9491-9853-4299-898f-6432983b6f3a";
  1019.   };
  1020.   {"IDWriteFontCollection";
  1021.     methods = {
  1022.       {ret = "uint32_t", "GetFontFamilyCount"};
  1023.       {"GetFontFamily", "uint32_t index, IDWriteFontFamily** fontFamily"};
  1024.       {"FindFamilyName", "wchar_t const* familyName, uint32_t* index, BOOL* exists"};
  1025.       {"GetFontFromFontFace", "IDWriteFontFace* fontFace, IDWriteFont** font"};
  1026.     };
  1027.     iid = "a84cee02-3eea-4eee-a827-87c1a02a0fcc";
  1028.   };
  1029.   {"IDWriteFontList";
  1030.     methods = {
  1031.       {"GetFontCollection", "IDWriteFontCollection** fontCollection"};
  1032.       {ret = "uint32_t", "GetFontCount"};
  1033.       {"GetFont", "uint32_t index, IDWriteFont** font"};
  1034.     };
  1035.     iid = "1a0d8438-1d97-4ec1-aef9-a2fb86ed6acb";
  1036.   };
  1037.   {"IDWriteFontFamily"; inherits = "IDWriteFontList";
  1038.     methods = {
  1039.       {"GetFamilyNames", "IDWriteLocalizedStrings** names"};
  1040.       {"GetFirstMatchingFont", "DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFont** matchingFont"};
  1041.       {"GetMatchingFonts", "DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontList** matchingFonts"};
  1042.     };
  1043.     iid = "da20d8ef-812a-4c43-9802-62ec4abd7add";
  1044.   };
  1045. }
  1046. -- Generated from wincodec.h
  1047. com.def {
  1048.   {"IWICStream"; inherits = "IStream";
  1049.     methods = {
  1050.       {"InitializeFromIStream", "IStream *pIStream"};
  1051.       {"InitializeFromFilename", "LPCWSTR wzFileName, DWORD dwDesiredAccess"};
  1052.       {"InitializeFromMemory", "WICInProcPointer pbBuffer, DWORD cbBufferSize"};
  1053.       {"InitializeFromIStreamRegion", "IStream *pIStream, ULARGE_INTEGER ulOffset, ULARGE_INTEGER ulMaxSize"};
  1054.     };
  1055.     iid = "135FF860-22B7-4ddf-B0F6-218F4F299A43";
  1056.   };
  1057.   {"IWICFastMetadataEncoder";
  1058.     methods = {
  1059.       {"Commit"};
  1060.       {"GetMetadataQueryWriter", "IWICMetadataQueryWriter **ppIMetadataQueryWriter"};
  1061.     };
  1062.     iid = "B84E2C09-78C9-4AC4-8BD3-524AE1663A2F";
  1063.   };
  1064.   {"IWICPalette";
  1065.     methods = {
  1066.       {"InitializePredefined", "WICBitmapPaletteType ePaletteType, BOOL fAddTransparentColor"};
  1067.       {"InitializeCustom", "WICColor *pColors, unsigned int cCount"};
  1068.       {"InitializeFromBitmap", "IWICBitmapSource *pISurface, unsigned int cCount, BOOL fAddTransparentColor"};
  1069.       {"InitializeFromPalette", "IWICPalette *pIPalette"};
  1070.       {"GetType", "WICBitmapPaletteType *pePaletteType"};
  1071.       {"GetColorCount", "unsigned int *pcCount"};
  1072.       {"GetColors", "unsigned int cCount, WICColor *pColors, unsigned int *pcActualColors"};
  1073.       {"IsBlackWhite", "BOOL *pfIsBlackWhite"};
  1074.       {"IsGrayscale", "BOOL *pfIsGrayscale"};
  1075.       {"HasAlpha", "BOOL *pfHasAlpha"};
  1076.     };
  1077.     iid = "00000040-a8f2-4877-ba0a-fd2b6645fb94";
  1078.   };
  1079.   {"IWICEnumMetadataItem";
  1080.     methods = {
  1081.       {"Next", "ULONG celt, PROPVARIANT *rgeltSchema, PROPVARIANT *rgeltId, PROPVARIANT *rgeltValue, ULONG *pceltFetched"};
  1082.       {"Skip", "ULONG celt"};
  1083.       {"Reset"};
  1084.       {"Clone", "IWICEnumMetadataItem **ppIEnumMetadataItem"};
  1085.     };
  1086.     iid = "DC2BB46D-3F07-481E-8625-220C4AEDBB33";
  1087.   };
  1088.   {"IWICBitmapCodecProgressNotification";
  1089.     methods = {
  1090.       {"RegisterProgressNotification", "PFNProgressNotification pfnProgressNotification, LPVOID pvData, DWORD dwProgressFlags"};
  1091.     };
  1092.     iid = "64C1024E-C3CF-4462-8078-88C2B11C46D9";
  1093.   };
  1094.   {"IWICProgressiveLevelControl";
  1095.     methods = {
  1096.       {"GetLevelCount", "unsigned int *pcLevels"};
  1097.       {"GetCurrentLevel", "unsigned int *pnLevel"};
  1098.       {"SetCurrentLevel", "unsigned int nLevel"};
  1099.     };
  1100.     iid = "DAAC296F-7AA5-4dbf-8D15-225C5976F891";
  1101.   };
  1102.   {"IWICBitmapFrameEncode";
  1103.     methods = {
  1104.       {"Initialize", "IPropertyBag2 *pIEncoderOptions"};
  1105.       {"SetSize", "unsigned int uiWidth, unsigned int uiHeight"};
  1106.       {"SetResolution", "double dpiX, double dpiY"};
  1107.       {"SetPixelFormat", "WICPixelFormatGUID *pPixelFormat"};
  1108.       {"SetColorContexts", "unsigned int cCount, IWICColorContext **ppIColorContext"};
  1109.       {"SetPalette", "IWICPalette *pIPalette"};
  1110.       {"SetThumbnail", "IWICBitmapSource *pIThumbnail"};
  1111.       {"WritePixels", "unsigned int lineCount, unsigned int cbStride, unsigned int cbBufferSize, BYTE *pbPixels"};
  1112.       {"WriteSource", "IWICBitmapSource *pIBitmapSource, WICRect *prc"};
  1113.       {"Commit"};
  1114.       {"GetMetadataQueryWriter", "IWICMetadataQueryWriter **ppIMetadataQueryWriter"};
  1115.     };
  1116.     iid = "00000105-a8f2-4877-ba0a-fd2b6645fb94";
  1117.   };
  1118.   {"IWICDevelopRawNotificationCallback";
  1119.     methods = {
  1120.       {"Notify", "unsigned int NotificationMask"};
  1121.     };
  1122.     iid = "95c75a6e-3e8c-4ec2-85a8-aebcc551e59b";
  1123.   };
  1124.   {"IWICBitmapLock";
  1125.     methods = {
  1126.       {"GetSize", "unsigned int *puiWidth, unsigned int *puiHeight"};
  1127.       {"GetStride", "unsigned int *pcbStride"};
  1128.       {"GetDataPointer", "unsigned int *pcbBufferSize, WICInProcPointer *ppbData"};
  1129.       {"GetPixelFormat", "WICPixelFormatGUID *pPixelFormat"};
  1130.     };
  1131.     iid = "00000123-a8f2-4877-ba0a-fd2b6645fb94";
  1132.   };
  1133.   {"IWICImagingFactory";
  1134.     methods = {
  1135.       {"CreateDecoderFromFilename", "LPCWSTR wzFilename, const GUID *pguidVendor, DWORD dwDesiredAccess, WICDecodeOptions metadataOptions, IWICBitmapDecoder **ppIDecoder"};
  1136.       {"CreateDecoderFromStream", "IStream *pIStream, const GUID *pguidVendor, WICDecodeOptions metadataOptions, IWICBitmapDecoder **ppIDecoder"};
  1137.       {"CreateDecoderFromFileHandle", "ULONG_PTR hFile, const GUID *pguidVendor, WICDecodeOptions metadataOptions, IWICBitmapDecoder **ppIDecoder"};
  1138.       {"CreateComponentInfo", "REFCLSID clsidComponent, IWICComponentInfo **ppIInfo"};
  1139.       {"CreateDecoder", "REFGUID guidContainerFormat, const GUID *pguidVendor, IWICBitmapDecoder **ppIDecoder"};
  1140.       {"CreateEncoder", "REFGUID guidContainerFormat, const GUID *pguidVendor, IWICBitmapEncoder **ppIEncoder"};
  1141.       {"CreatePalette", "IWICPalette **ppIPalette"};
  1142.       {"CreateFormatConverter", "IWICFormatConverter **ppIFormatConverter"};
  1143.       {"CreateBitmapScaler", "IWICBitmapScaler **ppIBitmapScaler"};
  1144.       {"CreateBitmapClipper", "IWICBitmapClipper **ppIBitmapClipper"};
  1145.       {"CreateBitmapFlipRotator", "IWICBitmapFlipRotator **ppIBitmapFlipRotator"};
  1146.       {"CreateStream", "IWICStream **ppIWICStream"};
  1147.       {"CreateColorContext", "IWICColorContext **ppIWICColorContext"};
  1148.       {"CreateColorTransformer", "IWICColorTransform **ppIWICColorTransform"};
  1149.       {"CreateBitmap", "unsigned int uiWidth, unsigned int uiHeight, REFWICPixelFormatGUID pixelFormat, WICBitmapCreateCacheOption option, IWICBitmap **ppIBitmap"};
  1150.       {"CreateBitmapFromSource", "IWICBitmapSource *pIBitmapSource, WICBitmapCreateCacheOption option, IWICBitmap **ppIBitmap"};
  1151.       {"CreateBitmapFromSourceRect", "IWICBitmapSource *pIBitmapSource, unsigned int x, unsigned int y, unsigned int width, unsigned int height, IWICBitmap **ppIBitmap"};
  1152.       {"CreateBitmapFromMemory", "unsigned int uiWidth, unsigned int uiHeight, REFWICPixelFormatGUID pixelFormat, unsigned int cbStride, unsigned int cbBufferSize, BYTE *pbBuffer, IWICBitmap **ppIBitmap"};
  1153.       {"CreateBitmapFromHBITMAP", "HBITMAP hBitmap, HPALETTE hPalette, WICBitmapAlphaChannelOption options, IWICBitmap **ppIBitmap"};
  1154.       {"CreateBitmapFromHICON", "HICON hIcon, IWICBitmap **ppIBitmap"};
  1155.       {"CreateComponentEnumerator", "DWORD componentTypes, DWORD options, IEnumUnknown **ppIEnumUnknown"};
  1156.       {"CreateFastMetadataEncoderFromDecoder", "IWICBitmapDecoder *pIDecoder, IWICFastMetadataEncoder **ppIFastEncoder"};
  1157.       {"CreateFastMetadataEncoderFromFrameDecode", "IWICBitmapFrameDecode *pIFrameDecoder, IWICFastMetadataEncoder **ppIFastEncoder"};
  1158.       {"CreateQueryWriter", "REFGUID guidMetadataFormat, const GUID *pguidVendor, IWICMetadataQueryWriter **ppIQueryWriter"};
  1159.       {"CreateQueryWriterFromReader", "IWICMetadataQueryReader *pIQueryReader, const GUID *pguidVendor, IWICMetadataQueryWriter **ppIQueryWriter"};
  1160.     };
  1161.     iid = "ec5ec8a9-c395-4314-9c77-54d7a935ff70";
  1162.   };
  1163.   {"IWICBitmapSource";
  1164.     methods = {
  1165.       {"GetSize", "unsigned int *puiWidth, unsigned int *puiHeight"};
  1166.       {"GetPixelFormat", "WICPixelFormatGUID *pPixelFormat"};
  1167.       {"GetResolution", "double *pDpiX, double *pDpiY"};
  1168.       {"CopyPalette", "IWICPalette *pIPalette"};
  1169.       {"CopyPixels", "const WICRect *prc, unsigned int cbStride, unsigned int cbBufferSize, BYTE *pbBuffer"};
  1170.     };
  1171.     iid = "00000120-a8f2-4877-ba0a-fd2b6645fb94";
  1172.   };
  1173.   {"IWICBitmapFrameDecode"; inherits = "IWICBitmapSource";
  1174.     methods = {
  1175.       {"GetMetadataQueryReader", "IWICMetadataQueryReader **ppIMetadataQueryReader"};
  1176.       {"GetColorContexts", "unsigned int cCount, IWICColorContext **ppIColorContexts, unsigned int *pcActualCount"};
  1177.       {"GetThumbnail", "IWICBitmapSource **ppIThumbnail"};
  1178.     };
  1179.     iid = "3B16811B-6A43-4ec9-A813-3D930C13B940";
  1180.   };
  1181.   {"IWICDevelopRaw"; inherits = "IWICBitmapFrameDecode";
  1182.     methods = {
  1183.       {"QueryRawCapabilitiesInfo", "WICRawCapabilitiesInfo *pInfo"};
  1184.       {"LoadParameterSet", "WICRawParameterSet ParameterSet"};
  1185.       {"GetCurrentParameterSet", "IPropertyBag2 **ppCurrentParameterSet"};
  1186.       {"SetExposureCompensation", "double ev"};
  1187.       {"GetExposureCompensation", "double *pEV"};
  1188.       {"SetWhitePointRGB", "unsigned int Red, unsigned int Green, unsigned int Blue"};
  1189.       {"GetWhitePointRGB", "unsigned int *pRed, unsigned int *pGreen, unsigned int *pBlue"};
  1190.       {"SetNamedWhitePoint", "WICNamedWhitePoint WhitePoint"};
  1191.       {"GetNamedWhitePoint", "WICNamedWhitePoint *pWhitePoint"};
  1192.       {"SetWhitePointKelvin", "unsigned int WhitePointKelvin"};
  1193.       {"GetWhitePointKelvin", "unsigned int *pWhitePointKelvin"};
  1194.       {"GetKelvinRangeInfo", "unsigned int *pMinKelvinTemp, unsigned int *pMaxKelvinTemp, unsigned int *pKelvinTempStepValue"};
  1195.       {"SetContrast", "double Contrast"};
  1196.       {"GetContrast", "double *pContrast"};
  1197.       {"SetGamma", "double Gamma"};
  1198.       {"GetGamma", "double *pGamma"};
  1199.       {"SetSharpness", "double Sharpness"};
  1200.       {"GetSharpness", "double *pSharpness"};
  1201.       {"SetSaturation", "double Saturation"};
  1202.       {"GetSaturation", "double *pSaturation"};
  1203.       {"SetTint", "double Tint"};
  1204.       {"GetTint", "double *pTint"};
  1205.       {"SetNoiseReduction", "double NoiseReduction"};
  1206.       {"GetNoiseReduction", "double *pNoiseReduction"};
  1207.       {"SetDestinationColorContext", "IWICColorContext *pColorContext"};
  1208.       {"SetToneCurve", "unsigned int cbToneCurveSize, const WICRawToneCurve *pToneCurve"};
  1209.       {"GetToneCurve", "unsigned int cbToneCurveBufferSize, WICRawToneCurve *pToneCurve, unsigned int *pcbActualToneCurveBufferSize"};
  1210.       {"SetRotation", "double Rotation"};
  1211.       {"GetRotation", "double *pRotation"};
  1212.       {"SetRenderMode", "WICRawRenderMode RenderMode"};
  1213.       {"GetRenderMode", "WICRawRenderMode *pRenderMode"};
  1214.       {"SetNotificationCallback", "IWICDevelopRawNotificationCallback *pCallback"};
  1215.     };
  1216.     iid = "fbec5e44-f7be-4b65-b7f8-c0c81fef026d";
  1217.   };
  1218.   {"IWICBitmapClipper"; inherits = "IWICBitmapSource";
  1219.     methods = {
  1220.       {"Initialize", "IWICBitmapSource *pISource, const WICRect *prc"};
  1221.     };
  1222.     iid = "E4FBCF03-223D-4e81-9333-D635556DD1B5";
  1223.   };
  1224.   {"IWICBitmapFlipRotator"; inherits = "IWICBitmapSource";
  1225.     methods = {
  1226.       {"Initialize", "IWICBitmapSource *pISource, WICBitmapTransformOptions options"};
  1227.     };
  1228.     iid = "5009834F-2D6A-41ce-9E1B-17C5AFF7A782";
  1229.   };
  1230.   {"IWICFormatConverter"; inherits = "IWICBitmapSource";
  1231.     methods = {
  1232.       {"Initialize", "IWICBitmapSource *pISource, REFWICPixelFormatGUID dstFormat, WICBitmapDitherType dither, IWICPalette *pIPalette, double alphaThresholdPercent, WICBitmapPaletteType paletteTranslate"};
  1233.       {"CanConvert", "REFWICPixelFormatGUID srcPixelFormat, REFWICPixelFormatGUID dstPixelFormat, BOOL *pfCanConvert"};
  1234.     };
  1235.     iid = "00000301-a8f2-4877-ba0a-fd2b6645fb94";
  1236.   };
  1237.   {"IWICColorTransform"; inherits = "IWICBitmapSource";
  1238.     methods = {
  1239.       {"Initialize", "IWICBitmapSource *pIBitmapSource, IWICColorContext *pIContextSource, IWICColorContext *pIContextDest, REFWICPixelFormatGUID pixelFmtDest"};
  1240.     };
  1241.     iid = "B66F034F-D0E2-40ab-B436-6DE39E321A94";
  1242.   };
  1243.   {"IWICBitmap"; inherits = "IWICBitmapSource";
  1244.     methods = {
  1245.       {"Lock", "const WICRect *prcLock, DWORD flags, IWICBitmapLock **ppILock"};
  1246.       {"SetPalette", "IWICPalette *pIPalette"};
  1247.       {"SetResolution", "double dpiX, double dpiY"};
  1248.     };
  1249.     iid = "00000121-a8f2-4877-ba0a-fd2b6645fb94";
  1250.   };
  1251.   {"IWICBitmapScaler"; inherits = "IWICBitmapSource";
  1252.     methods = {
  1253.       {"Initialize", "IWICBitmapSource *pISource, unsigned int uiWidth, unsigned int uiHeight, WICBitmapInterpolationMode mode"};
  1254.     };
  1255.     iid = "00000302-a8f2-4877-ba0a-fd2b6645fb94";
  1256.   };
  1257.   {"IWICBitmapEncoder";
  1258.     methods = {
  1259.       {"Initialize", "IStream *pIStream, WICBitmapEncoderCacheOption cacheOption"};
  1260.       {"GetContainerFormat", "GUID *pguidContainerFormat"};
  1261.       {"GetEncoderInfo", "IWICBitmapEncoderInfo **ppIEncoderInfo"};
  1262.       {"SetColorContexts", "unsigned int cCount, IWICColorContext **ppIColorContext"};
  1263.       {"SetPalette", "IWICPalette *pIPalette"};
  1264.       {"SetThumbnail", "IWICBitmapSource *pIThumbnail"};
  1265.       {"SetPreview", "IWICBitmapSource *pIPreview"};
  1266.       {"CreateNewFrame", "IWICBitmapFrameEncode **ppIFrameEncode, IPropertyBag2 **ppIEncoderOptions"};
  1267.       {"Commit"};
  1268.       {"GetMetadataQueryWriter", "IWICMetadataQueryWriter **ppIMetadataQueryWriter"};
  1269.     };
  1270.     iid = "00000103-a8f2-4877-ba0a-fd2b6645fb94";
  1271.   };
  1272.   {"IWICBitmapDecoder";
  1273.     methods = {
  1274.       {"QueryCapability", "IStream *pIStream, DWORD *pdwCapability"};
  1275.       {"Initialize", "IStream *pIStream, WICDecodeOptions cacheOptions"};
  1276.       {"GetContainerFormat", "GUID *pguidContainerFormat"};
  1277.       {"GetDecoderInfo", "IWICBitmapDecoderInfo **ppIDecoderInfo"};
  1278.       {"CopyPalette", "IWICPalette *pIPalette"};
  1279.       {"GetMetadataQueryReader", "IWICMetadataQueryReader **ppIMetadataQueryReader"};
  1280.       {"GetPreview", "IWICBitmapSource **ppIBitmapSource"};
  1281.       {"GetColorContexts", "unsigned int cCount, IWICColorContext **ppIColorContexts, unsigned int *pcActualCount"};
  1282.       {"GetThumbnail", "IWICBitmapSource **ppIThumbnail"};
  1283.       {"GetFrameCount", "unsigned int *pCount"};
  1284.       {"GetFrame", "unsigned int index, IWICBitmapFrameDecode **ppIBitmapFrame"};
  1285.     };
  1286.     iid = "9EDDE9E7-8DEE-47ea-99DF-E6FAF2ED44BF";
  1287.   };
  1288.   {"IWICColorContext";
  1289.     methods = {
  1290.       {"InitializeFromFilename", "LPCWSTR wzFilename"};
  1291.       {"InitializeFromMemory", "const BYTE *pbBuffer, unsigned int cbBufferSize"};
  1292.       {"InitializeFromExifColorSpace", "unsigned int value"};
  1293.       {"GetType", "WICColorContextType *pType"};
  1294.       {"GetProfileBytes", "unsigned int cbBuffer, BYTE *pbBuffer, unsigned int *pcbActual"};
  1295.       {"GetExifColorSpace", "unsigned int *pValue"};
  1296.     };
  1297.     iid = "3C613A02-34B2-44ea-9A7C-45AEA9C6FD6D";
  1298.   };
  1299.   {"IWICComponentInfo";
  1300.     methods = {
  1301.       {"GetComponentType", "WICComponentType *pType"};
  1302.       {"GetCLSID", "CLSID *pclsid"};
  1303.       {"GetSigningStatus", "DWORD *pStatus"};
  1304.       {"GetAuthor", "unsigned int cchAuthor, wchar_t *wzAuthor, unsigned int *pcchActual"};
  1305.       {"GetVendorGUID", "GUID *pguidVendor"};
  1306.       {"GetVersion", "unsigned int cchVersion, wchar_t *wzVersion, unsigned int *pcchActual"};
  1307.       {"GetSpecVersion", "unsigned int cchSpecVersion, wchar_t *wzSpecVersion, unsigned int *pcchActual"};
  1308.       {"GetFriendlyName", "unsigned int cchFriendlyName, wchar_t *wzFriendlyName, unsigned int *pcchActual"};
  1309.     };
  1310.     iid = "23BC3F0A-698B-4357-886B-F24D50671334";
  1311.   };
  1312.   {"IWICFormatConverterInfo"; inherits = "IWICComponentInfo";
  1313.     methods = {
  1314.       {"GetPixelFormats", "unsigned int cFormats, WICPixelFormatGUID *pPixelFormatGUIDs, unsigned int *pcActual"};
  1315.       {"CreateInstance", "IWICFormatConverter **ppIConverter"};
  1316.     };
  1317.     iid = "9F34FB65-13F4-4f15-BC57-3726B5E53D9F";
  1318.   };
  1319.   {"IWICPixelFormatInfo"; inherits = "IWICComponentInfo";
  1320.     methods = {
  1321.       {"GetFormatGUID", "GUID *pFormat"};
  1322.       {"GetColorContext", "IWICColorContext **ppIColorContext"};
  1323.       {"GetBitsPerPixel", "unsigned int *puiBitsPerPixel"};
  1324.       {"GetChannelCount", "unsigned int *puiChannelCount"};
  1325.       {"GetChannelMask", "unsigned int uiChannelIndex, unsigned int cbMaskBuffer, BYTE *pbMaskBuffer, unsigned int *pcbActual"};
  1326.     };
  1327.     iid = "E8EDA601-3D48-431a-AB44-69059BE88BBE";
  1328.   };
  1329.   {"IWICPixelFormatInfo2"; inherits = "IWICPixelFormatInfo";
  1330.     methods = {
  1331.       {"SupportsTransparency", "BOOL *pfSupportsTransparency"};
  1332.       {"GetNumericRepresentation", "WICPixelFormatNumericRepresentation *pNumericRepresentation"};
  1333.     };
  1334.     iid = "A9DB33A2-AF5F-43C7-B679-74F5984B5AA4";
  1335.   };
  1336.   {"IWICBitmapCodecInfo"; inherits = "IWICComponentInfo";
  1337.     methods = {
  1338.       {"GetContainerFormat", "GUID *pguidContainerFormat"};
  1339.       {"GetPixelFormats", "unsigned int cFormats, GUID *pguidPixelFormats, unsigned int *pcActual"};
  1340.       {"GetColorManagementVersion", "unsigned int cchColorManagementVersion, wchar_t *wzColorManagementVersion, unsigned int *pcchActual"};
  1341.       {"GetDeviceManufacturer", "unsigned int cchDeviceManufacturer, wchar_t *wzDeviceManufacturer, unsigned int *pcchActual"};
  1342.       {"GetDeviceModels", "unsigned int cchDeviceModels, wchar_t *wzDeviceModels, unsigned int *pcchActual"};
  1343.       {"GetMimeTypes", "unsigned int cchMimeTypes, wchar_t *wzMimeTypes, unsigned int *pcchActual"};
  1344.       {"GetFileExtensions", "unsigned int cchFileExtensions, wchar_t *wzFileExtensions, unsigned int *pcchActual"};
  1345.       {"DoesSupportAnimation", "BOOL *pfSupportAnimation"};
  1346.       {"DoesSupportChromakey", "BOOL *pfSupportChromakey"};
  1347.       {"DoesSupportLossless", "BOOL *pfSupportLossless"};
  1348.       {"DoesSupportMultiframe", "BOOL *pfSupportMultiframe"};
  1349.       {"MatchesMimeType", "LPCWSTR wzMimeType, BOOL *pfMatches"};
  1350.     };
  1351.     iid = "E87A44C4-B76E-4c47-8B09-298EB12A2714";
  1352.   };
  1353.   {"IWICBitmapEncoderInfo"; inherits = "IWICBitmapCodecInfo";
  1354.     methods = {
  1355.       {"CreateInstance", "IWICBitmapEncoder **ppIBitmapEncoder"};
  1356.     };
  1357.     iid = "94C9B4EE-A09F-4f92-8A1E-4A9BCE7E76FB";
  1358.   };
  1359.   {"IWICBitmapDecoderInfo"; inherits = "IWICBitmapCodecInfo";
  1360.     methods = {
  1361.       {"GetPatterns", "unsigned int cbSizePatterns, WICBitmapPattern *pPatterns, unsigned int *pcPatterns, unsigned int *pcbPatternsActual"};
  1362.       {"MatchesPattern", "IStream *pIStream, BOOL *pfMatches"};
  1363.       {"CreateInstance", "IWICBitmapDecoder **ppIBitmapDecoder"};
  1364.     };
  1365.     iid = "D8CD007F-D08F-4191-9BFC-236EA7F0E4B5";
  1366.   };
  1367.   {"IWICBitmapSourceTransform";
  1368.     methods = {
  1369.       {"CopyPixels", "const WICRect *prc, unsigned int uiWidth, unsigned int uiHeight, WICPixelFormatGUID *pguidDstFormat, WICBitmapTransformOptions dstTransform, unsigned int nStride, unsigned int cbBufferSize, BYTE *pbBuffer"};
  1370.       {"GetClosestSize", "unsigned int *puiWidth, unsigned int *puiHeight"};
  1371.       {"GetClosestPixelFormat", "WICPixelFormatGUID *pguidDstFormat"};
  1372.       {"DoesSupportTransform", "WICBitmapTransformOptions dstTransform, BOOL *pfIsSupported"};
  1373.     };
  1374.     iid = "3B16811B-6A43-4ec9-B713-3D5A0C13B940";
  1375.   };
  1376.   {"IWICMetadataQueryReader";
  1377.     methods = {
  1378.       {"GetContainerFormat", "GUID *pguidContainerFormat"};
  1379.       {"GetLocation", "unsigned int cchMaxLength, wchar_t *wzNamespace, unsigned int *pcchActualLength"};
  1380.       {"GetMetadataByName", "LPCWSTR wzName, PROPVARIANT *pvarValue"};
  1381.       {"GetEnumerator", "IEnumString **ppIEnumString"};
  1382.     };
  1383.     iid = "30989668-E1C9-4597-B395-458EEDB808DF";
  1384.   };
  1385.   {"IWICMetadataQueryWriter"; inherits = "IWICMetadataQueryReader";
  1386.     methods = {
  1387.       {"SetMetadataByName", "LPCWSTR wzName, const PROPVARIANT *pvarValue"};
  1388.       {"RemoveMetadataByName", "LPCWSTR wzName"};
  1389.     };
  1390.     iid = "A721791A-0DEF-4d06-BD91-2118BF1DB10B";
  1391.   };
  1392.   {"IWICProgressCallback";
  1393.     methods = {
  1394.       {"Notify", "ULONG uFrameNum, WICProgressOperation operation, double dblProgress"};
  1395.     };
  1396.     iid = "4776F9CD-9517-45FA-BF24-E89C5EC5C60C";
  1397.   };
  1398. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement