static void repaint_window (EyesWidget w) { if (XtIsRealized ((Widget) w)) { eyeLiner (w, XtWindow (w), w->eyes.outGC, w->eyes.centerGC, 0); eyeLiner (w, XtWindow (w), w->eyes.outGC, w->eyes.centerGC, 1); computePupils (w->eyes.mouse, w->eyes.pupil); eyeBall (w, w->eyes.pupGC, 0); eyeBall (w, w->eyes.pupGC, 1); } }
static void repaint_window (EyesWidget w) { if (XtIsRealized ((Widget) w)) { eyeLiner (w, TRUE, 0); eyeLiner (w, TRUE, 1); computePupils (w, w->eyes.mouse, w->eyes.pupil); eyeBall (w, TRUE, NULL, 0); eyeBall (w, TRUE, NULL, 1); } }
static void Resize (Widget gw) { EyesWidget w = (EyesWidget) gw; XGCValues xgcv; Widget parent; Display *dpy = XtDisplay (w); int x, y; if (XtIsRealized (gw)) { XClearWindow (dpy, XtWindow (w)); SetTransform (&w->eyes.t, 0, w->core.width, w->core.height, 0, W_MIN_X, W_MAX_X, W_MIN_Y, W_MAX_Y); if (w->eyes.shape_window) { w->eyes.shape_mask = XCreatePixmap (dpy, XtWindow (w), w->core.width, w->core.height, 1); if (!w->eyes.gc[PART_SHAPE]) w->eyes.gc[PART_SHAPE] = XCreateGC (dpy, w->eyes.shape_mask, 0, &xgcv); XSetForeground (dpy, w->eyes.gc[PART_SHAPE], 0); XFillRectangle (dpy, w->eyes.shape_mask, w->eyes.gc[PART_SHAPE], 0, 0, w->core.width, w->core.height); XSetForeground (dpy, w->eyes.gc[PART_SHAPE], 1); eyeLiner (w, FALSE, 0); eyeLiner (w, FALSE, 1); x = y = 0; for (parent = (Widget) w; XtParent (parent); parent = XtParent (parent)) { x += parent->core.x + parent->core.border_width; x += parent->core.y + parent->core.border_width; } XShapeCombineMask (XtDisplay (parent), XtWindow (parent), ShapeBounding, x, y, w->eyes.shape_mask, ShapeSet); XFreePixmap (dpy, w->eyes.shape_mask); } } }