aboutsummaryrefslogtreecommitdiff
path: root/src/libui_sdl/libui/test/page9.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libui_sdl/libui/test/page9.c')
-rw-r--r--src/libui_sdl/libui/test/page9.c289
1 files changed, 0 insertions, 289 deletions
diff --git a/src/libui_sdl/libui/test/page9.c b/src/libui_sdl/libui/test/page9.c
deleted file mode 100644
index 65b2d3a..0000000
--- a/src/libui_sdl/libui/test/page9.c
+++ /dev/null
@@ -1,289 +0,0 @@
-// 22 december 2015
-#include "test.h"
-
-static uiEntry *textString;
-static uiEntry *textFont;
-static uiEntry *textSize;
-static uiCombobox *textWeight;
-static uiCombobox *textItalic;
-static uiCheckbox *textSmallCaps;
-static uiCombobox *textStretch;
-static uiEntry *textWidth;
-static uiButton *textApply;
-static uiCheckbox *addLeading;
-static uiArea *textArea;
-static uiAreaHandler textAreaHandler;
-
-static double entryDouble(uiEntry *e)
-{
- char *s;
- double d;
-
- s = uiEntryText(e);
- d = atof(s);
- uiFreeText(s);
- return d;
-}
-
-static void drawGuides(uiDrawContext *c, uiDrawTextFontMetrics *m)
-{
- uiDrawPath *p;
- uiDrawBrush b;
- uiDrawStrokeParams sp;
- double leading;
- double y;
-
- leading = 0;
- if (uiCheckboxChecked(addLeading))
- leading = m->Leading;
-
- memset(&b, 0, sizeof (uiDrawBrush));
- b.Type = uiDrawBrushTypeSolid;
- memset(&sp, 0, sizeof (uiDrawStrokeParams));
- sp.Cap = uiDrawLineCapFlat;
- sp.Join = uiDrawLineJoinMiter;
- sp.MiterLimit = uiDrawDefaultMiterLimit;
- sp.Thickness = 2;
-
- uiDrawSave(c);
-
- p = uiDrawNewPath(uiDrawFillModeWinding);
- y = 10;
- uiDrawPathNewFigure(p, 8, y);
- y += m->Ascent;
- uiDrawPathLineTo(p, 8, y);
- uiDrawPathEnd(p);
- b.R = 0.94;
- b.G = 0.5;
- b.B = 0.5;
- b.A = 1.0;
- uiDrawStroke(c, p, &b, &sp);
- uiDrawFreePath(p);
-
- p = uiDrawNewPath(uiDrawFillModeWinding);
- uiDrawPathNewFigure(p, 8, y);
- y += m->Descent;
- uiDrawPathLineTo(p, 8, y);
- uiDrawPathEnd(p);
- b.R = 0.12;
- b.G = 0.56;
- b.B = 1.0;
- b.A = 1.0;
- uiDrawStroke(c, p, &b, &sp);
- uiDrawFreePath(p);
-
- // and again for the second line
- p = uiDrawNewPath(uiDrawFillModeWinding);
- y += leading;
- uiDrawPathNewFigure(p, 8, y);
- y += m->Ascent;
- uiDrawPathLineTo(p, 8, y);
- uiDrawPathEnd(p);
- b.R = 0.94;
- b.G = 0.5;
- b.B = 0.5;
- b.A = 0.75;
- uiDrawStroke(c, p, &b, &sp);
- uiDrawFreePath(p);
-
- p = uiDrawNewPath(uiDrawFillModeWinding);
- uiDrawPathNewFigure(p, 8, y);
- y += m->Descent;
- uiDrawPathLineTo(p, 8, y);
- uiDrawPathEnd(p);
- b.R = 0.12;
- b.G = 0.56;
- b.B = 1.0;
- b.A = 0.75;
- uiDrawStroke(c, p, &b, &sp);
- uiDrawFreePath(p);
-
- // and a box to text layout top-left corners
- p = uiDrawNewPath(uiDrawFillModeWinding);
- uiDrawPathAddRectangle(p, 0, 0, 10, 10);
- uiDrawPathEnd(p);
- uiDrawClip(c, p);
- b.R = 0.85;
- b.G = 0.65;
- b.B = 0.13;
- b.A = 1.0;
- uiDrawStroke(c, p, &b, &sp);
- uiDrawFreePath(p);
-
- uiDrawRestore(c);
-}
-
-static void handlerDraw(uiAreaHandler *a, uiArea *area, uiAreaDrawParams *dp)
-{
- uiDrawTextFontDescriptor desc;
- uiDrawTextFont *font;
- char *s;
- char *family; // make compiler happy
- uiDrawTextLayout *layout;
- uiDrawTextFontMetrics metrics;
- double ypos;
- double width;
- double height;
-
- memset(&desc, 0, sizeof (uiDrawTextFontDescriptor));
- family = uiEntryText(textFont);
- desc.Family = family;
- desc.Size = entryDouble(textSize);
- desc.Weight = uiComboboxSelected(textWeight);
- desc.Italic = uiComboboxSelected(textItalic);
- desc.Stretch = uiComboboxSelected(textStretch);
- font = uiDrawLoadClosestFont(&desc);
- uiFreeText(family);
- uiDrawTextFontGetMetrics(font, &metrics);
-
- width = entryDouble(textWidth);
-
- drawGuides(dp->Context, &metrics);
-
- s = uiEntryText(textString);
- layout = uiDrawNewTextLayout(s, font, width);
- uiFreeText(s);
- if (uiCheckboxChecked(textSmallCaps))
- ; // TODO
- ypos = 10;
- uiDrawText(dp->Context, 10, ypos, layout);
- // TODO make these optional?
- uiDrawTextLayoutExtents(layout, &width, &height);
- uiDrawFreeTextLayout(layout);
-
- layout = uiDrawNewTextLayout("This is a second line", font, -1);
- if (/*TODO reuse width*/entryDouble(textWidth) < 0) {
- double ad;
-
- ad = metrics.Ascent + metrics.Descent;
- printf("ad:%g extent:%g\n", ad, height);
- }
- ypos += height;
- if (uiCheckboxChecked(addLeading))
- ypos += metrics.Leading;
- uiDrawText(dp->Context, 10, ypos, layout);
- uiDrawFreeTextLayout(layout);
-
- uiDrawFreeTextFont(font);
-}
-
-static void handlerMouseEvent(uiAreaHandler *a, uiArea *area, uiAreaMouseEvent *e)
-{
- // do nothing
-}
-
-static void handlerMouseCrossed(uiAreaHandler *ah, uiArea *a, int left)
-{
- // do nothing
-}
-
-static void handlerDragBroken(uiAreaHandler *ah, uiArea *a)
-{
- // do nothing
-}
-
-static int handlerKeyEvent(uiAreaHandler *ah, uiArea *a, uiAreaKeyEvent *e)
-{
- // do nothing
- return 0;
-}
-
-static void onTextApply(uiButton *b, void *data)
-{
- uiAreaQueueRedrawAll(textArea);
-}
-
-uiBox *makePage9(void)
-{
- uiBox *page9;
- uiBox *vbox;
- uiBox *hbox;
-
- page9 = newVerticalBox();
- vbox = page9;
-
- hbox = newHorizontalBox();
- uiBoxAppend(vbox, uiControl(hbox), 0);
-
- textString = uiNewEntry();
- // TODO make it placeholder
- uiEntrySetText(textString, "Enter text here");
- uiBoxAppend(hbox, uiControl(textString), 1);
-
- textFont = uiNewEntry();
- uiEntrySetText(textFont, "Arial");
- uiBoxAppend(hbox, uiControl(textFont), 1);
-
- textSize = uiNewEntry();
- uiEntrySetText(textSize, "10");
- uiBoxAppend(hbox, uiControl(textSize), 1);
-
- hbox = newHorizontalBox();
- uiBoxAppend(vbox, uiControl(hbox), 0);
-
- textWeight = uiNewCombobox();
- uiComboboxAppend(textWeight, "Thin");
- uiComboboxAppend(textWeight, "Ultra Light");
- uiComboboxAppend(textWeight, "Light");
- uiComboboxAppend(textWeight, "Book");
- uiComboboxAppend(textWeight, "Normal");
- uiComboboxAppend(textWeight, "Medium");
- uiComboboxAppend(textWeight, "Semi Bold");
- uiComboboxAppend(textWeight, "Bold");
- uiComboboxAppend(textWeight, "Ultra Bold");
- uiComboboxAppend(textWeight, "Heavy");
- uiComboboxAppend(textWeight, "Ultra Heavy");
- uiComboboxSetSelected(textWeight, uiDrawTextWeightNormal);
- uiBoxAppend(hbox, uiControl(textWeight), 1);
-
- textItalic = uiNewCombobox();
- uiComboboxAppend(textItalic, "Normal");
- uiComboboxAppend(textItalic, "Oblique");
- uiComboboxAppend(textItalic, "Italic");
- uiComboboxSetSelected(textItalic, uiDrawTextItalicNormal);
- uiBoxAppend(hbox, uiControl(textItalic), 1);
-
- textSmallCaps = uiNewCheckbox("Small Caps");
- uiBoxAppend(hbox, uiControl(textSmallCaps), 1);
-
- hbox = newHorizontalBox();
- uiBoxAppend(vbox, uiControl(hbox), 0);
-
- textStretch = uiNewCombobox();
- uiComboboxAppend(textStretch, "Ultra Condensed");
- uiComboboxAppend(textStretch, "Extra Condensed");
- uiComboboxAppend(textStretch, "Condensed");
- uiComboboxAppend(textStretch, "Semi Condensed");
- uiComboboxAppend(textStretch, "Normal");
- uiComboboxAppend(textStretch, "Semi Expanded");
- uiComboboxAppend(textStretch, "Expanded");
- uiComboboxAppend(textStretch, "Extra Expanded");
- uiComboboxAppend(textStretch, "Ultra Expanded");
- uiComboboxSetSelected(textStretch, uiDrawTextStretchNormal);
- uiBoxAppend(hbox, uiControl(textStretch), 1);
-
- textWidth = uiNewEntry();
- uiEntrySetText(textWidth, "-1");
- uiBoxAppend(hbox, uiControl(textWidth), 1);
-
- hbox = newHorizontalBox();
- uiBoxAppend(vbox, uiControl(hbox), 0);
-
- textApply = uiNewButton("Apply");
- uiButtonOnClicked(textApply, onTextApply, NULL);
- uiBoxAppend(hbox, uiControl(textApply), 1);
-
- addLeading = uiNewCheckbox("Add Leading");
- uiCheckboxSetChecked(addLeading, 1);
- uiBoxAppend(hbox, uiControl(addLeading), 0);
-
- textAreaHandler.Draw = handlerDraw;
- textAreaHandler.MouseEvent = handlerMouseEvent;
- textAreaHandler.MouseCrossed = handlerMouseCrossed;
- textAreaHandler.DragBroken = handlerDragBroken;
- textAreaHandler.KeyEvent = handlerKeyEvent;
- textArea = uiNewArea(&textAreaHandler);
- uiBoxAppend(vbox, uiControl(textArea), 1);
-
- return page9;
-}