X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=render%2Frender.h;h=5f632dc545f97599b2d905ceafaf4aae1e0b7b09;hb=c473d5f80ac8a92ba4046365769b2b84ed72881d;hp=9cd1bd7379ad6e1e3d72acb6c0ad5af264de04d0;hpb=ab68bcfb1e93daa41131174ac998548a183b5395;p=chaz%2Fopenbox diff --git a/render/render.h b/render/render.h index 9cd1bd73..5f632dc5 100644 --- a/render/render.h +++ b/render/render.h @@ -6,34 +6,7 @@ #include #include #include "color.h" - -#ifdef HAVE_STDINT_H -# include -#else -# ifdef HAVE_SYS_TYPES_H -# include -# 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,7 +40,8 @@ typedef enum { typedef enum { Bitmask, Text, - RGBA + RGBA, + NoTexture } TextureType; typedef struct PlanarSurface { @@ -99,6 +73,7 @@ typedef struct Surface { typedef struct { XftFont *xftfont; + int height; } ObFont; typedef enum { @@ -128,7 +103,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 { @@ -138,6 +119,7 @@ typedef union { } TextureData; typedef struct Texture { + Rect position; TextureType type; TextureData data; } Texture; @@ -163,4 +145,5 @@ 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); #endif /*__render_h*/