#! /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