245 lines
9.3 KiB
Plaintext
245 lines
9.3 KiB
Plaintext
import efl_input_device;
|
|
import efl_gfx_types;
|
|
|
|
interface Efl.Canvas.Scene
|
|
{
|
|
[[Interface containing basic canvas-related methods and events.
|
|
|
|
@since 1.22
|
|
]]
|
|
methods {
|
|
@property image_max_size {
|
|
get {
|
|
[[Get the maximum image size the canvas can possibly handle.
|
|
|
|
This function returns the largest image or surface size that
|
|
the canvas can handle in pixels, and if there is one, returns $true.
|
|
It returns $false if no extra constraint on maximum image
|
|
size exists.
|
|
|
|
The default limit is 65535x65535.
|
|
|
|
]]
|
|
return: bool; [[$true on success, $false otherwise]]
|
|
}
|
|
values {
|
|
max: Eina.Size2D; [[The maximum image size (in pixels).]]
|
|
}
|
|
}
|
|
group_objects_calculate {
|
|
[[Call user-provided $calculate group functions and unset the
|
|
flag signalling that the object needs to get recalculated to
|
|
all group objects in the canvas.
|
|
]]
|
|
}
|
|
@property group_objects_calculating {
|
|
get {
|
|
[[Get if the canvas is currently calculating group objects.]]
|
|
}
|
|
values {
|
|
calculating: bool; [[$true if currently calculating group objects.]]
|
|
}
|
|
}
|
|
objects_at_xy_get {
|
|
[[Retrieve a list of objects at a given position in a canvas.
|
|
|
|
This function will traverse all the layers of the given canvas,
|
|
from top to bottom, querying for objects with areas covering the
|
|
given position. The user can exclude from the query objects which are
|
|
hidden and/or which are set to pass events.
|
|
|
|
Warning: This function will only evaluate top-level objects; child
|
|
or "sub" objects will be skipped.
|
|
]]
|
|
return: iterator<Efl.Gfx.Entity> @owned @warn_unused; [[
|
|
The list of objects that are over the given position in $e.
|
|
]]
|
|
params {
|
|
@in pos: Eina.Position2D; [[The pixel position.]]
|
|
@in include_pass_events_objects: bool; [[
|
|
Boolean flag to include or not objects which pass events
|
|
in this calculation.
|
|
]]
|
|
@in include_hidden_objects: bool; [[
|
|
Boolean flag to include or not hidden objects in this
|
|
calculation.
|
|
]]
|
|
}
|
|
}
|
|
object_top_at_xy_get @const {
|
|
[[Retrieve the object stacked at the top of a given position
|
|
in a canvas.
|
|
|
|
This function will traverse all the layers of the given canvas,
|
|
from top to bottom, querying for objects with areas covering the
|
|
given position. The user can exclude from the query objects which are
|
|
hidden and/or which are set to pass events.
|
|
|
|
Warning: This function will only evaluate top-level objects; child
|
|
or "sub" objects will be skipped.
|
|
]]
|
|
return: Efl.Gfx.Entity @warn_unused; [[The canvas object that is over all other objects at the given position.]]
|
|
params {
|
|
@in pos: Eina.Position2D; [[The pixel position.]]
|
|
@in include_pass_events_objects: bool; [[
|
|
Boolean flag to include or not objects which pass events
|
|
in this calculation.
|
|
]]
|
|
@in include_hidden_objects: bool; [[
|
|
Boolean flag to include or not hidden objects in this
|
|
calculation.
|
|
]]
|
|
}
|
|
}
|
|
objects_in_rectangle_get {
|
|
[[Retrieve a list of objects overlapping a given rectangular region in a canvas.
|
|
|
|
This function will traverse all the layers of the given canvas,
|
|
from top to bottom, querying for objects with areas overlapping
|
|
with the given rectangular region. The user can exclude
|
|
from the query objects which are hidden and/or which are set to
|
|
pass events.
|
|
|
|
Warning: This function will only evaluate top-level objects; child
|
|
or "sub" objects will be skipped.
|
|
]]
|
|
return: iterator<Efl.Gfx.Entity> @owned @warn_unused; [[Iterator to objects]]
|
|
params {
|
|
@in rect: Eina.Rect; [[The rectangular region.]]
|
|
@in include_pass_events_objects: bool; [[
|
|
Boolean flag to include or not objects which pass events
|
|
in this calculation.
|
|
]]
|
|
@in include_hidden_objects: bool; [[
|
|
Boolean flag to include or not hidden objects in this
|
|
calculation.
|
|
]]
|
|
}
|
|
}
|
|
object_top_in_rectangle_get @const {
|
|
[[Retrieve the canvas object stacked at the top of a given
|
|
rectangular region in a canvas
|
|
|
|
This function will traverse all the layers of the given canvas,
|
|
from top to bottom, querying for objects with areas overlapping
|
|
with the given rectangular region. The user can exclude
|
|
from the query objects which are hidden and/or which are set to
|
|
pass events.
|
|
|
|
Warning: This function will only evaluate top-level objects; child
|
|
or "sub" objects will be skipped.
|
|
]]
|
|
return: Efl.Gfx.Entity @warn_unused; [[
|
|
The object that is over all other objects at the given
|
|
rectangular region.
|
|
]]
|
|
params {
|
|
@in rect: Eina.Rect; [[The rectangular region.]]
|
|
@in include_pass_events_objects: bool; [[
|
|
Boolean flag to include or not objects which pass events
|
|
in this calculation.
|
|
]]
|
|
@in include_hidden_objects: bool; [[
|
|
Boolean flag to include or not hidden objects in this
|
|
calculation.
|
|
]]
|
|
}
|
|
}
|
|
/* FIXME Efl.Input.Device is not stable yet*/
|
|
seats @beta {
|
|
[[Iterate over the available input device seats for the canvas.
|
|
|
|
A "seat" is the term used for a group of input devices, typically including
|
|
a pointer and a keyboard. A seat object is the parent of the individual input
|
|
devices.
|
|
]]
|
|
return: iterator<Efl.Input.Device> @owned;
|
|
[[An iterator over the attached seats.]]
|
|
}
|
|
/* FIXME Efl.Input.Device is not stable yet*/
|
|
@property device @beta{
|
|
[[An input device attached to this canvas, found by name.
|
|
|
|
Note: This function is meant to find seats and not individual
|
|
input devices.
|
|
|
|
See also @.seat to find a seat by id instead of by name.
|
|
]]
|
|
get {
|
|
[[Get a device by name.]]
|
|
}
|
|
keys {
|
|
name: string; [[The name of the seat to find.]]
|
|
}
|
|
values {
|
|
seat: Efl.Input.Device; [[The device or seat, $null if not found.]]
|
|
}
|
|
}
|
|
/* FIXME Efl.Input.Device is not stable yet*/
|
|
@property seat @beta {
|
|
[[Get a seat attached to this canvas using the seat's id property.
|
|
|
|
Seats are associated with an arbitrary integer id. The id is not a
|
|
persistent value and should never be hardcoded, as it may change between
|
|
runs of an application depending on the environment.
|
|
|
|
See also @.device to find a seat by name instead of by id.
|
|
]]
|
|
get {
|
|
[[Get a seat by id.]]
|
|
}
|
|
keys {
|
|
id: int; [[The id of the seat to find.]]
|
|
}
|
|
values {
|
|
seat: Efl.Input.Device; [[The seat or $null if not found.]]
|
|
}
|
|
}
|
|
/* FIXME Efl.Input.Device is not stable yet*/
|
|
@property seat_default @beta {
|
|
[[Get the default seat attached to this canvas.
|
|
|
|
A canvas may have exactly one default seat.
|
|
|
|
See also @.device to find a seat by name.
|
|
See also @.seat to find a seat by id.
|
|
]]
|
|
get {
|
|
[[Get the default seat.]]
|
|
}
|
|
values {
|
|
seat: Efl.Input.Device; [[The default seat or $null if one does not exist.]]
|
|
}
|
|
}
|
|
/* FIXME Efl.Input.Device is not stable yet*/
|
|
@property pointer_position @beta {
|
|
get {
|
|
[[This function returns the current known pointer coordinates
|
|
|
|
This function returns the current position of the main input
|
|
pointer (mouse, pen, etc...).
|
|
]]
|
|
return: bool; [[$true if a pointer exists for the given seat, otherwise $false.]]
|
|
}
|
|
keys {
|
|
seat: Efl.Input.Device; [[The seat, or $null to use the default.]]
|
|
}
|
|
values {
|
|
pos: Eina.Position2D; [[The pointer position in pixels.]]
|
|
}
|
|
}
|
|
}
|
|
events {
|
|
scene,focus,in: Efl.Input.Focus; [[Called when scene got focus]]
|
|
scene,focus,out: Efl.Input.Focus; [[Called when scene lost focus]]
|
|
object,focus,in: Efl.Input.Focus; [[Called when object got focus]]
|
|
object,focus,out: Efl.Input.Focus; [[Called when object lost focus]]
|
|
render,pre: void; [[Called when pre render happens]]
|
|
/* FIXME: event_info can be NULL, but @nullable tag does not work on events yet */
|
|
render,post @beta: Efl.Gfx.Event.Render_Post; [[Called when post render happens]]
|
|
device,changed @beta : Efl.Input.Device; [[Called when input device changed]]
|
|
device,added @beta: Efl.Input.Device; [[Called when input device was added]]
|
|
device,removed @beta : Efl.Input.Device; [[Called when input device was removed]]
|
|
}
|
|
}
|