T: add function label_set_text
This commit is contained in:
@@ -39,6 +39,7 @@ widget *new_space(gui *gui, int width, int height);
|
|||||||
widget *new_image(gui *gui, unsigned char *data, int length);
|
widget *new_image(gui *gui, unsigned char *data, int length);
|
||||||
|
|
||||||
void label_set_clickable(gui *gui, widget *label, int clickable);
|
void label_set_clickable(gui *gui, widget *label, int clickable);
|
||||||
|
void label_set_text(gui *gui, widget *label, char *text);
|
||||||
|
|
||||||
void container_set_child_growable(gui *_gui, widget *_this,
|
void container_set_child_growable(gui *_gui, widget *_this,
|
||||||
widget *child, int growable);
|
widget *child, int growable);
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ struct button_widget {
|
|||||||
|
|
||||||
struct label_widget {
|
struct label_widget {
|
||||||
struct widget common;
|
struct widget common;
|
||||||
const char *t;
|
char *t;
|
||||||
int color;
|
int color;
|
||||||
int width; /* as given by the graphic's backend */
|
int width; /* as given by the graphic's backend */
|
||||||
int height; /* as given by the graphic's backend */
|
int height; /* as given by the graphic's backend */
|
||||||
|
|||||||
@@ -81,3 +81,21 @@ void label_set_clickable(gui *_g, widget *_this, int clickable)
|
|||||||
|
|
||||||
gunlock(g);
|
gunlock(g);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void label_set_text(gui *_g, widget *_this, char *text)
|
||||||
|
{
|
||||||
|
struct gui *g = _g;
|
||||||
|
struct label_widget *this = _this;
|
||||||
|
|
||||||
|
glock(g);
|
||||||
|
|
||||||
|
free(this->t);
|
||||||
|
this->t = strdup(text); if (this->t == NULL) OOM;
|
||||||
|
|
||||||
|
x_text_get_dimensions(g->x, DEFAULT_FONT, text,
|
||||||
|
&this->width, &this->height, &this->baseline);
|
||||||
|
|
||||||
|
send_event(g, REPACK, this->common.id);
|
||||||
|
|
||||||
|
gunlock(g);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user