2018-04-04 02:10:48 -07:00
|
|
|
mixin Efl.Canvas.Surface (Efl.Interface, Efl.Canvas.Image_Internal)
|
2016-03-08 23:21:08 -08:00
|
|
|
{
|
|
|
|
[[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 {}
|
2017-01-13 06:44:09 -08:00
|
|
|
set @pure_virtual {
|
2016-03-08 23:21:08 -08:00
|
|
|
[[Set the buffer. If this fails, this function returns $false,
|
|
|
|
and the surface is left without any attached buffer.
|
|
|
|
]]
|
2016-11-15 07:05:06 -08:00
|
|
|
return: bool @warn_unused; [[$true on success, $false otherwise]]
|
2016-03-08 23:21:08 -08:00
|
|
|
}
|
|
|
|
values {
|
2016-06-02 04:54:59 -07:00
|
|
|
buffer: void_ptr; [[The external buffer, depends on its type.]]
|
2016-03-08 23:21:08 -08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
implements {
|
2016-08-10 07:23:04 -07:00
|
|
|
Efl.Object.constructor;
|
2016-03-08 23:21:08 -08:00
|
|
|
}
|
|
|
|
}
|