mingw-w64/mingw-w64-headers/include/gdiplusfontfamily.h
Kai Tietz 9d937a7f4f Add mingw-w64 header set as initial set.
git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@3 4407c894-4637-0410-b4f5-ada5f102cad1
2007-08-10 10:41:48 +00:00

92 lines
3.5 KiB
C
Executable File

/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#ifndef _GDIPLUS_FONT_FAMILY_H
#define _GDIPLUS_FONT_FAMILY_H
inline FontFamily::FontFamily() : nativeFamily(NULL),lastResult(Ok) { }
inline FontFamily::FontFamily(const WCHAR *name,const FontCollection *fontCollection) {
nativeFamily = NULL;
lastResult = DllExports::GdipCreateFontFamilyFromName(name,fontCollection ? fontCollection->nativeFontCollection : NULL,&nativeFamily);
}
inline FontFamily::FontFamily(GpFontFamily *nativeOrig,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(WCHAR name[LF_FACESIZE],LANGID language) const { return SetStatus(DllExports::GdipGetFamilyName(nativeFamily,name,language)); }
inline WINBOOL FontFamily::IsStyleAvailable(INT style) const {
WINBOOL StyleAvailable;
Status status;
status = SetStatus(DllExports::GdipIsStyleAvailable(nativeFamily,style,&StyleAvailable));
if(status!=Ok) StyleAvailable = FALSE;
return StyleAvailable;
}
inline UINT16 FontFamily::GetEmHeight(INT style) const {
UINT16 EmHeight;
SetStatus(DllExports::GdipGetEmHeight(nativeFamily,style,&EmHeight));
return EmHeight;
}
inline UINT16 FontFamily::GetCellAscent(INT style) const {
UINT16 CellAscent;
SetStatus(DllExports::GdipGetCellAscent(nativeFamily,style,&CellAscent));
return CellAscent;
}
inline UINT16 FontFamily::GetCellDescent(INT style) const {
UINT16 CellDescent;
SetStatus(DllExports::GdipGetCellDescent(nativeFamily,style,&CellDescent));
return CellDescent;
}
inline UINT16 FontFamily::GetLineSpacing(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