summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/efl_canvas_surface.eo
blob: 5a113f333b15495996d0acaacf0c2953b9b2d7fa (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
mixin Efl.Canvas.Surface (Efl.Interface, Efl.Canvas.Image_Internal)
{
   [[Native surfaces usually bound to an externally-managed buffer.

     The attached @.native_buffer is entirely platform-dependent, which means
     some of this mixin's subclasses will not work (constructor returns $null)
     on some platforms. This class is meant to be used from native code only
     (C or C++), with direct access to the display system or a buffer
     allocation system.
   ]]
   methods {
      @property native_buffer {
          [[External buffer attached to this native surface.

            Set to $null to detach this surface from the external buffer.
          ]]
          get {}
          set @pure_virtual {
             [[Set the buffer. If this fails, this function returns $false,
               and the surface is left without any attached buffer.
             ]]
             return: bool @warn_unused; [[$true on success, $false otherwise]]
          }
          values {
             buffer: void_ptr; [[The external buffer, depends on its type.]]
          }
      }
   }
   implements {
      Efl.Object.constructor;
   }
}