EyesP.h revision 26df5c7c
1a1d141d5Smrg 2a1d141d5Smrg#ifndef _EyesP_h 3a1d141d5Smrg#define _EyesP_h 4a1d141d5Smrg 5a1d141d5Smrg#include "Eyes.h" 6a1d141d5Smrg#include <X11/CoreP.h> 72ddb6cf1Smrg#ifdef XRENDER 82ddb6cf1Smrg#include <X11/extensions/Xrender.h> 92ddb6cf1Smrg#endif 10a1d141d5Smrg#include "transform.h" 1126df5c7cSmrg#ifdef PRESENT 1226df5c7cSmrg#include <X11/Xlib-xcb.h> 1326df5c7cSmrg#include <xcb/xcb.h> 1426df5c7cSmrg#include <xcb/present.h> 1526df5c7cSmrg#include <xcb/xfixes.h> 1626df5c7cSmrg#include <xcb/damage.h> 1726df5c7cSmrg#endif 18a1d141d5Smrg 19a1d141d5Smrg#define SEG_BUFF_SIZE 128 20a1d141d5Smrg 21a1d141d5Smrg/* New fields for the eyes widget instance record */ 22a1d141d5Smrgtypedef struct { 232ddb6cf1Smrg Pixel pixel[PART_SHAPE]; 242ddb6cf1Smrg GC gc[PART_MAX]; 25a1d141d5Smrg/* start of graph stuff */ 26a1d141d5Smrg int backing_store; /* backing store variety */ 27a1d141d5Smrg Boolean reverse_video; /* swap fg and bg pixels */ 28a1d141d5Smrg Boolean shape_window; /* use SetWindowShapeMask */ 29a1d141d5Smrg int update; /* current timeout index */ 30a1d141d5Smrg TPoint mouse; /* old mouse position */ 31a1d141d5Smrg TPoint pupil[2]; /* pupil position */ 32a1d141d5Smrg Transform t; 33a1d141d5Smrg Transform maskt; 34a1d141d5Smrg XtIntervalId interval_id; 35a1d141d5Smrg Pixmap shape_mask; /* window shape */ 3626df5c7cSmrg Boolean has_xi2; 372ddb6cf1Smrg#ifdef XRENDER 382ddb6cf1Smrg Boolean render; 392ddb6cf1Smrg Picture picture; 402ddb6cf1Smrg Picture fill[PART_SHAPE]; 4126df5c7cSmrg#endif 4226df5c7cSmrg#ifdef PRESENT 4326df5c7cSmrg Pixmap back_buffer; 4426df5c7cSmrg xcb_damage_damage_t back_damage; 4526df5c7cSmrg xcb_xfixes_region_t back_region; 4626df5c7cSmrg Boolean present; 472ddb6cf1Smrg#endif 482ddb6cf1Smrg Boolean distance; 49a1d141d5Smrg } EyesPart; 50a1d141d5Smrg 5126df5c7cSmrg#define xt_xcb(w) (XGetXCBConnection(XtDisplay(w))) 5226df5c7cSmrg 53a1d141d5Smrg/* Full instance record declaration */ 54a1d141d5Smrgtypedef struct _EyesRec { 55a1d141d5Smrg CorePart core; 56a1d141d5Smrg EyesPart eyes; 57a1d141d5Smrg } EyesRec; 58a1d141d5Smrg 59a1d141d5Smrg/* New fields for the Eyes widget class record */ 60a1d141d5Smrgtypedef struct {int dummy;} EyesClassPart; 61a1d141d5Smrg 62a1d141d5Smrg/* Full class record declaration. */ 63a1d141d5Smrgtypedef struct _EyesClassRec { 64a1d141d5Smrg CoreClassPart core_class; 65a1d141d5Smrg EyesClassPart eyes_class; 66a1d141d5Smrg } EyesClassRec; 67a1d141d5Smrg 68a1d141d5Smrg/* Class pointer. */ 69a1d141d5Smrgextern EyesClassRec eyesClassRec; 70a1d141d5Smrg 71a1d141d5Smrg#endif /* _EyesP_h */ 72