123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544 |
- .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
- .. DO NOT EDIT THIS FILE, but the CanvasItem.xml source instead.
- .. The source is found in doc/classes or modules/<name>/doc_classes.
- .. _class_CanvasItem:
- CanvasItem
- ==========
- **Inherits:** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
- **Inherited By:** :ref:`Node2D<class_node2d>`, :ref:`Control<class_control>`
- **Category:** Core
- Brief Description
- -----------------
- Base class of anything 2D.
- Member Functions
- ----------------
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`_draw<class_CanvasItem__draw>` **(** **)** virtual |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`float<class_float>` | :ref:`draw_char<class_CanvasItem_draw_char>` **(** :ref:`Font<class_font>` font, :ref:`Vector2<class_vector2>` position, :ref:`String<class_string>` char, :ref:`String<class_string>` next, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ) **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_circle<class_CanvasItem_draw_circle>` **(** :ref:`Vector2<class_vector2>` position, :ref:`float<class_float>` radius, :ref:`Color<class_color>` color **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_colored_polygon<class_CanvasItem_draw_colored_polygon>` **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`Color<class_color>` color, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array( ), :ref:`Texture<class_texture>` texture=null, :ref:`Texture<class_texture>` normal_map=null, :ref:`bool<class_bool>` antialiased=false **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_line<class_CanvasItem_draw_line>` **(** :ref:`Vector2<class_vector2>` from, :ref:`Vector2<class_vector2>` to, :ref:`Color<class_color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_polygon<class_CanvasItem_draw_polygon>` **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array( ), :ref:`Texture<class_texture>` texture=null, :ref:`Texture<class_texture>` normal_map=null, :ref:`bool<class_bool>` antialiased=false **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_polyline<class_CanvasItem_draw_polyline>` **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`Color<class_color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_polyline_colors<class_CanvasItem_draw_polyline_colors>` **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_primitive<class_CanvasItem_draw_primitive>` **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs, :ref:`Texture<class_texture>` texture=null, :ref:`float<class_float>` width=1.0, :ref:`Texture<class_texture>` normal_map=null **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_rect<class_CanvasItem_draw_rect>` **(** :ref:`Rect2<class_rect2>` rect, :ref:`Color<class_color>` color, :ref:`bool<class_bool>` filled=true **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_set_transform<class_CanvasItem_draw_set_transform>` **(** :ref:`Vector2<class_vector2>` position, :ref:`float<class_float>` rotation, :ref:`Vector2<class_vector2>` scale **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_set_transform_matrix<class_CanvasItem_draw_set_transform_matrix>` **(** :ref:`Transform2D<class_transform2d>` xform **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_string<class_CanvasItem_draw_string>` **(** :ref:`Font<class_font>` font, :ref:`Vector2<class_vector2>` position, :ref:`String<class_string>` text, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ), :ref:`int<class_int>` clip_w=-1 **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_style_box<class_CanvasItem_draw_style_box>` **(** :ref:`StyleBox<class_stylebox>` style_box, :ref:`Rect2<class_rect2>` rect **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_texture<class_CanvasItem_draw_texture>` **(** :ref:`Texture<class_texture>` texture, :ref:`Vector2<class_vector2>` position, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ), :ref:`Texture<class_texture>` normal_map=null **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_texture_rect<class_CanvasItem_draw_texture_rect>` **(** :ref:`Texture<class_texture>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`bool<class_bool>` tile, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_texture>` normal_map=null **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`draw_texture_rect_region<class_CanvasItem_draw_texture_rect_region>` **(** :ref:`Texture<class_texture>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`Rect2<class_rect2>` src_rect, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_texture>` normal_map=null, :ref:`bool<class_bool>` clip_uv=true **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Variant<class_variant>` | :ref:`edit_get_state<class_CanvasItem_edit_get_state>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`edit_rotate<class_CanvasItem_edit_rotate>` **(** :ref:`float<class_float>` degrees **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`edit_set_rect<class_CanvasItem_edit_set_rect>` **(** :ref:`Rect2<class_rect2>` rect **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`edit_set_state<class_CanvasItem_edit_set_state>` **(** :ref:`Variant<class_variant>` state **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`RID<class_rid>` | :ref:`get_canvas<class_CanvasItem_get_canvas>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`RID<class_rid>` | :ref:`get_canvas_item<class_CanvasItem_get_canvas_item>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Transform2D<class_transform2d>` | :ref:`get_canvas_transform<class_CanvasItem_get_canvas_transform>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2<class_vector2>` | :ref:`get_global_mouse_position<class_CanvasItem_get_global_mouse_position>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Transform2D<class_transform2d>` | :ref:`get_global_transform<class_CanvasItem_get_global_transform>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Transform2D<class_transform2d>` | :ref:`get_global_transform_with_canvas<class_CanvasItem_get_global_transform_with_canvas>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Rect2<class_rect2>` | :ref:`get_item_and_children_rect<class_CanvasItem_get_item_and_children_rect>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Rect2<class_rect2>` | :ref:`get_item_rect<class_CanvasItem_get_item_rect>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_light_mask<class_CanvasItem_get_light_mask>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2<class_vector2>` | :ref:`get_local_mouse_position<class_CanvasItem_get_local_mouse_position>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Material<class_material>` | :ref:`get_material<class_CanvasItem_get_material>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Color<class_color>` | :ref:`get_modulate<class_CanvasItem_get_modulate>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Color<class_color>` | :ref:`get_self_modulate<class_CanvasItem_get_self_modulate>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Transform2D<class_transform2d>` | :ref:`get_transform<class_CanvasItem_get_transform>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`get_use_parent_material<class_CanvasItem_get_use_parent_material>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Rect2<class_rect2>` | :ref:`get_viewport_rect<class_CanvasItem_get_viewport_rect>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Transform2D<class_transform2d>` | :ref:`get_viewport_transform<class_CanvasItem_get_viewport_transform>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`World2D<class_world2d>` | :ref:`get_world_2d<class_CanvasItem_get_world_2d>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`hide<class_CanvasItem_hide>` **(** **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_draw_behind_parent_enabled<class_CanvasItem_is_draw_behind_parent_enabled>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_local_transform_notification_enabled<class_CanvasItem_is_local_transform_notification_enabled>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_set_as_toplevel<class_CanvasItem_is_set_as_toplevel>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_transform_notification_enabled<class_CanvasItem_is_transform_notification_enabled>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_visible<class_CanvasItem_is_visible>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_visible_in_tree<class_CanvasItem_is_visible_in_tree>` **(** **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2<class_vector2>` | :ref:`make_canvas_position_local<class_CanvasItem_make_canvas_position_local>` **(** :ref:`Vector2<class_vector2>` screen_point **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`InputEvent<class_inputevent>` | :ref:`make_input_local<class_CanvasItem_make_input_local>` **(** :ref:`InputEvent<class_inputevent>` event **)** const |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_as_toplevel<class_CanvasItem_set_as_toplevel>` **(** :ref:`bool<class_bool>` enable **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_draw_behind_parent<class_CanvasItem_set_draw_behind_parent>` **(** :ref:`bool<class_bool>` enable **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_light_mask<class_CanvasItem_set_light_mask>` **(** :ref:`int<class_int>` light_mask **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_material<class_CanvasItem_set_material>` **(** :ref:`Material<class_material>` material **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_modulate<class_CanvasItem_set_modulate>` **(** :ref:`Color<class_color>` modulate **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_notify_local_transform<class_CanvasItem_set_notify_local_transform>` **(** :ref:`bool<class_bool>` enable **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_notify_transform<class_CanvasItem_set_notify_transform>` **(** :ref:`bool<class_bool>` enable **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_self_modulate<class_CanvasItem_set_self_modulate>` **(** :ref:`Color<class_color>` self_modulate **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_use_parent_material<class_CanvasItem_set_use_parent_material>` **(** :ref:`bool<class_bool>` enable **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_visible<class_CanvasItem_set_visible>` **(** :ref:`bool<class_bool>` visible **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`show<class_CanvasItem_show>` **(** **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`update<class_CanvasItem_update>` **(** **)** |
- +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- Signals
- -------
- - **draw** **(** **)**
- Emitted when the CanvasItem must redraw. This can only be connected realtime, as deferred will not allow drawing.
- - **hide** **(** **)**
- Emitted when becoming hidden.
- - **item_rect_changed** **(** **)**
- Emitted when the item rect has changed.
- - **visibility_changed** **(** **)**
- Emitted when the visibility (hidden/visible) changes.
- Member Variables
- ----------------
- - :ref:`int<class_int>` **light_mask**
- - :ref:`Material<class_material>` **material**
- - :ref:`Color<class_color>` **modulate**
- - :ref:`Color<class_color>` **self_modulate**
- - :ref:`bool<class_bool>` **show_behind_parent**
- - :ref:`bool<class_bool>` **show_on_top**
- - :ref:`bool<class_bool>` **use_parent_material**
- - :ref:`bool<class_bool>` **visible**
- Numeric Constants
- -----------------
- - **BLEND_MODE_MIX** = **0** --- Mix blending mode. Colors are assumed to be independent of the alpha (opacity) value.
- - **BLEND_MODE_ADD** = **1** --- Additive blending mode.
- - **BLEND_MODE_SUB** = **2** --- Subtractive blending mode.
- - **BLEND_MODE_MUL** = **3** --- Multiplicative blending mode.
- - **BLEND_MODE_PREMULT_ALPHA** = **4** --- Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value.
- - **NOTIFICATION_DRAW** = **30** --- CanvasItem is requested to draw.
- - **NOTIFICATION_VISIBILITY_CHANGED** = **31** --- Canvas item visibility has changed.
- - **NOTIFICATION_ENTER_CANVAS** = **32** --- Canvas item has entered the canvas.
- - **NOTIFICATION_EXIT_CANVAS** = **33** --- Canvas item has exited the canvas.
- - **NOTIFICATION_TRANSFORM_CHANGED** = **29** --- Canvas item transform has changed. Only received if requested.
- Description
- -----------
- Base class of anything 2D. Canvas items are laid out in a tree and children inherit and extend the transform of their parent. CanvasItem is extended by :ref:`Control<class_control>`, for anything GUI related, and by :ref:`Node2D<class_node2d>` for anything 2D engine related.
- Any CanvasItem can draw. For this, the "update" function must be called, then NOTIFICATION_DRAW will be received on idle time to request redraw. Because of this, canvas items don't need to be redraw on every frame, improving the performance significantly. Several functions for drawing on the CanvasItem are provided (see draw\_\* functions). They can only be used inside the notification, signal or _draw() overrides function, though.
- Canvas items are draw in tree order. By default, children are on top of their parents so a root CanvasItem will be drawn behind everything (this can be changed per item though).
- Canvas items can also be hidden (hiding also their subtree). They provide many means for changing standard parameters such as opacity (for it and the subtree) and self opacity, blend mode.
- Ultimately, a transform notification can be requested, which will notify the node that its global position changed in case the parent tree changed.
- Member Function Description
- ---------------------------
- .. _class_CanvasItem__draw:
- - void **_draw** **(** **)** virtual
- Called (if exists) to draw the canvas item.
- .. _class_CanvasItem_draw_char:
- - :ref:`float<class_float>` **draw_char** **(** :ref:`Font<class_font>` font, :ref:`Vector2<class_vector2>` position, :ref:`String<class_string>` char, :ref:`String<class_string>` next, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ) **)**
- Draw a string character using a custom font. Returns the advance, depending on the char width and kerning with an optional next char.
- .. _class_CanvasItem_draw_circle:
- - void **draw_circle** **(** :ref:`Vector2<class_vector2>` position, :ref:`float<class_float>` radius, :ref:`Color<class_color>` color **)**
- Draw a colored circle.
- .. _class_CanvasItem_draw_colored_polygon:
- - void **draw_colored_polygon** **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`Color<class_color>` color, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array( ), :ref:`Texture<class_texture>` texture=null, :ref:`Texture<class_texture>` normal_map=null, :ref:`bool<class_bool>` antialiased=false **)**
- Draw a colored polygon of any amount of points, convex or concave.
- .. _class_CanvasItem_draw_line:
- - void **draw_line** **(** :ref:`Vector2<class_vector2>` from, :ref:`Vector2<class_vector2>` to, :ref:`Color<class_color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
- Draw a line from a 2D point to another, with a given color and width. It can be optionally antialiased.
- .. _class_CanvasItem_draw_polygon:
- - void **draw_polygon** **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array( ), :ref:`Texture<class_texture>` texture=null, :ref:`Texture<class_texture>` normal_map=null, :ref:`bool<class_bool>` antialiased=false **)**
- Draw a polygon of any amount of points, convex or concave.
- .. _class_CanvasItem_draw_polyline:
- - void **draw_polyline** **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`Color<class_color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
- .. _class_CanvasItem_draw_polyline_colors:
- - void **draw_polyline_colors** **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
- .. _class_CanvasItem_draw_primitive:
- - void **draw_primitive** **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs, :ref:`Texture<class_texture>` texture=null, :ref:`float<class_float>` width=1.0, :ref:`Texture<class_texture>` normal_map=null **)**
- Draw a custom primitive, 1 point for a point, 2 points for a line, 3 points for a triangle and 4 points for a quad.
- .. _class_CanvasItem_draw_rect:
- - void **draw_rect** **(** :ref:`Rect2<class_rect2>` rect, :ref:`Color<class_color>` color, :ref:`bool<class_bool>` filled=true **)**
- Draw a colored rectangle.
- .. _class_CanvasItem_draw_set_transform:
- - void **draw_set_transform** **(** :ref:`Vector2<class_vector2>` position, :ref:`float<class_float>` rotation, :ref:`Vector2<class_vector2>` scale **)**
- Set a custom transform for drawing. Anything drawn afterwards will be transformed by this.
- .. _class_CanvasItem_draw_set_transform_matrix:
- - void **draw_set_transform_matrix** **(** :ref:`Transform2D<class_transform2d>` xform **)**
- .. _class_CanvasItem_draw_string:
- - void **draw_string** **(** :ref:`Font<class_font>` font, :ref:`Vector2<class_vector2>` position, :ref:`String<class_string>` text, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ), :ref:`int<class_int>` clip_w=-1 **)**
- Draw a string using a custom font.
- .. _class_CanvasItem_draw_style_box:
- - void **draw_style_box** **(** :ref:`StyleBox<class_stylebox>` style_box, :ref:`Rect2<class_rect2>` rect **)**
- Draw a styled rectangle.
- .. _class_CanvasItem_draw_texture:
- - void **draw_texture** **(** :ref:`Texture<class_texture>` texture, :ref:`Vector2<class_vector2>` position, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ), :ref:`Texture<class_texture>` normal_map=null **)**
- Draw a texture at a given position.
- .. _class_CanvasItem_draw_texture_rect:
- - void **draw_texture_rect** **(** :ref:`Texture<class_texture>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`bool<class_bool>` tile, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_texture>` normal_map=null **)**
- Draw a textured rectangle at a given position, optionally modulated by a color. Transpose swaps the x and y coordinates when reading the texture.
- .. _class_CanvasItem_draw_texture_rect_region:
- - void **draw_texture_rect_region** **(** :ref:`Texture<class_texture>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`Rect2<class_rect2>` src_rect, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_texture>` normal_map=null, :ref:`bool<class_bool>` clip_uv=true **)**
- Draw a textured rectangle region at a given position, optionally modulated by a color. Transpose swaps the x and y coordinates when reading the texture.
- .. _class_CanvasItem_edit_get_state:
- - :ref:`Variant<class_variant>` **edit_get_state** **(** **)** const
- Used for editing, returns an opaque value representing the transform state.
- .. _class_CanvasItem_edit_rotate:
- - void **edit_rotate** **(** :ref:`float<class_float>` degrees **)**
- Used for editing, handle rotation.
- .. _class_CanvasItem_edit_set_rect:
- - void **edit_set_rect** **(** :ref:`Rect2<class_rect2>` rect **)**
- .. _class_CanvasItem_edit_set_state:
- - void **edit_set_state** **(** :ref:`Variant<class_variant>` state **)**
- Set the transform state of this CanvasItem. For :ref:`Node2D<class_node2d>`, this is an :ref:`Array<class_array>` with (in order) a :ref:`Vector2<class_vector2>` for position, a float for rotation (radians) and another :ref:`Vector2<class_vector2>` for scale. For :ref:`Control<class_control>` this is a :ref:`Rect2<class_rect2>` with the position and size.
- .. _class_CanvasItem_get_canvas:
- - :ref:`RID<class_rid>` **get_canvas** **(** **)** const
- Return the :ref:`RID<class_rid>` of the :ref:`World2D<class_world2d>` canvas where this item is in.
- .. _class_CanvasItem_get_canvas_item:
- - :ref:`RID<class_rid>` **get_canvas_item** **(** **)** const
- Return the canvas item RID used by :ref:`VisualServer<class_visualserver>` for this item.
- .. _class_CanvasItem_get_canvas_transform:
- - :ref:`Transform2D<class_transform2d>` **get_canvas_transform** **(** **)** const
- Get the transform matrix of this item's canvas.
- .. _class_CanvasItem_get_global_mouse_position:
- - :ref:`Vector2<class_vector2>` **get_global_mouse_position** **(** **)** const
- Get the global position of the mouse.
- .. _class_CanvasItem_get_global_transform:
- - :ref:`Transform2D<class_transform2d>` **get_global_transform** **(** **)** const
- Get the global transform matrix of this item.
- .. _class_CanvasItem_get_global_transform_with_canvas:
- - :ref:`Transform2D<class_transform2d>` **get_global_transform_with_canvas** **(** **)** const
- Get the global transform matrix of this item in relation to the canvas.
- .. _class_CanvasItem_get_item_and_children_rect:
- - :ref:`Rect2<class_rect2>` **get_item_and_children_rect** **(** **)** const
- Get a :ref:`Rect2<class_rect2>` with the boundaries of this item and its children.
- .. _class_CanvasItem_get_item_rect:
- - :ref:`Rect2<class_rect2>` **get_item_rect** **(** **)** const
- Return a rect containing the editable boundaries of the item.
- .. _class_CanvasItem_get_light_mask:
- - :ref:`int<class_int>` **get_light_mask** **(** **)** const
- Get this item's light mask number.
- .. _class_CanvasItem_get_local_mouse_position:
- - :ref:`Vector2<class_vector2>` **get_local_mouse_position** **(** **)** const
- Get the mouse position relative to this item's position.
- .. _class_CanvasItem_get_material:
- - :ref:`Material<class_material>` **get_material** **(** **)** const
- Get the material of this item.
- .. _class_CanvasItem_get_modulate:
- - :ref:`Color<class_color>` **get_modulate** **(** **)** const
- Get the modulate of the CanvasItem, which affects children items too.
- .. _class_CanvasItem_get_self_modulate:
- - :ref:`Color<class_color>` **get_self_modulate** **(** **)** const
- Get the self-modulate of the CanvasItem.
- .. _class_CanvasItem_get_transform:
- - :ref:`Transform2D<class_transform2d>` **get_transform** **(** **)** const
- Get the transform matrix of this item.
- .. _class_CanvasItem_get_use_parent_material:
- - :ref:`bool<class_bool>` **get_use_parent_material** **(** **)** const
- Get whether this item uses its parent's material.
- .. _class_CanvasItem_get_viewport_rect:
- - :ref:`Rect2<class_rect2>` **get_viewport_rect** **(** **)** const
- Get the viewport's boundaries as a :ref:`Rect2<class_rect2>`.
- .. _class_CanvasItem_get_viewport_transform:
- - :ref:`Transform2D<class_transform2d>` **get_viewport_transform** **(** **)** const
- Get this item's transform in relation to the viewport.
- .. _class_CanvasItem_get_world_2d:
- - :ref:`World2D<class_world2d>` **get_world_2d** **(** **)** const
- Get the :ref:`World2D<class_world2d>` where this item is in.
- .. _class_CanvasItem_hide:
- - void **hide** **(** **)**
- Hide the CanvasItem currently visible.
- .. _class_CanvasItem_is_draw_behind_parent_enabled:
- - :ref:`bool<class_bool>` **is_draw_behind_parent_enabled** **(** **)** const
- Return whether the item is drawn behind its parent.
- .. _class_CanvasItem_is_local_transform_notification_enabled:
- - :ref:`bool<class_bool>` **is_local_transform_notification_enabled** **(** **)** const
- .. _class_CanvasItem_is_set_as_toplevel:
- - :ref:`bool<class_bool>` **is_set_as_toplevel** **(** **)** const
- Return if set as toplevel. See :ref:`set_as_toplevel<class_CanvasItem_set_as_toplevel>`.
- .. _class_CanvasItem_is_transform_notification_enabled:
- - :ref:`bool<class_bool>` **is_transform_notification_enabled** **(** **)** const
- .. _class_CanvasItem_is_visible:
- - :ref:`bool<class_bool>` **is_visible** **(** **)** const
- Return true if this CanvasItem is visible. It may be invisible because itself or a parent canvas item is hidden.
- .. _class_CanvasItem_is_visible_in_tree:
- - :ref:`bool<class_bool>` **is_visible_in_tree** **(** **)** const
- .. _class_CanvasItem_make_canvas_position_local:
- - :ref:`Vector2<class_vector2>` **make_canvas_position_local** **(** :ref:`Vector2<class_vector2>` screen_point **)** const
- .. _class_CanvasItem_make_input_local:
- - :ref:`InputEvent<class_inputevent>` **make_input_local** **(** :ref:`InputEvent<class_inputevent>` event **)** const
- .. _class_CanvasItem_set_as_toplevel:
- - void **set_as_toplevel** **(** :ref:`bool<class_bool>` enable **)**
- Set as top level. This means that it will not inherit transform from parent canvas items.
- .. _class_CanvasItem_set_draw_behind_parent:
- - void **set_draw_behind_parent** **(** :ref:`bool<class_bool>` enable **)**
- Set whether the canvas item is drawn behind its parent.
- .. _class_CanvasItem_set_light_mask:
- - void **set_light_mask** **(** :ref:`int<class_int>` light_mask **)**
- Set the ligtht mask number of this item.
- .. _class_CanvasItem_set_material:
- - void **set_material** **(** :ref:`Material<class_material>` material **)**
- Set the material of this item.
- .. _class_CanvasItem_set_modulate:
- - void **set_modulate** **(** :ref:`Color<class_color>` modulate **)**
- Set the modulate of the CanvasItem. This *affects* the modulation of children items.
- .. _class_CanvasItem_set_notify_local_transform:
- - void **set_notify_local_transform** **(** :ref:`bool<class_bool>` enable **)**
- .. _class_CanvasItem_set_notify_transform:
- - void **set_notify_transform** **(** :ref:`bool<class_bool>` enable **)**
- .. _class_CanvasItem_set_self_modulate:
- - void **set_self_modulate** **(** :ref:`Color<class_color>` self_modulate **)**
- Set the self-modulate of the CanvasItem. This does not affect the modulation of children items.
- .. _class_CanvasItem_set_use_parent_material:
- - void **set_use_parent_material** **(** :ref:`bool<class_bool>` enable **)**
- Set whether or not this item should use its parent's material.
- .. _class_CanvasItem_set_visible:
- - void **set_visible** **(** :ref:`bool<class_bool>` visible **)**
- Set whether this item should be visible or not.
- Note that a hidden CanvasItem will make all children hidden too, so no matter what is set here this item won't be shown if its parent or grandparents nodes are hidden.
- .. _class_CanvasItem_show:
- - void **show** **(** **)**
- Show the CanvasItem currently hidden.
- .. _class_CanvasItem_update:
- - void **update** **(** **)**
- Queue the CanvasItem for update. ``NOTIFICATION_DRAW`` will be called on idle time to request redraw.
|