[libhandy/wip/haecker-felix/flap-widget] Reveal duration



commit 7ed6684d3078215caaa2aca75f46dd5a38f6a9ec
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Tue Nov 24 12:54:00 2020 +0500

    Reveal duration

 src/hdy-flap.c | 34 ++++++++++++++++++++++++++++++++++
 src/hdy-flap.h |  3 +++
 2 files changed, 37 insertions(+)
---
diff --git a/src/hdy-flap.c b/src/hdy-flap.c
index de9252e6..f6d2c760 100644
--- a/src/hdy-flap.c
+++ b/src/hdy-flap.c
@@ -111,6 +111,7 @@ enum {
   PROP_FOLDED,
   PROP_FOLD_DURATION,
   PROP_REVEAL_DURATION,
+  PROP_REVEAL_PROGRESS,
   PROP_TRANSITION_TYPE,
   PROP_CLICK_TO_CLOSE,
   PROP_SWIPE_TO_OPEN,
@@ -196,6 +197,8 @@ set_reveal_progress (HdyFlap *self,
   self->reveal_progress = progress;
 
   update_child_visibility (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REVEAL_PROGRESS]);
 }
 
 static void
@@ -1264,6 +1267,9 @@ hdy_flap_get_property (GObject    *object,
   case PROP_REVEAL_DURATION:
     g_value_set_uint (value, hdy_flap_get_reveal_duration (self));
     break;
+  case PROP_REVEAL_PROGRESS:
+    g_value_set_double (value, hdy_flap_get_reveal_progress (self));
+    break;
   case PROP_TRANSITION_TYPE:
     g_value_set_enum (value, hdy_flap_get_transition_type (self));
     break;
@@ -1486,6 +1492,18 @@ hdy_flap_class_init (HdyFlapClass *klass)
                        250,
                        G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
 
+  /**
+   * HdyFlap:reveal-progress:
+   *
+   * Since: 1.1
+   */
+  props[PROP_REVEAL_PROGRESS] =
+    g_param_spec_double ("reveal-progress",
+                          _("Reveal progress"),
+                          _("Reveal progress"),
+                          0.0, 1.0, 1.0,
+                          G_PARAM_READABLE);
+
   /**
    * HdyFlap:transition-type:
    *
@@ -2130,6 +2148,22 @@ hdy_flap_set_reveal_duration (HdyFlap *self,
   g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REVEAL_DURATION]);
 }
 
+/**
+ * hdy_flap_get_reveal_progress:
+ * @self: a #HdyFlap
+ *
+ * Returns: %TRUE if flap widget is click to close.
+ *
+ * Since: 1.1
+ */
+gdouble
+hdy_flap_get_reveal_progress (HdyFlap *self)
+{
+  g_return_val_if_fail (HDY_IS_FLAP (self), 0.0);
+
+  return self->reveal_progress;
+}
+
 /**
  * hdy_flap_get_transition_type:
  * @self: a #HdyFlap
diff --git a/src/hdy-flap.h b/src/hdy-flap.h
index e5d1ff29..73e816ba 100644
--- a/src/hdy-flap.h
+++ b/src/hdy-flap.h
@@ -89,6 +89,9 @@ HDY_AVAILABLE_IN_1_1
 void  hdy_flap_set_reveal_duration (HdyFlap *self,
                                     guint    duration);
 
+HDY_AVAILABLE_IN_1_1
+gdouble hdy_flap_get_reveal_progress (HdyFlap *self);
+
 HDY_AVAILABLE_IN_1_1
 HdyFlapTransitionType hdy_flap_get_transition_type (HdyFlap               *self);
 HDY_AVAILABLE_IN_1_1


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]