diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2013-12-20 16:16:09 +0100 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2013-12-20 16:16:09 +0100 |
commit | 821a1acdb583b2727717a6d3360c49f7a3489d52 (patch) | |
tree | ce9e3bfe19642df1d8fec2d02241d3dd284d50f2 /lib/efl/native/evas_loader.rb | |
parent | 4a2c039c135aabac55b2d88a5f5548d52d7a3cdf (diff) | |
download | ffi-efl-821a1acdb583b2727717a6d3360c49f7a3489d52.zip ffi-efl-821a1acdb583b2727717a6d3360c49f7a3489d52.tar.gz |
Diffstat (limited to 'lib/efl/native/evas_loader.rb')
-rw-r--r-- | lib/efl/native/evas_loader.rb | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/lib/efl/native/evas_loader.rb b/lib/efl/native/evas_loader.rb new file mode 100644 index 0000000..173bdc8 --- /dev/null +++ b/lib/efl/native/evas_loader.rb @@ -0,0 +1,70 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/native' +# +module Efl + # + module Evas_Loader + # + FCT_PREFIX = 'evas_loader_' 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 'evas.so.1' + # + # ENUMS + # typedef enum _Evas_Module_Type {...} Evas_Module_Type; + enum :evas_module_type, [ :evas_module_type_engine, 0, :evas_module_type_image_loader, 1, :evas_module_type_image_saver, 2, + :evas_module_type_object, 3 ] + # typedef enum _Evas_Load_Error {...} Evas_Load_Error; + enum :evas_load_error, [ :evas_load_error_none, 0, :evas_load_error_generic, 1, :evas_load_error_does_not_exist, 2, + :evas_load_error_permission_denied, 3, :evas_load_error_resource_allocation_failed, 4, :evas_load_error_corrupt_file, 5, + :evas_load_error_unknown_format, 6 ] + # typedef enum _Evas_Image_Animated_Loop_Hint {...} Evas_Image_Animated_Loop_Hint; + enum :evas_image_animated_loop_hint, [ :evas_image_animated_hint_none, 0, :evas_image_animated_hint_loop, 1, + :evas_image_animated_hint_pingpong, 2 ] + # typedef enum _Evas_Image_Scale_Hint {...} Evas_Image_Scale_Hint; + enum :evas_image_scale_hint, [ :evas_image_scale_hint_none, 0, :evas_image_scale_hint_dynamic, 1, :evas_image_scale_hint_static, 2 ] + # + # TYPEDEFS + # typedef struct _Evas_Module_Api Evas_Module_Api; + typedef :pointer, :evas_module_api + # typedef struct _Evas_Module Evas_Module; + typedef :pointer, :evas_module + # typedef struct _Evas_Module_Path Evas_Module_Path; + typedef :pointer, :evas_module_path + # typedef struct _Evas_Module_Engine Evas_Module_Engine; + typedef :pointer, :evas_module_engine + # typedef struct _Evas_Module_Public Evas_Module_Public; + typedef :pointer, :evas_module_public + # typedef struct _Evas_Image_Load_Opts Evas_Image_Load_Opts; + typedef :pointer, :evas_image_load_opts + # typedef struct _Evas_Image_Animated Evas_Image_Animated; + typedef :pointer, :evas_image_animated + # typedef struct _Evas_Image_Property Evas_Image_Property; + typedef :pointer, :evas_image_property + # typedef struct _Evas_Image_Load_Func Evas_Image_Load_Func; + typedef :pointer, :evas_image_load_func + # + # FUNCTIONS + fcts = [ + # EAPI Eina_Bool evas_module_register (const Evas_Module_Api *module, Evas_Module_Type type); + [ :evas_module_register, [ :evas_module_api, :evas_module_type ], :bool ], + # EAPI Eina_Bool evas_module_unregister (const Evas_Module_Api *module, Evas_Module_Type type); + [ :evas_module_unregister, [ :evas_module_api, :evas_module_type ], :bool ], + ] + # + attach_fcts fcts + # + end +end +# +# EOF |