diff options
Diffstat (limited to '')
| -rw-r--r-- | scene/main/canvas_layer.cpp | 165 |
1 files changed, 72 insertions, 93 deletions
diff --git a/scene/main/canvas_layer.cpp b/scene/main/canvas_layer.cpp index 1de19959d..5898665ff 100644 --- a/scene/main/canvas_layer.cpp +++ b/scene/main/canvas_layer.cpp @@ -29,27 +29,24 @@ #include "canvas_layer.h" #include "viewport.h" - void CanvasLayer::set_layer(int p_xform) { - layer=p_xform; + layer = p_xform; if (viewport.is_valid()) - VisualServer::get_singleton()->viewport_set_canvas_layer(viewport,canvas->get_canvas(),layer); - + VisualServer::get_singleton()->viewport_set_canvas_layer(viewport, canvas->get_canvas(), layer); } -int CanvasLayer::get_layer() const{ +int CanvasLayer::get_layer() const { return layer; } -void CanvasLayer::set_transform(const Matrix32& p_xform) { +void CanvasLayer::set_transform(const Matrix32 &p_xform) { - transform=p_xform; - locrotscale_dirty=true; + transform = p_xform; + locrotscale_dirty = true; if (viewport.is_valid()) - VisualServer::get_singleton()->viewport_set_canvas_transform(viewport,canvas->get_canvas(),transform); - + VisualServer::get_singleton()->viewport_set_canvas_transform(viewport, canvas->get_canvas(), transform); } Matrix32 CanvasLayer::get_transform() const { @@ -59,56 +56,50 @@ Matrix32 CanvasLayer::get_transform() const { void CanvasLayer::_update_xform() { - transform.set_rotation_and_scale(rot,scale); + transform.set_rotation_and_scale(rot, scale); transform.set_origin(ofs); if (viewport.is_valid()) - VisualServer::get_singleton()->viewport_set_canvas_transform(viewport,canvas->get_canvas(),transform); - + VisualServer::get_singleton()->viewport_set_canvas_transform(viewport, canvas->get_canvas(), transform); } void CanvasLayer::_update_locrotscale() { - ofs=transform.elements[2]; - rot=transform.get_rotation(); - scale=transform.get_scale(); - locrotscale_dirty=false; + ofs = transform.elements[2]; + rot = transform.get_rotation(); + scale = transform.get_scale(); + locrotscale_dirty = false; } - -void CanvasLayer::set_offset(const Vector2& p_offset) { +void CanvasLayer::set_offset(const Vector2 &p_offset) { if (locrotscale_dirty) _update_locrotscale(); - ofs=p_offset; + ofs = p_offset; _update_xform(); - } Vector2 CanvasLayer::get_offset() const { if (locrotscale_dirty) - const_cast<CanvasLayer*>(this)->_update_locrotscale(); + const_cast<CanvasLayer *>(this)->_update_locrotscale(); return ofs; } - void CanvasLayer::set_rotation(real_t p_radians) { if (locrotscale_dirty) _update_locrotscale(); - - rot=p_radians; + rot = p_radians; _update_xform(); - } real_t CanvasLayer::get_rotation() const { if (locrotscale_dirty) - const_cast<CanvasLayer*>(this)->_update_locrotscale(); + const_cast<CanvasLayer *>(this)->_update_locrotscale(); return rot; } @@ -137,26 +128,23 @@ real_t CanvasLayer::_get_rotationd() const { return get_rotationd(); } -void CanvasLayer::set_scale(const Vector2& p_scale) { +void CanvasLayer::set_scale(const Vector2 &p_scale) { if (locrotscale_dirty) _update_locrotscale(); - scale=p_scale; + scale = p_scale; _update_xform(); - } Vector2 CanvasLayer::get_scale() const { if (locrotscale_dirty) - const_cast<CanvasLayer*>(this)->_update_locrotscale(); + const_cast<CanvasLayer *>(this)->_update_locrotscale(); return scale; } - - Ref<World2D> CanvasLayer::get_world_2d() const { return canvas; @@ -164,30 +152,28 @@ Ref<World2D> CanvasLayer::get_world_2d() const { void CanvasLayer::_notification(int p_what) { - switch(p_what) { + switch (p_what) { case NOTIFICATION_ENTER_TREE: { if (custom_viewport && ObjectDB::get_instance(custom_viewport_id)) { - vp=custom_viewport; + vp = custom_viewport; } else { - vp=Node::get_viewport(); - + vp = Node::get_viewport(); } ERR_FAIL_COND(!vp); - viewport=vp->get_viewport(); - - VisualServer::get_singleton()->viewport_attach_canvas(viewport,canvas->get_canvas()); - VisualServer::get_singleton()->viewport_set_canvas_layer(viewport,canvas->get_canvas(),layer); - VisualServer::get_singleton()->viewport_set_canvas_transform(viewport,canvas->get_canvas(),transform); + viewport = vp->get_viewport(); + VisualServer::get_singleton()->viewport_attach_canvas(viewport, canvas->get_canvas()); + VisualServer::get_singleton()->viewport_set_canvas_layer(viewport, canvas->get_canvas(), layer); + VisualServer::get_singleton()->viewport_set_canvas_transform(viewport, canvas->get_canvas(), transform); } break; case NOTIFICATION_EXIT_TREE: { - VisualServer::get_singleton()->viewport_remove_canvas(viewport,canvas->get_canvas()); - viewport=RID(); + VisualServer::get_singleton()->viewport_remove_canvas(viewport, canvas->get_canvas()); + viewport = RID(); } break; } @@ -196,14 +182,12 @@ void CanvasLayer::_notification(int p_what) { Size2 CanvasLayer::get_viewport_size() const { if (!is_inside_tree()) - return Size2(1,1); - + return Size2(1, 1); Rect2 r = vp->get_visible_rect(); return r.size; } - RID CanvasLayer::get_viewport() const { return viewport; @@ -212,88 +196,83 @@ RID CanvasLayer::get_viewport() const { void CanvasLayer::set_custom_viewport(Node *p_viewport) { ERR_FAIL_NULL(p_viewport); if (is_inside_tree()) { - VisualServer::get_singleton()->viewport_remove_canvas(viewport,canvas->get_canvas()); - viewport=RID(); + VisualServer::get_singleton()->viewport_remove_canvas(viewport, canvas->get_canvas()); + viewport = RID(); } - custom_viewport=p_viewport->cast_to<Viewport>(); + custom_viewport = p_viewport->cast_to<Viewport>(); if (custom_viewport) { - custom_viewport_id=custom_viewport->get_instance_ID(); + custom_viewport_id = custom_viewport->get_instance_ID(); } else { - custom_viewport_id=0; + custom_viewport_id = 0; } if (is_inside_tree()) { - if (custom_viewport) - vp=custom_viewport; + vp = custom_viewport; else - vp=Node::get_viewport(); + vp = Node::get_viewport(); viewport = vp->get_viewport(); - VisualServer::get_singleton()->viewport_attach_canvas(viewport,canvas->get_canvas()); - VisualServer::get_singleton()->viewport_set_canvas_layer(viewport,canvas->get_canvas(),layer); - VisualServer::get_singleton()->viewport_set_canvas_transform(viewport,canvas->get_canvas(),transform); + VisualServer::get_singleton()->viewport_attach_canvas(viewport, canvas->get_canvas()); + VisualServer::get_singleton()->viewport_set_canvas_layer(viewport, canvas->get_canvas(), layer); + VisualServer::get_singleton()->viewport_set_canvas_transform(viewport, canvas->get_canvas(), transform); } - } -Node* CanvasLayer::get_custom_viewport() const { +Node *CanvasLayer::get_custom_viewport() const { return custom_viewport; } - void CanvasLayer::_bind_methods() { + ObjectTypeDB::bind_method(_MD("set_layer", "layer"), &CanvasLayer::set_layer); + ObjectTypeDB::bind_method(_MD("get_layer"), &CanvasLayer::get_layer); - ObjectTypeDB::bind_method(_MD("set_layer","layer"),&CanvasLayer::set_layer); - ObjectTypeDB::bind_method(_MD("get_layer"),&CanvasLayer::get_layer); + ObjectTypeDB::bind_method(_MD("set_transform", "transform"), &CanvasLayer::set_transform); + ObjectTypeDB::bind_method(_MD("get_transform"), &CanvasLayer::get_transform); - ObjectTypeDB::bind_method(_MD("set_transform","transform"),&CanvasLayer::set_transform); - ObjectTypeDB::bind_method(_MD("get_transform"),&CanvasLayer::get_transform); + ObjectTypeDB::bind_method(_MD("set_offset", "offset"), &CanvasLayer::set_offset); + ObjectTypeDB::bind_method(_MD("get_offset"), &CanvasLayer::get_offset); - ObjectTypeDB::bind_method(_MD("set_offset","offset"),&CanvasLayer::set_offset); - ObjectTypeDB::bind_method(_MD("get_offset"),&CanvasLayer::get_offset); + ObjectTypeDB::bind_method(_MD("set_rotation", "radians"), &CanvasLayer::set_rotation); + ObjectTypeDB::bind_method(_MD("get_rotation"), &CanvasLayer::get_rotation); - ObjectTypeDB::bind_method(_MD("set_rotation","radians"),&CanvasLayer::set_rotation); - ObjectTypeDB::bind_method(_MD("get_rotation"),&CanvasLayer::get_rotation); - - ObjectTypeDB::bind_method(_MD("set_rotationd","degrees"),&CanvasLayer::set_rotationd); - ObjectTypeDB::bind_method(_MD("get_rotationd"),&CanvasLayer::get_rotationd); + ObjectTypeDB::bind_method(_MD("set_rotationd", "degrees"), &CanvasLayer::set_rotationd); + ObjectTypeDB::bind_method(_MD("get_rotationd"), &CanvasLayer::get_rotationd); // TODO: Obsolete those two methods (old name) properly (GH-4397) - ObjectTypeDB::bind_method(_MD("_set_rotationd","degrees"),&CanvasLayer::_set_rotationd); - ObjectTypeDB::bind_method(_MD("_get_rotationd"),&CanvasLayer::_get_rotationd); + ObjectTypeDB::bind_method(_MD("_set_rotationd", "degrees"), &CanvasLayer::_set_rotationd); + ObjectTypeDB::bind_method(_MD("_get_rotationd"), &CanvasLayer::_get_rotationd); - ObjectTypeDB::bind_method(_MD("set_scale","scale"),&CanvasLayer::set_scale); - ObjectTypeDB::bind_method(_MD("get_scale"),&CanvasLayer::get_scale); + ObjectTypeDB::bind_method(_MD("set_scale", "scale"), &CanvasLayer::set_scale); + ObjectTypeDB::bind_method(_MD("get_scale"), &CanvasLayer::get_scale); - ObjectTypeDB::bind_method(_MD("set_custom_viewport","viewport:Viewport"),&CanvasLayer::set_custom_viewport); - ObjectTypeDB::bind_method(_MD("get_custom_viewport:Viewport"),&CanvasLayer::get_custom_viewport); + ObjectTypeDB::bind_method(_MD("set_custom_viewport", "viewport:Viewport"), &CanvasLayer::set_custom_viewport); + ObjectTypeDB::bind_method(_MD("get_custom_viewport:Viewport"), &CanvasLayer::get_custom_viewport); - ObjectTypeDB::bind_method(_MD("get_world_2d:World2D"),&CanvasLayer::get_world_2d); -// ObjectTypeDB::bind_method(_MD("get_viewport"),&CanvasLayer::get_viewport); + ObjectTypeDB::bind_method(_MD("get_world_2d:World2D"), &CanvasLayer::get_world_2d); + // ObjectTypeDB::bind_method(_MD("get_viewport"),&CanvasLayer::get_viewport); - ADD_PROPERTY( PropertyInfo(Variant::INT,"layer",PROPERTY_HINT_RANGE,"-128,128,1"),_SCS("set_layer"),_SCS("get_layer") ); + ADD_PROPERTY(PropertyInfo(Variant::INT, "layer", PROPERTY_HINT_RANGE, "-128,128,1"), _SCS("set_layer"), _SCS("get_layer")); //ADD_PROPERTY( PropertyInfo(Variant::MATRIX32,"transform",PROPERTY_HINT_RANGE),_SCS("set_transform"),_SCS("get_transform") ); - ADD_PROPERTY( PropertyInfo(Variant::VECTOR2,"offset"),_SCS("set_offset"),_SCS("get_offset") ); - ADD_PROPERTY( PropertyInfo(Variant::REAL,"rotation"),_SCS("set_rotationd"),_SCS("get_rotationd") ); - ADD_PROPERTY( PropertyInfo(Variant::VECTOR2,"scale"),_SCS("set_scale"),_SCS("get_scale") ); - + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset"), _SCS("set_offset"), _SCS("get_offset")); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "rotation"), _SCS("set_rotationd"), _SCS("get_rotationd")); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scale"), _SCS("set_scale"), _SCS("get_scale")); } CanvasLayer::CanvasLayer() { - vp=NULL; - scale=Vector2(1,1); - rot=0; - locrotscale_dirty=false; - layer=1; - canvas = Ref<World2D>( memnew(World2D) ); - custom_viewport=NULL; - custom_viewport_id=0; + vp = NULL; + scale = Vector2(1, 1); + rot = 0; + locrotscale_dirty = false; + layer = 1; + canvas = Ref<World2D>(memnew(World2D)); + custom_viewport = NULL; + custom_viewport_id = 0; } |
