lib/ewl_scrollpane.h
Go to the documentation of this file.00001
00002 #ifndef EWL_SCROLLPANE_H
00003 #define EWL_SCROLLPANE_H
00004
00027 #define EWL_SCROLLPANE_TYPE "scrollpane"
00028
00033 #define EWL_SCROLLPANE_IS(w) (ewl_widget_type_is(EWL_WIDGET(w), EWL_SCROLLPANE_TYPE))
00034
00038 typedef struct Ewl_Scrollpane_Scroll_Info_Base Ewl_Scrollpane_Scroll_Info_Base;
00039
00044 #define EWL_SCROLLPANE_SCROLL_INFO_BASE(scroll_info) ((Ewl_Scrollpane_Scroll_Info_Base *) scroll_info)
00045
00049 struct Ewl_Scrollpane_Scroll_Info_Base
00050 {
00051 unsigned char clicked:1;
00052 unsigned char active:1;
00053 int fps;
00054 double vmax;
00055 double vmin;
00056 double dampen;
00057 void *extra;
00058 };
00059
00063 typedef struct Ewl_Scrollpane Ewl_Scrollpane;
00064
00069 #define EWL_SCROLLPANE(scrollpane) ((Ewl_Scrollpane *) scrollpane)
00070
00076 struct Ewl_Scrollpane
00077 {
00078 Ewl_Container container;
00080 Ewl_Widget *overlay;
00081 Ewl_Widget *box;
00082 Ewl_Widget *hscrollbar;
00083 Ewl_Widget *vscrollbar;
00084 Ewl_Scrollpane_Flags hflag;
00085 Ewl_Scrollpane_Flags vflag;
00086 Ewl_Scrollpane_Scroll_Info_Base *kinfo;
00087 Ewl_Kinetic_Scroll type;
00088 };
00089
00090 Ewl_Widget *ewl_scrollpane_new(void);
00091 int ewl_scrollpane_init(Ewl_Scrollpane *s);
00092 void ewl_scrollpane_kinetic_scrolling_set(Ewl_Scrollpane *s,
00093 Ewl_Kinetic_Scroll type);
00094 Ewl_Kinetic_Scroll ewl_scrollpane_kinetic_scrolling_get(Ewl_Scrollpane *s);
00095 void ewl_scrollpane_kinetic_max_velocity_set(Ewl_Scrollpane *s, double v);
00096 double ewl_scrollpane_kinetic_max_velocity_get(Ewl_Scrollpane *s);
00097 void ewl_scrollpane_kinetic_min_velocity_set(Ewl_Scrollpane *s, double v);
00098 double ewl_scrollpane_kinetic_min_velocity_get(Ewl_Scrollpane *s);
00099 void ewl_scrollpane_kinetic_dampen_set(Ewl_Scrollpane *s, double d);
00100 double ewl_scrollpane_kinetic_dampen_get(Ewl_Scrollpane *s);
00101 void ewl_scrollpane_kinetic_fps_set(Ewl_Scrollpane *s, int fps);
00102 int ewl_scrollpane_kinetic_fps_get(Ewl_Scrollpane *s);
00103
00104 void ewl_scrollpane_hscrollbar_flag_set(Ewl_Scrollpane *s,
00105 Ewl_Scrollpane_Flags f);
00106 void ewl_scrollpane_vscrollbar_flag_set(Ewl_Scrollpane *s,
00107 Ewl_Scrollpane_Flags f);
00108
00109 Ewl_Scrollpane_Flags ewl_scrollpane_hscrollbar_flag_get(Ewl_Scrollpane *s);
00110 Ewl_Scrollpane_Flags ewl_scrollpane_vscrollbar_flag_get(Ewl_Scrollpane *s);
00111
00112 double ewl_scrollpane_hscrollbar_value_get(Ewl_Scrollpane *s);
00113 double ewl_scrollpane_vscrollbar_value_get(Ewl_Scrollpane *s);
00114
00115 void ewl_scrollpane_hscrollbar_value_set(Ewl_Scrollpane *s, double val);
00116 void ewl_scrollpane_vscrollbar_value_set(Ewl_Scrollpane *s, double val);
00117
00118 double ewl_scrollpane_hscrollbar_step_get(Ewl_Scrollpane *s);
00119 double ewl_scrollpane_vscrollbar_step_get(Ewl_Scrollpane *s);
00120
00121
00122
00123
00124 void ewl_scrollpane_cb_configure(Ewl_Widget *w, void *ev_data,
00125 void *user_data);
00126 void ewl_scrollpane_cb_focus_jump(Ewl_Widget *w, void *ev_data,
00127 void *user_data);
00128 void ewl_scrollpane_cb_hscroll(Ewl_Widget *w, void *ev_data, void *user_data);
00129 void ewl_scrollpane_cb_vscroll(Ewl_Widget *w, void *ev_data, void *user_data);
00130 void ewl_scrollpane_cb_wheel_scroll(Ewl_Widget *w, void *ev_data,
00131 void *user_data);
00132
00137 #endif