]> Dogcows Code - chaz/openbox/blobdiff - render/render.h
80 cols everywhere
[chaz/openbox] / render / render.h
index d03db8d5801654cae37034f78fead09318a87846..f021410c8f3bfc0bf89161d421ce47584f9c5849 100644 (file)
@@ -45,6 +45,7 @@ typedef struct _RrColor            RrColor;
 
 typedef guint32 RrPixel32;
 typedef guint16 RrPixel16;
+typedef guchar  RrPixel8;
 
 typedef enum {
     RR_RELIEF_FLAT,
@@ -84,6 +85,14 @@ typedef enum {
     RR_JUSTIFY_RIGHT
 } RrJustify;
 
+/* Put middle first so it's the default */
+typedef enum {
+    RR_ELLIPSIZE_MIDDLE,
+    RR_ELLIPSIZE_NONE,
+    RR_ELLIPSIZE_START,
+    RR_ELLIPSIZE_END
+} RrEllipsizeMode;
+
 typedef enum {
     RR_FONTWEIGHT_LIGHT,
     RR_FONTWEIGHT_NORMAL,
@@ -114,17 +123,24 @@ struct _RrSurface {
     gint parentx;
     gint parenty;
     RrPixel32 *pixel_data;
+    gint bevel_dark_adjust;  /* 0-255, default is 64 */
+    gint bevel_light_adjust; /* 0-255, default is 128 */
+    RrColor *split_primary;
+    RrColor *split_secondary;
 };
 
 struct _RrTextureText {
     RrFont *font;
     RrJustify justify;
     RrColor *color;
-    gchar *string;
+    const gchar *string;
     gint shadow_offset_x;
     gint shadow_offset_y;
     RrColor *shadow_color;
-    gchar shadow_alpha;
+    guchar shadow_alpha;
+    gboolean shortcut; /*!< Underline a character */
+    guint shortcut_pos; /*!< Position in bytes of the character to underline */
+    RrEllipsizeMode ellipsize;
 };
 
 struct _RrPixmapMask {
@@ -143,6 +159,7 @@ struct _RrTextureMask {
 struct _RrTextureRGBA {
     gint width;
     gint height;
+    gint alpha;
     RrPixel32 *data;
 /* cached scaled so we don't have to scale often */
     gint cwidth;
@@ -227,9 +244,10 @@ GC       RrColorGC    (RrColor *c);
 RrAppearance *RrAppearanceNew  (const RrInstance *inst, gint numtex);
 RrAppearance *RrAppearanceCopy (RrAppearance *a);
 void          RrAppearanceFree (RrAppearance *a);
+void          RrAppearanceAddTextures(RrAppearance *a, gint numtex);
 
-RrFont *RrFontOpen          (const RrInstance *inst, gchar *name, gint size,
-                             RrFontWeight weight, RrFontSlant slant);
+RrFont *RrFontOpen          (const RrInstance *inst, const gchar *name,
+                             gint size, RrFontWeight weight, RrFontSlant slant);
 RrFont *RrFontOpenDefault   (const RrInstance *inst);
 void    RrFontClose         (RrFont *f);
 RrSize *RrFontMeasureString (const RrFont *f, const gchar *str,
@@ -237,9 +255,15 @@ RrSize *RrFontMeasureString (const RrFont *f, const gchar *str,
 gint    RrFontHeight        (const RrFont *f, gint shadow_offset_y);
 gint    RrFontMaxCharWidth  (const RrFont *f);
 
-void RrPaint   (RrAppearance *a, Window win, gint w, gint h);
-void RrMinsize (RrAppearance *a, gint *w, gint *h);
-void RrMargins (RrAppearance *a, gint *l, gint *t, gint *r, gint *b);
+/* Paint into the appearance. The old pixmap is returned (if there was one). It
+   is the responsibility of the caller to call XFreePixmap on the return when
+   it is non-null. */
+Pixmap RrPaintPixmap (RrAppearance *a, gint w, gint h);
+void   RrPaint       (RrAppearance *a, Window win, gint w, gint h);
+void   RrMinSize     (RrAppearance *a, gint *w, gint *h);
+gint   RrMinWidth    (RrAppearance *a);
+gint   RrMinHeight   (RrAppearance *a);
+void   RrMargins     (RrAppearance *a, gint *l, gint *t, gint *r, gint *b);
 
 gboolean RrPixmapToRGBA(const RrInstance *inst,
                         Pixmap pmap, Pixmap mask,
This page took 0.02245 seconds and 4 git commands to generate.