diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2012-02-28 14:45:41 +0100 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2012-02-28 14:45:41 +0100 | 
| commit | 52a3c45956a21bf86c156abe73077b5f3786303a (patch) | |
| tree | b2fb2d3a8a876bdfa40aa14e81275b47962efa1f /lib | |
| parent | dc6c216bc5bcc3319a1aca55adcb713e59cca985 (diff) | |
| download | ffi-efl-52a3c45956a21bf86c156abe73077b5f3786303a.zip ffi-efl-52a3c45956a21bf86c156abe73077b5f3786303a.tar.gz | |
parse elm_web.h, generate elm_web.rb
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/efl/elementary_all.rb | 2 | ||||
| -rw-r--r-- | lib/efl/elm/elm_web.rb | 22 | ||||
| -rw-r--r-- | lib/efl/native/elm/elm_web.rb | 165 | 
3 files changed, 188 insertions, 1 deletions
| diff --git a/lib/efl/elementary_all.rb b/lib/efl/elementary_all.rb index c62fbc1..0ffc4dd 100644 --- a/lib/efl/elementary_all.rb +++ b/lib/efl/elementary_all.rb @@ -84,7 +84,7 @@ require 'efl/elm/elm_thumb'  require 'efl/elm/elm_toolbar'  require 'efl/elm/elm_transit'  require 'efl/elm/elm_video' -#require 'efl/elm/elm_web' +require 'efl/elm/elm_web'  #require 'efl/elm/elm_widget'  require 'efl/elm/elm_win'  # diff --git a/lib/efl/elm/elm_web.rb b/lib/efl/elm/elm_web.rb new file mode 100644 index 0000000..a8084b7 --- /dev/null +++ b/lib/efl/elm/elm_web.rb @@ -0,0 +1,22 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/elm/elm_object' +require 'efl/native/elm/elm_web' +# +module Efl +    # +    module Elm +        # +        class ElmWeb < ElmObject +            # +            include Helper +            constructor :elm_web_add +            search_prefixes 'elm_web_' +            # +        end +        # +    end +end +# +# EOF diff --git a/lib/efl/native/elm/elm_web.rb b/lib/efl/native/elm/elm_web.rb new file mode 100644 index 0000000..1a4a55d --- /dev/null +++ b/lib/efl/native/elm/elm_web.rb @@ -0,0 +1,165 @@ +#! /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 | 
