efl.evas.Canvas Class

class efl.evas.Canvas(method=None, size=None, viewport=None)

Bases: efl.eo.Eo

Canvas is the base drawing area and scene manager, it should have a number of objects (or actors) that will be managed. Object state is monitored and redraw is optimized based on changes.

Variables:rectRect describing object geometry, for easy manipulation. Changing this Rect will not affect current geometry, you have to set it again to have this behavior.

Attention

Canvas must be associated with an Input/Output system in order to be functional. So far it’s impossible to do this association directly from Python, so you should create Canvas indirectly using efl.elementary classes, like efl.elementary.window.Window.

Box

Factory of efl.evas.Box associated with this canvas.

Return type:efl.evas.Box
FilledImage

Factory of efl.evas.FilledImage associated with this canvas.

Return type:efl.evas.FilledImage
Image

Factory of efl.evas.Image associated with this canvas.

Return type:efl.evas.Image
Line

Factory of efl.evas.Line associated with this canvas.

Return type:efl.evas.Line
Polygon

Factory of efl.evas.Polygon associated with this canvas.

Return type:efl.evas.Polygon
Rectangle

Factory of efl.evas.Rectangle associated with this canvas.

Return type:efl.evas.Rectangle
Text

Factory of efl.evas.Text associated with this canvas.

Return type:efl.evas.Text
Textblock

Factory of efl.evas.Textblock associated with this canvas.

Return type:efl.evas.Textblock
bottom_get
Return type:efl.evas.Object
coord_screen_x_to_world
Return type:int
coord_screen_y_to_world
Return type:int
coord_world_x_to_screen
Return type:int
coord_world_y_to_screen
Return type:int
damage_rectangle_add
delete
engine_info_get

Get the engine information pointer.

Note that given value is a pointer and is totally engine and platform dependent.

This call is very low level and is meant for extension to use, they usually do the machinery in C and just handle pointers as integers.

If in doubt, don’t mess with it.

Returns:pointer as integer (uintptr_t).
engine_info_set

Set the engine information pointer.

Note that given value is a pointer, usually acquired with engine_info_get() and is totally engine and platform dependent.

This call is very low level and is meant for extension to use, they usually do the machinery in C and just handle pointers as integers.

If in doubt, don’t mess with it.

event_callback_add

Add a new callback for the given event.

Parameters:
  • type – an integer with event type code, like EVAS_CALLBACK_CANVAS_FOCUS_IN, EVAS_CALLBACK_RENDER_FLUSH_PRE and other EVAS_CALLBACK_ constants.
  • func

    function to call back, this function will have one of the following signatures:

    function(object, event, *args, **kargs)
    function(object, *args, **kargs)
    

    The former is used by events that provide more data (none so far), while the second is used by events without. Parameters given at the end of event_callback_add() will be given to the callback. Note that the object passed to the callback in event parameter will only be valid during the callback, using it after callback returns will raise an ValueError.

Raises:
  • ValueError – if type is unknown.
  • TypeError – if func is not callable.
event_callback_del

Remove callback for the given event.

Parameters:
Precond:

type and func must be used as parameter for event_callback_add().

Raises:

ValueError – if type is unknown or if there was no func connected with this type.

event_freeze

Pause event propagation for this object.

event_freeze_count_get

Get the event freeze count for this object.

Returns:the freeze count
Return type:int
event_thaw

Restart event propagation for this object.

feed_hold

Emit a feed_hold event in the canvas

feed_key_down

Emit a key_down event in the canvas

feed_key_up

Emit a key_up event in the canvas

feed_mouse_cancel

Emit a mouse_cancel event in the canvas

feed_mouse_down

Emit a mouse_down event in the canvas

feed_mouse_in

Emit a mouse_in event in the canvas

feed_mouse_move

Emit a mouse_move event in the canvas

feed_mouse_out

Emit a mouse_out event in the canvas

feed_mouse_up

Emit a mouse_up event in the canvas

feed_mouse_wheel

Emit a mouse_wheel event in the canvas

feed_multi_down

Emit a multi_down event in the canvas

feed_multi_move

Emit a multi_move event in the canvas

feed_multi_up

Emit a multi_up event in the canvas

focus_get
Return type:efl.evas.Object
font_available_list
Return type:list of str
font_cache_flush
font_cache_get
Return type:int
font_cache_set
font_hinting_can_hint
Return type:bool
font_hinting_get
Return type:int
font_hinting_set
Parameters:flags

