Blame modules/engines/pixbuf/pixbuf.h

Packit Service fb6fa5
/* GTK+ Pixbuf Engine
Packit Service fb6fa5
 * Copyright (C) 1998-2000 Red Hat, Inc.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * This library is free software; you can redistribute it and/or
Packit Service fb6fa5
 * modify it under the terms of the GNU Library General Public
Packit Service fb6fa5
 * License as published by the Free Software Foundation; either
Packit Service fb6fa5
 * version 2 of the License, or (at your option) any later version.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * This library is distributed in the hope that it will be useful,
Packit Service fb6fa5
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service fb6fa5
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service fb6fa5
 * Library General Public License for more details.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * You should have received a copy of the GNU Library General Public
Packit Service fb6fa5
 * License along with this library; if not, write to the
Packit Service fb6fa5
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Packit Service fb6fa5
 * Boston, MA 02111-1307, USA.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Written by Owen Taylor <otaylor@redhat.com>, based on code by
Packit Service fb6fa5
 * Carsten Haitzler <raster@rasterman.com>
Packit Service fb6fa5
 */
Packit Service fb6fa5
Packit Service fb6fa5
#include <gtk/gtk.h>
Packit Service fb6fa5
#include <gdk-pixbuf/gdk-pixbuf.h>
Packit Service fb6fa5
Packit Service fb6fa5
/* internals */
Packit Service fb6fa5
Packit Service fb6fa5
typedef struct _ThemeData ThemeData;
Packit Service fb6fa5
typedef struct _ThemeImage ThemeImage;
Packit Service fb6fa5
typedef struct _ThemeMatchData ThemeMatchData;
Packit Service fb6fa5
typedef struct _ThemePixbuf ThemePixbuf;
Packit Service fb6fa5
Packit Service fb6fa5
enum
Packit Service fb6fa5
{
Packit Service fb6fa5
  TOKEN_IMAGE = G_TOKEN_LAST + 1,
Packit Service fb6fa5
  TOKEN_FUNCTION,
Packit Service fb6fa5
  TOKEN_FILE,
Packit Service fb6fa5
  TOKEN_STRETCH,
Packit Service fb6fa5
  TOKEN_RECOLORABLE,
Packit Service fb6fa5
  TOKEN_BORDER,
Packit Service fb6fa5
  TOKEN_DETAIL,
Packit Service fb6fa5
  TOKEN_STATE,
Packit Service fb6fa5
  TOKEN_SHADOW,
Packit Service fb6fa5
  TOKEN_GAP_SIDE,
Packit Service fb6fa5
  TOKEN_GAP_FILE,
Packit Service fb6fa5
  TOKEN_GAP_BORDER,
Packit Service fb6fa5
  TOKEN_GAP_START_FILE,
Packit Service fb6fa5
  TOKEN_GAP_START_BORDER,
Packit Service fb6fa5
  TOKEN_GAP_END_FILE,
Packit Service fb6fa5
  TOKEN_GAP_END_BORDER,
Packit Service fb6fa5
  TOKEN_OVERLAY_FILE,
Packit Service fb6fa5
  TOKEN_OVERLAY_BORDER,
Packit Service fb6fa5
  TOKEN_OVERLAY_STRETCH,
Packit Service fb6fa5
  TOKEN_ARROW_DIRECTION,
Packit Service fb6fa5
  TOKEN_EXPANDER_STYLE,
Packit Service fb6fa5
  TOKEN_WINDOW_EDGE,
Packit Service fb6fa5
  TOKEN_D_HLINE,
Packit Service fb6fa5
  TOKEN_D_VLINE,
Packit Service fb6fa5
  TOKEN_D_SHADOW,
Packit Service fb6fa5
  TOKEN_D_POLYGON,
Packit Service fb6fa5
  TOKEN_D_ARROW,
Packit Service fb6fa5
  TOKEN_D_DIAMOND,
Packit Service fb6fa5
  TOKEN_D_OVAL,
Packit Service fb6fa5
  TOKEN_D_STRING,
Packit Service fb6fa5
  TOKEN_D_BOX,
Packit Service fb6fa5
  TOKEN_D_FLAT_BOX,
Packit Service fb6fa5
  TOKEN_D_CHECK,
Packit Service fb6fa5
  TOKEN_D_OPTION,
Packit Service fb6fa5
  TOKEN_D_CROSS,
Packit Service fb6fa5
  TOKEN_D_RAMP,
Packit Service fb6fa5
  TOKEN_D_TAB,
Packit Service fb6fa5
  TOKEN_D_SHADOW_GAP,
Packit Service fb6fa5
  TOKEN_D_BOX_GAP,
Packit Service fb6fa5
  TOKEN_D_EXTENSION,
Packit Service fb6fa5
  TOKEN_D_FOCUS,
Packit Service fb6fa5
  TOKEN_D_SLIDER,
Packit Service fb6fa5
  TOKEN_D_ENTRY,
Packit Service fb6fa5
  TOKEN_D_HANDLE,
Packit Service fb6fa5
  TOKEN_D_STEPPER,
Packit Service fb6fa5
  TOKEN_D_EXPANDER,
Packit Service fb6fa5
  TOKEN_D_RESIZE_GRIP,
Packit Service fb6fa5
  TOKEN_TRUE,
Packit Service fb6fa5
  TOKEN_FALSE,
Packit Service fb6fa5
  TOKEN_TOP,
Packit Service fb6fa5
  TOKEN_UP,
Packit Service fb6fa5
  TOKEN_BOTTOM,
Packit Service fb6fa5
  TOKEN_DOWN,
Packit Service fb6fa5
  TOKEN_LEFT,
Packit Service fb6fa5
  TOKEN_RIGHT,
Packit Service fb6fa5
  TOKEN_NORMAL,
Packit Service fb6fa5
  TOKEN_ACTIVE,
Packit Service fb6fa5
  TOKEN_PRELIGHT,
Packit Service fb6fa5
  TOKEN_SELECTED,
Packit Service fb6fa5
  TOKEN_INSENSITIVE,
Packit Service fb6fa5
  TOKEN_NONE,
Packit Service fb6fa5
  TOKEN_IN,
Packit Service fb6fa5
  TOKEN_OUT,
Packit Service fb6fa5
  TOKEN_ETCHED_IN,
Packit Service fb6fa5
  TOKEN_ETCHED_OUT,
Packit Service fb6fa5
  TOKEN_ORIENTATION,
Packit Service fb6fa5
  TOKEN_HORIZONTAL,
Packit Service fb6fa5
  TOKEN_VERTICAL,
Packit Service fb6fa5
  TOKEN_COLLAPSED,
Packit Service fb6fa5
  TOKEN_SEMI_COLLAPSED,
Packit Service fb6fa5
  TOKEN_SEMI_EXPANDED,
Packit Service fb6fa5
  TOKEN_EXPANDED,
Packit Service fb6fa5
  TOKEN_NORTH_WEST,
Packit Service fb6fa5
  TOKEN_NORTH,
Packit Service fb6fa5
  TOKEN_NORTH_EAST,
Packit Service fb6fa5
  TOKEN_WEST,
Packit Service fb6fa5
  TOKEN_EAST,
Packit Service fb6fa5
  TOKEN_SOUTH_WEST,
Packit Service fb6fa5
  TOKEN_SOUTH,
Packit Service fb6fa5
  TOKEN_SOUTH_EAST,
Packit Service fb6fa5
  TOKEN_DIRECTION,
Packit Service fb6fa5
  TOKEN_LTR,
Packit Service fb6fa5
  TOKEN_RTL
Packit Service fb6fa5
};
Packit Service fb6fa5
Packit Service fb6fa5
typedef enum
Packit Service fb6fa5
{
Packit Service fb6fa5
  COMPONENT_NORTH_WEST = 1 << 0,
Packit Service fb6fa5
  COMPONENT_NORTH      = 1 << 1,
Packit Service fb6fa5
  COMPONENT_NORTH_EAST = 1 << 2, 
Packit Service fb6fa5
  COMPONENT_WEST       = 1 << 3,
Packit Service fb6fa5
  COMPONENT_CENTER     = 1 << 4,
Packit Service fb6fa5
  COMPONENT_EAST       = 1 << 5, 
Packit Service fb6fa5
  COMPONENT_SOUTH_EAST = 1 << 6,
Packit Service fb6fa5
  COMPONENT_SOUTH      = 1 << 7,
Packit Service fb6fa5
  COMPONENT_SOUTH_WEST = 1 << 8,
Packit Service fb6fa5
  COMPONENT_ALL 	  = 1 << 9
Packit Service fb6fa5
} ThemePixbufComponent;
Packit Service fb6fa5
Packit Service fb6fa5
typedef enum {
Packit Service fb6fa5
  THEME_MATCH_GAP_SIDE        = 1 << 0,
Packit Service fb6fa5
  THEME_MATCH_ORIENTATION     = 1 << 1,
Packit Service fb6fa5
  THEME_MATCH_STATE           = 1 << 2,
Packit Service fb6fa5
  THEME_MATCH_SHADOW          = 1 << 3,
Packit Service fb6fa5
  THEME_MATCH_ARROW_DIRECTION = 1 << 4,
Packit Service fb6fa5
  THEME_MATCH_EXPANDER_STYLE  = 1 << 5,
Packit Service fb6fa5
  THEME_MATCH_WINDOW_EDGE     = 1 << 6,
Packit Service fb6fa5
  THEME_MATCH_DIRECTION       = 1 << 7
Packit Service fb6fa5
} ThemeMatchFlags;
Packit Service fb6fa5
Packit Service fb6fa5
typedef enum {
Packit Service fb6fa5
  THEME_CONSTANT_ROWS = 1 << 0,
Packit Service fb6fa5
  THEME_CONSTANT_COLS = 1 << 1,
Packit Service fb6fa5
  THEME_MISSING = 1 << 2
Packit Service fb6fa5
} ThemeRenderHints;
Packit Service fb6fa5
Packit Service fb6fa5
struct _ThemePixbuf
Packit Service fb6fa5
{
Packit Service fb6fa5
  gchar     *filename;
Packit Service fb6fa5
  GdkPixbuf *pixbuf;
Packit Service fb6fa5
  gboolean   stretch;
Packit Service fb6fa5
  gint       border_left;
Packit Service fb6fa5
  gint       border_right;
Packit Service fb6fa5
  gint       border_bottom;
Packit Service fb6fa5
  gint       border_top;
Packit Service fb6fa5
  guint      hints[3][3];
Packit Service fb6fa5
};
Packit Service fb6fa5
Packit Service fb6fa5
struct _ThemeMatchData
Packit Service fb6fa5
{
Packit Service fb6fa5
  guint            function;	/* Mandatory */
Packit Service fb6fa5
  gchar           *detail;
Packit Service fb6fa5
Packit Service fb6fa5
  ThemeMatchFlags  flags;
Packit Service fb6fa5
Packit Service fb6fa5
  GtkPositionType  gap_side;
Packit Service fb6fa5
  GtkOrientation   orientation;
Packit Service fb6fa5
  GtkStateType     state;
Packit Service fb6fa5
  GtkShadowType    shadow;
Packit Service fb6fa5
  GtkArrowType     arrow_direction;
Packit Service fb6fa5
  GtkExpanderStyle expander_style;
Packit Service fb6fa5
  GdkWindowEdge    window_edge;
Packit Service fb6fa5
  GtkTextDirection direction;
Packit Service fb6fa5
};
Packit Service fb6fa5
Packit Service fb6fa5
struct _ThemeImage
Packit Service fb6fa5
{
Packit Service fb6fa5
  guint           refcount;
Packit Service fb6fa5
Packit Service fb6fa5
  ThemePixbuf    *background;
Packit Service fb6fa5
  ThemePixbuf    *overlay;
Packit Service fb6fa5
  ThemePixbuf    *gap_start;
Packit Service fb6fa5
  ThemePixbuf    *gap;
Packit Service fb6fa5
  ThemePixbuf    *gap_end;
Packit Service fb6fa5
  
Packit Service fb6fa5
  gchar           recolorable;
Packit Service fb6fa5
Packit Service fb6fa5
  ThemeMatchData  match_data;
Packit Service fb6fa5
};
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
G_GNUC_INTERNAL ThemePixbuf *theme_pixbuf_new          (void);
Packit Service fb6fa5
G_GNUC_INTERNAL void         theme_pixbuf_destroy      (ThemePixbuf  *theme_pb);
Packit Service fb6fa5
G_GNUC_INTERNAL void         theme_clear_pixbuf        (ThemePixbuf **theme_pb);
Packit Service fb6fa5
G_GNUC_INTERNAL void         theme_pixbuf_set_filename (ThemePixbuf  *theme_pb,
Packit Service fb6fa5
					const char   *filename);
