Skip to content

Commit

Permalink
Merge branch 'master' into ps3
Browse files Browse the repository at this point in the history
  • Loading branch information
andoma committed Mar 16, 2011
2 parents 1048538 + 2a952ff commit 6251c57
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 12 deletions.
5 changes: 0 additions & 5 deletions glwthemes/mono/universe.view
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@
#import "theme:https://include/buttons.view"
#import "theme:https://include/slider.view"

settingInt("Vertical underscan", "underscan_v",
$ui.defaults.underscan_v, "px", 0, 100, 1, $ui.underscan_v);
settingInt("Horizontal underscan", "underscan_h",
$ui.defaults.underscan_h, "px", 0, 100, 1, $ui.underscan_h);

settingInt("Starwars scroller tilt", "tilt",
$ui.defaults.tilt, "deg", 0, 20, 1, $ui.tilt);

Expand Down
81 changes: 74 additions & 7 deletions src/ui/glw/glw.c
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,52 @@ glw_set_screensaver_delay(void *opaque, int v)
}


/**
*
*/
static void
glw_change_size(void *opaque, int v)
{
glw_root_t *gr = opaque;

v += gr->gr_base_size;
v = GLW_CLAMP(v, 14, 40);
prop_set_int(gr->gr_prop_size, v);
TRACE(TRACE_DEBUG, "GLW", "UI size scale changed to %d", v);
glw_font_change_size(gr, v);
}


/**
*
*/
static void
glw_change_underscan_h(void *opaque, int v)
{
glw_root_t *gr = opaque;

v += gr->gr_base_underscan_h;
v = GLW_CLAMP(v, 0, 100);
prop_set_int(gr->gr_prop_underscan_h, v);
}


/**
*
*/
static void
glw_change_underscan_v(void *opaque, int v)
{
glw_root_t *gr = opaque;

v += gr->gr_base_underscan_v;
v = GLW_CLAMP(v, 0, 100);
prop_set_int(gr->gr_prop_underscan_v, v);
}




/**
*
*/
Expand All @@ -127,6 +173,9 @@ glw_init_settings(glw_root_t *gr, const char *instance,
char title[256];
prop_t *r = gr->gr_uii.uii_prop;

if(gr->gr_base_size == 0)
gr->gr_base_size = 20;

gr->gr_settings_instance = strdup(instance);

gr->gr_settings_store = htsmsg_store_load("displays/%s", instance);
Expand All @@ -141,16 +190,37 @@ glw_init_settings(glw_root_t *gr, const char *instance,
snprintf(title, sizeof(title), "Display and user interface");
}

gr->gr_prop_size = prop_create(r, "size");
gr->gr_prop_underscan_h = prop_create(r, "underscan_h");
gr->gr_prop_underscan_v = prop_create(r, "underscan_v");

gr->gr_settings = settings_add_dir(NULL, title, "display", NULL);

gr->gr_setting_size =
settings_create_int(gr->gr_settings, "scaling",
"Userinterface scaling", 15,
gr->gr_settings_store, 14, 40, 1,
glw_font_change_size, gr,
settings_create_int(gr->gr_settings, "size",
"Userinterface size", 0,
gr->gr_settings_store, -10, 30, 1,
glw_change_size, gr,
SETTINGS_INITIAL_UPDATE, "px", gr->gr_courier,
glw_settings_save, gr);

gr->gr_setting_underscan_h =
settings_create_int(gr->gr_settings, "underscan_h",
"Horizontal underscan", 0,
gr->gr_settings_store, -100, +100, 1,
glw_change_underscan_h, gr,
SETTINGS_INITIAL_UPDATE, "px", gr->gr_courier,
glw_settings_save, gr);

gr->gr_setting_underscan_v =
settings_create_int(gr->gr_settings, "underscan_v",
"Vertical underscan", 0,
gr->gr_settings_store, -100, +100, 1,
glw_change_underscan_v, gr,
SETTINGS_INITIAL_UPDATE, "px", gr->gr_courier,
glw_settings_save, gr);


gr->gr_setting_screensaver =
settings_create_int(gr->gr_settings, "screensaver",
"Screensaver delay",
Expand All @@ -160,9 +230,6 @@ glw_init_settings(glw_root_t *gr, const char *instance,
glw_settings_save, gr);


prop_link(settings_get_value(gr->gr_setting_size),
prop_create(r, "size"));

gr->gr_pointer_visible = prop_create(r, "pointerVisible");
gr->gr_is_fullscreen = prop_create(r, "fullscreen");
gr->gr_screensaver_active = prop_create(r, "screensaverActive");
Expand Down
11 changes: 11 additions & 0 deletions src/ui/glw/glw.h
Original file line number Diff line number Diff line change
Expand Up @@ -638,6 +638,17 @@ typedef struct glw_root {
htsmsg_t *gr_settings_store; // Loaded settings

setting_t *gr_setting_size;
setting_t *gr_setting_underscan_v;
setting_t *gr_setting_underscan_h;

prop_t *gr_prop_size;
prop_t *gr_prop_underscan_v;
prop_t *gr_prop_underscan_h;

// Base offsets, should be set by frontend
int gr_base_size;
int gr_base_underscan_v;
int gr_base_underscan_h;

setting_t *gr_setting_screensaver;

Expand Down

0 comments on commit 6251c57

Please sign in to comment.