summaryrefslogtreecommitdiffstats
path: root/lib/efl/native/elm/elm_glview.rb
blob: 1abd4e1e86bb63620e0dc97addbc902e792afc8f (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
71
72
73
74
75
76
#! /usr/bin/env ruby
# -*- coding: UTF-8 -*-
#
require 'efl/native'
require 'efl/native/elementary'
#
module Efl
    #
    module ElmGLView
        #
        FCT_PREFIX = 'elm_glview_' 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_GLView_Mode {...} Elm_GLView_Mode;
        enum :elm_glview_mode, [ :elm_glview_none, 0, :elm_glview_alpha, (1<<1), :elm_glview_depth, (1<<2), :elm_glview_stencil, (1<<3),
            :elm_glview_direct, (1<<4) ]
        # typedef enum {...} Elm_GLView_Resize_Policy;
        enum :elm_glview_resize_policy, [ :elm_glview_resize_policy_recreate, 1, :elm_glview_resize_policy_scale, 2 ]
        # typedef enum {...} Elm_GLView_Render_Policy;
        enum :elm_glview_render_policy, [ :elm_glview_render_policy_on_demand, 1, :elm_glview_render_policy_always, 2 ]
        #
        # TYPEDEFS
        # typedef struct _GLData GLData;
        typedef :pointer, :gldata
        #
        # CALLBACKS
        # typedef void (*Elm_GLView_Func_Cb) (Evas_Object *obj);
        callback :elm_glview_func_cb, [ :evas_object ], :void
        #
        # FUNCTIONS
        fcts = [
        # EAPI int elm_main(int argc, char **argv)
        [ :elm_main, [ :int, :pointer ], :int ],
        # EAPI Evas_Object *elm_glview_add(Evas_Object *parent);
        [ :elm_glview_add, [ :evas_object ], :evas_object ],
        # EAPI void elm_glview_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h);
        [ :elm_glview_size_set, [ :evas_object, :int, :int ], :void ],
        # EAPI void elm_glview_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
        [ :elm_glview_size_get, [ :evas_object, :pointer, :pointer ], :void ],
        # EAPI Evas_GL_API *elm_glview_gl_api_get(const Evas_Object *obj);
        [ :elm_glview_gl_api_get, [ :evas_object ], :pointer ],
        # EAPI Eina_Bool elm_glview_mode_set(Evas_Object *obj, Elm_GLView_Mode mode);
        [ :elm_glview_mode_set, [ :evas_object, :elm_glview_mode ], :bool ],
        # EAPI Eina_Bool elm_glview_resize_policy_set(Evas_Object *obj, Elm_GLView_Resize_Policy policy);
        [ :elm_glview_resize_policy_set, [ :evas_object, :elm_glview_resize_policy ], :bool ],
        # EAPI Eina_Bool elm_glview_render_policy_set(Evas_Object *obj, Elm_GLView_Render_Policy policy);
        [ :elm_glview_render_policy_set, [ :evas_object, :elm_glview_render_policy ], :bool ],
        # EAPI void elm_glview_init_func_set(Evas_Object *obj, Elm_GLView_Func_Cb func);
        [ :elm_glview_init_func_set, [ :evas_object, :elm_glview_func_cb ], :void ],
        # EAPI void elm_glview_del_func_set(Evas_Object *obj, Elm_GLView_Func_Cb func);
        [ :elm_glview_del_func_set, [ :evas_object, :elm_glview_func_cb ], :void ],
        # EAPI void elm_glview_resize_func_set(Evas_Object *obj, Elm_GLView_Func_Cb func);
        [ :elm_glview_resize_func_set, [ :evas_object, :elm_glview_func_cb ], :void ],
        # EAPI void elm_glview_render_func_set(Evas_Object *obj, Elm_GLView_Func_Cb func);
        [ :elm_glview_render_func_set, [ :evas_object, :elm_glview_func_cb ], :void ],
        # EAPI void elm_glview_changed_set(Evas_Object *obj);
        [ :elm_glview_changed_set, [ :evas_object ], :void ],
        ]
        #
        attach_fcts fcts
        #
    end
end
#
# EOF