aboutsummaryrefslogtreecommitdiffstats
path: root/eazel-engine/src/eazel-theme.h
diff options
context:
space:
mode:
Diffstat (limited to 'eazel-engine/src/eazel-theme.h')
-rw-r--r--eazel-engine/src/eazel-theme.h383
1 files changed, 0 insertions, 383 deletions
diff --git a/eazel-engine/src/eazel-theme.h b/eazel-engine/src/eazel-theme.h
deleted file mode 100644
index baa177e..0000000
--- a/eazel-engine/src/eazel-theme.h
+++ /dev/null
@@ -1,383 +0,0 @@
-/* eazel-theme.h -- definitions
-
- Copyright (C) 2000 Eazel, Inc.
-
- 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.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- $Id: eazel-theme.h,v 1.16 2001/01/27 01:19:39 jsh Exp $
-
- Authors: John Harper <jsh@eazel.com> */
-
-#ifndef EAZEL_THEME_H
-#define EAZEL_THEME_H
-
-#include <gtk/gtk.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-
-#define RANGE_WIDTH 15
-#define MIN_THUMB_HEIGHT 24
-#define SCALE_HEIGHT 16
-#define CHECK_SIZE 10
-#define CHECK_SPACING 3
-
-
-/* parser / per-engine data */
-
-enum {
- TOKEN_THICKNESS = GTK_RC_TOKEN_LAST + 1,
- TOKEN_FOCUS_THICKNESS,
- TOKEN_DEFAULT_THICKNESS,
- TOKEN_FOCUS_COLOR,
- TOKEN_INSENSITIVE_COLORS,
- TOKEN_NONE,
- TOKEN_VERTICAL,
- TOKEN_HORIZONTAL,
- TOKEN_GRADIENT,
- TOKEN_SHADOW,
- TOKEN_INVERSE_SHADOW,
- TOKEN_OUTLINE_SHADOW,
- TOKEN_YES,
- TOKEN_NO,
- TOKEN_STOCK,
- TOKEN_BORDER,
- TOKEN_RECOLOR,
- TOKEN_PALETTE,
- TOKEN_IMAGE,
- TOKEN_FG,
- TOKEN_BG,
- TOKEN_BASE,
- TOKEN_TEXT,
-};
-
-#define THEME_SYMBOLS \
- { "thickness", TOKEN_THICKNESS }, \
- { "focus_thickness", TOKEN_FOCUS_THICKNESS }, \
- { "default_thickness", TOKEN_DEFAULT_THICKNESS }, \
- { "focus_color", TOKEN_FOCUS_COLOR }, \
- { "insensitive_colors", TOKEN_INSENSITIVE_COLORS }, \
- { "none", TOKEN_NONE }, \
- { "vertical", TOKEN_VERTICAL }, \
- { "horizontal", TOKEN_HORIZONTAL }, \
- { "gradient", TOKEN_GRADIENT }, \
- { "shadow", TOKEN_SHADOW }, \
- { "inverse_shadow", TOKEN_INVERSE_SHADOW }, \
- { "outline_shadow", TOKEN_OUTLINE_SHADOW }, \
- { "yes", TOKEN_YES }, \
- { "no", TOKEN_NO }, \
- { "stock", TOKEN_STOCK }, \
- { "border", TOKEN_BORDER }, \
- { "recolor", TOKEN_RECOLOR }, \
- { "palette", TOKEN_PALETTE }, \
- { "image", TOKEN_IMAGE }, \
- { "fg", TOKEN_FG }, \
- { "bg", TOKEN_BG }, \
- { "base", TOKEN_BASE }, \
- { "text", TOKEN_TEXT }, \
- { 0, G_TOKEN_NONE }
-
-typedef enum {
- GRADIENT_NONE = 0,
- GRADIENT_VERTICAL,
- GRADIENT_HORIZONTAL,
-} eazel_engine_gradient_direction;
-
-typedef enum {
- EAZEL_ENGINE_CHECK = 0,
- EAZEL_ENGINE_CHECK_FOCUS,
- EAZEL_ENGINE_CHECK_HI,
- EAZEL_ENGINE_CHECK_HI_FOCUS,
- EAZEL_ENGINE_CHECK_PRESSED,
- EAZEL_ENGINE_CHECK_PRESSED_FOCUS,
- EAZEL_ENGINE_CHECK_DISABLED,
- EAZEL_ENGINE_CHECK_ACTIVE,
- EAZEL_ENGINE_CHECK_ACTIVE_FOCUS,
- EAZEL_ENGINE_CHECK_ACTIVE_HI,
- EAZEL_ENGINE_CHECK_ACTIVE_HI_FOCUS,
- EAZEL_ENGINE_CHECK_ACTIVE_PRESSED,
- EAZEL_ENGINE_CHECK_ACTIVE_PRESSED_FOCUS,
- EAZEL_ENGINE_CHECK_ACTIVE_DISABLED,
- EAZEL_ENGINE_OPTION,
- EAZEL_ENGINE_OPTION_FOCUS,
- EAZEL_ENGINE_OPTION_HI,
- EAZEL_ENGINE_OPTION_HI_FOCUS,
- EAZEL_ENGINE_OPTION_PRESSED,
- EAZEL_ENGINE_OPTION_PRESSED_FOCUS,
- EAZEL_ENGINE_OPTION_DISABLED,
- EAZEL_ENGINE_OPTION_ACTIVE,
- EAZEL_ENGINE_OPTION_ACTIVE_FOCUS,
- EAZEL_ENGINE_OPTION_ACTIVE_HI,
- EAZEL_ENGINE_OPTION_ACTIVE_HI_FOCUS,
- EAZEL_ENGINE_OPTION_ACTIVE_PRESSED,
- EAZEL_ENGINE_OPTION_ACTIVE_PRESSED_FOCUS,
- EAZEL_ENGINE_OPTION_ACTIVE_DISABLED,
- EAZEL_ENGINE_H_TROUGH,
- EAZEL_ENGINE_V_TROUGH,
- EAZEL_ENGINE_ARROW_UP,
- EAZEL_ENGINE_ARROW_UP_HI,
- EAZEL_ENGINE_ARROW_UP_ACTIVE,
- EAZEL_ENGINE_ARROW_DOWN,
- EAZEL_ENGINE_ARROW_DOWN_HI,
- EAZEL_ENGINE_ARROW_DOWN_ACTIVE,
- EAZEL_ENGINE_ARROW_RIGHT,
- EAZEL_ENGINE_ARROW_RIGHT_HI,
- EAZEL_ENGINE_ARROW_RIGHT_ACTIVE,
- EAZEL_ENGINE_ARROW_LEFT,
- EAZEL_ENGINE_ARROW_LEFT_HI,
- EAZEL_ENGINE_ARROW_LEFT_ACTIVE,
- EAZEL_ENGINE_H_SCROLLBAR,
- EAZEL_ENGINE_H_SCROLLBAR_HI,
- EAZEL_ENGINE_H_SCROLLBAR_INACTIVE,
- EAZEL_ENGINE_H_SCROLLBAR_THUMB,
- EAZEL_ENGINE_H_SCROLLBAR_THUMB_HI,
- EAZEL_ENGINE_H_SCROLLBAR_THUMB_INACTIVE,
- EAZEL_ENGINE_V_SCROLLBAR,
- EAZEL_ENGINE_V_SCROLLBAR_HI,
- EAZEL_ENGINE_V_SCROLLBAR_INACTIVE,
- EAZEL_ENGINE_V_SCROLLBAR_THUMB,
- EAZEL_ENGINE_V_SCROLLBAR_THUMB_HI,
- EAZEL_ENGINE_V_SCROLLBAR_THUMB_INACTIVE,
- EAZEL_ENGINE_PROGRESS_BAR,
- EAZEL_ENGINE_PROGRESS_BAR_LEFT,
- EAZEL_ENGINE_PROGRESS_BAR_RIGHT,
- EAZEL_ENGINE_PROGRESS_BAR_INACTIVE,
- EAZEL_ENGINE_PROGRESS_TROUGH,
- EAZEL_ENGINE_H_SLIDER_THUMB,
- EAZEL_ENGINE_H_SLIDER_THUMB_INACTIVE,
- EAZEL_ENGINE_H_SLIDER_TROUGH,
- EAZEL_ENGINE_H_SLIDER_TROUGH_ACTIVE,
- EAZEL_ENGINE_V_SLIDER_THUMB,
- EAZEL_ENGINE_V_SLIDER_THUMB_INACTIVE,
- EAZEL_ENGINE_V_SLIDER_TROUGH,
- EAZEL_ENGINE_V_SLIDER_TROUGH_ACTIVE,
- EAZEL_ENGINE_TAB_TOP,
- EAZEL_ENGINE_TAB_TOP_LEFT,
- EAZEL_ENGINE_TAB_TOP_ACTIVE,
- EAZEL_ENGINE_TAB_BOTTOM,
- EAZEL_ENGINE_TAB_BOTTOM_LEFT,
- EAZEL_ENGINE_TAB_BOTTOM_ACTIVE,
- EAZEL_ENGINE_SPIN_ARROW_UP,
- EAZEL_ENGINE_SPIN_ARROW_DOWN,
- EAZEL_ENGINE_STOCK_MAX,
-} eazel_engine_stock_image;
-
-#define STOCK_SYMBOLS \
- { "CHECK", EAZEL_ENGINE_CHECK }, \
- { "CHECK_FOCUS", EAZEL_ENGINE_CHECK_FOCUS }, \
- { "CHECK_HI", EAZEL_ENGINE_CHECK_HI }, \
- { "CHECK_HI_FOCUS", EAZEL_ENGINE_CHECK_HI_FOCUS }, \
- { "CHECK_PRESSED", EAZEL_ENGINE_CHECK_PRESSED }, \
- { "CHECK_PRESSED_FOCUS", EAZEL_ENGINE_CHECK_PRESSED_FOCUS }, \
- { "CHECK_DISABLED", EAZEL_ENGINE_CHECK_DISABLED }, \
- { "CHECK_ACTIVE", EAZEL_ENGINE_CHECK_ACTIVE }, \
- { "CHECK_ACTIVE_FOCUS", EAZEL_ENGINE_CHECK_ACTIVE_FOCUS }, \
- { "CHECK_ACTIVE_HI", EAZEL_ENGINE_CHECK_ACTIVE_HI }, \
- { "CHECK_ACTIVE_HI_FOCUS", EAZEL_ENGINE_CHECK_ACTIVE_HI_FOCUS }, \
- { "CHECK_ACTIVE_PRESSED", EAZEL_ENGINE_CHECK_ACTIVE_PRESSED }, \
- { "CHECK_ACTIVE_PRESSED_FOCUS", EAZEL_ENGINE_CHECK_ACTIVE_PRESSED_FOCUS }, \
- { "CHECK_ACTIVE_DISABLED", EAZEL_ENGINE_CHECK_ACTIVE_DISABLED }, \
- { "OPTION", EAZEL_ENGINE_OPTION }, \
- { "OPTION_FOCUS", EAZEL_ENGINE_OPTION_FOCUS }, \
- { "OPTION_HI", EAZEL_ENGINE_OPTION_HI }, \
- { "OPTION_HI_FOCUS", EAZEL_ENGINE_OPTION_HI_FOCUS }, \
- { "OPTION_PRESSED", EAZEL_ENGINE_OPTION_PRESSED }, \
- { "OPTION_PRESSED_FOCUS", EAZEL_ENGINE_OPTION_PRESSED_FOCUS }, \
- { "OPTION_DISABLED", EAZEL_ENGINE_OPTION_DISABLED }, \
- { "OPTION_ACTIVE", EAZEL_ENGINE_OPTION_ACTIVE }, \
- { "OPTION_ACTIVE_FOCUS", EAZEL_ENGINE_OPTION_ACTIVE_FOCUS }, \
- { "OPTION_ACTIVE_HI", EAZEL_ENGINE_OPTION_ACTIVE_HI }, \
- { "OPTION_ACTIVE_HI_FOCUS", EAZEL_ENGINE_OPTION_ACTIVE_HI_FOCUS }, \
- { "OPTION_ACTIVE_PRESSED", EAZEL_ENGINE_OPTION_ACTIVE_PRESSED }, \
- { "OPTION_ACTIVE_PRESSED_FOCUS", EAZEL_ENGINE_OPTION_ACTIVE_PRESSED_FOCUS }, \
- { "OPTION_ACTIVE_DISABLED", EAZEL_ENGINE_OPTION_ACTIVE_DISABLED }, \
- { "H_TROUGH", EAZEL_ENGINE_H_TROUGH }, \
- { "V_TROUGH", EAZEL_ENGINE_V_TROUGH }, \
- { "ARROW_UP", EAZEL_ENGINE_ARROW_UP }, \
- { "ARROW_UP_HI", EAZEL_ENGINE_ARROW_UP_HI }, \
- { "ARROW_UP_ACTIVE", EAZEL_ENGINE_ARROW_UP_ACTIVE }, \
- { "ARROW_DOWN", EAZEL_ENGINE_ARROW_DOWN }, \
- { "ARROW_DOWN_HI", EAZEL_ENGINE_ARROW_DOWN_HI }, \
- { "ARROW_DOWN_ACTIVE", EAZEL_ENGINE_ARROW_DOWN_ACTIVE }, \
- { "ARROW_RIGHT", EAZEL_ENGINE_ARROW_RIGHT }, \
- { "ARROW_RIGHT_HI", EAZEL_ENGINE_ARROW_RIGHT_HI }, \
- { "ARROW_RIGHT_ACTIVE", EAZEL_ENGINE_ARROW_RIGHT_ACTIVE }, \
- { "ARROW_LEFT", EAZEL_ENGINE_ARROW_LEFT }, \
- { "ARROW_LEFT_HI", EAZEL_ENGINE_ARROW_LEFT_HI }, \
- { "ARROW_LEFT_ACTIVE", EAZEL_ENGINE_ARROW_LEFT_ACTIVE }, \
- { "H_SCROLLBAR", EAZEL_ENGINE_H_SCROLLBAR }, \
- { "H_SCROLLBAR_HI", EAZEL_ENGINE_H_SCROLLBAR_HI }, \
- { "H_SCROLLBAR_INACTIVE", EAZEL_ENGINE_H_SCROLLBAR_INACTIVE }, \
- { "H_SCROLLBAR_THUMB", EAZEL_ENGINE_H_SCROLLBAR_THUMB }, \
- { "H_SCROLLBAR_THUMB_HI", EAZEL_ENGINE_H_SCROLLBAR_THUMB_HI }, \
- { "H_SCROLLBAR_THUMB_INACTIVE", EAZEL_ENGINE_H_SCROLLBAR_THUMB_INACTIVE }, \
- { "V_SCROLLBAR", EAZEL_ENGINE_V_SCROLLBAR }, \
- { "V_SCROLLBAR_HI", EAZEL_ENGINE_V_SCROLLBAR_HI }, \
- { "V_SCROLLBAR_INACTIVE", EAZEL_ENGINE_V_SCROLLBAR_INACTIVE }, \
- { "V_SCROLLBAR_THUMB", EAZEL_ENGINE_V_SCROLLBAR_THUMB }, \
- { "V_SCROLLBAR_THUMB_HI", EAZEL_ENGINE_V_SCROLLBAR_THUMB_HI }, \
- { "V_SCROLLBAR_THUMB_INACTIVE", EAZEL_ENGINE_V_SCROLLBAR_THUMB_INACTIVE }, \
- { "PROGRESS_BAR", EAZEL_ENGINE_PROGRESS_BAR }, \
- { "PROGRESS_BAR_LEFT", EAZEL_ENGINE_PROGRESS_BAR_LEFT }, \
- { "PROGRESS_BAR_RIGHT", EAZEL_ENGINE_PROGRESS_BAR_RIGHT }, \
- { "PROGRESS_BAR_INACTIVE", EAZEL_ENGINE_PROGRESS_BAR_INACTIVE }, \
- { "PROGRESS_TROUGH", EAZEL_ENGINE_PROGRESS_TROUGH }, \
- { "H_SLIDER_THUMB", EAZEL_ENGINE_H_SLIDER_THUMB }, \
- { "H_SLIDER_THUMB_INACTIVE", EAZEL_ENGINE_H_SLIDER_THUMB_INACTIVE }, \
- { "H_SLIDER_TROUGH", EAZEL_ENGINE_H_SLIDER_TROUGH }, \
- { "H_SLIDER_TROUGH_ACTIVE", EAZEL_ENGINE_H_SLIDER_TROUGH_ACTIVE }, \
- { "V_SLIDER_THUMB", EAZEL_ENGINE_V_SLIDER_THUMB }, \
- { "V_SLIDER_THUMB_INACTIVE", EAZEL_ENGINE_V_SLIDER_THUMB_INACTIVE }, \
- { "V_SLIDER_TROUGH", EAZEL_ENGINE_V_SLIDER_TROUGH }, \
- { "V_SLIDER_TROUGH_ACTIVE", EAZEL_ENGINE_V_SLIDER_TROUGH_ACTIVE }, \
- { "TAB_TOP", EAZEL_ENGINE_TAB_TOP }, \
- { "TAB_TOP_LEFT", EAZEL_ENGINE_TAB_TOP_LEFT }, \
- { "TAB_TOP_ACTIVE", EAZEL_ENGINE_TAB_TOP_ACTIVE }, \
- { "TAB_BOTTOM", EAZEL_ENGINE_TAB_BOTTOM }, \
- { "TAB_BOTTOM_LEFT", EAZEL_ENGINE_TAB_BOTTOM_LEFT }, \
- { "TAB_BOTTOM_ACTIVE", EAZEL_ENGINE_TAB_BOTTOM_ACTIVE }, \
- { "SPIN_ARROW_UP", EAZEL_ENGINE_SPIN_ARROW_UP }, \
- { "SPIN_ARROW_DOWN", EAZEL_ENGINE_SPIN_ARROW_DOWN }, \
- { 0, 0 }
-
-typedef struct eazel_engine_gradient_component_struct eazel_engine_gradient_component;
-struct eazel_engine_gradient_component_struct {
- GdkColor color;
- float weight;
-};
-
-typedef struct {
- guint refcount;
- eazel_engine_gradient_direction direction;
- GdkColor from;
- GSList *components;
-} eazel_engine_gradient;
-
-typedef struct pixmap_cache_node_struct eazel_engine_pixmap_cache_node;
-
-typedef struct {
- char *filename;
- int border[4];
- eazel_engine_gradient *recolor;
- GdkPixbuf *pixbuf;
- eazel_engine_pixmap_cache_node *pixmap_first, *pixmap_last;
-} eazel_engine_image;
-
-typedef struct {
- int ref_count;
- eazel_engine_image images[EAZEL_ENGINE_STOCK_MAX];
-} eazel_engine_stock_table;
-
-#define EAZEL_ENGINE_PALETTE_SIZE 4
-
-/* Information about a single RC style */
-typedef struct {
- guint refcount;
-
- guint thickness;
- guint focus_thickness;
- guint default_thickness;
-
- guint no_shadow : 1;
- guint inverse_shadow : 1;
- guint outline_shadow : 1;
-
- GdkColor focus_color;
- GdkColor insensitive_colors[2]; /* inner, outer */
-
- eazel_engine_gradient *palette[EAZEL_ENGINE_PALETTE_SIZE];
-
- /* for each GTK widget state */
- eazel_engine_gradient *gradients[5];
-
- eazel_engine_stock_table *stock;
-
-} eazel_theme_data;
-
-#define DEFAULT_THEME_DATA { \
- 0, 2, 2, 3, FALSE, FALSE, TRUE, \
- { 0, 0x4a4a, 0x7d7d, 0x8484 }, \
- { { 0, 0x6363, 0x6565, 0x6363 }, \
- { 0, 0xcfcf, 0xd0d0, 0xcfcf } }, \
- }
-
-#define STYLE_THEME_DATA(s) ((eazel_theme_data *) ((s)->engine_data))
-
-
-/* prototypes */
-
-/* from eazel-theme-main.c */
-extern gboolean eazel_engine_widget_in_focused_window_p (GtkWidget *widget);
-extern void theme_init (GtkThemeEngine *engine);
-extern void theme_exit (void);
-
-/* from eazel-theme-draw.c */
-extern GtkStyleClass eazel_class_0, eazel_class_1, eazel_class_2, eazel_class_3;
-
-/* from eazel-theme-gradient.c */
-extern eazel_engine_gradient *eazel_engine_gradient_new (eazel_engine_gradient_direction direction,
- GdkColor *from,
- GSList *components);
-extern eazel_engine_gradient *eazel_engine_gradient_ref (eazel_engine_gradient *g);
-extern void eazel_engine_gradient_unref (eazel_engine_gradient *g);
-extern eazel_engine_gradient *eazel_engine_make_two_point_gradient (eazel_engine_gradient_direction direction,
- gulong from_rgb,
- gulong to_rgb);
-
-extern void eazel_engine_fill_gradient_rgb_buffer (const eazel_engine_gradient *gradient,
- int rgb_total, guchar *rgb_buf,
- int rgb_first, int rgb_last);
-
-extern void eazel_engine_draw_gradient (GdkDrawable *drawable,
- GdkGC *gc,
- const GdkRectangle *full_rect,
- const GdkRectangle *clip_rect,
- const eazel_engine_gradient *gradient);
-
-extern void eazel_engine_set_bg_gradient (GdkWindow *window,
- eazel_engine_gradient *gradient);
-
-/* from eazel-theme-shadow.c */
-extern void eazel_engine_draw_shadow (GtkStyle *style,
- GdkWindow *window,
- GtkStateType state_type,
- GtkShadowType shadow_type,
- GdkRectangle *area,
- GtkWidget *widget,
- gchar *detail,
- gint x, gint y, gint width, gint height);
-
-/* from eazel-theme-pixmaps.c */
-extern void eazel_engine_stock_table_unref (eazel_engine_stock_table *table);
-extern eazel_engine_stock_table *eazel_engine_stock_table_ref (eazel_engine_stock_table *table);
-extern void eazel_engine_stock_pixmap_and_mask (eazel_engine_stock_table *table,
- eazel_engine_stock_image type,
- GdkPixmap **image,
- GdkBitmap **mask);
-extern void eazel_engine_stock_pixmap_and_mask_scaled (eazel_engine_stock_table *table,
- eazel_engine_stock_image type,
- int width, int height,
- GdkPixmap **image,
- GdkBitmap **mask);
-extern void eazel_engine_stock_free_pixmaps (eazel_engine_stock_table *table,
- eazel_engine_stock_image type,
- GdkPixmap *image, GdkPixmap *mask);
-extern void eazel_engine_stock_get_size (eazel_engine_stock_table *table,
- eazel_engine_stock_image type,
- int *width, int *height);
-
-/* from eazel-theme-hacks.c */
-extern void eazel_engine_install_hacks (void);
-extern void eazel_engine_remove_hacks (void);
-
-#endif /* EAZEL_THEME_H */