typedef struct _RrImage RrImage;
typedef struct _RrImagePic RrImagePic;
typedef struct _RrImageCache RrImageCache;
+typedef struct _RrButton RrButton;
typedef guint32 RrPixel32;
typedef guint16 RrPixel16;
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 {
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 {
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 */
RR_ELLIPSIZE_MIDDLE,
RR_ELLIPSIZE_NONE,
RR_ELLIPSIZE_START,
- RR_ELLIPSIZE_END
+ RR_ELLIPSIZE_END,
+ RR_ELLIPSIZE_NUM_TYPES
} RrEllipsizeMode;
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 {
struct _RrAppearance {
const RrInstance *inst;
+
+ gint ref;
RrSurface surface;
gint textures;
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);
GC RrColorGC (RrColor *c);
RrAppearance *RrAppearanceNew (const RrInstance *inst, gint numtex);
+RrAppearance *RrAppearanceCopyShallow (RrAppearance *a);
RrAppearance *RrAppearanceCopy (RrAppearance *a);
void RrAppearanceFree (RrAppearance *a);
void RrAppearanceRemoveTextures(RrAppearance *a);
/*! 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);