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 gl_paint(Window win
, Appearance
*l
);
155 void render_shutdown(void);
156 Appearance
*appearance_new(SurfaceType type
, int numtex
);
157 Appearance
*appearance_copy(Appearance
*a
);
158 void appearance_free(Appearance
*a
);
159 void truecolor_startup(void);
160 void pseudocolor_startup(void);
161 void pixel32_to_pixmap(pixel32
*in
, Pixmap out
, int x
, int y
, int w
, int h
);
163 void appearance_minsize(Appearance
*l
, int *w
, int *h
);
165 gboolean
render_pixmap_to_rgba(Pixmap pmap
, Pixmap mask
,
166 int *w
, int *h
, pixel32
**data
);
168 #endif /*__render_h*/