diff --git a/examples/drawtext/main.c b/examples/drawtext/main.c index d94d2572..c52fbb17 100644 --- a/examples/drawtext/main.c +++ b/examples/drawtext/main.c @@ -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(¶ms); 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);