Commit Graph

125 Commits

Author SHA1 Message Date
Peter Nelson
b414060f7c Codechange: Make GetCurrentRect() conform to usual Rect bounds, and reuse it.
Similar code is already repeated in other locations.

(cherry picked from commit d8e06e590a)
2021-05-08 10:22:22 +01:00
Peter Nelson
065ae3964a Codechange: Don't update window contents if scrollbar position has not moved.
(cherry picked from commit 52b16237ad)
2021-05-08 10:22:22 +01:00
Peter Nelson
a469b4f395 Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed.
(cherry picked from commit 4791ff2862)
2021-05-06 20:11:55 +01:00
Peter Nelson
1a4a6f579e Cleanup: Call SetMinimalSize instead of setting min_y directly.
(cherry picked from commit 03a43b8247)
2021-05-06 20:00:57 +01:00
Peter Nelson
dc6055bd82 Cleanup: Horizontal widget size is commonly width rather than length.
(cherry picked from commit 5153e1b6e3)
2021-05-06 19:58:52 +01:00
Jonathan G Rennison
253772e9af Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	COMPILING.md
#	src/console.cpp
#	src/console_cmds.cpp
#	src/console_internal.h
#	src/rev.cpp.in
2021-04-25 02:14:58 +01:00
Peter Nelson
51b4bd6c38 Codechange: Add widget text colour override property. 2021-04-22 16:42:04 +01:00
Peter Nelson
636e37d183 Codechange: Add internal widget alignment property, along with widget part. 2021-04-22 16:42:04 +01:00
Peter Nelson
2a0365b3d9 Cleanup: Remove unnecessary parameter of GetScrolledRowFromWidget()
Line height defaults to the resize height of the relevant widget, which is
set in all cases. Therefore it is not necessary to specify this value every time.

