1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/**************************************************************************\ 2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* 3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Copyright (c) 1998-2000, Microsoft Corp. All Rights Reserved. 4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* 5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Module Name: 6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* 7ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* GdiplusFontFamily.h 8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* 9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Abstract: 10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* 11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Font family API related declarations 12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* 13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov\**************************************************************************/ 14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef _GDIPLUS_FONT_FAMILY_H 16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define _GDIPLUS_FONT_FAMILY_H 17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline 19ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::FontFamily() : 20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nativeFamily (NULL), 21ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov lastResult (Ok) 22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 23ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline 26ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::FontFamily( 27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov IN const WCHAR* name, 28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov IN const FontCollection* fontCollection 29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov) 30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nativeFamily = NULL; 32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov lastResult = DllExports::GdipCreateFontFamilyFromName( 33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov name, 34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov fontCollection ? fontCollection->nativeFontCollection : NULL, 35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov &nativeFamily 36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ); 37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef DCR_USE_NEW_135429 39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ((INT) lastResult >= 10) 40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov lastResult = NotFound; 41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// private method 45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline 46ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::FontFamily( 47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov IN GpFontFamily *nativeOrig, 48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov IN Status status 49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov) 50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov lastResult = status; 52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nativeFamily = nativeOrig; 53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Generic font family access 56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 57ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline const FontFamily * 58ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::GenericSansSerif() 59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 60ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (GenericSansSerifFontFamily != NULL) 61ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 62ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GenericSansSerifFontFamily; 63ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 64ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 65ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GenericSansSerifFontFamily = 66ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov (FontFamily*) GenericSansSerifFontFamilyBuffer; 67ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 68ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GenericSansSerifFontFamily->lastResult = 69ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov DllExports::GdipGetGenericFontFamilySansSerif( 70ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov &(GenericSansSerifFontFamily->nativeFamily) 71ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ); 72ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 73ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef DCR_USE_NEW_135429 74ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ((INT) GenericSansSerifFontFamily->lastResult >= 10) 75ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GenericSansSerifFontFamily->lastResult = NotFound; 76ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 77ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 78ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GenericSansSerifFontFamily; 79ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 80ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 81ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline const FontFamily * 82ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::GenericSerif() 83ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 84ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (GenericSerifFontFamily != NULL) 85ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 86ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GenericSerifFontFamily; 87ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 88ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 89ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GenericSerifFontFamily = 90ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov (FontFamily*) GenericSerifFontFamilyBuffer; 91ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 92ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GenericSerifFontFamily->lastResult = 93ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov DllExports::GdipGetGenericFontFamilySerif( 94ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov &(GenericSerifFontFamily->nativeFamily) 95ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ); 96ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 97ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef DCR_USE_NEW_135429 98ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ((INT) GenericSerifFontFamily->lastResult >= 10) 99ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GenericSerifFontFamily->lastResult = NotFound; 100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GenericSerifFontFamily; 103ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline const FontFamily * 106ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::GenericMonospace() 107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (GenericMonospaceFontFamily != NULL) 109ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 110ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GenericMonospaceFontFamily; 111ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 112ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 113ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GenericMonospaceFontFamily = 114ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov (FontFamily*) GenericMonospaceFontFamilyBuffer; 115ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 116ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GenericMonospaceFontFamily->lastResult = 117ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov DllExports::GdipGetGenericFontFamilyMonospace( 118ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov &(GenericMonospaceFontFamily->nativeFamily) 119ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ); 120ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 121ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef DCR_USE_NEW_135429 122ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ((INT) GenericMonospaceFontFamily->lastResult >= 10) 123ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GenericMonospaceFontFamily->lastResult = NotFound; 124ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 125ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 126ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GenericMonospaceFontFamily; 127ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 128ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 129ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline FontFamily::~FontFamily() 130ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 131ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov DllExports::GdipDeleteFontFamily (nativeFamily); 132ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 133ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 134ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline FontFamily * 135ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::Clone() const 136ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 137ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GpFontFamily * clonedFamily = NULL; 138ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 139ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SetStatus(DllExports::GdipCloneFontFamily (nativeFamily, &clonedFamily)); 140ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 141ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return new FontFamily(clonedFamily, lastResult); 142ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 143ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 144ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline Status 145ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::GetFamilyName( 146ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov IN WCHAR name[LF_FACESIZE], 147ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov IN LANGID language 148ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov) const 149ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 150ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return SetStatus(DllExports::GdipGetFamilyName(nativeFamily, 151ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov name, 152ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov language)); 153ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 154ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 155ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline BOOL 156ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::IsStyleAvailable(IN INT style) const 157ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 158ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov BOOL StyleAvailable; 159ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Status status; 160ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 161ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov status = SetStatus(DllExports::GdipIsStyleAvailable(nativeFamily, style, &StyleAvailable)); 162ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 163ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (status != Ok) 164ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov StyleAvailable = FALSE; 165ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 166ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return StyleAvailable; 167ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 168ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 169ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 170ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline UINT16 171ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::GetEmHeight(IN INT style) const 172ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 173ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UINT16 EmHeight; 174ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 175ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SetStatus(DllExports::GdipGetEmHeight(nativeFamily, style, &EmHeight)); 176ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 177ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return EmHeight; 178ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 179ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 180ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline UINT16 181ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::GetCellAscent(IN INT style) const 182ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 183ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UINT16 CellAscent; 184ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 185ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SetStatus(DllExports::GdipGetCellAscent(nativeFamily, style, &CellAscent)); 186ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 187ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return CellAscent; 188ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 189ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 190ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline UINT16 191ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::GetCellDescent(IN INT style) const 192ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 193ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UINT16 CellDescent; 194ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 195ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SetStatus(DllExports::GdipGetCellDescent(nativeFamily, style, &CellDescent)); 196ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 197ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return CellDescent; 198ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 199ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 200ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 201ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline UINT16 202ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::GetLineSpacing(IN INT style) const 203ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 204ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UINT16 LineSpacing; 205ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 206ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SetStatus(DllExports::GdipGetLineSpacing(nativeFamily, style, &LineSpacing)); 207ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 208ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return LineSpacing; 209ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 210ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 211ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 212ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifdef TEXTV2 213ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 214ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// The following APIs return data from the font OS/2 table 215ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 216ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline INT16 217ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::GetTypographicAscent(IN INT style) const 218ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 219ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov INT16 TypographicAscent; 220ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 221ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SetStatus(DllExports::GdipGetTypographicAscent(nativeFamily, style, &TypographicAscent)); 222ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 223ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TypographicAscent; 224ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 225ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 226ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline INT16 227ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::GetTypographicDescent(IN INT style) const 228ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 229ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov INT16 TypographicDescent; 230ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 231ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SetStatus(DllExports::GdipGetTypographicDescent(nativeFamily, style, &TypographicDescent)); 232ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 233ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TypographicDescent; 234ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 235ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 236ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline INT16 237ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::GetTypographicLineGap(IN INT style) const 238ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 239ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov INT16 TypographicLineGap; 240ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 241ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SetStatus(DllExports::GdipGetTypographicLineGap(nativeFamily, style, &TypographicLineGap)); 242ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 243ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TypographicLineGap; 244ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 245ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 246ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 247ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 248ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/////////////////////////////////////////////////////////// 249ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 250ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// GetLastStatus - return last error code and clear error code 251ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 252ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline Status 253ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::GetLastStatus() const 254ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 255ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Status lastStatus = lastResult; 256ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov lastResult = Ok; 257ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 258ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return lastStatus; 259ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 260ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 261ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// protected method 262ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovinline Status 263ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFontFamily::SetStatus(Status status) const 264ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 265ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (status != Ok) 266ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return (lastResult = status); 267ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 268ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return status; 269ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 270ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 271ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 272