X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=render%2Frender.h;h=16f5c31c6be11a0364c149a7cb1e26e663c58dd5;hb=d6652d0a90bd6c93084b0b9e6cf36123e0ec15d1;hp=a983c7830c5f10db12a98af596c4d8fe0a911ee0;hpb=8e68958a075f96a9e187d44b809582ab50339d6d;p=chaz%2Fopenbox diff --git a/render/render.h b/render/render.h index a983c783..16f5c31c 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, @@ -33,8 +33,7 @@ typedef enum { Background_CrossDiagonal, Background_PipeCross, Background_Rectangle, - Background_Pyramid, - Background_Elliptic + Background_Pyramid } SurfaceColorType; typedef enum { @@ -53,6 +52,8 @@ typedef struct PlanarSurface { color_rgb *primary; color_rgb *secondary; color_rgb *border_color; + color_rgb *bevel_dark; + color_rgb *bevel_light; gboolean interlaced; gboolean border; struct Appearance *parent; @@ -79,6 +80,7 @@ typedef struct Surface { typedef struct { XftFont *xftfont; int height; + int elipses_length; } ObFont; typedef enum { @@ -91,7 +93,7 @@ typedef struct TextureText { ObFont *font; Justify justify; int shadow; - unsigned char tint; + char tint; unsigned char offset; color_rgb *color; char *string; @@ -100,6 +102,7 @@ typedef struct TextureText { typedef struct { Pixmap mask; guint w, h; + char *data; } pixmap_mask; typedef struct TextureMask { @@ -108,13 +111,13 @@ typedef struct TextureMask { } TextureMask; typedef struct TextureRGBA { - int width; - int height; - unsigned long *data; + guint width; + guint height; + pixel32 *data; /* cached scaled so we don't have to scale often */ - int cwidth; - int cheight; - unsigned long *cache; + guint cwidth; + guint cheight; + pixel32 *cache; } TextureRGBA; typedef union { @@ -131,6 +134,7 @@ typedef struct Texture { typedef struct Appearance { Surface surface; + Rect area; int textures; Texture *texture; Pixmap pixmap; @@ -138,17 +142,27 @@ typedef struct Appearance { } Appearance; extern Visual *render_visual; +extern XVisualInfo render_visual_info; 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 gl_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); + +gboolean render_pixmap_to_rgba(Pixmap pmap, Pixmap mask, + int *w, int *h, pixel32 **data); + #endif /*__render_h*/