skin

skin

Synopsis




#define             BMP_DEFAULT_SKIN_PATH
enum                SkinPixmapId;
enum                SkinMaskId;
enum                SkinColorId;
                    SkinProperties;
#define             SKIN_PIXMAP                         (x)
                    SkinPixmap;
#define             SKIN                                (x)
                    Skin;
extern              Skin *bmp_active_skin;
gboolean            init_skins                          (const gchar *path);
void                cleanup_skins                       (void);
gboolean            bmp_active_skin_load                (const gchar *path);
gboolean            bmp_active_skin_reload              (void);
Skin*               skin_new                            (void);
gboolean            skin_load                           (Skin *skin,
                                                         const gchar *path);
gboolean            skin_reload_forced                  (void);
void                skin_reload                         (Skin *skin);
void                skin_free                           (Skin *skin);
GdkBitmap*          skin_get_mask                       (Skin *skin,
                                                         SkinMaskId mi);
GdkColor*           skin_get_color                      (Skin *skin,
                                                         SkinColorId color_id);
void                skin_get_viscolor                   (Skin *skin,
                                                         guchar vis_color[24][3]);
gint                skin_get_id                         (void);
void                skin_draw_pixmap                    (Skin *skin,
                                                         GdkDrawable *drawable,
                                                         GdkGC *gc,
                                                         SkinPixmapId pixmap_id,
                                                         gint xsrc,
                                                         gint ysrc,
                                                         gint xdest,
                                                         gint ydest,
                                                         gint width,
                                                         gint height);
void                skin_get_eq_spline_colors           (Skin *skin,
                                                         guint32 colors[19]);
void                skin_install_skin                   (const gchar *path);
void                skin_draw_playlistwin_shaded        (Skin *skin,
                                                         GdkDrawable *drawable,
                                                         GdkGC *gc,
                                                         gint width,
                                                         gboolean focus);
void                skin_draw_playlistwin_frame         (Skin *skin,
                                                         GdkDrawable *drawable,
                                                         GdkGC *gc,
                                                         gint width,
                                                         gint height,
                                                         gboolean focus);
void                skin_draw_mainwin_titlebar          (Skin *skin,
                                                         GdkDrawable *drawable,
                                                         GdkGC *gc,
                                                         gboolean shaded,
                                                         gboolean focus);
void                skin_parse_hints                    (Skin *skin,
                                                         gchar *path_p);
void                skin_set_random_skin                (void);

Description

Details

BMP_DEFAULT_SKIN_PATH

#define             BMP_DEFAULT_SKIN_PATH


enum SkinPixmapId

typedef enum {
    SKIN_MAIN = 0,
    SKIN_CBUTTONS,
    SKIN_TITLEBAR,
    SKIN_SHUFREP,
    SKIN_TEXT,
    SKIN_VOLUME,
    SKIN_BALANCE,
    SKIN_MONOSTEREO,
    SKIN_PLAYPAUSE,
    SKIN_NUMBERS,
    SKIN_POSBAR,
    SKIN_PLEDIT,
    SKIN_EQMAIN,
    SKIN_EQ_EX,
    SKIN_PIXMAP_COUNT
} SkinPixmapId;


enum SkinMaskId

typedef enum {
    SKIN_MASK_MAIN = 0,
    SKIN_MASK_MAIN_SHADE,
    SKIN_MASK_EQ,
    SKIN_MASK_EQ_SHADE,
    SKIN_MASK_COUNT
} SkinMaskId;


enum SkinColorId

typedef enum {
    SKIN_PLEDIT_NORMAL = 0,
    SKIN_PLEDIT_CURRENT,
    SKIN_PLEDIT_NORMALBG,
    SKIN_PLEDIT_SELECTEDBG,
    SKIN_TEXTBG,
    SKIN_TEXTFG,
    SKIN_COLOR_COUNT
} SkinColorId;


SkinProperties

typedef struct {
	/* this enables the othertext engine, not it's visibility -nenolod */
	gboolean mainwin_othertext;

	/* Vis properties */
	gint mainwin_vis_x;
	gint mainwin_vis_y;
	gint mainwin_vis_width;
	gboolean mainwin_vis_visible;

	/* Text properties */
	gint mainwin_text_x;
	gint mainwin_text_y;
	gint mainwin_text_width;
	gboolean mainwin_text_visible;

	/* Infobar properties */
	gint mainwin_infobar_x;
	gint mainwin_infobar_y;
	gboolean mainwin_othertext_visible;

	gint mainwin_number_0_x;
	gint mainwin_number_0_y;

	gint mainwin_number_1_x;
	gint mainwin_number_1_y;

	gint mainwin_number_2_x;
	gint mainwin_number_2_y;

	gint mainwin_number_3_x;
	gint mainwin_number_3_y;

	gint mainwin_number_4_x;
	gint mainwin_number_4_y;

	gint mainwin_playstatus_x;
	gint mainwin_playstatus_y;

	gint mainwin_volume_x;
	gint mainwin_volume_y;	

	gint mainwin_balance_x;
	gint mainwin_balance_y;	

	gint mainwin_position_x;
	gint mainwin_position_y;

	gint mainwin_previous_x;
	gint mainwin_previous_y;

	gint mainwin_play_x;
	gint mainwin_play_y;

	gint mainwin_pause_x;
	gint mainwin_pause_y;

	gint mainwin_stop_x;
	gint mainwin_stop_y;

	gint mainwin_next_x;
	gint mainwin_next_y;

	gint mainwin_eject_x;
	gint mainwin_eject_y;

	gint mainwin_eqbutton_x;
	gint mainwin_eqbutton_y;

	gint mainwin_plbutton_x;
	gint mainwin_plbutton_y;

	gint mainwin_shuffle_x;
	gint mainwin_shuffle_y;

	gint mainwin_repeat_x;
	gint mainwin_repeat_y;

	gint mainwin_about_x;
	gint mainwin_about_y;

	gint mainwin_minimize_x;
	gint mainwin_minimize_y;

	gint mainwin_shade_x;
	gint mainwin_shade_y;

	gint mainwin_close_x;
	gint mainwin_close_y;

	gint mainwin_width;
	gint mainwin_height;

	gboolean mainwin_menurow_visible;
	gboolean mainwin_othertext_is_status;

	gint textbox_bitmap_font_width;
	gint textbox_bitmap_font_height;
} SkinProperties;


