summaryrefslogtreecommitdiff
path: root/EyesP.h
diff options
context:
space:
mode:
authorDylan Simon <dylan@dylex.net>2009-09-27 14:44:35 -0400
committerJames Cloos <cloos@jhcloos.com>2009-09-27 14:44:35 -0400
commit5e825a140f4022b88dd7a1a20a9a01b653f1a95c (patch)
tree36a25fc8b364053ea0c126013eabaa7cb69075b8 /EyesP.h
parentdbb8401026c421d64a2962e6ac6eb900f6dc141e (diff)
Add xrender support
Optionally draw all components (except shape) with xrender. Enabled by default. Xlib rendering can be restored by "configure --without-xrender" or "xeyes +render". Signed-off-by: Dylan Simon <dylan@dylex.net> Signed-off-by: James Cloos <cloos@jhcloos.com>
Diffstat (limited to 'EyesP.h')
-rw-r--r--EyesP.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/EyesP.h b/EyesP.h
index 7dea77a..1cffdb4 100644
--- a/EyesP.h
+++ b/EyesP.h
@@ -7,19 +7,17 @@
#include "Eyes.h"
#include <X11/CoreP.h>
+#ifdef XRENDER
+#include <X11/extensions/Xrender.h>
+#endif
#include "transform.h"
#define SEG_BUFF_SIZE 128
/* New fields for the eyes widget instance record */
typedef struct {
- Pixel puppixel; /* foreground pixel */
- Pixel outline; /* outline pixel */
- Pixel center; /* inside pixel */
- GC outGC; /* pointer to GraphicsContext */
- GC pupGC; /* pointer to GraphicsContext */
- GC centerGC; /* pointer to GraphicsContext */
- GC shapeGC; /* pointer to GraphicsContext */
+ Pixel pixel[PART_SHAPE];
+ GC gc[PART_MAX];
/* start of graph stuff */
int backing_store; /* backing store variety */
Boolean reverse_video; /* swap fg and bg pixels */
@@ -31,6 +29,11 @@ typedef struct {
Transform maskt;
XtIntervalId interval_id;
Pixmap shape_mask; /* window shape */
+#ifdef XRENDER
+ Boolean render;
+ Picture picture;
+ Picture fill[PART_SHAPE];
+#endif
} EyesPart;
/* Full instance record declaration */