Download

Support

lib/ewl_scrollpane.h

Go to the documentation of this file.
00001 /* vim: set sw=8 ts=8 sts=8 expandtab: */
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;        
00053         unsigned char active:1;         
00054         int fps;                        
00056         double vmax;                    
00057         double vmin;                    
00058         double dampen;                  
00059         void *extra;                    
00060 };
00061 
00065 typedef struct Ewl_Scrollpane Ewl_Scrollpane;
00066 
00071 #define EWL_SCROLLPANE(scrollpane) ((Ewl_Scrollpane *) scrollpane)
00072 
00078 struct Ewl_Scrollpane
00079 {
00080         Ewl_Container container;        
00082         Ewl_Widget *overlay;            
00083         Ewl_Widget *box;                
00084         Ewl_Widget *hscrollbar;         
00085         Ewl_Widget *vscrollbar;         
00086         Ewl_Scrollpane_Flags hflag;     
00087         Ewl_Scrollpane_Flags vflag;     
00088         Ewl_Scrollpane_Scroll_Info_Base *kinfo;         
00090         Ewl_Kinetic_Scroll type;        
00092 };
00093 
00094 Ewl_Widget              *ewl_scrollpane_new(void);
00095 int                      ewl_scrollpane_init(Ewl_Scrollpane *s);
00096 void                     ewl_scrollpane_kinetic_scrolling_set(Ewl_Scrollpane *s,
00097                                                 Ewl_Kinetic_Scroll type);
00098 Ewl_Kinetic_Scroll       ewl_scrollpane_kinetic_scrolling_get(Ewl_Scrollpane *s);
00099 void                     ewl_scrollpane_kinetic_max_velocity_set(Ewl_Scrollpane *s,
00100                                                 double v);
00101 double                   ewl_scrollpane_kinetic_max_velocity_get(Ewl_Scrollpane *s);
00102 void                     ewl_scrollpane_kinetic_min_velocity_set(Ewl_Scrollpane *s,
00103                                                 double v);
00104 double                   ewl_scrollpane_kinetic_min_velocity_get(Ewl_Scrollpane *s);
00105 void                     ewl_scrollpane_kinetic_dampen_set(Ewl_Scrollpane *s,
00106                                                 double d);
00107 double                   ewl_scrollpane_kinetic_dampen_get(Ewl_Scrollpane *s);
00108 void                     ewl_scrollpane_kinetic_fps_set(Ewl_Scrollpane *s,
00109                                                 int fps); 
00110 int                      ewl_scrollpane_kinetic_fps_get(Ewl_Scrollpane *s);
00111 
00112 void                     ewl_scrollpane_hscrollbar_flag_set(Ewl_Scrollpane *s,
00113                                                 Ewl_Scrollpane_Flags f);
00114 void                     ewl_scrollpane_vscrollbar_flag_set(Ewl_Scrollpane *s,
00115                                                 Ewl_Scrollpane_Flags f);
00116 
00117 Ewl_Scrollpane_Flags     ewl_scrollpane_hscrollbar_flag_get(Ewl_Scrollpane *s);
00118 Ewl_Scrollpane_Flags     ewl_scrollpane_vscrollbar_flag_get(Ewl_Scrollpane *s);
00119 
00120 double                   ewl_scrollpane_hscrollbar_value_get(Ewl_Scrollpane *s);
00121 double                   ewl_scrollpane_vscrollbar_value_get(Ewl_Scrollpane *s);
00122 
00123 void                     ewl_scrollpane_hscrollbar_value_set(Ewl_Scrollpane *s, double val);
00124 void                     ewl_scrollpane_vscrollbar_value_set(Ewl_Scrollpane *s, double val);
00125 
00126 double                   ewl_scrollpane_hscrollbar_step_get(Ewl_Scrollpane *s);
00127 double                   ewl_scrollpane_vscrollbar_step_get(Ewl_Scrollpane *s);
00128 
00129 /*
00130  * Internally used callbacks, override at your own risk.
00131  */
00132 void ewl_scrollpane_cb_configure(Ewl_Widget *w, void *ev_data,
00133                                                 void *user_data);
00134 void ewl_scrollpane_cb_focus_jump(Ewl_Widget *w, void *ev_data,
00135                                                  void *user_data);
00136 void ewl_scrollpane_cb_hscroll(Ewl_Widget *w, void *ev_data, void *user_data);
00137 void ewl_scrollpane_cb_vscroll(Ewl_Widget *w, void *ev_data, void *user_data);
00138 void ewl_scrollpane_cb_wheel_scroll(Ewl_Widget *w, void *ev_data,
00139                                                         void *user_data);
00140 
00141 void ewl_scrollpane_cb_child_show(Ewl_Container *p, Ewl_Widget *c);
00142 void ewl_scrollpane_cb_child_resize(Ewl_Container *p, Ewl_Widget *c, int size,
00143                                                 Ewl_Orientation o);
00144 void ewl_scrollpane_cb_overlay_child_show(Ewl_Container *p, Ewl_Widget *c);
00145 void ewl_scrollpane_cb_overlay_child_resize(Ewl_Container *p, Ewl_Widget *c, 
00146                                                 int size, Ewl_Orientation o);
00147 
00152 #endif

Copyright © Enlightenment.org

Enlightened Widget Library Documentation Generated: Fri Jan 23 21:56:24 2009