Logo Search packages:      
Sourcecode: ardour version File versions

clearlooks_draw.h

#ifndef CLEARLOOKS_DRAW_H
#define CLEARLOOKS_DRAW_H

#include <gtk/gtk.h>
#include <gdk/gdk.h>

typedef struct 
{
      GdkColor *from;
      GdkColor *to;
} CLGradient;

typedef enum
{
      CL_GRADIENT_NONE,
      CL_GRADIENT_HORIZONTAL,
      CL_GRADIENT_VERTICAL
} CLGradientType;

typedef struct
{
      CLGradient      fill_gradient;
      CLGradient      border_gradient;
      
      CLGradientType  gradient_type;
      
      GdkGC          *bordergc;
      GdkGC          *fillgc;

      guint8          corners[4];
      
      GdkGC          *topleft;            /* top + left shadow */
      GdkGC          *bottomright;  /* bottom + right shadow */
      
      GdkColor        tmp_color;          /* used for gradient */
} CLRectangle;

typedef enum /* DON'T CHANGE THE ORDER! */
{
      CL_CORNER_TOPRIGHT,
      CL_CORNER_BOTTOMRIGHT,
      CL_CORNER_BOTTOMLEFT,
      CL_CORNER_TOPLEFT
} CLCornerSide;

typedef enum /* DON'T CHANGE THE ORDER! */
{
      CL_BORDER_TOP,
      CL_BORDER_RIGHT,
      CL_BORDER_BOTTOM,
      CL_BORDER_LEFT
} CLBorderType;

typedef enum
{
      CL_CORNER_NONE   = 0,
      CL_CORNER_NARROW = 1,
      CL_CORNER_ROUND  = 2
} CLCornerSharpness;



CLRectangle *cl_rectangle_new(GdkGC *fillgc, GdkGC *bordergc,
                              int tl, int tr, int bl, int br);

void cl_draw_rectangle (GdkWindow *window, GtkWidget *widget, GtkStyle *style,
                        int x, int y, int width, int height, CLRectangle *r);

void cl_rectangle_set_color (CLGradient *g, GdkColor *color);
void cl_rectangle_set_gradient (CLGradient *g, GdkColor *from, GdkColor *to);

void cl_rectangle_set_button (CLRectangle *r, GtkStyle *style,
                             GtkStateType state_type, gboolean hasdefault, gboolean has_focus,
                             CLBorderType tl, CLBorderType tr,
                             CLBorderType bl, CLBorderType br);

void cl_rectangle_set_entry (CLRectangle *r, GtkStyle *style,
                            GtkStateType state_type,
                            CLBorderType tl, CLBorderType tr,
                            CLBorderType bl, CLBorderType br,
                            gboolean has_focus);
                                          
void cl_draw_shadow(GdkWindow *window, GtkWidget *widget, GtkStyle *style,
                    int x, int y, int width, int height, CLRectangle *r);

void cl_rectangle_set_clip_rectangle (CLRectangle *r, GdkRectangle *area);
void cl_rectangle_reset_clip_rectangle (CLRectangle *r);

void cl_set_corner_sharpness (const gchar *detail, GtkWidget *widget, CLRectangle *r);


void cl_rectangle_set_corners (CLRectangle *r, int tl, int tr, int bl, int br);

void cl_rectangle_init (CLRectangle *r, GdkGC *fillgc, GdkGC *bordergc,
                        int tl, int tr, int bl, int br);

void cl_rectangle_reset (CLRectangle *r, GtkStyle *style);


GdkPixmap* cl_progressbar_tile_new (GdkDrawable *drawable, GtkWidget *widget,
                              GtkStyle *style, gint height, gint offset);
                        
void cl_progressbar_fill (GdkDrawable *drawable, GtkWidget *widget,
                          GtkStyle *style, GdkGC *gc,
                          gint x, gint y, gint width, gint height,
                                      guint8 offset, GdkRectangle *area);
                                      
GdkColor cl_gc_set_fg_color_shade (GdkGC *gc, GdkColormap *colormap, 
                                   GdkColor *from, gfloat s);

void cl_draw_spinbutton(GtkStyle *style, GdkWindow *window,
                        GtkStateType state_type, GtkShadowType shadow_type,
                        GdkRectangle *area,
                        GtkWidget *widget, const gchar *detail,
                        gint x, gint y, gint width, gint height);
                                    
void cl_draw_button(GtkStyle *style, GdkWindow *window,
                    GtkStateType state_type, GtkShadowType shadow_type,
                    GdkRectangle *area,
                    GtkWidget *widget, const gchar *detail,
                    gint x, gint y, gint width, gint height);
                              
void cl_draw_entry (GtkStyle *style, GdkWindow *window,
                    GtkStateType state_type, GtkShadowType shadow_type,
                    GdkRectangle *area,
                    GtkWidget *widget, const gchar *detail,
                    gint x, gint y, gint width, gint height);
                              
void cl_draw_combobox_entry (GtkStyle *style, GdkWindow *window,
                             GtkStateType state_type, GtkShadowType shadow_type,
                             GdkRectangle *area,
                             GtkWidget *widget, const gchar *detail,
                             gint x, gint y, gint width, gint height);
            
void cl_draw_combobox_button (GtkStyle *style, GdkWindow *window,
                             GtkStateType state_type, GtkShadowType shadow_type,
                             GdkRectangle *area,
                             GtkWidget *widget, const gchar *detail,
                             gint x, gint y, gint width, gint height);
                                           
void cl_draw_menuitem_button (GdkDrawable *window, GtkWidget *widget, GtkStyle *style,
                              GdkRectangle *area, GtkStateType state_type, 
                              int x, int y, int wiidth, int height, CLRectangle *r);

void cl_draw_menuitem_flat (GdkDrawable *window, GtkWidget *widget, GtkStyle *style,
                            GdkRectangle *area, GtkStateType state_type, 
                            int x, int y, int wiidth, int height, CLRectangle *r);
                            
void cl_draw_menuitem_gradient (GdkDrawable *window, GtkWidget *widget, GtkStyle *style,
                                GdkRectangle *area, GtkStateType state_type, 
                                int x, int y, int wiidth, int height, CLRectangle *r);
                                            
void cl_draw_treeview_header (GtkStyle *style, GdkWindow *window,
                              GtkStateType state_type, GtkShadowType shadow_type,
                              GdkRectangle *area,
                              GtkWidget *widget, const gchar *detail,
                              gint x, gint y, gint width, gint height);
                                            
#endif /* CLEARLOOKS_DRAW_H */

Generated by  Doxygen 1.6.0   Back to index