Additionally fixes scrolled padding for the framerate window.
2021-04-21 23:12:10 +02:00
Rubidium
bf4fe19a66 Codechange: merge duplicated logic to scroll in lists by key into a single function 2021-04-21 21:12:08 +02:00
Jonathan G Rennison
227041008f Merge branch 'master' into jgrpp
# Conflicts:
#	src/debug.cpp
#	src/lang/russian.txt
#	src/misc_gui.cpp
#	src/os/windows/crashlog_win.cpp
#	src/os/windows/font_win32.cpp
#	src/os/windows/win32.cpp
#	src/rail_cmd.cpp
#	src/window_gui.h
2021-04-11 03:05:08 +01:00
Niels Martin Hansen
64c9af0991 Add: NWidgetBase::GetCurrentRect function 2021-04-09 12:18:52 +02:00
Jonathan G Rennison
5e14b54a0c Merge branch 'master' into jgrpp 2021-04-05 17:51:45 +01:00
Tyler Trahan
de891238d6
Change: Recolour graph windows to brown (#8700) 2021-03-11 15:30:29 +01:00
Jonathan G Rennison
b7ddd486cf Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/aircraft_cmd.cpp
#	src/blitter/32bpp_anim.cpp
#	src/cargopacket.cpp
#	src/cheat_gui.cpp
#	src/company_cmd.cpp
#	src/company_gui.cpp
#	src/core/pool_func.hpp
#	src/date.cpp
#	src/economy.cpp
#	src/error_gui.cpp
#	src/ground_vehicle.cpp
#	src/ground_vehicle.hpp
#	src/group_gui.cpp
#	src/industry_cmd.cpp
#	src/lang/dutch.txt
#	src/lang/french.txt
#	src/lang/german.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/linkgraph/mcf.cpp
#	src/network/network_content.cpp
#	src/network/network_server.cpp
#	src/network/network_udp.cpp
#	src/newgrf_engine.cpp
#	src/newgrf_station.cpp
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/pathfinder/follow_track.hpp
#	src/pathfinder/yapf/yapf_common.hpp
#	src/saveload/saveload.cpp
#	src/settings_gui.cpp
#	src/station_cmd.cpp
#	src/station_kdtree.h
#	src/string_func.h
#	src/table/settings.ini
#	src/tgp.cpp
#	src/timetable_cmd.cpp
#	src/timetable_gui.cpp
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/train_gui.cpp
#	src/tree_gui.cpp
#	src/tunnelbridge_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/video/sdl2_v.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
#	src/viewport.cpp
#	src/viewport_sprite_sorter_sse4.cpp
#	src/window.cpp
2021-02-01 17:07:34 +00:00
Patric Stout
af22a4f2cd Add: show in the tooltip of disabled toolbar buttons why they are disabled 2021-01-08 16:43:51 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 2021-01-08 11:16:18 +01:00
Jonathan G Rennison
8f442500ea Change how dirty screen, window and viewport areas are tracked for later redrawing
Track dirty viewport areas seperately form general screen redraws.
Maintain a dirty block grid per viewport, with a smaller block size.
Use even smaller block size in viewport map mode.

Use a rectangle array for general screen redraws instead of a block grid.

Add a dirty bit to windows and widgets, to simplify the common case
of repainting a whole window or widget, without catching
neighbouring windows or viewports.
2020-03-05 00:27:17 +00:00
Jonathan G Rennison
3517068e30 Clip widget draw calls which are outside _cur_dpi 2020-02-20 00:49:32 +00:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
JMcKiern
04f659e768 Fix: Some typos found using codespell 2019-09-29 21:27:32 +01:00
glx
1f418555a1 Fix #7742, 66dd7c3: widget position can be negative 2019-09-17 20:11:34 +02:00
Henry Wilson
7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
Henry Wilson
af7d9020a1 Codechange: Use override specifer for overriding member declarations
This is a C++11 feature that allows the compiler to check that a virtual
member declaration overrides a base-class member with the same signature.

Also src/blitter/32bpp_anim_sse4.hpp +38 is no longer erroneously marked
as virtual despite being a template.
2019-03-24 16:10:04 +01:00
Charles Pigott
f5b1115039 Doc: Lots and lots of doxymentation fixes 2018-10-31 12:35:54 +01:00
frosch
80dffae130 (svn r27900) -Change [FS#6568]: Remove the gap between windows when positioning them after opening.
-Fix: Make automatic window-positioning RTL-aware.
-Fix: Automatic window-positioning now uses GUI-scale/style dependent sizes/distances instead of fixed pixel values.
2017-08-27 11:48:38 +00:00
rubidium
0af26b8a37 (svn r26971) -Fix: widget_data was sometimes uint16 and sometimes uint32; make it always be uint32 2014-10-06 19:16:29 +00:00
frosch
12ddbb7cb1 (svn r25864) -Fix: Use the actual sprite dimensions for sizing the dropdown arrow of dropdown widgets. 2013-10-13 19:18:30 +00:00
frosch
59b7125563 (svn r25727) -Fix [FS#5686]: NWidgetMatrix used pip_pre and pip_post inconsistently and incorrectly, causing misalignment for RTL. (spotted by sbr) 2013-08-18 15:32:45 +00:00
frosch
43ec0bf0c1 (svn r25537) -Codechange: Optionally make WWT_MATRIX compute the number of rows and columns from the resize step size. 2013-06-30 14:36:31 +00:00
frosch
98fdd20f84 (svn r25531) -Codechange: Use separate function to set data of WWT_MATRIX widgets. 2013-06-30 14:32:31 +00:00
frosch
4e4e635916 (svn r25294) -Feature: Add another button to window title bars to resize the window to its default size. 2013-05-26 19:30:07 +00:00
planetmaker
c24374f99c (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 2013-01-08 22:46:42 +00:00
peter1138
1ef4f7712d (svn r24853) -Fix: Extend widget data member to 32 bits so that sprite IDs >= 2^16 can be used. 2012-12-25 22:10:43 +00:00
frosch
cfccaff645 (svn r24696) -Doc: Improve documentation for button widget types. 2012-11-11 16:01:34 +00:00
michi_cc
6a70abbd99 (svn r24136) -Feature [FS#4465]: Autoreplace vehicles only when they get old. (Vikthor) 2012-04-17 19:44:02 +00:00
truebrain
1c9bec1999 (svn r23640) -Fix: stop using FORCEINLINE (1/3rd of the instances were, the others were still regular inline), but make sure inline is always a 'forced' inline (I am looking at you MSVC) 2011-12-20 17:57:56 +00:00
truebrain
403cd3acdb (svn r23631) -Add: ScriptWindow, to manipulate windows on the client (GameScript only) 2011-12-19 21:05:14 +00:00
peter1138
50d1541270 (svn r23017) -Codechange: Add support for resized scrollbars. 2011-10-11 08:07:47 +00:00
rubidium
d89095b3ec (svn r21843) -Codechange: move documentation towards the code to make it more likely to be updates [t-z]. 2011-01-18 21:58:22 +00:00
terkhen
679cd3c21b (svn r21803) -Cleanup: Remove unnecessary semicolons. 2011-01-15 15:36:58 +00:00
frosch
da09ebc59a (svn r21763) -Codechange: Pass the distance to Scrollbar::UpdatePosition() in units of small or big steps. 2011-01-09 20:39:06 +00:00
rubidium
b91ae2483e (svn r21448) -Add: generic widget for creating a scrollable (one direction) and resizable (both directions) area with same sized widgets 2010-12-10 17:47:11 +00:00
rubidium
0848d92af1 (svn r21447) -Add: accessor function to get the direction of a scrollbar 2010-12-10 17:33:50 +00:00
rubidium
951b725b8c (svn r20922) -Fix [FS#4071]: accidentally moving the mouse of the scrollbar arrows while pressing it clicks the button next to the arrow 2010-10-15 11:16:14 +00:00
rubidium
30f2afac9b (svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers 2010-08-26 22:01:16 +00:00
yexo
16be24e13a (svn r20558) -Codechange: use one generic function to create a list of company buttons 2010-08-19 12:56:31 +00:00
frosch
d496ec65b9 (svn r20470) -Codechange: Make arrow buttons lower and raise like other buttons when clicked. 2010-08-12 16:44:51 +00:00
frosch
9e538acc03 (svn r20461) -Codechange: Replace WWT_HSCROLLBAR, WWT_SCROLLBAR and WWT_SCROLL2BAR with NWID_HSCROLLBAR and NWID_VSCROLLBAR. 2010-08-12 09:16:43 +00:00
frosch
b37be47f16 (svn r20460) -Codechange: Remove WF_SCROLL window flags and store the state directly in the scrollbar widget instead. 2010-08-12 09:14:34 +00:00