[*][Scroller] merge from upstream revision 64051, but didn't accept data/theme/widget...
[framework/uifw/elementary.git] / src / lib / elm_priv.h
index 3a07bc9..e68ce22 100644 (file)
@@ -26,6 +26,9 @@
 #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);
@@ -35,6 +38,7 @@ void         _elm_smart_pan_max_get        (Evas_Object *obj, Evas_Coord *x, Eva
 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);
 
+// els_scroller.h
 typedef enum _Elm_Smart_Scroller_Policy
 {
    ELM_SMART_SCROLLER_POLICY_AUTO,
@@ -50,6 +54,7 @@ void elm_smart_scroller_custom_edje_file_set    (Evas_Object *obj, char *file, c
 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);
@@ -61,6 +66,7 @@ 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);
@@ -73,9 +79,13 @@ 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);
 
-void _els_box_layout(Evas_Object *o, Evas_Object_Box_Data *priv, int horizontal, int homogeneous);
+// 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);
@@ -99,6 +109,16 @@ 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;
@@ -149,47 +169,55 @@ 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;
-   int input_panel_enable;
-   int autocapital_allow;
-   int autoperiod_allow;   
-   Eina_Bool    password_show_last_character;
+   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;
 };
 
 struct _Elm_Module
@@ -208,8 +236,6 @@ struct _Elm_Module
    int          references;
 };
 
-#define ELM_NEW(t) calloc(1, sizeof(t))
-
 void                _elm_win_shutdown(void);
 void                _elm_win_rescale(Elm_Theme *th, Eina_Bool use_theme);
 
@@ -233,9 +259,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);
@@ -280,11 +307,15 @@ char               *_elm_util_text_to_mkup(const char *text);
 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;
 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