5 #define _XFT_NO_COMPAT_ /* no Xft 1 API */
6 #include <X11/Xft/Xft.h>
9 #include "kernel/geom.h"
28 Background_ParentRelative,
30 Background_Horizontal,
33 Background_CrossDiagonal,
48 typedef struct PlanarSurface {
49 SurfaceColorType grad;
54 color_rgb *border_color;
55 color_rgb *bevel_dark;
56 color_rgb *bevel_light;
59 struct Appearance *parent;
65 typedef struct NonplanarSurface {
71 NonplanarSurface nonplanar;
74 typedef struct Surface {
76 SurfaceColorType colortype;
92 typedef struct TextureText {
108 typedef struct TextureMask {
113 typedef struct TextureRGBA {
117 /* cached scaled so we don't have to scale often */
129 typedef struct Texture {
135 typedef struct Appearance {
144 extern Visual *render_visual;
145 extern XVisualInfo render_visual_info;
146 extern int render_depth;
147 extern Colormap render_colormap;
149 void (*paint)(Window win, Appearance *l);
151 void render_startup(void);
152 void init_appearance(Appearance *l);
153 void x_paint(Window win, Appearance *l);
154 void render_shutdown(void);
155 Appearance *appearance_new(SurfaceType type, int numtex);
156 Appearance *appearance_copy(Appearance *a);
157 void appearance_free(Appearance *a);
158 void truecolor_startup(void);
159 void pseudocolor_startup(void);
160 void pixel32_to_pixmap(pixel32 *in, Pixmap out, int x, int y, int w, int h);
162 void appearance_minsize(Appearance *l, int *w, int *h);
164 gboolean render_pixmap_to_rgba(Pixmap pmap, Pixmap mask,
165 int *w, int *h, pixel32 **data);
167 #endif /*__render_h*/