Default font example

This commit is contained in:
Niklas Mischkulnig 2018-06-04 11:45:42 +02:00
parent 6de328c127
commit e114e71741
1 changed files with 20 additions and 2 deletions

View File

@ -8,6 +8,7 @@ uiArea *area;
uiAreaHandler handler;
uiFontButton *fontButton;
uiCombobox *alignment;
uiCheckbox *systemFont;
uiAttributedString *attrstr;
@ -97,16 +98,24 @@ static void handlerDraw(uiAreaHandler *a, uiArea *area, uiAreaDrawParams *p)
uiDrawTextLayout *textLayout;
uiFontDescriptor defaultFont;
uiDrawTextLayoutParams params;
int useSystemFont = uiCheckboxChecked(systemFont);
params.String = attrstr;
uiFontButtonFont(fontButton, &defaultFont);
if(useSystemFont) {
uiDrawLoadDefaultFont(&defaultFont);
} else {
uiFontButtonFont(fontButton, &defaultFont);
}
printf("%s\n", defaultFont.Family);
params.DefaultFont = &defaultFont;
params.Width = p->AreaWidth;
params.Align = (uiDrawTextAlign) uiComboboxSelected(alignment);
textLayout = uiDrawNewTextLayout(&params);
uiDrawText(p->Context, textLayout, 0, 0);
uiDrawFreeTextLayout(textLayout);
uiFreeFontButtonFont(&defaultFont);
if(!useSystemFont) {
uiFreeFontButtonFont(&defaultFont);
}
}
static void handlerMouseEvent(uiAreaHandler *a, uiArea *area, uiAreaMouseEvent *e)
@ -140,6 +149,11 @@ static void onComboboxSelected(uiCombobox *b, void *data)
uiAreaQueueRedrawAll(area);
}
static void onCheckboxToggled(uiCheckbox *b, void *data)
{
uiAreaQueueRedrawAll(area);
}
static int onClosing(uiWindow *w, void *data)
{
uiControlDestroy(uiControl(mainwin));
@ -208,6 +222,10 @@ int main(void)
uiComboboxOnSelected(alignment, onComboboxSelected, NULL);
uiFormAppend(form, "Alignment", uiControl(alignment), 0);
systemFont = uiNewCheckbox("");
uiCheckboxOnToggled(systemFont, onCheckboxToggled, NULL);
uiFormAppend(form, "System Font", uiControl(systemFont), 0);
area = uiNewArea(&handler);
uiBoxAppend(hbox, uiControl(area), 1);