#include <X11/Xft/Xft.h>
#include <glib.h>
#include "color.h"
-#include "../kernel/geom.h"
+#include "kernel/geom.h"
typedef enum {
Surface_Planar,
typedef struct {
XftFont *xftfont;
int height;
+ int elipses_length;
} ObFont;
typedef enum {
ObFont *font;
Justify justify;
int shadow;
- unsigned char tint;
+ char tint;
unsigned char offset;
color_rgb *color;
char *string;
typedef struct {
Pixmap mask;
guint w, h;
+ char *data;
} pixmap_mask;
typedef struct TextureMask {
} TextureMask;
typedef struct TextureRGBA {
- int width;
- int height;
+ guint width;
+ guint height;
unsigned long *data;
/* cached scaled so we don't have to scale often */
- int cwidth;
- int cheight;
+ guint cwidth;
+ guint cheight;
unsigned long *cache;
} TextureRGBA;
typedef struct Appearance {
Surface surface;
+ Rect area;
int textures;
Texture *texture;
Pixmap pixmap;
extern int render_depth;
extern Colormap render_colormap;
-void (*paint)(Window win, Appearance *l, int x, int y, int w, int h);
+void (*paint)(Window win, Appearance *l);
void render_startup(void);
void init_appearance(Appearance *l);
-void x_paint(Window win, Appearance *l, int x, int y, int w, int h);
+void x_paint(Window win, Appearance *l);
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);
+void pseudocolor_startup(void);
+void pixel32_to_pixmap(pixel32 *in, Pixmap out, int x, int y, int w, int h);
+
+void appearance_minsize(Appearance *l, int *w, int *h);
+
+void render_pixmap_to_rgba(Pixmap pmap, Pixmap mask,
+ int *w, int *h, gulong **data);
+
#endif /*__render_h*/