One of

  • EVAS_FONT_HINTING_NONE
  • EVAS_FONT_HINTING_AUTO
  • EVAS_FONT_HINTING_BYTECODE
font_path_append
font_path_clear
font_path_list
Return type:list of str
font_path_prepend
freeze

Freeze event processing

freeze_get
Return type:int
image_cache_flush
image_cache_get
Return type:int
image_cache_reload
image_cache_set
is_deleted

Check if the object has been deleted thus leaving the object shallow.

Returns:True if the object has been deleted yet, False otherwise.
Return type:bool
key_modifier_is_set
Return type:bool
norender
object_name_find

Find object by name.

Parameters:name
Return type:efl.evas.Object
objects_at_xy_get

Get all children at (x, y).

Parameters:
  • x
  • y
  • include_pass_events_objects – if to include objects passing events.
  • include_hidden_objects – if to include hidden objects.
Returns:

children objects.

Return type:

List of efl.evas.Object

objects_in_rectangle_get

Get all children at given geometry.

Parameters:
  • x
  • y
  • w
  • h
  • include_pass_events_objects – if to include objects passing events.
  • include_hidden_objects – if to include hidden objects.
Returns:

children objects.

Return type:

List of efl.evas.Object

obscured_clear
obscured_rectangle_add
on_canvas_focus_in_add

Same as event_callback_add(EVAS_CALLBACK_CANVAS_FOCUS_IN, …)

Expected signature:

function(object, *args, **kargs)
on_canvas_focus_in_del

Same as event_callback_del(EVAS_CALLBACK_CANVAS_FOCUS_IN, …)

on_canvas_focus_out_add

Same as event_callback_add(EVAS_CALLBACK_CANVAS_FOCUS_OUT, …)

Expected signature:

function(object, *args, **kargs)
on_canvas_focus_out_del

Same as event_callback_del(EVAS_CALLBACK_CANVAS_FOCUS_OUT, …)

on_render_flush_post_add

Same as event_callback_add(EVAS_CALLBACK_RENDER_FLUSH_POST, …)

Expected signature:

function(object, *args, **kargs)
on_render_flush_post_del

Same as event_callback_del(EVAS_CALLBACK_RENDER_FLUSH_POST, …)

on_render_flush_pre_add

Same as event_callback_add(EVAS_CALLBACK_RENDER_FLUSH_PRE, …)

Expected signature:

function(object, *args, **kargs)
on_render_flush_pre_del

Same as event_callback_del(EVAS_CALLBACK_RENDER_FLUSH_PRE, …)

output_method_get
output_method_set

Set canvas render method, can be either a name or id.

Parameters:method – name(str) or id(int) of the method to set
parent

The parent object

Type:Eo
parent_get
parent_set
pointer_button_down_mask_get

Returns a bitmask with the mouse buttons currently pressed set to 1.

The least significant bit corresponds to the first mouse button (button 1) and the most significant bit corresponds to the last mouse button (button 32).

Return type:int
pointer_canvas_xy_get

Returns the pointer’s (x, y) relative to canvas.

pointer_inside_get

Returns whether the mouse pointer is logically inside the canvas.

Return type:bool
pointer_output_xy_get

Returns the pointer’s (x, y) relative to output.

render

Force canvas to redraw pending updates.

render_updates
size_get
Returns:the tuple of int: (w, h)
size_set

Set canvas size.

Parameters:
  • w
  • h
thaw

Thaw (unfreeze) event processing

top_at_pointer_get

Get the topmost object at pointer position.

Returns:child object.
Return type:efl.evas.Object
top_at_xy_get

Get the topmost object at (x, y).

Parameters:
  • x
  • y
  • include_pass_events_objects – if to include objects passing events.
  • include_hidden_objects – if to include hidden objects.
Returns:

child object.

Return type:

efl.evas.Object

top_get
Return type:efl.evas.Object
top_in_rectangle_get

Get the topmost object at given geometry.

Parameters:
  • x
  • y
  • w
  • h
  • include_pass_events_objects – if to include objects passing events.
  • include_hidden_objects – if to include hidden objects.
Returns:

child object.

Return type:

efl.evas.Object

viewport_get
Returns:the tuple of int: (x, y, w, h)
viewport_set

Sets the output viewport of the given evas in evas units.

Parameters:
  • x
  • y
  • w
  • h

The output viewport is the area of the evas that will be visible to the viewer. The viewport will be stretched to fit the output target of the evas when rendering is performed.

Note

The coordinate values do not have to map 1-to-1 with the output target. However, it is generally advised that it is done for ease of use.