Logo Search packages:      
Sourcecode: ardour version File versions  Download package

clearlooks_types.h

#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 */

Generated by  Doxygen 1.6.0   Back to index