changeset 18650:7e084b7495c6 draft

(svn r23497) -Add: Advanced display setting to control the linewidth in graphs. (ChillCore)
author frosch <frosch@openttd.org>
date Sun, 11 Dec 2011 15:55:31 +0000
parents 9d5d9d24be00
children 2f519e8ba86d
files src/graph_gui.cpp src/lang/english.txt src/settings_gui.cpp src/settings_type.h src/table/settings.ini
diffstat 5 files changed, 18 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/graph_gui.cpp
+++ b/src/graph_gui.cpp
@@ -419,6 +419,9 @@
 		}
 
 		/* draw lines and dots */
+		uint linewidth = _settings_client.gui.graph_line_thickness;
+		uint pointoffs1 = (linewidth + 1) / 2;
+		uint pointoffs2 = linewidth + 1 - pointoffs1;
 		for (int i = 0; i < this->num_dataset; i++) {
 			if (!HasBit(this->excluded_data, i)) {
 				/* Centre the dot between the grid lines. */
@@ -455,10 +458,10 @@
 						y = r.top + x_axis_offset - ((r.bottom - r.top) * datapoint) / (interval_size >> reduce_range);
 
 						/* Draw the point. */
-						GfxFillRect(x - 2, y - 2, x + 2, y + 2, colour);
+						GfxFillRect(x - pointoffs1, y - pointoffs1, x + pointoffs2, y + pointoffs2, colour);
 
 						/* Draw the line connected to the previous point. */
-						if (prev_x != INVALID_DATAPOINT_POS) GfxDrawLine(prev_x, prev_y, x, y, colour, 3);
+						if (prev_x != INVALID_DATAPOINT_POS) GfxDrawLine(prev_x, prev_y, x, y, colour, linewidth);
 
 						prev_x = x;
 						prev_y = y;
--- a/src/lang/english.txt
+++ b/src/lang/english.txt
@@ -1174,6 +1174,7 @@
 STR_CONFIG_SETTING_HOVER_DELAY                                  :{LTBLUE}Show tooltips: {ORANGE}Hover for {STRING1} second{P 0:1 "" s}
 STR_CONFIG_SETTING_HOVER_DELAY_DISABLED                         :{LTBLUE}Show tooltips: {ORANGE}Right click
 STR_CONFIG_SETTING_POPULATION_IN_LABEL                          :{LTBLUE}Show town population in the town name label: {ORANGE}{STRING1}
+STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS                         :{LTBLUE}Thickness of lines in graphs: {ORANGE}{STRING1}
 
 STR_CONFIG_SETTING_LAND_GENERATOR                               :{LTBLUE}Land generator: {ORANGE}{STRING1}
 STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL                      :Original
--- a/src/settings_gui.cpp
+++ b/src/settings_gui.cpp
@@ -1359,6 +1359,7 @@
 	SettingEntry("gui.smallmap_land_colour"),
 	SettingEntry("gui.zoom_min"),
 	SettingEntry("gui.zoom_max"),
+	SettingEntry("gui.graph_line_thickness"),
 };
 /** Display options sub-page */
 static SettingsPage _settings_ui_display_page = {_settings_ui_display, lengthof(_settings_ui_display)};
--- a/src/settings_type.h
+++ b/src/settings_type.h
@@ -115,6 +115,7 @@
 	bool   expenses_layout;                  ///< layout of expenses window
 	uint32 last_newgrf_count;                ///< the numbers of NewGRFs we found during the last scan
 	byte   missing_strings_threshold;        ///< the number of missing strings before showing the warning
+	uint8  graph_line_thickness;             ///< the thickness of the lines in the various graph guis
 
 	uint16 console_backlog_timeout;          ///< the minimum amount of time items should be in the console backlog before they will be removed in ~3 seconds granularity.
 	uint16 console_backlog_length;           ///< the minimum amount of items in the console backlog before items will be removed.
--- a/src/table/settings.ini
+++ b/src/table/settings.ini
@@ -2425,6 +2425,16 @@
 min      = 1
 max      = UINT8_MAX
 
+[SDTC_VAR]
+var      = gui.graph_line_thickness
+type     = SLE_UINT8
+flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def      = 3
+min      = 1
+max      = 5
+str      = STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS
+proc     = RedrawScreen
+
 ; For the dedicated build we'll enable dates in logs by default.
 [SDTC_BOOL]
 ifdef    = DEDICATED