X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=obrender%2Frender.h;h=dad3c540713afee263f2bb2f0caf94422a916dd9;hb=0ae3388b6a6cef0f33f26369ccc3cdd5687ea930;hp=64c2f6a114a1d2aa17aa8b700c103e9c13f0f5ce;hpb=3bd4397b6ec5212bfe53a36892746962dc45dbeb;p=chaz%2Fopenbox diff --git a/obrender/render.h b/obrender/render.h index 64c2f6a1..dad3c540 100644 --- a/obrender/render.h +++ b/obrender/render.h @@ -46,6 +46,7 @@ typedef struct _RrColor RrColor; typedef struct _RrImage RrImage; typedef struct _RrImagePic RrImagePic; typedef struct _RrImageCache RrImageCache; +typedef struct _RrButton RrButton; typedef guint32 RrPixel32; typedef guint16 RrPixel16; @@ -54,12 +55,14 @@ typedef guchar RrPixel8; typedef enum { RR_RELIEF_FLAT, RR_RELIEF_RAISED, - RR_RELIEF_SUNKEN + RR_RELIEF_SUNKEN, + RR_RELIEF_NUM_TYPES } RrReliefType; typedef enum { RR_BEVEL_1, - RR_BEVEL_2 + RR_BEVEL_2, + RR_BEVEL_NUM_TYPES } RrBevelType; typedef enum { @@ -72,7 +75,8 @@ typedef enum { RR_SURFACE_DIAGONAL, RR_SURFACE_CROSS_DIAGONAL, RR_SURFACE_PYRAMID, - RR_SURFACE_MIRROR_HORIZONTAL + RR_SURFACE_MIRROR_HORIZONTAL, + RR_SURFACE_NUM_TYPES } RrSurfaceColorType; typedef enum { @@ -81,13 +85,15 @@ typedef enum { RR_TEXTURE_TEXT, RR_TEXTURE_LINE_ART, RR_TEXTURE_RGBA, - RR_TEXTURE_IMAGE + RR_TEXTURE_IMAGE, + RR_TEXTURE_NUM_TYPES } RrTextureType; typedef enum { RR_JUSTIFY_LEFT, RR_JUSTIFY_CENTER, - RR_JUSTIFY_RIGHT + RR_JUSTIFY_RIGHT, + RR_JUSTIFY_NUM_TYPES } RrJustify; /* Put middle first so it's the default */ @@ -95,7 +101,8 @@ typedef enum { RR_ELLIPSIZE_MIDDLE, RR_ELLIPSIZE_NONE, RR_ELLIPSIZE_START, - RR_ELLIPSIZE_END + RR_ELLIPSIZE_END, + RR_ELLIPSIZE_NUM_TYPES } RrEllipsizeMode; typedef enum { @@ -103,13 +110,15 @@ typedef enum { RR_FONTWEIGHT_NORMAL, RR_FONTWEIGHT_SEMIBOLD, RR_FONTWEIGHT_BOLD, - RR_FONTWEIGHT_ULTRABOLD + RR_FONTWEIGHT_ULTRABOLD, + RR_FONTWEIGHT_NUM_TYPES } RrFontWeight; typedef enum { RR_FONTSLANT_NORMAL, RR_FONTSLANT_ITALIC, - RR_FONTSLANT_OBLIQUE + RR_FONTSLANT_OBLIQUE, + RR_FONTSLANT_NUM_TYPES } RrFontSlant; struct _RrSurface { @@ -212,7 +221,7 @@ struct _RrTexture { struct _RrAppearance { const RrInstance *inst; - + RrSurface surface; gint textures; RrTexture *texture; @@ -295,6 +304,7 @@ gint RrGreenMask (const RrInstance *inst); gint RrBlueMask (const RrInstance *inst); RrColor *RrColorNew (const RrInstance *inst, gint r, gint g, gint b); +RrColor *RrColorCopy (RrColor *c); RrColor *RrColorParse (const RrInstance *inst, gchar *colorname); void RrColorFree (RrColor *in); @@ -312,10 +322,15 @@ void RrAppearanceAddTextures(RrAppearance *a, gint numtex); /*! Always call this when changing the type of a texture in an appearance */ void RrAppearanceClearTextures(RrAppearance *a); +RrButton *RrButtonNew (const RrInstance *inst); +void RrButtonFree(RrButton *b); + RrFont *RrFontOpen (const RrInstance *inst, const gchar *name, gint size, RrFontWeight weight, RrFontSlant slant); RrFont *RrFontOpenDefault (const RrInstance *inst); void RrFontClose (RrFont *f); +/*! Returns an RrSize, that was allocated with g_slice_new(). Use g_slice_free() to + free it. */ RrSize *RrFontMeasureString (const RrFont *f, const gchar *str, gint shadow_offset_x, gint shadow_offset_y, gboolean flow, gint maxwidth);