Elementary glayer: Added a config value to disable multitouch zoom.
[framework/uifw/elementary.git] / src / lib / elm_priv.h
index eb2210f..ba18e4b 100644 (file)
 # include <Ecore_WinCE.h>
 #endif
 
-#include "els_pan.h"
-#include "els_scroller.h"
-#include "els_box.h"
-#include "els_icon.h"
-
 #include "elm_widget.h"
 
 #define CRITICAL(...) EINA_LOG_DOM_CRIT(_elm_log_dom, __VA_ARGS__)
 
 #ifdef ENABLE_NLS
 # include <libintl.h>
-# define E_(string) dgettext(PACKAGE, string)
+# define E_(string) _elm_dgettext(string)
 #else
-# define bindtextdomain(domain,dir)
+# ifndef setlocale
+#  define setlocale(c, l)
+# endif
+# ifndef libintl_setlocale
+#  define libintl_setlocale(c, l)
+# endif
+# ifndef bindtextdomain
+#  define bindtextdomain(domain,dir)
+# endif
+# ifndef libintl_bindtextdomain
+#  define libintl_bindtextdomain(domain,dir)
+# endif
 # define E_(string) (string)
 #endif
-
+#define N_(string) (string)
 
 typedef struct _Elm_Config    Elm_Config;
 typedef struct _Elm_Module    Elm_Module;
@@ -44,6 +50,7 @@ struct _Elm_Theme
    Eina_List  *themes;
    Eina_List  *extension;
    Eina_Hash  *cache;
+   Eina_Hash  *cache_data;
    Elm_Theme  *ref_theme;
    Eina_List  *referrers;
    const char *theme;
@@ -79,9 +86,20 @@ extern const char *_elm_engines[];
 #define ELM_SOFTWARE_16_SDL   (_elm_engines[10])
 #define ELM_OPENGL_SDL        (_elm_engines[11])
 #define ELM_BUFFER            (_elm_engines[12])
+#define ELM_EWS               (_elm_engines[13])
+#define ELM_OPENGL_COCOA      (_elm_engines[14])
+#define ELM_SOFTWARE_PSL1GHT  (_elm_engines[15])
 
 #define ELM_FONT_TOKEN_STYLE ":style="
 
+#define ELM_ACCESS_MODE_OFF 0
+#define ELM_ACCESS_MODE_ON 1
+
+#undef MIN
+#define MIN(x, y) (((x) < (y)) ? (x) : (y))
+#undef MAX
+#define MAX(x, y) (((x) > (y)) ? (x) : (y))
+
 struct _Elm_Config
 {
    int            config_version;
@@ -97,6 +115,7 @@ struct _Elm_Config
    double         zoom_friction;
    unsigned char  thumbscroll_bounce_enable;
    double         thumbscroll_border_friction;
+   double         thumbscroll_sensitivity_friction;
    double         scroll_smooth_amount;
    double         scroll_smooth_history_weight;
    double         scroll_smooth_future_time;
@@ -128,9 +147,9 @@ struct _Elm_Config
    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;
+   Eina_Bool      glayer_zoom_finger_enable;
    double         glayer_zoom_finger_factor;
    double         glayer_zoom_wheel_factor;
    double         glayer_zoom_distance_tolerance;
@@ -139,6 +158,13 @@ struct _Elm_Config
    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;
+
+   /* Not part of the EET file */
+   Eina_Bool      is_mirrored : 1;
+   Eina_Bool      translate : 1;
 };
 
 struct _Elm_Module
@@ -149,7 +175,7 @@ struct _Elm_Module
    const char  *so_path;
    const char  *data_dir;
    const char  *bin_dir;
-   void        *handle;
+   Eina_Module *module;
    void        *data;
    void        *api;
    int        (*init_func) (Elm_Module *m);
@@ -157,8 +183,13 @@ struct _Elm_Module
    int          references;
 };
 
+int                 _elm_ews_wm_init(void);
+void                _elm_ews_wm_shutdown(void);
+void                _elm_ews_wm_rescale(Elm_Theme *th, Eina_Bool use_theme);
+
 void                _elm_win_shutdown(void);
 void                _elm_win_rescale(Elm_Theme *th, Eina_Bool use_theme);
+void                _elm_win_translate(void);
 
 Eina_Bool           _elm_theme_object_set(Evas_Object *parent, Evas_Object *o, const char *clas, const char *group, const char *style);
 Eina_Bool           _elm_theme_object_icon_set(Evas_Object *parent, Evas_Object *o, const char *group, const char *style);
@@ -179,8 +210,11 @@ 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_widget_top_win_focused_set(Evas_Object *obj, Eina_Bool top_win_focused);
+Eina_Bool           _elm_widget_top_win_focused_get(const Evas_Object *obj);
 
 void                _elm_unneed_ethumb(void);
+void                _elm_unneed_web(void);
 
 void                _elm_rescale(void);
 void                _elm_widget_mirrored_reload(Evas_Object *obj);
@@ -188,6 +222,7 @@ void                _elm_widget_mirrored_reload(Evas_Object *obj);
 void                _elm_config_init(void);
 void                _elm_config_sub_init(void);
 void                _elm_config_shutdown(void);
+void                _elm_config_sub_shutdown(void);
 Eina_Bool           _elm_config_save(void);
 void                _elm_config_reload(void);
 
@@ -196,6 +231,7 @@ void                _elm_recache(void);
 const char         *_elm_config_current_profile_get(void);
 const char         *_elm_config_profile_dir_get(const char *prof, Eina_Bool is_user);
 Eina_List          *_elm_config_profiles_list(void);
+void                _elm_config_all_update(void);
 void                _elm_config_profile_set(const char *profile);
 
 void                _elm_config_engine_set(const char *engine);
@@ -216,7 +252,7 @@ void                 elm_object_sub_tooltip_content_cb_set(Evas_Object *eventare
 void                 elm_cursor_theme(Elm_Cursor *cur);
 void                 elm_object_sub_cursor_set(Evas_Object *eventarea, Evas_Object *owner, const char *cursor);
 
-void                 elm_menu_clone(Evas_Object *from_menu, Evas_Object *to_menu, Elm_Menu_Item *parent);
+void                 elm_menu_clone(Evas_Object *from_menu, Evas_Object *to_menu, Elm_Object_Item *parent);
 
 Eina_Bool           _elm_dangerous_call_check(const char *call);
 
@@ -236,4 +272,22 @@ extern int          _elm_log_dom;
 extern Eina_List   *_elm_win_list;
 extern int          _elm_win_deferred_free;
 
+#ifdef ENABLE_NLS
+/* Our gettext wrapper, used to disable translation of elm if the app
+ * is not translated. */
+static inline const char *
+_elm_dgettext(const char *string)
+{
+   if (EINA_UNLIKELY(_elm_config->translate == EINA_FALSE))
+     {
+        return string;
+     }
+
+   return dgettext(PACKAGE, string);
+}
+#endif
+
+/* Used by the paste handler */
+void _elm_entry_entry_paste(Evas_Object *obj, const char *entry);
+
 #endif