#include <glib.h>
#include "color.h"
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#else
-# ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-#endif
-
-#ifdef HAVE_STDINT_H
-typedef uint32_t pixel32;
-typedef uint16_t pixel16;
-#else
-typedef u_int32_t pixel32;
-typedef u_int16_t pixel16;
-#endif /* HAVE_STDINT_H */
-
-#if (G_ENDIAN == G_BIG_ENDIAN)
-#define default_red_shift 0
-#define default_green_shift 8
-#define default_blue_shift 16
-#define endian MSBFirst
-#else
-#define default_red_shift 16
-#define default_green_shift 8
-#define default_blue_shift 0
-#define endian LSBFirst
-#endif /* G_ENDIAN == G_BIG_ENDIAN */
-
typedef enum {
Surface_Planar,
Surface_Nonplanar
typedef struct {
XftFont *xftfont;
+ int height;
} ObFont;
+typedef enum {
+ Justify_Center,
+ Justify_Left,
+ Justify_Right
+} Justify;
+
typedef struct TextureText {
ObFont *font;
- int shadow;
+ Justify justify;
+ int shadow;
unsigned char tint;
unsigned char offset;
color_rgb *color;
char *string;
} TextureText;
+typedef struct {
+ Pixmap mask;
+ guint w, h;
+} pixmap_mask;
+
typedef struct TextureMask {
color_rgb *color;
+ pixmap_mask *mask;
} TextureMask;
typedef struct TextureRGBA {
extern int render_depth;
extern Colormap render_colormap;
-void (*paint)(Window win, Appearance *l, int w, int h);
+void (*paint)(Window win, Appearance *l, int x, int y, int w, int h);
void render_startup(void);
void init_appearance(Appearance *l);
-void x_paint(Window win, Appearance *l, int w, int h);
+void x_paint(Window win, Appearance *l, int x, int y, int w, int h);
void render_shutdown(void);
Appearance *appearance_new(SurfaceType type, int numtex);
Appearance *appearance_copy(Appearance *a);
void appearance_free(Appearance *a);
+void truecolor_startup(void);
#endif /*__render_h*/