Packit Service fb6fa5
G_GNUC_INTERNAL GdkPixbuf *  theme_pixbuf_get_pixbuf   (ThemePixbuf  *theme_pb);
Packit Service fb6fa5
G_GNUC_INTERNAL void         theme_pixbuf_set_border   (ThemePixbuf  *theme_pb,
Packit Service fb6fa5
					gint          left,
Packit Service fb6fa5
					gint          right,
Packit Service fb6fa5
					gint          top,
Packit Service fb6fa5
					gint          bottom);
Packit Service fb6fa5
G_GNUC_INTERNAL void         theme_pixbuf_set_stretch  (ThemePixbuf  *theme_pb,
Packit Service fb6fa5
					gboolean      stretch);
Packit Service fb6fa5
G_GNUC_INTERNAL void         theme_pixbuf_render       (ThemePixbuf  *theme_pb,
Packit Service fb6fa5
					GdkWindow    *window,
Packit Service fb6fa5
					GdkBitmap    *mask,
Packit Service fb6fa5
					GdkRectangle *clip_rect,
Packit Service fb6fa5
					guint         component_mask,
Packit Service fb6fa5
					gboolean      center,
Packit Service fb6fa5
					gint          dest_x,
Packit Service fb6fa5
					gint          dest_y,
Packit Service fb6fa5
					gint          dest_width,
Packit Service fb6fa5
					gint          dest_height);
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
extern GtkStyleClass pixmap_default_class;