+ XResizeWindow(obt_display, self->super.window, w, h);
+}
+
+static void setup_button_focus_tex(ObPromptElement *e, RrAppearance *a,
+ gboolean on)
+{
+ gint i, l, r, t, b;
+
+ for (i = 1; i < 5; ++i)
+ a->texture[i].type = on ? RR_TEXTURE_LINE_ART : RR_TEXTURE_NONE;
+
+ if (!on) return;
+
+ RrMargins(a, &l, &t, &r, &b);
+ l += MIN(BUTTON_HMARGIN, BUTTON_VMARGIN) / 2;
+ r += MIN(BUTTON_HMARGIN, BUTTON_VMARGIN) / 2;
+ t += MIN(BUTTON_HMARGIN, BUTTON_VMARGIN) / 2;
+ b += MIN(BUTTON_HMARGIN, BUTTON_VMARGIN) / 2;
+
+ /* top line */
+ a->texture[1].data.lineart.x1 = l;
+ a->texture[1].data.lineart.x2 = e->width - r - 1;
+ a->texture[1].data.lineart.y1 = t;
+ a->texture[1].data.lineart.y2 = t;
+
+ /* bottom line */
+ a->texture[2].data.lineart.x1 = l;
+ a->texture[2].data.lineart.x2 = e->width - r - 1;
+ a->texture[2].data.lineart.y1 = e->height - b - 1;
+ a->texture[2].data.lineart.y2 = e->height - b - 1;
+
+ /* left line */
+ a->texture[3].data.lineart.x1 = l;
+ a->texture[3].data.lineart.x2 = l;
+ a->texture[3].data.lineart.y1 = t;
+ a->texture[3].data.lineart.y2 = e->height - b - 1;
+
+ /* right line */
+ a->texture[4].data.lineart.x1 = e->width - r - 1;
+ a->texture[4].data.lineart.x2 = e->width - r - 1;
+ a->texture[4].data.lineart.y1 = t;
+ a->texture[4].data.lineart.y2 = e->height - b - 1;