efl/src/lib/efl/interfaces/efl_gfx_stack.eo

135 lines
4.9 KiB
Plaintext

const Efl.Gfx.Stack.Layer.Min: short = -32768; [[bottom-most layer number]]
const Efl.Gfx.Stack.Layer.Max: short = 32767; [[top-most layer number]]
interface Efl.Gfx.Stack
{
[[Efl graphics stack interface]]
event_prefix: efl_gfx_entity;
methods {
@property layer {
set {
[[Sets the layer of its canvas that the given object will be part of.
If you don't use this function, you'll be dealing with an unique
layer of objects (the default one). Additional layers are handy when
you don't want a set of objects to interfere with another set with
regard to stacking. Two layers are completely disjoint in that
matter.
This is a low-level function, which you'd be using when something
should be always on top, for example.
Warning: Don't change the layer of
smart objects' children. Smart objects have a layer of their own,
which should contain all their child objects.
See also @.layer.get()]]
}
get {
[[Retrieves the layer of its canvas that the given object is part of.
See also @.layer.set()]]
}
values {
l: short; [[The number of the layer to place the object on.
Must be between #EFL_GFX_STACK_LAYER_MIN and #EFL_GFX_STACK_LAYER_MAX.]]
}
}
@property below {
get {
[[Get the Evas object stacked right below $obj
This function will traverse layers in its search, if there are
objects on layers below the one $obj is placed at.
See also @.layer.get(), @.layer.set() and @.below.get()]]
return: Efl.Gfx.Stack @warn_unused; [[The #Efl_Gfx_Stack directly below $obj, if any,
or $null, if none]]
}
}
@property above {
get {
[[Get the Evas object stacked right above $obj
This function will traverse layers in its search, if there are
objects on layers above the one $obj is placed at.
See also @.layer.get(), @.layer.set() and @.below.get()]]
return: Efl.Gfx.Stack @warn_unused; [[The #Efl_Gfx_Stack directly below $obj, if any,
or $null, if none]]
}
}
stack_below {
[[Stack $obj immediately $below
Objects, in a given canvas, are stacked in the order they're added.
This means that, if they overlap, the highest ones will
cover the lowest ones, in that order. This function is a way to
change the stacking order for the objects.
Its intended to be used with objects belonging to
the same layer in a given canvas, otherwise it will fail (and
accomplish nothing).
If you have smart objects on your canvas and $obj is a member of
one of them, then $below must also be a member of the same
smart object.
Similarly, if $obj is not a member of a smart object, $below
must not be either.
See also @.layer.get(), @.layer.set() and @.stack_below()]]
params {
@in below: Efl.Gfx.Stack @nonull; [[The object below which to stack]]
}
}
raise {
[[Raise $obj to the top of its layer.
$obj will, then, be the highest one in the layer it belongs
to. Object on other layers won't get touched.
See also @.stack_above(), @.stack_below() and @.lower()]]
}
stack_above {
[[Stack $obj immediately $above
Objects, in a given canvas, are stacked in the order they're added.
This means that, if they overlap, the highest ones will
cover the lowest ones, in that order. This function is a way to
change the stacking order for the objects.
Its intended to be used with objects belonging to
the same layer in a given canvas, otherwise it will fail (and
accomplish nothing).
If you have smart objects on your canvas and $obj is a member of
one of them, then $above must also be a member of the same
smart object.
Similarly, if $obj is not a member of a smart object, $above
must not be either.
See also @.layer.get(), @.layer.set() and @.stack_below()]]
params {
@in above: Efl.Gfx.Stack @nonull; [[The object above which to stack]]
}
}
lower {
[[Lower $obj to the bottom of its layer.
$obj will, then, be the lowest one in the layer it belongs
to. Objects on other layers won't get touched.
See also @.stack_above(), @.stack_below() and @.raise() ]]
}
}
events {
restack; [[Object stacking was changed.]]
}
}