Implemented the IPersistStream interface on the OLE font object.
[wine/multimedia.git] / include / wine / obj_olefont.h
blobda6213598a2a5ce81faa003da149b87a8bb1cbd8
1 /*
2 * Defines the COM interfaces and APIs related to OLE font support.
4 * Depends on 'obj_base.h'.
5 */
7 #ifndef __WINE_WINE_OBJ_OLEFONT_H
8 #define __WINE_WINE_OBJ_OLEFONT_H
10 #include "wine/obj_base.h"
11 #include "wingdi.h" /* TEXTMETRIC*/
13 /*****************************************************************************
14 * Predeclare the interfaces
16 DEFINE_GUID(CLSID_StdFont, 0x0BE35203, 0x8F91, 0x11CE, 0x9D, 0xE3, 0x00, 0xAA, 0x00, 0x4B, 0xB8, 0x51);
18 DEFINE_GUID(IID_IFont, 0xBEF6E002, 0xA874, 0x101A, 0x8B, 0xBA, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB);
19 typedef struct IFont IFont,*LPFONT;
21 DEFINE_GUID(IID_IFontDisp, 0xBEF6E003, 0xA874, 0x101A, 0x8B, 0xBA, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB);
22 typedef struct IFontDisp IFontDisp,*LPFONTDISP;
24 typedef TEXTMETRICW TEXTMETRICOLE;
26 /*****************************************************************************
27 * IFont interface
29 #define ICOM_INTERFACE IFont
30 #define IFont_METHODS \
31 ICOM_METHOD1(HRESULT, get_Name, BSTR*, pname); \
32 ICOM_METHOD1(HRESULT, put_Name, BSTR, name); \
33 ICOM_METHOD1(HRESULT, get_Size, CY*, psize); \
34 ICOM_METHOD1(HRESULT, put_Size, CY, size); \
35 ICOM_METHOD1(HRESULT, get_Bold, BOOL*, pbold); \
36 ICOM_METHOD1(HRESULT, put_Bold, BOOL, bold); \
37 ICOM_METHOD1(HRESULT, get_Italic, BOOL*, pitalic); \
38 ICOM_METHOD1(HRESULT, put_Italic, BOOL, italic); \
39 ICOM_METHOD1(HRESULT, get_Underline, BOOL*, punderline); \
40 ICOM_METHOD1(HRESULT, put_Underline, BOOL, underline); \
41 ICOM_METHOD1(HRESULT, get_Strikethrough, BOOL*, pstrikethrough); \
42 ICOM_METHOD1(HRESULT, put_Strikethrough, BOOL, strikethrough); \
43 ICOM_METHOD1(HRESULT, get_Weight, short*, pweight); \
44 ICOM_METHOD1(HRESULT, put_Weight, short, weight); \
45 ICOM_METHOD1(HRESULT, get_Charset, short*, pcharset); \
46 ICOM_METHOD1(HRESULT, put_Charset, short, charset); \
47 ICOM_METHOD1(HRESULT, get_hFont, HFONT*, phfont); \
48 ICOM_METHOD1(HRESULT, Clone, IFont**, ppfont); \
49 ICOM_METHOD1(HRESULT, IsEqual, IFont*, pFontOther); \
50 ICOM_METHOD2(HRESULT, SetRatio, long, cyLogical, long, cyHimetric); \
51 ICOM_METHOD1(HRESULT, QueryTextMetrics, TEXTMETRICOLE*, ptm); \
52 ICOM_METHOD1(HRESULT, AddRefHfont, HFONT, hfont); \
53 ICOM_METHOD1(HRESULT, ReleaseHfont, HFONT, hfont); \
54 ICOM_METHOD1(HRESULT, SetHdc, HDC, hdc);
55 #define IFont_IMETHODS \
56 ICOM_INHERITS(IFont,IUnknown)
57 ICOM_DEFINE(IFont,IUnknown)
58 #undef ICOM_INTERFACE
60 #ifdef ICOM_CINTERFACE
61 /*** IUnknown methods ***/
62 #define IFont_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
63 #define IFont_AddRef(p) ICOM_CALL (AddRef,p)
64 #define IFont_Release(p) ICOM_CALL (Release,p)
65 /*** IFont methods ***/
66 #define IFont_getName(p,a) ICOM_CALL1(get_Name,p,a)
67 #define IFont_putName(p,a) ICOM_CALL1(put_Name,p,a)
68 #define IFont_get_Size(p,a) ICOM_CALL1(get_Size,p,a)
69 #define IFont_put_Size(p,a) ICOM_CALL1(put_Size,p,a)
70 #define IFont_get_Bold(p,a) ICOM_CALL1(get_Bold,a)
71 #define IFont_put_Bold(p,a) ICOM_CALL1(put_Bold,a)
72 #define IFont_get_Italic(p,a) ICOM_CALL1(get_Italic,a)
73 #define IFont_put_Italic(p,a) ICOM_CALL1(put_Italic,a)
74 #define IFont_get_Underline(p,a) ICOM_CALL1(get_Underline,a)
75 #define IFont_put_Underline(p,a) ICOM_CALL1(put_Underline,a)
76 #define IFont_get_Strikethrough(p,a) ICOM_CALL1(get_Strikethrough,a)
77 #define IFont_put_Strikethrough(p,a) ICOM_CALL1(put_Strikethrough,a)
78 #define IFont_get_Weight(p,a) ICOM_CALL1(get_Weight,a)
79 #define IFont_put_Weight(p,a) ICOM_CALL1(put_Weight,a)
80 #define IFont_get_Charset(p,a) ICOM_CALL1(get_Charset,a)
81 #define IFont_put_Charset(p,a) ICOM_CALL1(put_Charset,a)
82 #define IFont_get_hFont(p,a) ICOM_CALL1(get_hFont,a)
83 #define IFont_put_hFont(p,a) ICOM_CALL1(put_hFont,a)
84 #define IFont_Clone(p,a) ICOM_CALL1(Clone,a)
85 #define IFont_IsEqual(p,a) ICOM_CALL1(IsEqual,a)
86 #define IFont_SetRatio(p,a,b) ICOM_CALL2(SetRatio,a,b)
87 #define IFont_QueryTextMetrics(p,a) ICOM_CALL1(QueryTextMetrics,a)
88 #define IFont_AddRefHfont(p,a) ICOM_CALL1(AddRefHfont,a)
89 #define IFont_ReleaseHfont(p,a) ICOM_CALL1(ReleaseHfont,a)
90 #define IFont_SetHdc(p,a) ICOM_CALL1(SetHdc,a)
91 #endif
93 #endif /* __WINE_WINE_OBJ_OLEFONT_H */