X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=render%2Frender.h;h=65d16f226a7082d01eac042d75a1d31fe68024b1;hb=7744067b6b50124c31f647e2943ef1fce9fdec96;hp=c90c8582c77c74ebaf0331c2f4c2a43da81deb17;hpb=c4e4760c41f10aae6af19a4363cb247c71edee4b;p=chaz%2Fopenbox diff --git a/render/render.h b/render/render.h index c90c8582..65d16f22 100644 --- a/render/render.h +++ b/render/render.h @@ -1,6 +1,7 @@ -/* -*- indent-tabs-mode: t; tab-width: 4; c-basic-offset: 4; -*- +/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- render.h for the Openbox window manager + Copyright (c) 2006 Mikael Magnusson Copyright (c) 2003 Ben Jansens Copyright (c) 2003 Derek Foreman @@ -20,11 +21,15 @@ #ifndef __render_h #define __render_h +#include "geom.h" +#include "version.h" + #include /* some platforms dont include this as needed for Xft */ -#define _XFT_NO_COMPAT_ /* no Xft 1 API */ -#include +#include #include +G_BEGIN_DECLS + typedef union _RrTextureData RrTextureData; typedef struct _RrAppearance RrAppearance; typedef struct _RrSurface RrSurface; @@ -56,11 +61,13 @@ typedef enum { RR_SURFACE_NONE, RR_SURFACE_PARENTREL, RR_SURFACE_SOLID, + RR_SURFACE_SPLIT_VERTICAL, RR_SURFACE_HORIZONTAL, RR_SURFACE_VERTICAL, RR_SURFACE_DIAGONAL, RR_SURFACE_CROSS_DIAGONAL, - RR_SURFACE_PYRAMID + RR_SURFACE_PYRAMID, + RR_SURFACE_MIRROR_HORIZONTAL } RrSurfaceColorType; typedef enum { @@ -77,6 +84,20 @@ typedef enum { RR_JUSTIFY_RIGHT } RrJustify; +typedef enum { + RR_FONTWEIGHT_LIGHT, + RR_FONTWEIGHT_NORMAL, + RR_FONTWEIGHT_SEMIBOLD, + RR_FONTWEIGHT_BOLD, + RR_FONTWEIGHT_ULTRABOLD +} RrFontWeight; + +typedef enum { + RR_FONTSLANT_NORMAL, + RR_FONTSLANT_ITALIC, + RR_FONTSLANT_OBLIQUE +} RrFontSlant; + struct _RrSurface { RrSurfaceColorType grad; RrReliefType relief; @@ -100,6 +121,8 @@ struct _RrTextureText { RrJustify justify; RrColor *color; gchar *string; + gint shadow_offset; + gchar shadow_tint; }; struct _RrPixmapMask { @@ -165,6 +188,11 @@ struct _RrAppearance { #define RrDefaultGreenOffset 8 #define RrDefaultBlueOffset 0 +#define RrDefaultFontFamily "arial,sans" +#define RrDefaultFontSize 8 +#define RrDefaultFontWeight RR_FONTWEIGHT_NORMAL +#define RrDefaultFontSlant RR_FONTSLANT_NORMAL + RrInstance* RrInstanceNew (Display *display, gint screen); void RrInstanceFree (RrInstance *inst); @@ -198,9 +226,14 @@ 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); +RrFont *RrFontOpen (const RrInstance *inst, 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, + gint shadow_offset); +gint RrFontHeight (const RrFont *f, gint shadow_offset); +gint RrFontMaxCharWidth (const RrFont *f); void RrPaint (RrAppearance *a, Window win, gint w, gint h); void RrMinsize (RrAppearance *a, gint *w, gint *h); @@ -210,4 +243,6 @@ gboolean RrPixmapToRGBA(const RrInstance *inst, Pixmap pmap, Pixmap mask, gint *w, gint *h, RrPixel32 **data); +G_END_DECLS + #endif /*__render_h*/