]> Pileus Git - grits/commitdiff
Add hidden method for object
authorAndy Spencer <andy753421@gmail.com>
Tue, 24 May 2011 05:16:55 +0000 (05:16 +0000)
committerAndy Spencer <andy753421@gmail.com>
Tue, 24 May 2011 05:16:55 +0000 (05:16 +0000)
This allows object to hide nested objects when they are hidden

src/objects/grits-object.c
src/objects/grits-object.h

index b321b6e994493a3ff71e1abb732870f7cf5256d7..3cfd8026c6558d1ae172f1278ab4e7d25317a490 100644 (file)
@@ -121,6 +121,14 @@ void grits_object_draw(GritsObject *object, GritsOpenGL *opengl)
        g_mutex_unlock(opengl->sphere_lock);
 }
 
+void grits_object_hide(GritsObject *object, gboolean hidden)
+{
+       GritsObjectClass *klass = GRITS_OBJECT_GET_CLASS(object);
+       object->hidden = hidden;
+       if (klass->hide)
+               klass->hide(object, hidden);
+}
+
 void grits_object_queue_draw(GritsObject *object)
 {
        if (object->viewer)
index dcacd9dbe5fd459c3f5b6112222bd170c8e487b2..de77ac5da4e0d75286c1c435f37484ddd7219997 100644 (file)
@@ -55,6 +55,7 @@ struct _GritsObjectClass {
 
        /* Move some of these to GObject? */
        void (*draw) (GritsObject *object, GritsOpenGL *opengl);
+       void (*hide) (GritsObject *object, gboolean hidden);
 };
 
 GType grits_object_get_type(void);
@@ -62,6 +63,8 @@ GType grits_object_get_type(void);
 /* Implemented by sub-classes */
 void grits_object_draw(GritsObject *object, GritsOpenGL *opengl);
 
+void grits_object_hide(GritsObject *object, gboolean hidden);
+
 /**
  * grits_object_queue_draw:
  * @object: The #GritsObject that needs drawing