Sophie

Sophie

distrib > Mandriva > 2011.0 > i586 > media > contrib-release-debug > by-pkgid > c423c631bd049bf019d47f4c1bea5242 > files > 154

gqmpeg-debug-0.91.1-7mdv2011.0.i586.rpm

/*
 * (SLIK) SimpLIstic sKin functions
 * (C) 2002 John Ellis
 *
 * Author: John Ellis
 *
 * This software is released under the GNU General Public License (GNU GPL).
 * Please read the included file COPYING for more information.
 * This software comes with no warranty of any kind, use at your own risk!
 */

#ifndef UI2_SLIDER_H
#define UI2_SLIDER_H


typedef struct _SliderData SliderData;
struct _SliderData
{
	GdkPixbuf *overlay;
	GdkPixbuf *pixbuf;
	gint x;
	gint y;
	gint width;
	gint height;
	gint vertical;
	gint reversed;
	gint handle_width;
	gint handle_height;
	gint handle_size;
	gint length;
	gint position;
	gfloat value;
	gint has_press;
	gint has_prelight;
	gint pushed;
	gint prelit;
	gchar *item_key;
	SkinData *skin;

	gint sizeable;
	gint real_length;
	gint border_1;	/* top or left border (dep. on vertical flag) */
	gint border_2;	/* bottom or right border */
	gint stretch;

	gfloat step_size;	/* amount to increment one step */
	gint page_size;		/* number of steps (above) in one page */

	gint key_timer_id;

	WidgetData *wd;
};


SliderData *slider_new(GdkPixbuf *pb, gint x, gint y,
		       gint length, gint vertical, gint reversed,
		       gint has_press, gint prelight,
		       const gchar *item_key);
SliderData *slider_new_from_data(gchar **data, gint x, gint y,
				 gint length, gint vertical, gint reversed,
				 gint has_press, gint prelight,
				 const gchar *item_key);
SliderData *slider_new_from_file(const gchar *file, gint x, gint y,
				 gint length, gint vertical, gint reversed,
				 gint has_press, gint prelight,
				 const gchar *item_key);
void slider_set_attributes(SliderData *slider, gint sizeable,
			   gint real_length, gint border_1, gint border_2, gint stretch);
void slider_free(SliderData *slider);

WidgetData *slider_register(SkinData *skin, SliderData *slider, const gchar *key, const gchar *text_id);
WidgetData *slider_register_to_skin(const gchar *key, gchar **data, gint x, gint y,
				    gint length, gint vertical, gint reversed,
				    gint has_press, gint prelight,
				    const gchar *item_key,
				    SkinData *skin, const gchar *text_id);

RegisterData *slider_register_key(const gchar *key, UIData *ui,
				  gfloat (*status_get_func)(SliderData *slider, const gchar *key, gpointer data), gpointer status_get_data,
				  void (*slider_press_func)(SliderData *slider, const gchar *key, gfloat value, gpointer data), gpointer slider_press_data,
				  void (*slider_release_func)(SliderData *slider, const gchar *key, gfloat value, gpointer data), gpointer slider_release_data,
				  void (*slider_drag_func)(SliderData *slider, const gchar *key, gfloat value, gpointer data), gpointer slider_drag_data);
gint slider_value_set(const gchar *key, UIData *ui, gfloat value);
gfloat slider_value_get(const gchar *key, UIData *ui);

gint slider_step_size_set(const gchar *key, UIData *ui, gfloat step_size, gint page_size);


WidgetType slider_type_id(void);
void slider_type_init(void);

/* this is private for use only by ui2_slider_edit.c */
void slider_sync_overlay(SliderData *slider);


#endif