aboutsummaryrefslogtreecommitdiffstats
path: root/src/gwin/gwin_label.c
diff options
context:
space:
mode:
authorJoel Bodenmann <joel@seriouslyembedded.com>2015-11-06 22:47:42 +0100
committerJoel Bodenmann <joel@seriouslyembedded.com>2015-11-06 22:47:42 +0100
commite8a769c3823eef72a9e064d3bf992152ed261ad2 (patch)
tree4372d4c8dfee34bca27e691906a46a713479fcb3 /src/gwin/gwin_label.c
parentc2b7e1bd4176795c83c4c6edb5ee94705ef27712 (diff)
downloaduGFX-e8a769c3823eef72a9e064d3bf992152ed261ad2.tar.gz
uGFX-e8a769c3823eef72a9e064d3bf992152ed261ad2.tar.bz2
uGFX-e8a769c3823eef72a9e064d3bf992152ed261ad2.zip
Adding justification parameter to gwinLabelCreate()
Diffstat (limited to 'src/gwin/gwin_label.c')
-rw-r--r--src/gwin/gwin_label.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/gwin/gwin_label.c b/src/gwin/gwin_label.c
index 9b62679f..c8a9a0f0 100644
--- a/src/gwin/gwin_label.c
+++ b/src/gwin/gwin_label.c
@@ -80,7 +80,7 @@ static const gwidgetVMT labelVMT = {
#endif
};
-GHandle gwinGLabelCreate(GDisplay *g, GLabelObject *widget, GWidgetInit *pInit) {
+GHandle gwinGLabelCreate(GDisplay *g, GLabelObject *widget, GWidgetInit *pInit, justify_t justify) {
uint16_t flags = 0;
// auto assign width
@@ -89,7 +89,7 @@ GHandle gwinGLabelCreate(GDisplay *g, GLabelObject *widget, GWidgetInit *pInit)
flags |= GLABEL_FLG_WAUTO;
pInit->g.width = getwidth(pInit->text, gwinGetDefaultFont(), gdispGGetWidth(g) - pInit->g.x);
}
-
+
// auto assign height
if (pInit->g.height <= 0) {
flags |= GLABEL_FLG_HAUTO;
@@ -99,6 +99,8 @@ GHandle gwinGLabelCreate(GDisplay *g, GLabelObject *widget, GWidgetInit *pInit)
if (!(widget = (GLabelObject *)_gwidgetCreate(g, &widget->w, pInit, &labelVMT)))
return 0;
+ widget->justify = justify;
+
#if GWIN_LABEL_ATTRIBUTE
widget->tab = 0;
widget->attr = 0;
@@ -163,12 +165,13 @@ void gwinLabelDefaultDraw(GWidgetObject *gw, void *param) {
#if GWIN_LABEL_ATTRIBUTE
if (gw2obj->attr) {
- gdispGFillStringBox(gw->g.display, gw->g.x, gw->g.y, gw2obj->tab, h, gw2obj->attr, gw->g.font, c, gw->pstyle->background, justifyLeft);
- gdispGFillStringBox(gw->g.display, gw->g.x + gw2obj->tab, gw->g.y, w-gw2obj->tab, h, gw->text, gw->g.font, c, gw->pstyle->background, justifyLeft);
- } else
- gdispGFillStringBox(gw->g.display, gw->g.x, gw->g.y, w, h, gw->text, gw->g.font, c, gw->pstyle->background, justifyLeft);
+ gdispGFillStringBox(gw->g.display, gw->g.x, gw->g.y, gw2obj->tab, h, gw2obj->attr, gw->g.font, c, gw->pstyle->background, gw2obj->justify);
+ gdispGFillStringBox(gw->g.display, gw->g.x + gw2obj->tab, gw->g.y, w-gw2obj->tab, h, gw->text, gw->g.font, c, gw->pstyle->background, gw2obj->justify);
+ } else {
+ gdispGFillStringBox(gw->g.display, gw->g.x, gw->g.y, w, h, gw->text, gw->g.font, c, gw->pstyle->background, gw2obj->justify);
+ }
#else
- gdispGFillStringBox(gw->g.display, gw->g.x, gw->g.y, w, h, gw->text, gw->g.font, c, gw->pstyle->background, justifyLeft);
+ gdispGFillStringBox(gw->g.display, gw->g.x, gw->g.y, w, h, gw->text, gw->g.font, c, gw->pstyle->background, gw2obj->justify);
#endif
// render the border (if any)