Added some guides for making sure text measurements are correct.
This commit is contained in:
parent
d6079f8c50
commit
6202863faa
54
test/page9.c
54
test/page9.c
|
@ -27,6 +27,58 @@ static double entryDouble(uiEntry *e)
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void drawGuides(uiDrawContext *c, uiDrawTextFontMetrics *m)
|
||||||
|
{
|
||||||
|
uiDrawPath *p;
|
||||||
|
uiDrawBrush b;
|
||||||
|
uiDrawStrokeParams sp;
|
||||||
|
|
||||||
|
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);
|
||||||
|
uiDrawPathNewFigure(p, 8, 10);
|
||||||
|
uiDrawPathLineTo(p, 8, 10 + m->Ascent);
|
||||||
|
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, 10 + m->Ascent);
|
||||||
|
uiDrawPathLineTo(p, 8, 10 + m->Ascent + m->Descent);
|
||||||
|
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);
|
||||||
|
|
||||||
|
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)
|
static void handlerDraw(uiAreaHandler *a, uiArea *area, uiAreaDrawParams *dp)
|
||||||
{
|
{
|
||||||
uiDrawTextFontDescriptor desc;
|
uiDrawTextFontDescriptor desc;
|
||||||
|
@ -50,6 +102,8 @@ static void handlerDraw(uiAreaHandler *a, uiArea *area, uiAreaDrawParams *dp)
|
||||||
uiFreeText(family);
|
uiFreeText(family);
|
||||||
uiDrawTextFontGetMetrics(font, &metrics);
|
uiDrawTextFontGetMetrics(font, &metrics);
|
||||||
|
|
||||||
|
drawGuides(dp->Context, &metrics);
|
||||||
|
|
||||||
s = uiEntryText(textString);
|
s = uiEntryText(textString);
|
||||||
layout = uiDrawNewTextLayout(s, font);
|
layout = uiDrawNewTextLayout(s, font);
|
||||||
uiFreeText(s);
|
uiFreeText(s);
|
||||||
|
|
Loading…
Reference in New Issue