summaryrefslogtreecommitdiff
path: root/src/lib/ector/ector_surface.eo
blob: 67a4813368a76bc23b5bdcacd4fec0c518ed68c9 (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
mixin @beta Ector.Surface extends Ector.Buffer
{
   [[Surface interface for Ector]]

   c_prefix: ector_surface;
   data: null;
   methods {
      @property reference_point {
         [[This defines where (0,0) is in pixel coordinates inside the surface]]
         set @pure_virtual {
         }
         values {
            x: int; [[X coordinate for reference point]]
            y: int; [[Y coordinate for reference point]]
         }
      }
      renderer_factory_new @pure_virtual {
         [[Create a new renderer factory for the given type]]
         return: Efl.Object; [[Renderer factory object]] /* FIXME: Should be a more restricted type, only here for cyclic. */
         params {
            @in type: const(Efl.Class); [[Efl class]] /* FIXME: Should probably be a more restricted type */
         }
      }
      draw_image @pure_virtual {
         [[ Draw image's buffer to surface buffer. ]]
         params {
            @in image: Ector.Buffer; [[Image buffer]]
            @in x: int; [[Buffer position x]]
            @in y: int; [[Buffer position y]]
            @in alpha: int; [[Buffer alpha value]]
         }
         return: bool; [[True if drawing was successful]]
      }
   }
}