summaryrefslogtreecommitdiff
path: root/render/render.h
diff options
context:
space:
mode:
Diffstat (limited to 'render/render.h')
-rw-r--r--render/render.h350
1 files changed, 0 insertions, 350 deletions
diff --git a/render/render.h b/render/render.h
deleted file mode 100644
index 706843e3..00000000
--- a/render/render.h
+++ /dev/null
@@ -1,350 +0,0 @@
-/* -*- 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-2007 Dana 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 "geom.h"
-#include "render/version.h"
-
-#include <X11/Xlib.h> /* some platforms dont include this as needed for Xft */
-#include <pango/pangoxft.h>
-#include <glib.h>
-
-G_BEGIN_DECLS
-
-typedef union _RrTextureData RrTextureData;
-typedef struct _RrAppearance RrAppearance;
-typedef struct _RrSurface RrSurface;
-typedef struct _RrFont RrFont;
-typedef struct _RrTexture RrTexture;
-typedef struct _RrTextureMask RrTextureMask;
-typedef struct _RrTextureRGBA RrTextureRGBA;
-typedef struct _RrTextureImage RrTextureImage;
-typedef struct _RrTextureText RrTextureText;
-typedef struct _RrTextureLineArt RrTextureLineArt;
-typedef struct _RrPixmapMask RrPixmapMask;
-typedef struct _RrInstance RrInstance;
-typedef struct _RrColor RrColor;
-typedef struct _RrImage RrImage;
-typedef struct _RrImagePic RrImagePic;
-typedef struct _RrImageCache RrImageCache;
-
-typedef guint32 RrPixel32;
-typedef guint16 RrPixel16;
-typedef guchar RrPixel8;
-
-typedef enum {
- RR_RELIEF_FLAT,
- RR_RELIEF_RAISED,
- RR_RELIEF_SUNKEN
-} RrReliefType;
-
-typedef enum {
- RR_BEVEL_1,
- RR_BEVEL_2
-} RrBevelType;
-
-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_MIRROR_HORIZONTAL
-} RrSurfaceColorType;
-
-typedef enum {
- RR_TEXTURE_NONE,
- RR_TEXTURE_MASK,
- RR_TEXTURE_TEXT,
- RR_TEXTURE_LINE_ART,
- RR_TEXTURE_RGBA,
- RR_TEXTURE_IMAGE
-} RrTextureType;
-
-typedef enum {
- RR_JUSTIFY_LEFT,
- RR_JUSTIFY_CENTER,
- 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,
- 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;
- RrBevelType bevel;
- RrColor *primary;
- RrColor *secondary;
- RrColor *border_color;
- RrColor *bevel_dark;
- RrColor *bevel_light;
- RrColor *interlace_color;
- gboolean interlaced;
- gboolean border;
- RrAppearance *parent;
- 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;
- const gchar *string;
- gint shadow_offset_x;
- gint shadow_offset_y;
- RrColor *shadow_color;
- gboolean shortcut; /*!< Underline a character */
- guint shortcut_pos; /*!< Position in bytes of the character to underline */
- RrEllipsizeMode ellipsize;
- gboolean flow; /* allow multiple lines. must set maxwidth below */
- gint maxwidth;
- guchar shadow_alpha; /* at the bottom to improve alignment */
-};
-
-struct _RrPixmapMask {
- const RrInstance *inst;
- Pixmap mask;
- gint width;
- gint height;
- gchar *data;
-};
-
-struct _RrTextureMask {
- RrColor *color;
- RrPixmapMask *mask;
-};
-
-struct _RrTextureRGBA {
- gint width;
- gint height;
- gint alpha;
- RrPixel32 *data;
- /* size and position to draw at (if these are zero, then it will be
- drawn to fill the entire texture */
- gint tx;
- gint ty;
- gint twidth;
- gint theight;
-};
-
-struct _RrTextureImage {
- RrImage *image;
- gint alpha;
- /* size and position to draw at (if these are zero, then it will be
- drawn to fill the entire texture */
- gint tx;
- gint ty;
- gint twidth;
- gint theight;
-};
-
-struct _RrTextureLineArt {
- RrColor *color;
- gint x1;
- gint y1;
- gint x2;
- gint y2;
-};
-
-union _RrTextureData {
- RrTextureRGBA rgba;
- RrTextureImage image;
- RrTextureText text;
- RrTextureMask mask;
- RrTextureLineArt lineart;
-};
-
-struct _RrTexture {
- /* If changing the type of a texture, you should DEFINITELY call
- RrAppearanceClearTextures() first! */
- RrTextureType type;
- RrTextureData data;
-};
-
-struct _RrAppearance {
- const RrInstance *inst;
-
- RrSurface surface;
- gint textures;
- RrTexture *texture;
- Pixmap pixmap;
- XftDraw *xftdraw;
-
- /* cached for internal use */
- gint w, h;
-};
-
-/*! Holds a RGBA image picture */
-struct _RrImagePic {
- gint width, height;
- RrPixel32 *data;
- /* The sum of all the pixels. This is used to compare pictures if their
- hashes match. */
- gint sum;
-};
-
-/*! An RrImage is a sort of meta-image. It can contain multiple versions of
- an image at different sizes, which may or may not be completely different
- pictures */
-struct _RrImage {
- gint ref;
- RrImageCache *cache;
-
- /*! An array of "originals", that is of RrPictures that have been added
- to the image in various sizes, and that have not been resized. These
- are explicitly added to the RrImage. */
- RrImagePic **original;
- gint n_original;
- /*! An array of "resized" pictures. When an "original" RrPicture
- needs to be resized for drawing, it is saved in here so that it doesn't
- need to be resized again. These are automatically added to the
- RrImage. */
- RrImagePic **resized;
- gint n_resized;
-};
-
-/* these are the same on all endian machines because it seems to be dependant
- on the endianness of the gfx card, not the cpu. */
-#define RrDefaultAlphaOffset 24
-#define RrDefaultRedOffset 16
-#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);
-
-Display* RrDisplay (const RrInstance *inst);
-gint RrScreen (const RrInstance *inst);
-Window RrRootWindow (const RrInstance *inst);
-Visual* RrVisual (const RrInstance *inst);
-gint RrDepth (const RrInstance *inst);
-Colormap RrColormap (const RrInstance *inst);
-gint RrRedOffset (const RrInstance *inst);
-gint RrGreenOffset (const RrInstance *inst);
-gint RrBlueOffset (const RrInstance *inst);
-gint RrRedShift (const RrInstance *inst);
-gint RrGreenShift (const RrInstance *inst);
-gint RrBlueShift (const RrInstance *inst);
-gint RrRedMask (const RrInstance *inst);
-gint RrGreenMask (const RrInstance *inst);
-gint RrBlueMask (const RrInstance *inst);
-
-RrColor *RrColorNew (const RrInstance *inst, gint r, gint g, gint b);
-RrColor *RrColorParse (const RrInstance *inst, gchar *colorname);
-void RrColorFree (RrColor *in);
-
-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);
-void RrAppearanceRemoveTextures(RrAppearance *a);
-void RrAppearanceAddTextures(RrAppearance *a, gint numtex);
-/*! Always call this when changing the type of a texture in an appearance */
-void RrAppearanceClearTextures(RrAppearance *a);
-
-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,
- gint shadow_offset_x, gint shadow_offset_y,
- gboolean flow, gint maxwidth);
-gint RrFontHeight (const RrFont *f, gint shadow_offset_y);
-gint RrFontMaxCharWidth (const RrFont *f);
-
-/* 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);
-/* For text textures, if flow is TRUE, then the string must be set before
- calling this, otherwise it doesn't need to be */
-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,
- gint *w, gint *h, RrPixel32 **data);
-
-/*! Create a new image cache for RrImages.
- @param max_resized_saved The number of resized copies of an image to save
-*/
-RrImageCache* RrImageCacheNew(gint max_resized_saved);
-void RrImageCacheRef(RrImageCache *self);
-void RrImageCacheUnref(RrImageCache *self);
-
-/*! Finds an image in the cache, if it is already in there */
-RrImage* RrImageCacheFind(RrImageCache *self,
- RrPixel32 *data, gint w, gint h);
-
-RrImage* RrImageNew(RrImageCache *cache);
-void RrImageRef(RrImage *im);
-void RrImageUnref(RrImage *im);
-
-void RrImageAddPicture(RrImage *im, RrPixel32 *data, gint w, gint h);
-void RrImageRemovePicture(RrImage *im, gint w, gint h);
-
-G_END_DECLS
-
-#endif /*__render_h*/