Elm glayer: Cleaned elm_gesture_layer.c.
[framework/uifw/elementary.git] / src / lib / elm_priv.h
index 5e1133a..c91f2b4 100644 (file)
 # include <Ecore_WinCE.h>
 #endif
 
-#include "els_pan.h"
-#include "els_scroller.h"
-#include "els_box.h"
-#include "els_icon.h"
+//#include "els_pan.h"
+//#include "els_scroller.h"
+//#include "els_box.h"
+//#include "els_icon.h"
 
 #include "elm_widget.h"
 
 #define INF(...)      EINA_LOG_DOM_INFO(_elm_log_dom, __VA_ARGS__)
 #define DBG(...)      EINA_LOG_DOM_DBG (_elm_log_dom, __VA_ARGS__)
 
+#define E_(string) dgettext(PACKAGE, string)
+
+// els_pan.h
+Evas_Object *_elm_smart_pan_add            (Evas *evas);
+void         _elm_smart_pan_child_set      (Evas_Object *obj, Evas_Object *child);
+Evas_Object *_elm_smart_pan_child_get      (Evas_Object *obj);
+void         _elm_smart_pan_set            (Evas_Object *obj, Evas_Coord x, Evas_Coord y);
+void         _elm_smart_pan_get            (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
+void         _elm_smart_pan_max_get        (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
+void         _elm_smart_pan_min_get        (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
+void         _elm_smart_pan_child_size_get (Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
+void         _elm_smart_pan_gravity_set    (Evas_Object *obj, double x, double y);
+void         _elm_smart_pan_gravity_get    (Evas_Object *obj, double *x, double *y);
+
+// els_scroller.h
+typedef enum _Elm_Smart_Scroller_Policy
+{
+   ELM_SMART_SCROLLER_POLICY_AUTO,
+   ELM_SMART_SCROLLER_POLICY_ON,
+   ELM_SMART_SCROLLER_POLICY_OFF
+}
+Elm_Smart_Scroller_Policy;
+
+Evas_Object *elm_smart_scroller_add             (Evas *evas);
+void elm_smart_scroller_child_set               (Evas_Object *obj, Evas_Object *child);
+void elm_smart_scroller_extern_pan_set          (Evas_Object *obj, Evas_Object *pan, void (*pan_set) (Evas_Object *obj, Evas_Coord x, Evas_Coord y), void (*pan_get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y), void (*pan_max_get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y), void (*pan_min_get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y), void (*pan_child_size_get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y));
+void elm_smart_scroller_custom_edje_file_set    (Evas_Object *obj, char *file, char *group);
+void elm_smart_scroller_child_pos_set           (Evas_Object *obj, Evas_Coord x, Evas_Coord y);
+void elm_smart_scroller_child_pos_get           (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
+void elm_smart_scroller_child_region_show       (Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
+void elm_smart_scroller_child_region_set        (Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
+void elm_smart_scroller_child_viewport_size_get (Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
+void elm_smart_scroller_step_size_set           (Evas_Object *obj, Evas_Coord x, Evas_Coord y);
+void elm_smart_scroller_step_size_get           (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
+void elm_smart_scroller_page_size_set           (Evas_Object *obj, Evas_Coord x, Evas_Coord y);
+void elm_smart_scroller_page_size_get           (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
+void elm_smart_scroller_policy_set              (Evas_Object *obj, Elm_Smart_Scroller_Policy hbar, Elm_Smart_Scroller_Policy vbar);
+void elm_smart_scroller_policy_get              (Evas_Object *obj, Elm_Smart_Scroller_Policy *hbar, Elm_Smart_Scroller_Policy *vbar);
+Evas_Object *elm_smart_scroller_edje_object_get (Evas_Object *obj);
+void elm_smart_scroller_single_dir_set          (Evas_Object *obj, Eina_Bool single_dir);
+Eina_Bool elm_smart_scroller_single_dir_get     (Evas_Object *obj);
+void elm_smart_scroller_object_theme_set        (Evas_Object *parent, Evas_Object *obj, const char *clas, const char *group, const char *style);
+void elm_smart_scroller_mirrored_set            (Evas_Object *obj, Eina_Bool mirrored);
+void elm_smart_scroller_hold_set                (Evas_Object *obj, Eina_Bool hold);
+void elm_smart_scroller_freeze_set              (Evas_Object *obj, Eina_Bool freeze);
+void elm_smart_scroller_bounce_allow_set        (Evas_Object *obj, Eina_Bool horiz, Eina_Bool vert);
+void elm_smart_scroller_bounce_allow_get        (const Evas_Object *obj, Eina_Bool *horiz, Eina_Bool *vert);
+void elm_smart_scroller_paging_set              (Evas_Object *obj, double pagerel_h, double pagerel_v, Evas_Coord pagesize_h, Evas_Coord pagesize_v);
+void elm_smart_scroller_paging_get              (Evas_Object *obj, double *pagerel_h, double *pagerel_v, Evas_Coord *pagesize_h, Evas_Coord *pagesize_v);
+void elm_smart_scroller_region_bring_in         (Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
+void elm_smart_scroller_widget_set              (Evas_Object *obj, Evas_Object *wid);
+Eina_Bool elm_smart_scroller_momentum_animator_disabled_get   (Evas_Object *obj);
+void elm_smart_scroller_momentum_animator_disabled_set             (Evas_Object *obj, Eina_Bool disabled);
+void elm_smart_scroller_bounce_animator_disabled_set               (Evas_Object *obj, Eina_Bool disabled);
+Eina_Bool elm_smart_scroller_bounce_animator_disabled_get     (Evas_Object *obj);
+Eina_Bool elm_smart_scroller_wheel_disabled_get (Evas_Object *obj);
+void elm_smart_scroller_wheel_disabled_set      (Evas_Object *obj, Eina_Bool disabled);
+
+// els_box.h
+void _els_box_layout(Evas_Object *o, Evas_Object_Box_Data *priv, int horizontal, int homogeneous, int rtl);
+
+// els_icon.h
+Evas_Object *_els_smart_icon_add              (Evas *evas);
+Eina_Bool    _els_smart_icon_file_key_set     (Evas_Object *obj, const char *file, const char *key);
+Eina_Bool    _els_smart_icon_file_edje_set    (Evas_Object *obj, const char *file, const char *part);
+void         _els_smart_icon_file_get         (const Evas_Object *obj, const char **file, const char **key);
+void         _els_smart_icon_smooth_scale_set (Evas_Object *obj, Eina_Bool smooth);
+Eina_Bool    _els_smart_icon_smooth_scale_get (const Evas_Object *obj);
+Evas_Object *_els_smart_icon_object_get       (const Evas_Object *obj);
+void         _els_smart_icon_size_get         (const Evas_Object *obj, int *w, int *h);
+void         _els_smart_icon_fill_inside_set  (Evas_Object *obj, Eina_Bool fill_inside);
+Eina_Bool    _els_smart_icon_fill_inside_get  (const Evas_Object *obj);
+void         _els_smart_icon_scale_up_set     (Evas_Object *obj, Eina_Bool scale_up);
+Eina_Bool    _els_smart_icon_scale_up_get     (const Evas_Object *obj);
+void         _els_smart_icon_scale_down_set   (Evas_Object *obj, Eina_Bool scale_down);
+Eina_Bool    _els_smart_icon_scale_down_get   (const Evas_Object *obj);
+void         _els_smart_icon_scale_size_set   (Evas_Object *obj, int size);
+int          _els_smart_icon_scale_size_get   (const Evas_Object *obj);
+void         _els_smart_icon_scale_set        (Evas_Object *obj, double scale);
+double       _els_smart_icon_scale_get        (const Evas_Object *obj);
+void         _els_smart_icon_orient_set       (Evas_Object *obj, Elm_Image_Orient orient);
+Elm_Image_Orient _els_smart_icon_orient_get   (const Evas_Object *obj);
+void         _els_smart_icon_edit_set         (Evas_Object *obj, Eina_Bool, Evas_Object *parent);
+Eina_Bool    _els_smart_icon_edit_get         (const Evas_Object *obj);
+Evas_Object *_els_smart_icon_edje_get(Evas_Object *obj);
+void         _els_smart_icon_aspect_ratio_retained_set(Evas_Object *obj, Eina_Bool retained);
+Eina_Bool    _els_smart_icon_aspect_ratio_retained_get(const Evas_Object *obj);
+
+#ifdef ENABLE_NLS
+# include <libintl.h>
+# define E_(string) dgettext(PACKAGE, string)
+#else
+# define bindtextdomain(domain,dir)
+# define E_(string) (string)
+#endif
+
+
 typedef struct _Elm_Config    Elm_Config;
 typedef struct _Elm_Module    Elm_Module;
 
@@ -74,44 +171,66 @@ extern const char *_elm_engines[];
 
 struct _Elm_Config
 {
-   int          config_version;
-   const char  *engine;
-   Eina_Bool    thumbscroll_enable;
-   int          thumbscroll_threshold;
-   double       thumbscroll_momentum_threshold;
-   double       thumbscroll_friction;
-   double       thumbscroll_bounce_friction;
-   double       page_scroll_friction;
-   double       bring_in_scroll_friction;
-   double       zoom_friction;
-   Eina_Bool    thumbscroll_bounce_enable;
-   double       thumbscroll_border_friction;
-   double       scale;
-   int          bgpixmap;
-   int          compositing;
-   Eina_List   *font_dirs;
-   Eina_List   *font_overlays;
-   int          font_hinting;
-   int          cache_flush_poll_interval;
-   Eina_Bool    cache_flush_enable;
-   int          image_cache;
-   int          font_cache;
-   int          edje_cache;
-   int          edje_collection_cache;
-   int          finger_size;
-   double       fps;
-   const char  *theme;
-   const char  *modules;
-   double       tooltip_delay;
-   Eina_Bool    cursor_engine_only;
-   Eina_Bool    focus_highlight_enable;
-   Eina_Bool    focus_highlight_animate;
-   int          toolbar_shrink_mode;
-   Eina_Bool    fileselector_expand_enable;
-   Eina_Bool    inwin_dialogs_enable;
-   int          icon_size;
-   double       longpress_timeout;
-   Eina_Bool    effect_enable;
+   int            config_version;
+   const char    *engine;
+   unsigned char  vsync;
+   unsigned char  thumbscroll_enable;
+   int            thumbscroll_threshold;
+   double         thumbscroll_momentum_threshold;
+   double         thumbscroll_friction;
+   double         thumbscroll_bounce_friction;
+   double         page_scroll_friction;
+   double         bring_in_scroll_friction;
+   double         zoom_friction;
+   unsigned char  thumbscroll_bounce_enable;
+   double         thumbscroll_border_friction;
+   double         thumbscroll_sensitivity_friction;
+   double         scroll_smooth_time_interval;
+   double         scroll_smooth_amount;
+   double         scroll_smooth_history_weight;
+   double         scroll_smooth_future_time;
+   double         scroll_smooth_time_window;
+   double         scale;
+   int            bgpixmap;
+   int            compositing;
+   Eina_List     *font_dirs;
+   Eina_List     *font_overlays;
+   int            font_hinting;
+   int            cache_flush_poll_interval;
+   unsigned char  cache_flush_enable;
+   int            image_cache;
+   int            font_cache;
+   int            edje_cache;
+   int            edje_collection_cache;
+   int            finger_size;
+   double         fps;
+   const char    *theme;
+   const char    *modules;
+   double         tooltip_delay;
+   unsigned char  cursor_engine_only;
+   unsigned char  focus_highlight_enable;
+   unsigned char  focus_highlight_animate;
+   int            toolbar_shrink_mode;
+   unsigned char  fileselector_expand_enable;
+   unsigned char  inwin_dialogs_enable;
+   int            icon_size;
+   double         longpress_timeout;
+   unsigned char  effect_enable;
+   unsigned char  desktop_entry;
+   Eina_Bool      is_mirrored : 1;
+   Eina_Bool      password_show_last;
+   double         password_show_last_timeout;
+   double         glayer_zoom_finger_factor;
+   double         glayer_zoom_wheel_factor;
+   double         glayer_zoom_distance_tolerance;
+   double         glayer_rotate_angular_tolerance;
+   double         glayer_line_min_length;
+   double         glayer_line_distance_tolerance;
+   double         glayer_line_angular_tolerance;
+   unsigned int   glayer_flick_time_limit_ms;
+   double         glayer_long_tap_start_timeout;
+   int            access_mode;
+   Eina_Bool      glayer_continues_enable;
 };
 
 struct _Elm_Module
@@ -153,9 +272,10 @@ const void         *_elm_module_symbol_get(Elm_Module *m, const char *name);
 void                _elm_widget_type_clear(void);
 void                _elm_widget_focus_region_show(const Evas_Object *obj);
 
-void               _elm_unneed_ethumb(void);
+void                _elm_unneed_ethumb(void);
 
 void                _elm_rescale(void);
+void                _elm_widget_mirrored_reload(Evas_Object *obj);
 
 void                _elm_config_init(void);
 void                _elm_config_sub_init(void);
@@ -196,6 +316,12 @@ Evas_Object        *_elm_scroller_edje_object_get(Evas_Object *obj);
 
 char               *_elm_util_mkup_to_text(const char *mkup);
 char               *_elm_util_text_to_mkup(const char *text);
+/* do not use except clipboard history module */
+EAPI Eina_Bool    elm_cbhm_helper_init(Evas_Object *self);
+EAPI void         elm_cbhm_send_raw_data(char *cmd);
+
+Eina_Bool           _elm_video_check(Evas_Object *video);
+
 
 extern char        *_elm_appname;
 extern Elm_Config  *_elm_config;
@@ -203,5 +329,6 @@ extern const char  *_elm_data_dir;
 extern const char  *_elm_lib_dir;
 extern int          _elm_log_dom;
 extern Eina_List   *_elm_win_list;
+extern int          _elm_win_deferred_free;
 
 #endif