static void clear_rbs(InputBox *list) { InputBox *trace = list; while (trace && !trace->picked) trace = trace->next; if (trace != NULL) { trace->picked = 0; unpick_box(trace); } }
void toggle_input_box(HyperLink *link) { InputBox *box; box = link->reference.box; if (box->picked) { box->picked = 0; unpick_box(box); } else { box->picked = 1; pick_box(box); } }
static void show_simple_box(TextNode *node) { XWindowChanges wc; InputBox *box; /* first configure the box size properly */ box = node->link->reference.box; wc.x = node->x; wc.y = node->y + gRegionOffset + y_off - node->height; wc.height = ((box->picked) ? (box->selected->height) : (box->unselected->height)); wc.width = node->width; if (visible(node->y + gTopOfGroupStack->cur_font->ascent, node->height)) { XConfigureWindow(gXDisplay, node->link->win, CWX | CWY | CWHeight | CWWidth, &wc); XMapWindow(gXDisplay, node->link->win); if (box->picked) pick_box(box); else unpick_box(box); } }