X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=render%2Frender.h;h=abdf03bb02e3d1cd7ae0c2f8731209e91393b8a4;hb=06fb4c7382a9c2a25e74adefbbc267417af5aadd;hp=8a1eda123168abe3474c984490e7254cbc2cddc3;hpb=58be655de321369ceec5819a3516003a05ead575;p=chaz%2Fopenbox diff --git a/render/render.h b/render/render.h index 8a1eda12..abdf03bb 100644 --- a/render/render.h +++ b/render/render.h @@ -1,9 +1,9 @@ #ifndef __render_h #define __render_h +#include /* some platforms dont include this as needed for Xft */ #define _XFT_NO_COMPAT_ /* no Xft 1 API */ #include -#include #include typedef union _RrTextureData RrTextureData; @@ -14,6 +14,7 @@ typedef struct _RrTexture RrTexture; typedef struct _RrTextureMask RrTextureMask; typedef struct _RrTextureRGBA RrTextureRGBA; typedef struct _RrTextureText RrTextureText; +typedef struct _RrTextureLineArt RrTextureLineArt; typedef struct _RrPixmapMask RrPixmapMask; typedef struct _RrInstance RrInstance; typedef struct _RrColor RrColor; @@ -47,6 +48,7 @@ typedef enum { RR_TEXTURE_NONE, RR_TEXTURE_MASK, RR_TEXTURE_TEXT, + RR_TEXTURE_LINE_ART, RR_TEXTURE_RGBA } RrTextureType; @@ -65,12 +67,13 @@ struct _RrSurface { RrColor *border_color; RrColor *bevel_dark; RrColor *bevel_light; + RrColor *interlace_color; gboolean interlaced; gboolean border; RrAppearance *parent; gint parentx; gint parenty; - RrPixel32 *RrPixel_data; + RrPixel32 *pixel_data; }; struct _RrTextureText { @@ -103,10 +106,19 @@ struct _RrTextureRGBA { RrPixel32 *cache; }; +struct _RrTextureLineArt { + RrColor *color; + gint x1; + gint y1; + gint x2; + gint y2; +}; + union _RrTextureData { RrTextureRGBA rgba; RrTextureText text; RrTextureMask mask; + RrTextureLineArt lineart; }; struct _RrTexture { @@ -127,19 +139,12 @@ struct _RrAppearance { gint w, h; }; -#if (G_BYTE_ORDER == G_BIG_ENDIAN) -#define RrDefaultAlphaOffset 0 -#define RrDefaultRedOffset 8 -#define RrDefaultGreenOffset 16 -#define RrDefaultBlueOffset 24 -#define RrEndian MSBFirst -#else +/* these are the same on all endian machines because it seems to be dependant + on the endianness of the gfx card, not the cpu. */ #define RrDefaultAlphaOffset 24 #define RrDefaultRedOffset 16 #define RrDefaultGreenOffset 8 #define RrDefaultBlueOffset 0 -#define RrEndian LSBFirst -#endif /* G_BYTE_ORDER == G_BIG_ENDIAN */ RrInstance* RrInstanceNew (Display *display, gint screen); void RrInstanceFree (RrInstance *inst); @@ -159,8 +164,6 @@ gint RrBlueShift (const RrInstance *inst); gint RrRedMask (const RrInstance *inst); gint RrGreenMask (const RrInstance *inst); gint RrBlueMask (const RrInstance *inst); -guint RrPseudoBPC (const RrInstance *inst); -XColor* RrPseudoColors (const RrInstance *inst); RrColor *RrColorNew (const RrInstance *inst, gint r, gint g, gint b); RrColor *RrColorParse (const RrInstance *inst, gchar *colorname); @@ -170,6 +173,7 @@ gint RrColorRed (const RrColor *c); gint RrColorGreen (const RrColor *c); gint RrColorBlue (const RrColor *c); gulong RrColorPixel (const RrColor *c); +GC RrColorGC (RrColor *c); RrAppearance *RrAppearanceNew (const RrInstance *inst, gint numtex); RrAppearance *RrAppearanceCopy (RrAppearance *a);