summaryrefslogtreecommitdiffstats
path: root/lib/efl/native/evas_loader.rb
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2013-12-20 16:16:09 +0100
committerJérémy Zurcher <jeremy@asynk.ch>2013-12-20 16:16:09 +0100
commit821a1acdb583b2727717a6d3360c49f7a3489d52 (patch)
treece9e3bfe19642df1d8fec2d02241d3dd284d50f2 /lib/efl/native/evas_loader.rb
parent4a2c039c135aabac55b2d88a5f5548d52d7a3cdf (diff)
downloadffi-efl-821a1acdb583b2727717a6d3360c49f7a3489d52.zip
ffi-efl-821a1acdb583b2727717a6d3360c49f7a3489d52.tar.gz
wip-worktree-stateHEADmaster
Diffstat (limited to 'lib/efl/native/evas_loader.rb')
-rw-r--r--lib/efl/native/evas_loader.rb70
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