]> Dogcows Code - chaz/openbox/blobdiff - render/render.h
raise menus above clients.
[chaz/openbox] / render / render.h
index 18894a33bf69d998477605acc564b9bf2dab5906..d98cebdef9777cbef58b900d3e6bb3942566b560 100644 (file)
@@ -6,6 +6,7 @@
 #include <X11/Xft/Xft.h>
 #include <glib.h>
 #include "color.h"
+#include "kernel/geom.h"
 
 typedef enum {
     Surface_Planar,
@@ -39,9 +40,12 @@ typedef enum {
 typedef enum {
     Bitmask,
     Text,
-    RGBA
+    RGBA,
+    NoTexture
 } TextureType;
 
+struct Appearance;
+
 typedef struct PlanarSurface {
     SurfaceColorType grad;
     ReliefType relief;
@@ -51,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;
 
@@ -84,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;
@@ -93,6 +100,7 @@ typedef struct TextureText {
 typedef struct {
     Pixmap mask;
     guint w, h;
+    char *data;
 } pixmap_mask;
 
 typedef struct TextureMask {
@@ -101,7 +109,13 @@ typedef struct TextureMask {
 } TextureMask;
 
 typedef struct TextureRGBA {
-    int poo;
+    int width;
+    int height;
+    unsigned long *data;
+/* cached scaled so we don't have to scale often */
+    int cwidth;
+    int cheight;
+    unsigned long *cache;
 } TextureRGBA;
 
 typedef union {
@@ -118,6 +132,7 @@ typedef struct Texture {
 
 typedef struct Appearance {
     Surface surface;
+    Rect area;
     int textures;
     Texture *texture;
     Pixmap pixmap;
@@ -128,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*/
This page took 0.024608 seconds and 4 git commands to generate.