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.
|
|
/**************************************************************************\
* * Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved. * * Module Name: * * GdiplusFontFamily.h * * Abstract: * * GDI+ Font Family class * \**************************************************************************/
#ifndef _GDIPLUS_FONT_FAMILY_H
#define _GDIPLUS_FONT_FAMILY_H
inline FontFamily::FontFamily() : nativeFamily (NULL), lastResult (Ok) { }
inline FontFamily::FontFamily( IN const WCHAR* name, IN const FontCollection* fontCollection ) { nativeFamily = NULL; lastResult = DllExports::GdipCreateFontFamilyFromName( name, fontCollection ? fontCollection->nativeFontCollection : NULL, &nativeFamily ); }
inline FontFamily::FontFamily( IN GpFontFamily *nativeOrig, IN Status status ) { lastResult = status; nativeFamily = nativeOrig; }
inline const FontFamily * FontFamily::GenericSansSerif() { if (GenericSansSerifFontFamily != NULL) { return GenericSansSerifFontFamily; }
GenericSansSerifFontFamily = (FontFamily*) GenericSansSerifFontFamilyBuffer;
GenericSansSerifFontFamily->lastResult = DllExports::GdipGetGenericFontFamilySansSerif( &(GenericSansSerifFontFamily->nativeFamily) );
return GenericSansSerifFontFamily; }
inline const FontFamily * FontFamily::GenericSerif() { if (GenericSerifFontFamily != NULL) { return GenericSerifFontFamily; }
GenericSerifFontFamily = (FontFamily*) GenericSerifFontFamilyBuffer;
GenericSerifFontFamily->lastResult = DllExports::GdipGetGenericFontFamilySerif( &(GenericSerifFontFamily->nativeFamily) );
return GenericSerifFontFamily; }
inline const FontFamily * FontFamily::GenericMonospace() { if (GenericMonospaceFontFamily != NULL) { return GenericMonospaceFontFamily; }
GenericMonospaceFontFamily = (FontFamily*) GenericMonospaceFontFamilyBuffer;
GenericMonospaceFontFamily->lastResult = DllExports::GdipGetGenericFontFamilyMonospace( &(GenericMonospaceFontFamily->nativeFamily) );
return GenericMonospaceFontFamily; }
inline FontFamily::~FontFamily() { DllExports::GdipDeleteFontFamily (nativeFamily); }
inline FontFamily * FontFamily::Clone() const { GpFontFamily * clonedFamily = NULL;
SetStatus(DllExports::GdipCloneFontFamily (nativeFamily, &clonedFamily));
return new FontFamily(clonedFamily, lastResult); }
inline Status FontFamily::GetFamilyName( IN WCHAR name[LF_FACESIZE], IN LANGID language ) const { return SetStatus(DllExports::GdipGetFamilyName(nativeFamily, name, language)); }
inline BOOL FontFamily::IsStyleAvailable(IN INT style) const { BOOL StyleAvailable; Status status;
status = SetStatus(DllExports::GdipIsStyleAvailable(nativeFamily, style, &StyleAvailable));
if (status != Ok) StyleAvailable = FALSE;
return StyleAvailable; }
inline UINT16 FontFamily::GetEmHeight(IN INT style) const { UINT16 EmHeight;
SetStatus(DllExports::GdipGetEmHeight(nativeFamily, style, &EmHeight));
return EmHeight; }
inline UINT16 FontFamily::GetCellAscent(IN INT style) const { UINT16 CellAscent;
SetStatus(DllExports::GdipGetCellAscent(nativeFamily, style, &CellAscent));
return CellAscent; }
inline UINT16 FontFamily::GetCellDescent(IN INT style) const { UINT16 CellDescent;
SetStatus(DllExports::GdipGetCellDescent(nativeFamily, style, &CellDescent));
return CellDescent; }
inline UINT16 FontFamily::GetLineSpacing(IN INT style) const { UINT16 LineSpacing;
SetStatus(DllExports::GdipGetLineSpacing(nativeFamily, style, &LineSpacing));
return LineSpacing;
}
inline Status FontFamily::GetLastStatus() const { Status lastStatus = lastResult; lastResult = Ok;
return lastStatus; }
inline Status FontFamily::SetStatus(Status status) const { if (status != Ok) return (lastResult = status); else return status; }
#endif
|