summaryrefslogtreecommitdiffstats
path: root/lib/efl/native/elm/elm_glview.rb
blob: 6f1d2a6a6143ade013716bab41329c9263c39ca9 (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'
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.so.1'
        #
        # 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 ]
        #
        # CALLBACKS
        # typedef void (*Elm_GLView_Func_Cb) (Evas_Object *obj);
        callback :elm_glview_func_cb, [ :evas_object ], :void
        #
        # FUNCTIONS
        fcts = [
        # 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