summaryrefslogtreecommitdiffstats
path: root/lib/efl/native/evas_loader.rb
blob: 173bdc83072e461c6287ca93a865f3a489477600 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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