]> Dogcows Code - chaz/openbox/blobdiff - render/render.h
all my changes while i was offline.
[chaz/openbox] / render / render.h
index 9cd1bd7379ad6e1e3d72acb6c0ad5af264de04d0..006eaf4cdf44db2f410c7db6f537877b00b93a95 100644 (file)
@@ -6,34 +6,7 @@
 #include <X11/Xft/Xft.h>
 #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 */
+#include "kernel/geom.h"
 
 typedef enum {
     Surface_Planar,
@@ -67,9 +40,12 @@ typedef enum {
 typedef enum {
     Bitmask,
     Text,
-    RGBA
+    RGBA,
+    NoTexture
 } TextureType;
 
+struct Appearance;
+
 typedef struct PlanarSurface {
     SurfaceColorType grad;
     ReliefType relief;
@@ -79,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;
 
@@ -99,6 +78,8 @@ typedef struct Surface {
 
 typedef struct {
     XftFont *xftfont;
+    int height;
+    int elipses_length;
 } ObFont;
 
 typedef enum {
@@ -111,7 +92,7 @@ typedef struct TextureText {
     ObFont *font;
     Justify justify;
     int shadow;
-    unsigned char tint;
+    char tint;
     unsigned char offset;
     color_rgb *color;
     char *string;
@@ -120,6 +101,7 @@ typedef struct TextureText {
 typedef struct {
     Pixmap mask;
     guint w, h;
+    char *data;
 } pixmap_mask;
 
 typedef struct TextureMask {
@@ -128,7 +110,13 @@ typedef struct TextureMask {
 } TextureMask;
 
 typedef struct TextureRGBA {
-    int poo;
+    guint width;
+    guint height;
+    unsigned long *data;
+/* cached scaled so we don't have to scale often */
+    guint cwidth;
+    guint cheight;
+    unsigned long *cache;
 } TextureRGBA;
 
 typedef union {
@@ -138,12 +126,14 @@ typedef union {
 } TextureData;
 
 typedef struct Texture {
+    Rect position;
     TextureType type;
     TextureData data;
 } Texture;
 
 typedef struct Appearance {
     Surface surface;
+    Rect area;
     int textures;
     Texture *texture;
     Pixmap pixmap;
@@ -154,13 +144,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.023882 seconds and 4 git commands to generate.