summaryrefslogtreecommitdiff
path: root/src/lib/ector/gl/ector_gl_surface.eo
blob: 798befa70d375e09a103ff3bb4bde928ad8ab95e (plain) (blame)
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
import ector_types;

class Ector.GL.Surface (Ector.GL.Buffer, Ector.Surface)
{
   [[Ector GL surface class]]
   eo_prefix: ector_gl_surface;
   methods {
      shader_get {
         [[Get shader]]
         return: uint; [[Shader count]]
         params {
            @in flags: uint64; [[Flags]]
         }
      }
      push {
      	 [[Push surface to GPU]]
         return: bool; [[$true on success, $false otherwise]]
	 params {
	    @in flags: uint64; [[GL flags]]
	    @in vertex: ptr(GLshort); [[GL vertex]]
	    @in vertex_count: uint; [[GL vertex count]]
	    @in mul_col: uint; [[Premultiplied color]]
	 }
      }
      state_define {
      	 [[Define state]]
         return: bool; [[$true on success, $false otherwise]]
	 params {
            @in op: Efl.Gfx.Render_Op; [[Render operation]]
	    @in clips: array<ptr(Eina.Rect)>; [[Array of @Eina.Rect clip]]
	 }
      }
   }
   implements {
      Ector.Surface.renderer_factory_new;
      Ector.Surface.reference_point { set; }
      Efl.Object.destructor;
      Efl.Object.constructor;
   }
}