Mercurial > hg > openttd
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