diff --git a/doc/classes/CanvasLayer.xml b/doc/classes/CanvasLayer.xml index d1544296c8..4b5cda0c39 100644 --- a/doc/classes/CanvasLayer.xml +++ b/doc/classes/CanvasLayer.xml @@ -54,6 +54,7 @@ Layer index for draw order. Lower values are drawn behind higher values. [b]Note:[/b] If multiple CanvasLayers have the same layer index, [CanvasItem] children of one CanvasLayer are drawn behind the [CanvasItem] children of the other CanvasLayer. Which CanvasLayer is drawn in front is non-deterministic. + [b]Note:[/b] The layer index should be between [constant RenderingServer.CANVAS_LAYER_MIN] and [constant RenderingServer.CANVAS_LAYER_MAX] (inclusive). Any other value will wrap around. The layer's base offset. diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml index e1def286cd..9991ae7499 100644 --- a/doc/classes/RenderingServer.xml +++ b/doc/classes/RenderingServer.xml @@ -3960,6 +3960,7 @@ Sets the stacking order for a viewport's canvas. [param layer] is the actual canvas layer, while [param sublayer] specifies the stacking order of the canvas among those in the same layer. + [b]Note:[/b] [param layer] should be between [constant CANVAS_LAYER_MIN] and [constant CANVAS_LAYER_MAX] (inclusive). Any other value will wrap around. @@ -4457,6 +4458,12 @@ The maximum Z-layer for canvas items. + + The minimum canvas layer. + + + The maximum canvas layer. + The maximum number of glow levels that can be used with the glow post-processing effect. diff --git a/scene/2d/light_2d.cpp b/scene/2d/light_2d.cpp index e19dd6c80a..2760229c9e 100644 --- a/scene/2d/light_2d.cpp +++ b/scene/2d/light_2d.cpp @@ -305,8 +305,8 @@ void Light2D::_bind_methods() { ADD_GROUP("Range", "range_"); ADD_PROPERTY(PropertyInfo(Variant::INT, "range_z_min", PROPERTY_HINT_RANGE, itos(RS::CANVAS_ITEM_Z_MIN) + "," + itos(RS::CANVAS_ITEM_Z_MAX) + ",1"), "set_z_range_min", "get_z_range_min"); ADD_PROPERTY(PropertyInfo(Variant::INT, "range_z_max", PROPERTY_HINT_RANGE, itos(RS::CANVAS_ITEM_Z_MIN) + "," + itos(RS::CANVAS_ITEM_Z_MAX) + ",1"), "set_z_range_max", "get_z_range_max"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "range_layer_min", PROPERTY_HINT_RANGE, "-512,512,1"), "set_layer_range_min", "get_layer_range_min"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "range_layer_max", PROPERTY_HINT_RANGE, "-512,512,1"), "set_layer_range_max", "get_layer_range_max"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "range_layer_min", PROPERTY_HINT_RANGE, itos(RS::CANVAS_LAYER_MIN) + "," + itos(RS::CANVAS_LAYER_MAX) + ",1"), "set_layer_range_min", "get_layer_range_min"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "range_layer_max", PROPERTY_HINT_RANGE, itos(RS::CANVAS_LAYER_MIN) + "," + itos(RS::CANVAS_LAYER_MAX) + ",1"), "set_layer_range_max", "get_layer_range_max"); ADD_PROPERTY(PropertyInfo(Variant::INT, "range_item_cull_mask", PROPERTY_HINT_LAYERS_2D_RENDER), "set_item_cull_mask", "get_item_cull_mask"); ADD_GROUP("Shadow", "shadow_"); diff --git a/scene/main/canvas_layer.cpp b/scene/main/canvas_layer.cpp index 6912d3f3e1..e02e920a6c 100644 --- a/scene/main/canvas_layer.cpp +++ b/scene/main/canvas_layer.cpp @@ -337,7 +337,7 @@ void CanvasLayer::_bind_methods() { ClassDB::bind_method(D_METHOD("get_canvas"), &CanvasLayer::get_canvas); ADD_GROUP("Layer", ""); - ADD_PROPERTY(PropertyInfo(Variant::INT, "layer", PROPERTY_HINT_RANGE, "-128,128,1"), "set_layer", "get_layer"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "layer", PROPERTY_HINT_RANGE, itos(RS::CANVAS_LAYER_MIN) + "," + itos(RS::CANVAS_LAYER_MAX) + ",1"), "set_layer", "get_layer"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "visible"), "set_visible", "is_visible"); ADD_GROUP("Transform", ""); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset", PROPERTY_HINT_NONE, "suffix:px"), "set_offset", "get_offset"); diff --git a/servers/rendering_server.cpp b/servers/rendering_server.cpp index ac17ea3337..b95cf992c9 100644 --- a/servers/rendering_server.cpp +++ b/servers/rendering_server.cpp @@ -2243,6 +2243,8 @@ void RenderingServer::_bind_methods() { BIND_CONSTANT(ARRAY_WEIGHTS_SIZE); BIND_CONSTANT(CANVAS_ITEM_Z_MIN); BIND_CONSTANT(CANVAS_ITEM_Z_MAX); + BIND_CONSTANT(CANVAS_LAYER_MIN); + BIND_CONSTANT(CANVAS_LAYER_MAX); BIND_CONSTANT(MAX_GLOW_LEVELS); BIND_CONSTANT(MAX_CURSORS); BIND_CONSTANT(MAX_2D_DIRECTIONAL_LIGHTS); diff --git a/servers/rendering_server.h b/servers/rendering_server.h index 4047330b21..e71e404ac4 100644 --- a/servers/rendering_server.h +++ b/servers/rendering_server.h @@ -102,6 +102,8 @@ public: ARRAY_WEIGHTS_SIZE = 4, CANVAS_ITEM_Z_MIN = -4096, CANVAS_ITEM_Z_MAX = 4096, + CANVAS_LAYER_MIN = -2147483648, + CANVAS_LAYER_MAX = 2147483647, MAX_GLOW_LEVELS = 7, MAX_CURSORS = 8, MAX_2D_DIRECTIONAL_LIGHTS = 8,