Windows default font

This commit is contained in:
Niklas Mischkulnig 2018-06-04 12:25:48 +02:00
parent e114e71741
commit 9561e87d49
2 changed files with 38 additions and 39 deletions

View File

@ -106,16 +106,15 @@ static void handlerDraw(uiAreaHandler *a, uiArea *area, uiAreaDrawParams *p)
} else { } else {
uiFontButtonFont(fontButton, &defaultFont); uiFontButtonFont(fontButton, &defaultFont);
} }
printf("%s\n", defaultFont.Family);
params.DefaultFont = &defaultFont; params.DefaultFont = &defaultFont;
params.Width = p->AreaWidth; params.Width = p->AreaWidth;
params.Align = (uiDrawTextAlign) uiComboboxSelected(alignment); params.Align = (uiDrawTextAlign) uiComboboxSelected(alignment);
textLayout = uiDrawNewTextLayout(&params); textLayout = uiDrawNewTextLayout(&params);
uiDrawText(p->Context, textLayout, 0, 0); uiDrawText(p->Context, textLayout, 0, 0);
uiDrawFreeTextLayout(textLayout); uiDrawFreeTextLayout(textLayout);
if(!useSystemFont) {
//TODO RENAME?
uiFreeFontButtonFont(&defaultFont); uiFreeFontButtonFont(&defaultFont);
}
} }
static void handlerMouseEvent(uiAreaHandler *a, uiArea *area, uiAreaMouseEvent *e) static void handlerMouseEvent(uiAreaHandler *a, uiArea *area, uiAreaMouseEvent *e)

View File

@ -535,9 +535,8 @@ void uiDrawTextLayoutExtents(uiDrawTextLayout *tl, double *width, double *height
*height = metrics.height; *height = metrics.height;
} }
uiDrawTextFont *uiDrawLoadDefaultFont() void uiDrawLoadDefaultFont(uiFontDescriptor *f)
{ {
uiDrawTextFont *font;
fontCollection *collection; fontCollection *collection;
IDWriteGdiInterop *gdi; IDWriteGdiInterop *gdi;
IDWriteFont *dwfont; IDWriteFont *dwfont;
@ -562,19 +561,20 @@ uiDrawTextFont *uiDrawLoadDefaultFont()
hr = dwfont->GetFontFamily(&dwfamily); hr = dwfont->GetFontFamily(&dwfamily);
if (hr != S_OK) if (hr != S_OK)
logHRESULT(L"error loading font family", hr); logHRESULT(L"error loading font family", hr);
collection = loadFontCollection(); collection = uiprivLoadFontCollection();
family = fontCollectionFamilyName(collection, dwfamily); family = uiprivFontCollectionFamilyName(collection, dwfamily);
pixels = GetDeviceCaps(GetDC(NULL), LOGPIXELSY); pixels = GetDeviceCaps(GetDC(NULL), LOGPIXELSY);
if (pixels == 0) if (pixels == 0)
logLastError(L"error getting device caps"); logLastError(L"error getting device caps");
size = abs(metrics.lfMessageFont.lfHeight) * 72 / pixels; size = abs(metrics.lfMessageFont.lfHeight) * 72 / pixels;
font = mkTextFont(dwfont, FALSE, family, FALSE, size); uiprivFontDescriptorFromIDWriteFont(dwfont, f);
f->Family = toUTF8(family);
f->Size = size;
fontCollectionFree(collection); uiprivFree(family);
uiprivFontCollectionFree(collection);
dwfamily->Release(); dwfamily->Release();
gdi->Release(); gdi->Release();
return font;
} }