Lines Matching refs:eyes

55 #define offset(field) XtOffsetOf(EyesRec, eyes.field)
95 # define EYE_OFFSET (0.1) /* padding between eyes */
136 c->eyes = layout_biblical;
139 c->eyes = layout_standard;
143 // Calculate the bounding box of the eyes.
144 c->w_min_x = c->eyes[0].x;
145 c->w_max_x = c->eyes[0].x;
146 c->w_min_y = c->eyes[0].y;
147 c->w_max_y = c->eyes[0].y;
150 EyeLayout *l = &c->eyes[i];
193 if (!w->eyes.present)
207 w->eyes.present = FALSE;
210 if (!w->eyes.present)
244 if (!w->eyes.present)
247 if (!w->eyes.back_buffer) {
250 w->eyes.back_buffer = xcb_generate_id(xt_xcb(w)),
255 if (!w->eyes.back_damage) {
257 w->eyes.back_damage = xcb_generate_id(xt_xcb(w)),
258 w->eyes.back_buffer,
261 w->eyes.back_region = xcb_generate_id(xt_xcb(w)),
267 if (w->eyes.back_buffer) {
269 w->eyes.back_damage,
271 w->eyes.back_region);
274 w->eyes.back_buffer,
277 w->eyes.back_region,
291 #define EyesDrawable(w) (w->eyes.back_buffer ? w->eyes.back_buffer : XtWindow(w))
408 EyeConfiguration *config = EyesConfigure(w->eyes.biblically_accurate);
415 w->eyes.configuration = config;
416 w->eyes.pupils = pupils;
429 if (w->eyes.reverse_video) {
430 Pixel fg = w->eyes.pixel[PART_PUPIL];
435 if (w->eyes.pixel[PART_OUTLINE] == fg)
436 w->eyes.pixel[PART_OUTLINE] = bg;
437 if (w->eyes.pixel[PART_CENTER] == bg)
438 w->eyes.pixel[PART_CENTER] = fg;
439 w->eyes.pixel[PART_PUPIL] = bg;
443 myXGCV.foreground = w->eyes.pixel[PART_PUPIL];
446 w->eyes.gc[PART_PUPIL] = XtGetGC(gnew, valuemask, &myXGCV);
448 myXGCV.foreground = w->eyes.pixel[PART_OUTLINE];
450 w->eyes.gc[PART_OUTLINE] = XtGetGC(gnew, valuemask, &myXGCV);
452 myXGCV.foreground = w->eyes.pixel[PART_CENTER];
453 myXGCV.background = w->eyes.pixel[PART_PUPIL];
455 w->eyes.gc[PART_CENTER] = XtGetGC(gnew, valuemask, &myXGCV);
457 w->eyes.update = 0;
459 w->eyes.interval_id = 0;
461 w->eyes.mouse.x = w->eyes.mouse.y = TPOINT_NONE;
463 if (w->eyes.shape_window && !XShapeQueryExtension (XtDisplay (w),
466 w->eyes.shape_window = False;
467 w->eyes.shape_mask = 0;
468 w->eyes.gc[PART_SHAPE] = NULL;
470 w->eyes.has_xi2 = has_xi2(XtDisplay(w));
477 c.pixel = w->eyes.pixel[i];
484 w->eyes.fill[i] = XRenderCreateSolidFill(XtDisplay (w), &rc);
488 w->eyes.back_buffer = None;
489 w->eyes.back_damage = None;
505 Trectangle(&w->eyes.t, &tpos, &pos);
509 w->eyes.gc[PART_CENTER],
515 if (w->eyes.render && part != PART_SHAPE && (!w->eyes.shape_window ||
517 w->eyes.picture) {
556 w->eyes.fill[part], w->eyes.picture,
570 part == PART_SHAPE ? w->eyes.shape_mask : EyesDrawable(w),
571 w->eyes.gc[part],
583 EyeLayout *l = &w->eyes.configuration->eyes[num];
670 if (w->eyes.distance) {
675 screen.x = Tx(-x, -y, &w->eyes.t);
676 screen.y = Ty(-x, -y, &w->eyes.t);
678 &w->eyes.t);
680 &w->eyes.t);
683 for (int i = 0; i < w->eyes.configuration->count; i++) {
684 pupils[i] = computePupil(&w->eyes.configuration->eyes[i], mouse, sp);
696 w->eyes.pupils[num].x, w->eyes.pupils[num].y,
707 for (int i = 0; i < w->eyes.configuration->count; i++) {
710 computePupils (w, w->eyes.mouse, w->eyes.pupils);
711 for (int i = 0; i < w->eyes.configuration->count; i++) {
725 xpupil.x = Xx(w->eyes.pupils[num].x, w->eyes.pupils[num].y, &w->eyes.t);
726 xpupil.y = Xy(w->eyes.pupils[num].x, w->eyes.pupils[num].y, &w->eyes.t);
727 xnewpupil.x = Xx(newpupil.x, newpupil.y, &w->eyes.t);
728 xnewpupil.y = Xy(newpupil.x, newpupil.y, &w->eyes.t);
731 w->eyes.picture ? !TPointEqual(w->eyes.pupils[num], newpupil) :
734 TPoint oldpupil = w->eyes.pupils[num];
735 w->eyes.pupils[num] = newpupil;
744 TPoint newpupils[w->eyes.configuration->count];
749 if (TPointEqual (mouse, w->eyes.mouse)) {
750 if (delays[w->eyes.update + 1] != 0)
751 ++w->eyes.update;
755 for (num = 0; num < w->eyes.configuration->count; num++) {
759 w->eyes.mouse = mouse;
760 w->eyes.update = 0;
778 mouse.x = Tx(dx, dy, &w->eyes.t);
779 mouse.y = Ty(dx, dy, &w->eyes.t);
794 if (!w->eyes.has_xi2) {
795 w->eyes.interval_id =
797 delays[w->eyes.update], draw_it, (XtPointer)w);
811 SetTransform (&w->eyes.t,
814 w->eyes.configuration->w_min_x,
815 w->eyes.configuration->w_max_x,
816 w->eyes.configuration->w_min_y,
817 w->eyes.configuration->w_max_y);
819 if (w->eyes.back_buffer) {
821 w->eyes.back_buffer);
822 w->eyes.back_buffer = None;
824 w->eyes.back_damage);
825 w->eyes.back_damage = None;
833 if (w->eyes.picture) {
834 XRenderFreePicture(dpy, w->eyes.picture);
835 w->eyes.picture = 0;
838 if (w->eyes.shape_window) {
839 w->eyes.shape_mask = XCreatePixmap (dpy, XtWindow (w),
841 if (!w->eyes.gc[PART_SHAPE])
842 w->eyes.gc[PART_SHAPE] = XCreateGC (dpy, w->eyes.shape_mask,
844 XSetForeground (dpy, w->eyes.gc[PART_SHAPE], 0);
845 XFillRectangle (dpy, w->eyes.shape_mask, w->eyes.gc[PART_SHAPE],
847 XSetForeground (dpy, w->eyes.gc[PART_SHAPE], 1);
848 for (int i = 0; i < w->eyes.configuration->count; i++) {
857 x, y, w->eyes.shape_mask, ShapeSet);
858 XFreePixmap (dpy, w->eyes.shape_mask);
861 if (w->eyes.render) {
867 w->eyes.picture = XRenderCreatePicture(dpy, EyesDrawable (w),
881 if (w->eyes.backing_store != Always + WhenMapped + NotUseful) {
882 attrs->backing_store = w->eyes.backing_store;
889 if (w->eyes.has_xi2)
892 w->eyes.interval_id =
894 delays[w->eyes.update], draw_it, (XtPointer)gw);
902 if (w->eyes.interval_id)
903 XtRemoveTimeOut (w->eyes.interval_id);
905 XtReleaseGC(gw, w->eyes.gc[i]);
908 if (w->eyes.picture)
909 XRenderFreePicture (XtDisplay(w), w->eyes.picture);
922 for (int i = 0; i < w->eyes.configuration->count; i++) {
923 w->eyes.pupils[i].x = TPOINT_NONE;
924 w->eyes.pupils[i].y = TPOINT_NONE;