SKIN_PIXMAP()

#define SKIN_PIXMAP(x)  ((SkinPixmap *)(x))

x :

SkinPixmap

typedef struct {
    GdkPixmap *pixmap;
    /* GdkPixmap *def_pixmap; */

    /* The real size of the pixmap */
    gint width, height;

    /* The size of the pixmap from the current skin,
       which might be smaller */
    gint current_width, current_height;
} SkinPixmap;


SKIN()

#define SKIN(x)  ((Skin *)(x))

x :

Skin

typedef struct {
    GMutex *lock;
    gchar *path;
    gchar *def_path;
    SkinPixmap pixmaps[SKIN_PIXMAP_COUNT];
    GdkColor textbg[6], def_textbg[6];
    GdkColor textfg[6], def_textfg[6];
    GdkColor *colors[SKIN_COLOR_COUNT];
    guchar vis_color[24][3];
    GdkBitmap *masks[SKIN_MASK_COUNT];
    GdkBitmap *ds_masks[SKIN_MASK_COUNT];
    SkinProperties properties;
} Skin;


bmp_active_skin

extern Skin *bmp_active_skin;


init_skins ()

gboolean            init_skins                          (const gchar *path);

path :
Returns :

cleanup_skins ()

void                cleanup_skins                       (void);


bmp_active_skin_load ()

gboolean            bmp_active_skin_load                (const gchar *path);

path :
Returns :

bmp_active_skin_reload ()

gboolean            bmp_active_skin_reload              (void);

Returns :

skin_new ()

Skin*               skin_new                            (void);

Returns :

skin_load ()

gboolean            skin_load                           (Skin *skin,
                                                         const gchar *path);

skin :
path :
Returns :

skin_reload_forced ()

gboolean            skin_reload_forced                  (void);

Returns :

skin_reload ()

void                skin_reload                         (Skin *skin);

skin :

skin_free ()

void                skin_free                           (Skin *skin);

skin :

skin_get_mask ()

GdkBitmap*          skin_get_mask                       (Skin *skin,
                                                         SkinMaskId mi);

skin :
mi :
Returns :

skin_get_color ()

GdkColor*           skin_get_color                      (Skin *skin,
                                                         SkinColorId color_id);

skin :
color_id :
Returns :

skin_get_viscolor ()

void                skin_get_viscolor                   (Skin *skin,
                                                         guchar vis_color[24][3]);

skin :
vis_color :

skin_get_id ()

gint                skin_get_id                         (void);

Returns :

skin_draw_pixmap ()

void                skin_draw_pixmap                    (Skin *skin,
                                                         GdkDrawable *drawable,
                                                         GdkGC *gc,
                                                         SkinPixmapId pixmap_id,
                                                         gint xsrc,
                                                         gint ysrc,
                                                         gint xdest,
                                                         gint ydest,
                                                         gint width,
                                                         gint height);

skin :
drawable :
gc :
pixmap_id :
xsrc :
ysrc :
xdest :
ydest :
width :
height :

skin_get_eq_spline_colors ()

void                skin_get_eq_spline_colors           (Skin *skin,
                                                         guint32 colors[19]);

skin :
colors :

skin_install_skin ()

void                skin_install_skin                   (const gchar *path);

path :

skin_draw_playlistwin_shaded ()

void                skin_draw_playlistwin_shaded        (Skin *skin,
                                                         GdkDrawable *drawable,
                                                         GdkGC *gc,
                                                         gint width,
                                                         gboolean focus);

skin :
drawable :
gc :
width :
focus :

skin_draw_playlistwin_frame ()

void                skin_draw_playlistwin_frame         (Skin *skin,
                                                         GdkDrawable *drawable,
                                                         GdkGC *gc,
                                                         gint width,
                                                         gint height,
                                                         gboolean focus);

skin :
drawable :
gc :
width :
height :
focus :

skin_draw_mainwin_titlebar ()

void                skin_draw_mainwin_titlebar          (Skin *skin,
                                                         GdkDrawable *drawable,
                                                         GdkGC *gc,
                                                         gboolean shaded,
                                                         gboolean focus);

skin :
drawable :
gc :
shaded :
focus :

skin_parse_hints ()

void                skin_parse_hints                    (Skin *skin,
                                                         gchar *path_p);

skin :
path_p :

skin_set_random_skin ()

void                skin_set_random_skin                (void);