summaryrefslogtreecommitdiff
path: root/libs/clearlooks-newer/clearlooks_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/clearlooks-newer/clearlooks_types.h')
-rw-r--r--libs/clearlooks-newer/clearlooks_types.h455
1 files changed, 455 insertions, 0 deletions
diff --git a/libs/clearlooks-newer/clearlooks_types.h b/libs/clearlooks-newer/clearlooks_types.h
new file mode 100644
index 0000000000..7caf8a3208
--- /dev/null
+++ b/libs/clearlooks-newer/clearlooks_types.h
@@ -0,0 +1,455 @@
+#ifndef CLEARLOOKS_TYPES_H
+#define CLEARLOOKS_TYPES_H
+
+#include <ge-support.h>
+
+typedef unsigned char boolean;
+typedef unsigned char uint8;
+typedef struct _ClearlooksStyleFunctions ClearlooksStyleFunctions;
+
+typedef enum
+{
+ CL_STYLE_CLASSIC = 0,
+ CL_STYLE_GLOSSY = 1,
+ CL_STYLE_INVERTED = 2,
+ CL_STYLE_GUMMY = 3,
+ CL_NUM_STYLES = 4
+} ClearlooksStyles;
+
+
+typedef enum
+{
+ CL_STATE_NORMAL,
+ CL_STATE_ACTIVE,
+ CL_STATE_SELECTED,
+ CL_STATE_INSENSITIVE
+} ClearlooksStateType;
+
+typedef enum
+{
+ CL_JUNCTION_NONE = 0,
+ CL_JUNCTION_BEGIN = 1,
+ CL_JUNCTION_END = 2
+} ClearlooksJunction;
+
+typedef enum
+{
+ CL_STEPPER_UNKNOWN = 0,
+ CL_STEPPER_A = 1,
+ CL_STEPPER_B = 2,
+ CL_STEPPER_C = 4,
+ CL_STEPPER_D = 8
+} ClearlooksStepper;
+
+typedef enum
+{
+ CL_ORDER_FIRST,
+ CL_ORDER_MIDDLE,
+ CL_ORDER_LAST
+} ClearlooksOrder;
+
+typedef enum
+{
+ CL_ORIENTATION_LEFT_TO_RIGHT,
+ CL_ORIENTATION_RIGHT_TO_LEFT,
+ CL_ORIENTATION_BOTTOM_TO_TOP,
+ CL_ORIENTATION_TOP_TO_BOTTOM
+} ClearlooksOrientation;
+
+typedef enum
+{
+ CL_GAP_LEFT,
+ CL_GAP_RIGHT,
+ CL_GAP_TOP,
+ CL_GAP_BOTTOM
+} ClearlooksGapSide;
+
+typedef enum
+{
+ CL_SHADOW_NONE,
+ CL_SHADOW_IN,
+ CL_SHADOW_OUT,
+ CL_SHADOW_ETCHED_IN,
+ CL_SHADOW_ETCHED_OUT
+} ClearlooksShadowType;
+
+typedef enum
+{
+ CL_HANDLE_TOOLBAR,
+ CL_HANDLE_SPLITTER
+} ClearlooksHandleType;
+
+typedef enum
+{
+ CL_ARROW_NORMAL,
+ CL_ARROW_COMBO
+} ClearlooksArrowType;
+
+typedef enum
+{
+ CL_DIRECTION_UP,
+ CL_DIRECTION_DOWN,
+ CL_DIRECTION_LEFT,
+ CL_DIRECTION_RIGHT
+} ClearlooksDirection;
+
+typedef enum
+{
+ CL_PROGRESSBAR_CONTINUOUS,
+ CL_PROGRESSBAR_DISCRETE
+} ClearlooksProgressBarStyle;
+
+typedef enum
+{
+ CL_WINDOW_EDGE_NORTH_WEST,
+ CL_WINDOW_EDGE_NORTH,
+ CL_WINDOW_EDGE_NORTH_EAST,
+ CL_WINDOW_EDGE_WEST,
+ CL_WINDOW_EDGE_EAST,
+ CL_WINDOW_EDGE_SOUTH_WEST,
+ CL_WINDOW_EDGE_SOUTH,
+ CL_WINDOW_EDGE_SOUTH_EAST
+} ClearlooksWindowEdge;
+
+typedef struct
+{
+ double x;
+ double y;
+ double width;
+ double height;
+} ClearlooksRectangle;
+
+typedef struct
+{
+ CairoColor fg[5];
+ CairoColor bg[5];
+ CairoColor base[5];
+ CairoColor text[5];
+
+ CairoColor shade[9];
+ CairoColor spot[3];
+} ClearlooksColors;
+
+typedef struct
+{
+ boolean active;
+ boolean prelight;
+ boolean disabled;
+ boolean focus;
+ boolean is_default;
+ boolean ltr;
+ boolean enable_glow;
+
+ gfloat radius;
+
+ ClearlooksStateType state_type;
+
+ uint8 corners;
+ uint8 xthickness;
+ uint8 ythickness;
+
+ CairoColor parentbg;
+
+ ClearlooksStyleFunctions *style_functions;
+} WidgetParameters;
+
+typedef struct
+{
+ boolean lower;
+ boolean horizontal;
+ boolean fill_level;
+} SliderParameters;
+
+typedef struct
+{
+ ClearlooksOrientation orientation;
+ boolean pulsing;
+ float value;
+} ProgressBarParameters;
+
+typedef struct
+{
+ int linepos;
+} OptionMenuParameters;
+
+typedef struct
+{
+ ClearlooksShadowType shadow;
+ ClearlooksGapSide gap_side;
+ int gap_x;
+ int gap_width;
+ const CairoColor *border; /* maybe changes this to some other hint ... */
+} FrameParameters;
+
+typedef struct
+{
+ ClearlooksGapSide gap_side;
+} TabParameters;
+
+typedef struct
+{
+ CairoCorners corners;
+ ClearlooksShadowType shadow;
+} ShadowParameters;
+
+typedef struct
+{
+ boolean horizontal;
+} SeparatorParameters;
+
+typedef struct
+{
+ ClearlooksOrder order; /* XXX: rename to position */
+ boolean resizable;
+} ListViewHeaderParameters;
+
+typedef struct
+{
+ CairoColor color;
+ ClearlooksJunction junction; /* On which sides the slider junctions */
+ boolean horizontal;
+ boolean has_color;
+} ScrollBarParameters;
+
+typedef struct
+{
+ ClearlooksHandleType type;
+ boolean horizontal;
+} HandleParameters;
+
+typedef struct
+{
+ ClearlooksStepper stepper; /* Which stepper to draw */
+} ScrollBarStepperParameters;
+
+typedef struct
+{
+ ClearlooksWindowEdge edge;
+} ResizeGripParameters;
+
+typedef struct
+{
+ int style;
+} MenuBarParameters;
+
+typedef struct
+{
+ ClearlooksShadowType shadow_type;
+ boolean in_cell;
+ boolean in_menu;
+} CheckboxParameters;
+
+typedef struct
+{
+ ClearlooksArrowType type;
+ ClearlooksDirection direction;
+} ArrowParameters;
+
+typedef struct
+{
+ int style;
+ boolean topmost;
+} ToolbarParameters;
+
+struct _ClearlooksStyleFunctions
+{
+ void (*draw_button) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ int x, int y, int width, int height);
+
+ void (*draw_scale_trough) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const SliderParameters *slider,
+ int x, int y, int width, int height);
+
+ void (*draw_progressbar_trough) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ int x, int y, int width, int height);
+
+ void (*draw_progressbar_fill) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const ProgressBarParameters *progressbar,
+ int x, int y, int width, int height, gint offset);
+
+ void (*draw_slider_button) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const SliderParameters *slider,
+ int x, int y, int width, int height);
+
+ void (*draw_entry) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ int x, int y, int width, int height);
+
+ void (*draw_spinbutton) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ int x, int y, int width, int height);
+
+ void (*draw_spinbutton_down) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ int x, int y, int width, int height);
+
+ void (*draw_optionmenu) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const OptionMenuParameters *optionmenu,
+ int x, int y, int width, int height);
+
+ void (*draw_inset) (cairo_t *cr,
+ const CairoColor *bg_color,
+ double x, double y, double w, double h,
+ double radius, uint8 corners);
+
+ void (*draw_menubar) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const MenuBarParameters *menubar,
+ int x, int y, int width, int height);
+
+ void (*draw_tab) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const TabParameters *tab,
+ int x, int y, int width, int height);
+
+ void (*draw_frame) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const FrameParameters *frame,
+ int x, int y, int width, int height);
+
+ void (*draw_separator) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const SeparatorParameters *separator,
+ int x, int y, int width, int height);
+
+ void (*draw_menu_item_separator) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const SeparatorParameters *separator,
+ int x, int y, int width, int height);
+
+ void (*draw_list_view_header) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const ListViewHeaderParameters *header,
+ int x, int y, int width, int height);
+
+ void (*draw_toolbar) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const ToolbarParameters *toolbar,
+ int x, int y, int width, int height);
+
+ void (*draw_menuitem) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ int x, int y, int width, int height);
+
+ void (*draw_menubaritem) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ int x, int y, int width, int height);
+
+ void (*draw_selected_cell) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ int x, int y, int width, int height);
+
+ void (*draw_scrollbar_stepper) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const ScrollBarParameters *scrollbar,
+ const ScrollBarStepperParameters *stepper,
+ int x, int y, int width, int height);
+
+ void (*draw_scrollbar_slider) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const ScrollBarParameters *scrollbar,
+ int x, int y, int width, int height);
+
+ void (*draw_scrollbar_trough) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const ScrollBarParameters *scrollbar,
+ int x, int y, int width, int height);
+
+ void (*draw_statusbar) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ int x, int y, int width, int height);
+
+ void (*draw_menu_frame) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ int x, int y, int width, int height);
+
+ void (*draw_tooltip) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ int x, int y, int width, int height);
+
+ void (*draw_handle) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const HandleParameters *handle,
+ int x, int y, int width, int height);
+
+ void (*draw_resize_grip) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const ResizeGripParameters *grip,
+ int x, int y, int width, int height);
+
+ void (*draw_arrow) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const ArrowParameters *arrow,
+ int x, int y, int width, int height);
+
+ void (*draw_checkbox) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const CheckboxParameters *checkbox,
+ int x, int y, int width, int height);
+
+ void (*draw_radiobutton) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ const CheckboxParameters *checkbox,
+ int x, int y, int width, int height);
+
+ /* Style internal functions */
+ /* XXX: Only used by slider_button, inline it? */
+ void (*draw_shadow) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ gfloat radius,
+ int width, int height);
+
+ void (*draw_slider) (cairo_t *cr,
+ const ClearlooksColors *colors,
+ const WidgetParameters *widget,
+ int x, int y, int width, int height);
+
+ void (*draw_gripdots) (cairo_t *cr,
+ const ClearlooksColors *colors, int x, int y,
+ int width, int height, int xr, int yr,
+ float contrast);
+};
+
+
+#define CLEARLOOKS_RECTANGLE_SET(rect, _x, _y, _w, _h) rect.x = _x; \
+ rect.y = _y; \
+ rect.width = _w; \
+ rect.height = _h;
+
+#endif /* CLEARLOOKS_TYPES_H */