Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

84 lines
2.0 KiB

/*++
Copyright (C) 1996-1999 Microsoft Corporation
Module Name:
colefont.h
Abstract:
<abstract>
--*/
#ifndef _COLEFONT_H_
#define _COLEFONT_H_
class COleFont;
class CImpIPropertyNotifySink : public IPropertyNotifySink
{
public:
CImpIPropertyNotifySink(COleFont* pOleFont);
~CImpIPropertyNotifySink(void);
//IUnknown members
STDMETHODIMP QueryInterface(REFIID, PPVOID);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
//Property sink methods
STDMETHODIMP OnChanged( DISPID DispId );
STDMETHODIMP OnRequestEdit( DISPID );
private:
COleFont* m_pOleFont;
ULONG m_cRef;
};
class CSysmonControl;
class COleFont
{
public:
COleFont ( CSysmonControl *pCtrl );
~COleFont( void );
//
// The following functions are not method of a interface
// It is better to change the STDMETHODIMP into HRESULT
//
STDMETHODIMP Init( void );
STDMETHODIMP SetIFont ( LPFONT pIFont );
STDMETHODIMP GetFontDisp ( IFontDisp **ppFont );
STDMETHODIMP GetHFont ( HFONT *phFont );
STDMETHODIMP GetHFontBold ( HFONT *phFont );
STDMETHODIMP SaveToStream ( LPSTREAM pIStream, BOOL fClearDirty );
STDMETHODIMP LoadFromStream ( LPSTREAM pIStream );
STDMETHODIMP SaveToPropertyBag ( IPropertyBag*, BOOL fClearDirty, BOOL fSaveAllProps );
STDMETHODIMP LoadFromPropertyBag ( IPropertyBag*, IErrorLog* );
STDMETHODIMP_(VOID) FontChange ( DISPID DispId );
private:
void InitDefaultFontDesc ( FONTDESC&, INT&, WCHAR[LF_FACESIZE+1] );
static const LPWSTR m_cwszDefaultFaceName;
static const INT m_iDefaultTmHeight;
static const INT m_iDefaultRiPxlsPerInch;
static const SHORT m_iDefaultTmWeight;
CSysmonControl *m_pCtrl;
IFont *m_pIFont;
IFont *m_pIFontBold;
IConnectionPoint *m_pIConnPt;
CImpIPropertyNotifySink m_NotifySink;
DWORD m_dwCookie;
};
#endif