progwrp/com_lite.h
2025-12-13 23:37:26 +01:00

267 lines
7.4 KiB
C

typedef struct {
ULONG_PTR pfnQueryInterface;
ULONG_PTR pfnAddRef;
ULONG_PTR pfnRelease;
}IUnknownLite, *pIUnknownLite;
typedef struct {
IUnknownLite IUnknown;
ULONG_PTR pfnGetSystemFontCollection;
ULONG_PTR pfnCreateCustomFontCollection;
ULONG_PTR pfnRegisterFontCollectionLoader;
ULONG_PTR pfnUnregisterFontCollectionLoader;
ULONG_PTR pfnCreateFontFileReference;
ULONG_PTR pfnCreateCustomFontFileReference;
ULONG_PTR pfnCreateFontFace;
ULONG_PTR pfnCreateRenderingParams;
ULONG_PTR pfnCreateMonitorRenderingParams;
ULONG_PTR pfnCreateCustomRenderingParams;
ULONG_PTR pfnRegisterFontFileLoader;
ULONG_PTR pfnUnregisterFontFileLoader;
ULONG_PTR pfnCreateTextFormat;
ULONG_PTR pfnCreateTypography;
ULONG_PTR pfnGetGdiInterop;
ULONG_PTR pfnCreateTextLayout;
ULONG_PTR pfnCreateGdiCompatibleTextLayout;
ULONG_PTR pfnCreateEllipsisTrimmingSign;
ULONG_PTR pfnCreateTextAnalyzer;
ULONG_PTR pfnCreateNumberSubstitution;
ULONG_PTR pfnCreateGlyphRunAnalysis;
}IDWriteFactoryLiteTbl, *pIDWriteFactoryLiteTbl;
typedef struct {
IUnknownLite IUnknown;
ULONG_PTR pfnGetFontFamilyCount;
ULONG_PTR pfnGetFontFamily;
ULONG_PTR pfnFindFamilyName;
ULONG_PTR pfnGetFontFromFontFace;
}IDWriteFontCollectionLiteTbl, * pIDWriteFontCollectionLiteTbl;
typedef struct {
pIDWriteFontCollectionLiteTbl Vtbl;
ULONG RefCount;
}IDWriteFontCollectionLite, * pIDWriteFontCollectionLite;
typedef struct {
IUnknownLite IUnknown;
ULONG_PTR pfnGetAlphaTextureBounds;
ULONG_PTR pfnGetAlphaBlendParams;
ULONG_PTR pfnCreateAlphaTexture;
}IDWriteGlyphRunAnalysisLiteTbl, * pIDWriteGlyphRunAnalysisLiteTbl;
typedef struct {
pIDWriteGlyphRunAnalysisLiteTbl Vtbl;
ULONG RefCount;
}IDWriteGlyphRunAnalysisLite, * pIDWriteGlyphRunAnalysisLite;
typedef struct {
IUnknownLite IUnknown;
ULONG_PTR pfnSetTextAlignment;
ULONG_PTR pfnSetParagraphAlignment;
ULONG_PTR pfnSetWordWrapping;
ULONG_PTR pfnSetReadingDirection;
ULONG_PTR pfnSetFlowDirection;
ULONG_PTR pfnSetIncrementalTabStop;
ULONG_PTR pfnSetTrimming;
ULONG_PTR pfnSetLineSpacing;
ULONG_PTR pfnGetTextAlignment;
ULONG_PTR pfnGetParagraphAlignment;
ULONG_PTR pfnGetWordWrapping;
ULONG_PTR pfnGetReadingDirection;
ULONG_PTR pfnGetFlowDirection;
ULONG_PTR pfnGetIncrementalTabStop;
ULONG_PTR pfnGetTrimming;
ULONG_PTR pfnGetLineSpacing;
ULONG_PTR pfnGetFontCollection;
ULONG_PTR pfnGetFontFamilyNameLength;
ULONG_PTR pfnGetFontFamilyName;
ULONG_PTR pfnGetFontWeight;
ULONG_PTR pfnGetFontStyle;
ULONG_PTR pfnGetFontStretch;
ULONG_PTR pfnGetFontSize;
ULONG_PTR pfnGetLocaleNameLength;
ULONG_PTR pfnGetLocaleName;
}IDWriteTextFormatLiteTbl, * pIDWriteTextFormatLiteTbl;
typedef struct {
pIDWriteTextFormatLiteTbl Vtbl;
ULONG RefCount;
}IDWriteTextFormatLite, * pIDWriteTextFormatLite;
typedef struct {
IDWriteTextFormatLiteTbl IDWriteTextFormat;
ULONG_PTR pfnSetMaxWidth;
ULONG_PTR pfnSetMaxHeight;
ULONG_PTR pfnSetFontCollection;
ULONG_PTR pfnSetFontFamilyName;
ULONG_PTR pfnSetFontWeight; // 0x100
ULONG_PTR pfnSetFontStyle;
ULONG_PTR pfnSetFontStretch;
ULONG_PTR pfnSetFontSize;
ULONG_PTR pfnSetUnderline;
ULONG_PTR pfnSetStrikethrough;
ULONG_PTR pfnSetDrawingEffect;
ULONG_PTR pfnSetInlineObject;
ULONG_PTR pfnSetTypography;
ULONG_PTR pfnSetLocaleName;
ULONG_PTR pfnGetMaxWidth;
ULONG_PTR pfnGetMaxHeight;
ULONG_PTR pfnGetFontCollection;
ULONG_PTR pfnGetFontFamilyNameLength;
ULONG_PTR pfnGetFontFamilyName;
ULONG_PTR pfnGetFontWeight;
ULONG_PTR pfnGetFontStyle;
ULONG_PTR pfnGetFontStretch;
ULONG_PTR pfnGetFontSize;
ULONG_PTR pfnGetUnderline;
ULONG_PTR pfnGetStrikethrough;
ULONG_PTR pfnGetDrawingEffect;
ULONG_PTR pfnGetInlineObject;
ULONG_PTR pfnGetTypography;
ULONG_PTR pfnGetLocaleNameLength;
ULONG_PTR pfnGetLocaleName;
ULONG_PTR pfnDraw;
ULONG_PTR pfnGetLineMetrics;
ULONG_PTR pfnGetMetrics;
ULONG_PTR pfnGetOverhangMetrics;
ULONG_PTR pfnGetClusterMetrics;
ULONG_PTR pfnDetermineMinWidth;
ULONG_PTR pfnHitTestPoint;
ULONG_PTR pfnHitTestTextPosition;
ULONG_PTR pfnHitTestTextRange;
}IDWriteTextLayoutLiteTbl, * pIDWriteTextLayoutLiteTbl;
typedef struct {
pIDWriteTextLayoutLiteTbl Vtbl;
ULONG RefCount;
}IDWriteTextLayoutLite, * pIDWriteTextLayoutLite;
typedef struct {
IUnknownLite IUnknown;
ULONG_PTR pfnGetFontCollection; // tentative
ULONG_PTR pfnGetFontCount;
ULONG_PTR pfnGetFont;
}IDWriteFontListLiteTbl, * pIDWriteFontListLiteTbl;
typedef struct {
pIDWriteFontListLiteTbl Vtbl;
}IDWriteFontListLite, * pIDWriteFontListLite;
typedef struct {
IDWriteFontListLiteTbl IDWriteFontList;
ULONG_PTR pfnGetFamilyNames; // tentative
ULONG_PTR pfnGetFirstMatchingFont;
ULONG_PTR pfnGetMatchingFonts;
}IDWriteFontFamilyLiteTbl, * pIDWriteFontFamilyLiteTbl;
typedef struct {
pIDWriteFontFamilyLiteTbl Vtbl;
ULONG RefCount;
PCWSTR FontFamilyStr;
}IDWriteFontFamilyLite, * pIDWriteFontFamilyLite;
typedef struct {
IUnknownLite IUnknown;
ULONG_PTR pfnCreateFontFace;
ULONG_PTR pfnGetFaceNames;
ULONG_PTR pfnGetFontFamily;
ULONG_PTR pfnGetInformationalStrings;
ULONG_PTR pfnIsSymbolFont;
ULONG_PTR pfnGetMetrics;
ULONG_PTR pfnGetGlyphCount; // offset 0x48
ULONG_PTR pfnGetDesignGlyphMetrics;
ULONG_PTR pfnGetGlyphIndices;
ULONG_PTR pfnTryGetFontTable;
ULONG_PTR pfnReleaseFontTable;
ULONG_PTR pfnGetMetrics2;
ULONG_PTR pfnGetPanose;
ULONG_PTR pfnGetUnicodeRanges;
ULONG_PTR pfnIsMonospacedFont;
ULONG_PTR pfnIsColorFont;
ULONG_PTR pfnCreateFontFace3;
ULONG_PTR pfnEquals;
ULONG_PTR pfnGetFontFaceReference;
ULONG_PTR pfnGetLocality;
}IDWriteFontFaceLiteTbl, * pIDWriteFontFaceLiteTbl;
typedef struct {
pIDWriteFontFaceLiteTbl Vtbl;
ULONG RefCount;
LOGFONTW lf;
TEXTMETRICW tm;
}IDWriteFontFaceLite, * pIDWriteFontFaceLite;
typedef struct {
IUnknownLite IUnknown;
ULONG_PTR pfnIsSymbolFont;
ULONG_PTR pfnGetWeight;
ULONG_PTR pfnGetStretch;
ULONG_PTR pfnGetStyle;
ULONG_PTR pfnGetMetrics;
ULONG_PTR pfnGetFontFamily;
ULONG_PTR pfnGetInformationalStrings;
ULONG_PTR pfnGetSimulations;
ULONG_PTR pfnGetFaceNames;
ULONG_PTR pfnHasCharacter;
ULONG_PTR pfnCreateFontFace;
ULONG_PTR pfnGetMetrics2;
ULONG_PTR pfnGetPanose;
ULONG_PTR pfnGetUnicodeRanges;
ULONG_PTR pfnIsMonospacedFont;
ULONG_PTR pfnIsColorFont;
ULONG_PTR pfnCreateFontFace3;
ULONG_PTR pfnEquals;
ULONG_PTR pfnGetFontFaceReference;
ULONG_PTR pfnGetLocality;
}IDWriteFontLiteTbl, * pIDWriteFontLiteTbl;
typedef struct {
pIDWriteFontLiteTbl Vtbl;
ULONG RefCount;
LOGFONTW lf;
TEXTMETRICW tm;
}IDWriteFontLite, * pIDWriteFontLite;
typedef struct {
pIDWriteFactoryLiteTbl Vtbl;
ULONG RefCount;
}IDWriteFactoryLite, *pIDWriteFactoryLite;
typedef struct {
IUnknownLite IUnknown;
ULONG_PTR pfnSetPrivateData;
ULONG_PTR pfnSetPrivateDataInterface;
ULONG_PTR pfnGetPrivateData;
ULONG_PTR pfnGetParent;
}IDXGIObjectLite, *pIDXGIObjectLite;
typedef struct {
IDXGIObjectLite IDXGIObject;
ULONG_PTR pfnEnumAdapters;
ULONG_PTR pfnCreateSoftwareAdapater;
ULONG_PTR pfnCreateSwapChain;
ULONG_PTR pfnGetWindowAssociation;
ULONG_PTR pfnMakeWindowAssociation;
}IDXGIFactoryLite, *pIDXGIFactoryLite;
typedef struct{
IDXGIFactoryLite IDXGIFactory;
ULONG_PTR EnumAdapters1;
ULONG_PTR IsCurrent;
}IDXGIFactory1LiteTbl, *pIDXGIFactory1LiteTbl;
typedef struct {
pIDXGIFactory1LiteTbl Vtbl;
}IDXGIFactory1Lite, *pIDXGIFactory1Lite;
typedef struct {
IDXGIObjectLite IDXGIObject;
ULONG_PTR pfnEnumOutputs;
ULONG_PTR pfnGetDesc;
ULONG_PTR pfnCheckInterfaceSupport;
}IDXGIAdapterLiteTbl, *pIDXGIAdapterLiteTbl;
typedef struct {
pIDXGIAdapterLiteTbl Vtbl;
}IDXGIAdapterLite, *pIDXGIAdapterLite;