X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=render%2Frender.h;h=a983c7830c5f10db12a98af596c4d8fe0a911ee0;hb=07a52aeaff0d8f429d9a740f49a85f22d51cf597;hp=8363dd9095ded90a14d25d0bb1b950de11c9cf5c;hpb=de307661b6ce96e61e20a123b00297dbc57d5d85;p=chaz%2Fopenbox diff --git a/render/render.h b/render/render.h index 8363dd90..a983c783 100644 --- a/render/render.h +++ b/render/render.h @@ -6,6 +6,7 @@ #include #include #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; @@ -101,7 +108,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 { @@ -111,6 +124,7 @@ typedef union { } TextureData; typedef struct Texture { + Rect position; TextureType type; TextureData data; } Texture;