[gtk] fishbowl: Don't show ridiculous precision
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk] fishbowl: Don't show ridiculous precision
- Date: Thu, 23 May 2019 12:39:15 +0000 (UTC)
commit e2fc00222e036c0da261c714f0703673c095901c
Author: Matthias Clasen <mclasen redhat com>
Date: Thu May 23 12:37:47 2019 +0000
fishbowl: Don't show ridiculous precision
Two decimals are more than enough for the frame rate.
demos/gtk-demo/fishbowl.ui | 2 +-
demos/gtk-demo/gtkfishbowl.c | 19 +++++++++++++++++++
2 files changed, 20 insertions(+), 1 deletion(-)
---
diff --git a/demos/gtk-demo/fishbowl.ui b/demos/gtk-demo/fishbowl.ui
index c6216666b6..34136b2946 100644
--- a/demos/gtk-demo/fishbowl.ui
+++ b/demos/gtk-demo/fishbowl.ui
@@ -31,7 +31,7 @@
</child>
<child type="end">
<object class="GtkLabel">
- <property name="label" bind-source="bowl" bind-property="framerate"/>
+ <property name="label" bind-source="bowl" bind-property="framerate-string"/>
</object>
</child>
<child type="end">
diff --git a/demos/gtk-demo/gtkfishbowl.c b/demos/gtk-demo/gtkfishbowl.c
index 5cfbcf83fc..1711d91376 100644
--- a/demos/gtk-demo/gtkfishbowl.c
+++ b/demos/gtk-demo/gtkfishbowl.c
@@ -53,6 +53,7 @@ enum {
PROP_BENCHMARK,
PROP_COUNT,
PROP_FRAMERATE,
+ PROP_FRAMERATE_STRING,
PROP_UPDATE_DELAY,
NUM_PROPERTIES
};
@@ -290,6 +291,14 @@ gtk_fishbowl_get_property (GObject *object,
g_value_set_double (value, gtk_fishbowl_get_framerate (fishbowl));
break;
+ case PROP_FRAMERATE_STRING:
+ {
+ char *s = g_strdup_printf ("%.2f", gtk_fishbowl_get_framerate (fishbowl));
+ g_value_set_string (value, s);
+ g_free (s);
+ }
+ break;
+
case PROP_UPDATE_DELAY:
g_value_set_int64 (value, gtk_fishbowl_get_update_delay (fishbowl));
break;
@@ -343,6 +352,13 @@ gtk_fishbowl_class_init (GtkFishbowlClass *klass)
0,
G_PARAM_READABLE);
+ props[PROP_FRAMERATE_STRING] =
+ g_param_spec_string ("framerate-string",
+ "Framerate as string",
+ "Framerate as string, with 2 decimals",
+ NULL,
+ G_PARAM_READABLE);
+
props[PROP_UPDATE_DELAY] =
g_param_spec_int64 ("update-delay",
"Update delay",
@@ -491,7 +507,10 @@ gtk_fishbowl_do_update (GtkFishbowl *fishbowl)
n_frames = end_counter - start_counter;
priv->framerate = ((double) n_frames) * G_USEC_PER_SEC / (end_timestamp - start_timestamp);
+ priv->framerate = ((int)(priv->framerate * 100))/100.0;
+
g_object_notify_by_pspec (G_OBJECT (fishbowl), props[PROP_FRAMERATE]);
+ g_object_notify_by_pspec (G_OBJECT (fishbowl), props[PROP_FRAMERATE_STRING]);
if (!priv->benchmark)
return;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]