From 7b6f60295669d1002b358bfc2160613822bd2f53 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Fri, 26 Oct 2007 15:47:39 +0000 Subject: [PATCH] 2007-10-26 Emmanuele Bassi * clutter/clutter-main.c: Add a --clutter-default-fps run-time switch and CLUTTER_DEFAULT_FPS environment variable support for setting the default frame-rate at run-time. --- ChangeLog | 6 ++++++ clutter/clutter-main.c | 15 ++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 2d63a62..67307f9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2007-10-26 Emmanuele Bassi + * clutter/clutter-main.c: Add a --clutter-default-fps run-time + switch and CLUTTER_DEFAULT_FPS environment variable support for + setting the default frame-rate at run-time. + +2007-10-26 Emmanuele Bassi + * clutter/clutter-script.h: * clutter/clutter-script.c: Add a ::get_type_from_name() virtual function for bindings to override. The current implementation diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index 0f8549c..41b911b 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -60,6 +60,8 @@ static gboolean clutter_is_initialized = FALSE; static gboolean clutter_show_fps = FALSE; static gboolean clutter_fatal_warnings = FALSE; +static gint clutter_default_fps = 60; + static guint clutter_main_loop_level = 0; static GSList *main_loops = NULL; @@ -727,6 +729,8 @@ clutter_arg_no_debug_cb (const char *key, static GOptionEntry clutter_args[] = { { "clutter-show-fps", 0, 0, G_OPTION_ARG_NONE, &clutter_show_fps, "Show frames per second", NULL }, + { "clutter-default-fps", 0, 0, G_OPTION_ARG_INT, &clutter_default_fps, + "Default frame rate", "FPS" }, { "g-fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &clutter_fatal_warnings, "Make all warnings fatal", NULL }, #ifdef CLUTTER_ENABLE_DEBUG @@ -760,7 +764,6 @@ pre_parse_hook (GOptionContext *context, clutter_context->font_map = PANGO_FT2_FONT_MAP (pango_ft2_font_map_new ()); pango_ft2_font_map_set_resolution (clutter_context->font_map, 96.0, 96.0); - clutter_context->frame_rate = 60; clutter_context->actor_hash = g_hash_table_new (NULL, NULL); @@ -783,6 +786,14 @@ pre_parse_hook (GOptionContext *context, if (env_string) clutter_show_fps = TRUE; + env_string = g_getenv ("CLUTTER_DEFAULT_FPS"); + if (env_string) + { + gint default_fps = g_ascii_strtoll (env_string, NULL, 10); + + clutter_default_fps = CLAMP (default_fps, 1, 1000); + } + if (CLUTTER_BACKEND_GET_CLASS (backend)->pre_parse) return CLUTTER_BACKEND_GET_CLASS (backend)->pre_parse (backend, error); @@ -818,6 +829,8 @@ post_parse_hook (GOptionContext *context, g_log_set_always_fatal (fatal_mask); } + clutter_context->frame_rate = clutter_default_fps; + if (CLUTTER_BACKEND_GET_CLASS (backend)->post_parse) retval = CLUTTER_BACKEND_GET_CLASS (backend)->post_parse (backend, error); else -- 2.7.4