X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=render%2Frender.h;h=d98cebdef9777cbef58b900d3e6bb3942566b560;hb=79a352a40bd16924b1ca3df49f6c82d77e956a0e;hp=5f632dc545f97599b2d905ceafaf4aae1e0b7b09;hpb=c9c72cbe294b7924304a226f867686f3d05ff37a;p=chaz%2Fopenbox diff --git a/render/render.h b/render/render.h index 5f632dc5..d98cebde 100644 --- a/render/render.h +++ b/render/render.h @@ -6,7 +6,7 @@ #include #include #include "color.h" -#include "../kernel/geom.h" +#include "kernel/geom.h" typedef enum { Surface_Planar, @@ -44,6 +44,8 @@ typedef enum { NoTexture } TextureType; +struct Appearance; + typedef struct PlanarSurface { SurfaceColorType grad; ReliefType relief; @@ -53,6 +55,9 @@ typedef struct PlanarSurface { color_rgb *border_color; gboolean interlaced; gboolean border; + struct Appearance *parent; + int parentx; + int parenty; pixel32 *pixel_data; } PlanarSurface; @@ -86,7 +91,7 @@ typedef struct TextureText { ObFont *font; Justify justify; int shadow; - unsigned char tint; + char tint; unsigned char offset; color_rgb *color; char *string; @@ -95,6 +100,7 @@ typedef struct TextureText { typedef struct { Pixmap mask; guint w, h; + char *data; } pixmap_mask; typedef struct TextureMask { @@ -126,6 +132,7 @@ typedef struct Texture { typedef struct Appearance { Surface surface; + Rect area; int textures; Texture *texture; Pixmap pixmap; @@ -136,14 +143,19 @@ extern Visual *render_visual; 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); + #endif /*__render_h*/