X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=render%2Frender.h;h=ab481b40dd6de5f2a6b89b4f2bb7e7d8a55261d2;hb=064901801e8ceb7b07dbd0d27b4fecd600f7c766;hp=3ddde716ee42b6ec8f0cfb8bc08a658f8ab267b8;hpb=83705e52c469444de38bb676c097d175e66928a7;p=chaz%2Fopenbox diff --git a/render/render.h b/render/render.h index 3ddde716..ab481b40 100644 --- a/render/render.h +++ b/render/render.h @@ -1,11 +1,34 @@ +/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- + + render.h for the Openbox window manager + Copyright (c) 2003 Ben Jansens + Copyright (c) 2003 Derek Foreman + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + See the COPYING file for a copy of the GNU General Public License. +*/ + #ifndef __render_h #define __render_h +#include "version.h" + #include /* some platforms dont include this as needed for Xft */ #define _XFT_NO_COMPAT_ /* no Xft 1 API */ #include #include +G_BEGIN_DECLS + typedef union _RrTextureData RrTextureData; typedef struct _RrAppearance RrAppearance; typedef struct _RrSurface RrSurface; @@ -14,6 +37,7 @@ typedef struct _RrTexture RrTexture; typedef struct _RrTextureMask RrTextureMask; typedef struct _RrTextureRGBA RrTextureRGBA; typedef struct _RrTextureText RrTextureText; +typedef struct _RrTextureLineArt RrTextureLineArt; typedef struct _RrPixmapMask RrPixmapMask; typedef struct _RrInstance RrInstance; typedef struct _RrColor RrColor; @@ -47,6 +71,7 @@ typedef enum { RR_TEXTURE_NONE, RR_TEXTURE_MASK, RR_TEXTURE_TEXT, + RR_TEXTURE_LINE_ART, RR_TEXTURE_RGBA } RrTextureType; @@ -65,6 +90,7 @@ struct _RrSurface { RrColor *border_color; RrColor *bevel_dark; RrColor *bevel_light; + RrColor *interlace_color; gboolean interlaced; gboolean border; RrAppearance *parent; @@ -103,10 +129,19 @@ struct _RrTextureRGBA { RrPixel32 *cache; }; +struct _RrTextureLineArt { + RrColor *color; + gint x1; + gint y1; + gint x2; + gint y2; +}; + union _RrTextureData { RrTextureRGBA rgba; RrTextureText text; RrTextureMask mask; + RrTextureLineArt lineart; }; struct _RrTexture { @@ -152,8 +187,6 @@ gint RrBlueShift (const RrInstance *inst); gint RrRedMask (const RrInstance *inst); gint RrGreenMask (const RrInstance *inst); gint RrBlueMask (const RrInstance *inst); -guint RrPseudoBPC (const RrInstance *inst); -XColor* RrPseudoColors (const RrInstance *inst); RrColor *RrColorNew (const RrInstance *inst, gint r, gint g, gint b); RrColor *RrColorParse (const RrInstance *inst, gchar *colorname); @@ -163,20 +196,24 @@ gint RrColorRed (const RrColor *c); gint RrColorGreen (const RrColor *c); gint RrColorBlue (const RrColor *c); gulong RrColorPixel (const RrColor *c); +GC RrColorGC (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); +gint RrFontMeasureString (const RrFont *f, const gchar *str); +gint RrFontHeight (const RrFont *f); +gint RrFontMaxCharWidth (const RrFont *f); -void RrPaint (RrAppearance *l, Window win, gint w, gint h); -void RrMinsize (RrAppearance *l, gint *w, gint *h); +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); gboolean RrPixmapToRGBA(const RrInstance *inst, Pixmap pmap, Pixmap mask, gint *w, gint *h, RrPixel32 **data); +G_END_DECLS + #endif /*__render_h*/