#! /usr/bin/env ruby # -*- coding: UTF-8 -*- # require 'efl/native' require 'efl/native/elementary' # module Efl # module ElmWeb # FCT_PREFIX = 'elm_web_' unless const_defined? :FCT_PREFIX # def self.method_missing meth, *args, &block sym = Efl::MethodResolver.resolve self, meth, FCT_PREFIX self.send sym, *args, &block end # end # module Native # ffi_lib 'elementary-ver-pre-svn-09.so.0' # # ENUMS # typedef enum {...} Elm_Web_Menu_Item_Type; enum :elm_web_menu_item_type, [ :elm_web_menu_separator, :elm_web_menu_group, :elm_web_menu_option ] # typedef enum {...} Elm_Web_Zoom_Mode; enum :elm_web_zoom_mode, [ :elm_web_zoom_mode_manual, 0, :elm_web_zoom_mode_auto_fit, 1, :elm_web_zoom_mode_auto_fill, 2, :elm_web_zoom_mode_last, 3 ] # # TYPEDEFS # typedef struct _Elm_Web_Frame_Load_Error Elm_Web_Frame_Load_Error; typedef :pointer, :elm_web_frame_load_error # typedef struct _Elm_Web_Menu_Item Elm_Web_Menu_Item; typedef :pointer, :elm_web_menu_item # typedef struct _Elm_Web_Menu Elm_Web_Menu; typedef :pointer, :elm_web_menu # typedef struct _Elm_Web_Download Elm_Web_Download; typedef :pointer, :elm_web_download # typedef struct _Elm_Web_Window_Features Elm_Web_Window_Features; typedef :pointer, :elm_web_window_features # # CALLBACKS # typedef Evas_Object *(*Elm_Web_Window_Open) (void *data, Evas_Object *obj, Eina_Bool js, const Elm_Web_Window_Features *window_features); callback :elm_web_window_open_cb, [ :pointer, :evas_object, :bool, :elm_web_window_features ], :evas_object # typedef Evas_Object *(*Elm_Web_Dialog_Alert) (void *data, Evas_Object *obj, const char *message); callback :elm_web_dialog_alert_cb, [ :pointer, :evas_object, :string ], :evas_object # typedef Evas_Object *(*Elm_Web_Dialog_Confirm) (void *data, Evas_Object *obj, const char *message, Eina_Bool *ret); callback :elm_web_dialog_confirm_cb, [ :pointer, :evas_object, :string, :pointer ], :evas_object # typedef Evas_Object *(*Elm_Web_Dialog_Prompt) (void *data, Evas_Object *obj, const char *message, const char *def_value, char **value, Eina_Bool *ret); callback :elm_web_dialog_prompt_cb, [ :pointer, :evas_object, :string, :string, :pointer, :pointer ], :evas_object # typedef Evas_Object *(*Elm_Web_Dialog_File_Selector) (void *data, Evas_Object *obj, Eina_Bool allows_multiple, Eina_List *accept_types, Eina_List **selected, Eina_Bool *ret); callback :elm_web_dialog_file_selector_cb, [ :pointer, :evas_object, :bool, :eina_list, :eina_list, :pointer ], :evas_object # typedef void (*Elm_Web_Console_Message) (void *data, Evas_Object *obj, const char *message, unsigned int line_number, const char *source_id); callback :elm_web_console_message_cb, [ :pointer, :evas_object, :string, :uint, :string ], :void # # FUNCTIONS fcts = [ # EAPI Evas_Object *elm_web_add(Evas_Object *parent); [ :elm_web_add, [ :evas_object ], :evas_object ], # EAPI void elm_web_useragent_set(Evas_Object *obj, const char *user_agent); [ :elm_web_useragent_set, [ :evas_object, :string ], :void ], # EAPI const char* elm_web_useragent_get(const Evas_Object *obj); [ :elm_web_useragent_get, [ :evas_object ], :pointer ], # EAPI Evas_Object *elm_web_webkit_view_get(const Evas_Object *obj); [ :elm_web_webkit_view_get, [ :evas_object ], :evas_object ], # EAPI void elm_web_window_create_hook_set(Evas_Object *obj, Elm_Web_Window_Open func, void *data); [ :elm_web_window_create_hook_set, [ :evas_object, :elm_web_window_open_cb, :pointer ], :void ], # EAPI void elm_web_dialog_alert_hook_set(Evas_Object *obj, Elm_Web_Dialog_Alert func, void *data); [ :elm_web_dialog_alert_hook_set, [ :evas_object, :elm_web_dialog_alert_cb, :pointer ], :void ], # EAPI void elm_web_dialog_confirm_hook_set(Evas_Object *obj, Elm_Web_Dialog_Confirm func, void *data); [ :elm_web_dialog_confirm_hook_set, [ :evas_object, :elm_web_dialog_confirm_cb, :pointer ], :void ], # EAPI void elm_web_dialog_prompt_hook_set(Evas_Object *obj, Elm_Web_Dialog_Prompt func, void *data); [ :elm_web_dialog_prompt_hook_set, [ :evas_object, :elm_web_dialog_prompt_cb, :pointer ], :void ], # EAPI void elm_web_dialog_file_selector_hook_set(Evas_Object *obj, Elm_Web_Dialog_File_Selector func, void *data); [ :elm_web_dialog_file_selector_hook_set, [ :evas_object, :elm_web_dialog_file_selector_cb, :pointer ], :void ], # EAPI void elm_web_console_message_hook_set(Evas_Object *obj, Elm_Web_Console_Message func, void *data); [ :elm_web_console_message_hook_set, [ :evas_object, :elm_web_console_message_cb, :pointer ], :void ], # EAPI Eina_Bool elm_web_tab_propagate_get(const Evas_Object *obj); [ :elm_web_tab_propagate_get, [ :evas_object ], :bool ], # EAPI void elm_web_tab_propagate_set(Evas_Object *obj, Eina_Bool propagate); [ :elm_web_tab_propagate_set, [ :evas_object, :bool ], :void ], # EAPI Eina_Bool elm_web_uri_set(Evas_Object *obj, const char *uri); [ :elm_web_uri_set, [ :evas_object, :string ], :bool ], # EAPI const char *elm_web_uri_get(const Evas_Object *obj); [ :elm_web_uri_get, [ :evas_object ], :string ], # EAPI const char *elm_web_title_get(const Evas_Object *obj); [ :elm_web_title_get, [ :evas_object ], :string ], # EAPI void elm_web_bg_color_set(Evas_Object *obj, int r, int g, int b, int a); [ :elm_web_bg_color_set, [ :evas_object, :int, :int, :int, :int ], :void ], # EAPI void elm_web_bg_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a); [ :elm_web_bg_color_get, [ :evas_object, :pointer, :pointer, :pointer, :pointer ], :void ], # EAPI char *elm_web_selection_get(const Evas_Object *obj); [ :elm_web_selection_get, [ :evas_object ], :string ], # EAPI void elm_web_popup_selected_set(Evas_Object *obj, int index); [ :elm_web_popup_selected_set, [ :evas_object, :int ], :void ], # EAPI Eina_Bool elm_web_popup_destroy(Evas_Object *obj); [ :elm_web_popup_destroy, [ :evas_object ], :bool ], # EAPI Eina_Bool elm_web_text_search(const Evas_Object *obj, const char *string, Eina_Bool case_sensitive, Eina_Bool forward, Eina_Bool wrap); [ :elm_web_text_search, [ :evas_object, :string, :bool, :bool, :bool ], :bool ], # EAPI unsigned int elm_web_text_matches_mark(Evas_Object *obj, const char *string, Eina_Bool case_sensitive, Eina_Bool highlight, unsigned int limit); [ :elm_web_text_matches_mark, [ :evas_object, :string, :bool, :bool, :uint ], :uint ], # EAPI Eina_Bool elm_web_text_matches_unmark_all(Evas_Object *obj); [ :elm_web_text_matches_unmark_all, [ :evas_object ], :bool ], # EAPI Eina_Bool elm_web_text_matches_highlight_set(Evas_Object *obj, Eina_Bool highlight); [ :elm_web_text_matches_highlight_set, [ :evas_object, :bool ], :bool ], # EAPI Eina_Bool elm_web_text_matches_highlight_get(const Evas_Object *obj); [ :elm_web_text_matches_highlight_get, [ :evas_object ], :bool ], # EAPI double elm_web_load_progress_get(const Evas_Object *obj); [ :elm_web_load_progress_get, [ :evas_object ], :double ], # EAPI Eina_Bool elm_web_stop(Evas_Object *obj); [ :elm_web_stop, [ :evas_object ], :bool ], # EAPI Eina_Bool elm_web_reload(Evas_Object *obj); [ :elm_web_reload, [ :evas_object ], :bool ], # EAPI Eina_Bool elm_web_reload_full(Evas_Object *obj); [ :elm_web_reload_full, [ :evas_object ], :bool ], # EAPI Eina_Bool elm_web_back(Evas_Object *obj); [ :elm_web_back, [ :evas_object ], :bool ], # EAPI Eina_Bool elm_web_forward(Evas_Object *obj); [ :elm_web_forward, [ :evas_object ], :bool ], # EAPI Eina_Bool elm_web_navigate(Evas_Object *obj, int steps); [ :elm_web_navigate, [ :evas_object, :int ], :bool ], # EAPI Eina_Bool elm_web_back_possible(Evas_Object *obj); [ :elm_web_back_possible, [ :evas_object ], :bool ], # EAPI Eina_Bool elm_web_forward_possible(Evas_Object *obj); [ :elm_web_forward_possible, [ :evas_object ], :bool ], # EAPI Eina_Bool elm_web_navigate_possible(Evas_Object *obj, int steps); [ :elm_web_navigate_possible, [ :evas_object, :int ], :bool ], # EAPI Eina_Bool elm_web_history_enable_get(const Evas_Object *obj); [ :elm_web_history_enable_get, [ :evas_object ], :bool ], # EAPI void elm_web_history_enable_set(Evas_Object *obj, Eina_Bool enable); [ :elm_web_history_enable_set, [ :evas_object, :bool ], :void ], # EAPI void elm_web_zoom_set(Evas_Object *obj, double zoom); [ :elm_web_zoom_set, [ :evas_object, :double ], :void ], # EAPI double elm_web_zoom_get(const Evas_Object *obj); [ :elm_web_zoom_get, [ :evas_object ], :double ], # EAPI void elm_web_zoom_mode_set(Evas_Object *obj, Elm_Web_Zoom_Mode mode); [ :elm_web_zoom_mode_set, [ :evas_object, :elm_web_zoom_mode ], :void ], # EAPI Elm_Web_Zoom_Mode elm_web_zoom_mode_get(const Evas_Object *obj); [ :elm_web_zoom_mode_get, [ :evas_object ], :elm_web_zoom_mode ], # EAPI void elm_web_region_show(Evas_Object *obj, int x, int y, int w, int h); [ :elm_web_region_show, [ :evas_object, :int, :int, :int, :int ], :void ], # EAPI void elm_web_region_bring_in(Evas_Object *obj, int x, int y, int w, int h); [ :elm_web_region_bring_in, [ :evas_object, :int, :int, :int, :int ], :void ], # EAPI void elm_web_inwin_mode_set(Evas_Object *obj, Eina_Bool value); [ :elm_web_inwin_mode_set, [ :evas_object, :bool ], :void ], # EAPI Eina_Bool elm_web_inwin_mode_get(const Evas_Object *obj); [ :elm_web_inwin_mode_get, [ :evas_object ], :bool ], # EAPI void elm_web_window_features_ref(Elm_Web_Window_Features *wf); [ :elm_web_window_features_ref, [ :elm_web_window_features ], :void ], # EAPI void elm_web_window_features_unref(Elm_Web_Window_Features *wf); [ :elm_web_window_features_unref, [ :elm_web_window_features ], :void ], # EAPI void elm_web_window_features_bool_property_get(const Elm_Web_Window_Features *wf, Eina_Bool *toolbar_visible, Eina_Bool *statusbar_visible, Eina_Bool *scrollbars_visible, Eina_Bool *menubar_visible, Eina_Bool *locationbar_visble, Eina_Bool *fullscreen); [ :elm_web_window_features_bool_property_get, [ :elm_web_window_features, :pointer, :pointer, :pointer, :pointer, :pointer, :pointer ], :void ], # EAPI void elm_web_window_features_int_property_get(const Elm_Web_Window_Features *wf, int *x, int *y, int *w, int *h); [ :elm_web_window_features_int_property_get, [ :elm_web_window_features, :pointer, :pointer, :pointer, :pointer ], :void ], ] # attach_fcts fcts # end end # # EOF