king2 Posted February 19, 2016 Report Share Posted February 19, 2016 I needed to get a buttons with image and texts on it (see http://community.ugfx.org/files/file/11-%C2%B5gfx-studio/, first screenshot), but I wanted text to be placed not at default center, so I made custom draw routine for this: // structure with custom text positioning typedef struct { gdispImage* image; coord_t x; coord_t y; coord_t width; coord_t height; justify_t justify; } custom_button_t; // custom draw function void gwinButtonDraw_ImageText(GWidgetObject *gw, void *param) { coord_t sy; custom_button_t* params = (custom_button_t*)param; if (!params) { return; } const GColorSet* colors; if (!gwinGetEnabled((GHandle)gw)) { colors = &gw->pstyle->disabled; sy = 2 * gw->g.height; } else if ((gw->g.flags & GBUTTON_FLG_PRESSED)) { colors = &gw->pstyle->pressed; sy = gw->g.height; } else { colors = &gw->pstyle->enabled; sy = 0; } gdispGImageDraw(gw->g.display, params->image, gw->g.x, gw->g.y, gw->g.width, gw->g.height, 0, sy); gdispGDrawStringBox(gw->g.display, gw->g.x+1+params->x, gw->g.y+1+params->y, params->width-2, params->height-2, gw->text, gw->g.font, colors->text, params->justify); } // define text positions and justify custom_button_t param_rec_gray = { &button_rec_gray, 0, 45, 86, 40, justifyCenter }; // usage gwinSetCustomDraw(ghButton_rec, gwinButtonDraw_ImageText, ¶m_rec_gray); This worked for me. Link to comment Share on other sites More sharing options...
inmarket Posted February 21, 2016 Report Share Posted February 21, 2016 Very nice. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now