13
static void labelDraw(newtComponent co);
14
static void labelDestroy(newtComponent co);
16
static struct componentOps labelOps = {
18
newtDefaultEventHandler,
20
newtDefaultPlaceHandler,
21
newtDefaultMappedHandler,
24
newtComponent newtLabel(int left, int top, const char * text) {
28
co = malloc(sizeof(*co));
29
la = malloc(sizeof(struct label));
35
co->width = strlen(text);
40
la->length = strlen(text);
41
la->text = strdup(text);
46
void newtLabelSetText(newtComponent co, const char * text) {
48
struct label * la = co->data;
50
newLength = strlen(text);
51
if (newLength <= la->length) {
52
memset(la->text, ' ', la->length);
53
memcpy(la->text, text, newLength);
56
la->text = strdup(text);
57
la->length = newLength;
58
co->width = newLength;
64
static void labelDraw(newtComponent co) {
65
struct label * la = co->data;
67
if (co->isMapped == -1) return;
69
newtColor(COLORSET_LABEL);
71
newtGotorc(co->top, co->left);
72
SLsmg_write_string(la->text);
75
static void labelDestroy(newtComponent co) {
76
struct label * la = co->data;