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;        
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  * Internally used callbacks, override at your own risk.
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

Copyright © Enlightenment.org

Enlightened Widget Library Documentation Generated: Sat May 17 16:49:07 2008