summaryrefslogtreecommitdiffstats
path: root/scene/3d/spatial.cpp
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2017-01-13 10:45:50 -0300
committerJuan Linietsky <reduzio@gmail.com>2017-01-13 10:45:50 -0300
commit04c749a1f034c0b2256fdca0ca2675f696b490e8 (patch)
treec908a64edf3f61bba725051c8f60c6a108acbb84 /scene/3d/spatial.cpp
parenta2903fc51d1d20eba4dc451bdacbe477d6670163 (diff)
downloadredot-engine-04c749a1f034c0b2256fdca0ca2675f696b490e8.tar.gz
New API for visibility in both CanvasItem and Spatial
visible (property) - access set_visible(bool) is_visible() is_visible_in_tree() - true when visible and parents visible show() hide() - for convenience
Diffstat (limited to 'scene/3d/spatial.cpp')
-rw-r--r--scene/3d/spatial.cpp37
1 files changed, 10 insertions, 27 deletions
diff --git a/scene/3d/spatial.cpp b/scene/3d/spatial.cpp
index 3cd29a1342..7c452f90af 100644
--- a/scene/3d/spatial.cpp
+++ b/scene/3d/spatial.cpp
@@ -482,7 +482,7 @@ void Spatial::_update_gizmo() {
data.gizmo_dirty=false;
if (data.gizmo.is_valid()) {
- if (is_visible())
+ if (is_visible_in_tree())
data.gizmo->redraw();
else
data.gizmo->clear();
@@ -573,7 +573,7 @@ void Spatial::show() {
if (!is_inside_tree())
return;
- if (!data.parent || is_visible()) {
+ if (!data.parent || is_visible_in_tree()) {
_propagate_visibility_changed();
}
@@ -584,7 +584,7 @@ void Spatial::hide(){
if (!data.visible)
return;
- bool was_visible = is_visible();
+ bool was_visible = is_visible_in_tree();
data.visible=false;
if (!data.parent || was_visible) {
@@ -593,7 +593,7 @@ void Spatial::hide(){
}
}
-bool Spatial::is_visible() const{
+bool Spatial::is_visible_in_tree() const{
const Spatial *s=this;
@@ -608,21 +608,7 @@ bool Spatial::is_visible() const{
}
-bool Spatial::is_hidden() const{
-
- return !data.visible;
-}
-
-void Spatial::set_hidden(bool p_hidden) {
-
- if (data.visible != p_hidden) {
- return;
- }
-
- _set_visible_(!p_hidden);
-}
-
-void Spatial::_set_visible_(bool p_visible) {
+void Spatial::set_visible(bool p_visible) {
if (p_visible)
show();
@@ -630,9 +616,9 @@ void Spatial::_set_visible_(bool p_visible) {
hide();
}
-bool Spatial::_is_visible_() const {
+bool Spatial::is_visible() const {
- return !is_hidden();
+ return !data.visible;
}
void Spatial::rotate(const Vector3& p_normal,float p_radians) {
@@ -787,14 +773,11 @@ void Spatial::_bind_methods() {
ClassDB::bind_method(_MD("set_gizmo","gizmo:SpatialGizmo"), &Spatial::set_gizmo);
ClassDB::bind_method(_MD("get_gizmo:SpatialGizmo"), &Spatial::get_gizmo);
+ ClassDB::bind_method(_MD("set_visible"), &Spatial::set_visible);
+ ClassDB::bind_method(_MD("is_visible"), &Spatial::is_visible);
+ ClassDB::bind_method(_MD("is_visible_in_tree"), &Spatial::is_visible_in_tree);
ClassDB::bind_method(_MD("show"), &Spatial::show);
ClassDB::bind_method(_MD("hide"), &Spatial::hide);
- ClassDB::bind_method(_MD("is_visible"), &Spatial::is_visible);
- ClassDB::bind_method(_MD("is_hidden"), &Spatial::is_hidden);
- ClassDB::bind_method(_MD("set_hidden","hidden"), &Spatial::set_hidden);
-
- ClassDB::bind_method(_MD("_set_visible_"), &Spatial::_set_visible_);
- ClassDB::bind_method(_MD("_is_visible_"), &Spatial::_is_visible_);
ClassDB::bind_method(_MD("set_notify_local_transform","enable"), &Spatial::set_notify_local_transform);
ClassDB::bind_method(_MD("is_local_transform_notification_enabled"), &Spatial::is_local_transform_notification_enabled);