(svn r23497) -Add: Advanced display setting to control the linewidth in graphs. (ChillCore)

This commit is contained in:
frosch 2011-12-11 15:55:31 +00:00
parent 8f36e70e35
commit 1ea449630d
5 changed files with 18 additions and 2 deletions

View File

@ -419,6 +419,9 @@ protected:
}
/* 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 @@ protected:
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;

View File

@ -1174,6 +1174,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :{LTBLUE}Duratio
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

View File

@ -1359,6 +1359,7 @@ static SettingEntry _settings_ui_display[] = {
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)};

View File

@ -115,6 +115,7 @@ struct GUISettings {
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.

View File

@ -2425,6 +2425,16 @@ def = 25
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