X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=render%2Frender.h;h=8a1eda123168abe3474c984490e7254cbc2cddc3;hb=b42ef7362ccd35aeebf7863528556a7cc444a176;hp=c6bd35569930b23172edb3a0e7dfb277bf815a9c;hpb=3f32dfa87e08556d7f6a58efab9b7479e515be26;p=chaz%2Fopenbox diff --git a/render/render.h b/render/render.h index c6bd3556..8a1eda12 100644 --- a/render/render.h +++ b/render/render.h @@ -16,10 +16,10 @@ typedef struct _RrTextureRGBA RrTextureRGBA; typedef struct _RrTextureText RrTextureText; typedef struct _RrPixmapMask RrPixmapMask; typedef struct _RrInstance RrInstance; -typedef struct _RrColor color_rgb; /* XXX ugly */ +typedef struct _RrColor RrColor; -typedef guint32 pixel32; /* XXX prefix */ -typedef guint16 pixel16; +typedef guint32 RrPixel32; +typedef guint16 RrPixel16; typedef enum { RR_RELIEF_FLAT, @@ -40,8 +40,6 @@ typedef enum { RR_SURFACE_VERTICAL, RR_SURFACE_DIAGONAL, RR_SURFACE_CROSS_DIAGONAL, - RR_SURFACE_PIPECROSS, - RR_SURFACE_RECTANGLE, RR_SURFACE_PYRAMID } RrSurfaceColorType; @@ -62,26 +60,23 @@ struct _RrSurface { RrSurfaceColorType grad; RrReliefType relief; RrBevelType bevel; - color_rgb *primary; - color_rgb *secondary; - color_rgb *border_color; - color_rgb *bevel_dark; - color_rgb *bevel_light; + RrColor *primary; + RrColor *secondary; + RrColor *border_color; + RrColor *bevel_dark; + RrColor *bevel_light; gboolean interlaced; gboolean border; RrAppearance *parent; gint parentx; gint parenty; - pixel32 *pixel_data; + RrPixel32 *RrPixel_data; }; struct _RrTextureText { RrFont *font; RrJustify justify; - gint shadow; - gchar tint; - guchar offset; - color_rgb *color; + RrColor *color; gchar *string; }; @@ -94,18 +89,18 @@ struct _RrPixmapMask { }; struct _RrTextureMask { - color_rgb *color; + RrColor *color; RrPixmapMask *mask; }; struct _RrTextureRGBA { gint width; gint height; - pixel32 *data; + RrPixel32 *data; /* cached scaled so we don't have to scale often */ gint cwidth; gint cheight; - pixel32 *cache; + RrPixel32 *cache; }; union _RrTextureData { @@ -132,6 +127,20 @@ 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 +#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); @@ -153,19 +162,28 @@ gint RrBlueMask (const RrInstance *inst); guint RrPseudoBPC (const RrInstance *inst); XColor* RrPseudoColors (const RrInstance *inst); -color_rgb *RrColorNew (const RrInstance *inst, gint r, gint g, gint b); -color_rgb *RrColorParse (const RrInstance *inst, gchar *colorname); -void RrColorFree (color_rgb *in); +RrColor *RrColorNew (const RrInstance *inst, gint r, gint g, gint b); +RrColor *RrColorParse (const RrInstance *inst, gchar *colorname); +void RrColorFree (RrColor *in); + +gint RrColorRed (const RrColor *c); +gint RrColorGreen (const RrColor *c); +gint RrColorBlue (const RrColor *c); +gulong RrColorPixel (const RrColor *c); RrAppearance *RrAppearanceNew (const RrInstance *inst, gint numtex); RrAppearance *RrAppearanceCopy (RrAppearance *a); void RrAppearanceFree (RrAppearance *a); +int RrFontMeasureString (const RrFont *f, const gchar *str); +int RrFontHeight (const RrFont *f); +int RrFontMaxCharWidth (const RrFont *f); + void RrPaint (RrAppearance *l, Window win, gint w, gint h); void RrMinsize (RrAppearance *l, gint *w, gint *h); gboolean RrPixmapToRGBA(const RrInstance *inst, Pixmap pmap, Pixmap mask, - gint *w, gint *h, pixel32 **data); + gint *w, gint *h, RrPixel32 **data); #endif /*__render_h*/