Peter Nelson 
							
						 
					 
					
						
						
							
						
						c38df2d589 
					 
					
						
						
							
							Codechange: Use std::map instead of custom SmallMap.  
						
						
						
						
					 
					
						2023-05-18 12:18:30 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						83f2ad500e 
					 
					
						
						
							
							Codechange: stdarg.h include not needed as cstdarg is included.  
						
						
						
						
					 
					
						2023-05-17 10:14:41 +01:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						da7f431812 
					 
					
						
						
							
							Cleanup: widget pos_x/y are already int. ( #10809 )  
						
						... 
						
						
						
						Remove old casts left over from when pos_x/y were unsigned. 
						
						
					 
					
						2023-05-12 18:02:51 +01:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						60399e17bd 
					 
					
						
						
							
							Codechange: C++-ify the Layouter and related functions  
						
						... 
						
						
						
						They all now access a std::string_view, instead of a "const char *"
or std::string (in some cases).
Additionally, GetCharAtPosition and friends now return an index
instead of a "const char *", as it makes for a more clear interface. 
						
						
					 
					
						2023-05-08 19:21:42 +02:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						6202eae9d5 
					 
					
						
						
							
							Codechange: Rely on Scrollbar::SetPosition to clamp.  
						
						... 
						
						
						
						Manually clamping scrollbar bounds before calling `SetPosition()` is doubling up work that the function already does. 
						
						
					 
					
						2023-05-07 20:25:44 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						e8df28d7f3 
					 
					
						
						
							
							Add: parameter for ReInit() to reposition window to default.  
						
						
						
						
					 
					
						2023-04-25 13:27:22 +01:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						1ba4dcc924 
					 
					
						
						
							
							Codechange: migrate all Window-related timers to the new framework  
						
						... 
						
						
						
						This means we also say goodbye to GUITimers. 
						
						
					 
					
						2023-04-15 13:58:55 +02:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						5e1bcee39b 
					 
					
						
						
							
							Codechange: introduce a framework for all our timers  
						
						... 
						
						
						
						IntervalTimer and TimeoutTimer use RAII, and can be used to replace
all the time-based timeouts, lag-detection, "execute every N" we
have.
As it uses RAII, you can safely use it as static variable, class
member, temporary variable, etc. As soon as it goes out-of-scope,
it will be safely removed.
This allows for much easier to read code when it comes to intervals. 
						
						
					 
					
						2023-04-15 13:58:55 +02:00 
						 
				 
			
				
					
						
							
							
								glx22 
							
						 
					 
					
						
						
							
						
						b080f24bd8 
					 
					
						
						
							
							Codechange: move windows common to AI and GS out of ai_gui  
						
						
						
						
					 
					
						2023-02-05 19:27:25 +01:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						4e65ec1dc4 
					 
					
						
						
							
							Codechange: do not declare functions in blocks  
						
						
						
						
					 
					
						2023-01-29 20:28:45 +01:00 
						 
				 
			
				
					
						
							
							
								rubidium42 
							
						 
					 
					
						
						
							
						
						6ba55e663e 
					 
					
						
						
							
							Codechange: do not hide variables with other variables  
						
						
						
						
					 
					
						2023-01-29 07:21:34 +01:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						f001e84e5e 
					 
					
						
						
							
							Codechange: use RAII to automatically restore _cur_dpi after use  
						
						
						
						
					 
					
						2023-01-28 20:33:02 +01:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						bcfe0fb076 
					 
					
						
						
							
							Codechange: introduce GetMainWindow() to properly account for nullptr checks  
						
						... 
						
						
						
						Some nullptr checks have been removed as they were not triggered with nullptr
with the null video driver and in dedicated server mode. 
						
						
					 
					
						2023-01-14 21:15:23 +01:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						23eec0b7b3 
					 
					
						
						
							
							Fix   #8971 : Resize QueryStrings with interface scale change. ( #10281 )  
						
						... 
						
						
						
						* Fix: Use width of caret symbol '_' for text entry.
This replaces an arbitrary pixel width with the space actually required.
* Fix  #8971 : Update QueryString sizes with interface scale change. 
						
						
					 
					
						2022-12-25 00:40:55 +00:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						a044e8e007 
					 
					
						
						
							
							Fix: Scale minimum visible caption by interface scale. ( #10180 )  
						
						
						
						
					 
					
						2022-11-17 22:45:15 +00:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						890b2666d3 
					 
					
						
						
							
							Change: Use scaled WidgetDimensions.  
						
						
						
						
					 
					
						2022-11-12 18:28:39 +00:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						b5693becdc 
					 
					
						
						
							
							Add: Define scaled WidgetDimensions.  
						
						... 
						
						
						
						Includes RectPadding container. 
						
						
					 
					
						2022-11-12 18:28:39 +00:00 
						 
				 
			
				
					
						
							
							
								Jonathan G Rennison 
							
						 
					 
					
						
						
							
						
						64b437fa89 
					 
					
						
						
							
							Fix: Data race with mixer thread performance measurements  
						
						
						
						
					 
					
						2022-11-11 23:48:24 +01:00 
						 
				 
			
				
					
						
							
							
								Nicolas Chappe 
							
						 
					 
					
						
						
							
						
						864771ca09 
					 
					
						
						
							
							Feature: [Linkgraph] Show a tooltip with statistics when hovering a link  
						
						
						
						
					 
					
						2022-10-18 22:03:39 +02:00 
						 
				 
			
				
					
						
							
							
								Nicolas Chappe 
							
						 
					 
					
						
						
							
						
						7c79a2a767 
					 
					
						
						
							
							Change: Do not generate hover events at each frame  
						
						
						
						
					 
					
						2022-10-18 22:03:39 +02:00 
						 
				 
			
				
					
						
							
							
								Nicolas Chappe 
							
						 
					 
					
						
						
							
						
						e660860d4b 
					 
					
						
						
							
							Codechange: Simplify logic of mouse loop  
						
						
						
						
					 
					
						2022-10-18 22:03:39 +02:00 
						 
				 
			
				
					
						
							
							
								Bouke Haarsma 
							
						 
					 
					
						
						
							
						
						45d98f689a 
					 
					
						
						
							
							Fix   #9993 : Handle DPI changes on macOS and Windows  
						
						
						
						
					 
					
						2022-10-16 16:52:14 +02:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						69527abb6f 
					 
					
						
						
							
							Fix  9aef7b8c: Don't dispatch hover event if already hovering. ( #10042 )  
						
						... 
						
						
						
						This fixes the timed tooltip window being (invisibly) destroyed and
reconstructed every frame.
This also affects the unused OnHover() window event. 
						
						
					 
					
						2022-09-22 20:38:11 +01:00 
						 
				 
			
				
					
						
							
							
								Danny de Bruijne 
							
						 
					 
					
						
						
							
						
						753b1d7e15 
					 
					
						
						
							
							Feature: Add selected toolbar buttons to MacBook Pro Touch Bar  
						
						
						
						
					 
					
						2021-09-23 21:03:00 +02:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						fa1e27994d 
					 
					
						
						
							
							Feature: allow the use of TURN to connect client and server together  
						
						... 
						
						
						
						TURN is a last resort, used only if all other methods failed.
TURN is a relay approach to connect client and server together, where
openttd.org (by default) is the middleman.
It is very unlikely either the client or server cannot connect to
the STUN server, as they are both already connected to the Game
Coordinator. But in the odd case it does fail, estabilishing the
connection fails without any further possibility to recover. 
						
						
					 
					
						2021-07-20 19:57:23 +02:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						66dc0ce196 
					 
					
						
						
							
							Codechange: C++-ify the usage of IniFile in settings.cpp  
						
						... 
						
						
						
						Instead of creating the object on heap and use a pointer, create
the object on stack and use a guaranteed-not-null pointer.
The size of IniFile doesn't warrent the forcing to heap.
Additionally, use a subclass instead of a function to do some
initial bookkeeping on an IniFile meant to read a configuration. 
						
						
					 
					
						2021-07-02 14:30:14 +02:00 
						 
				 
			
				
					
						
							
							
								rubidium42 
							
						 
					 
					
						
						
							
						
						55a11710a6 
					 
					
						
						
							
							Codechange: convert printf DEBUG statements to fmt Debug statements  
						
						
						
						
					 
					
						2021-06-13 12:45:45 +02:00 
						 
				 
			
				
					
						
							
							
								glx22 
							
						 
					 
					
						
						
							
						
						5799402f7a 
					 
					
						
						
							
							Codechange: Rename window related DeleteXXX to match new behaviour  
						
						
						
						
					 
					
						2021-05-29 21:08:25 +02:00 
						 
				 
			
				
					
						
							
							
								glx22 
							
						 
					 
					
						
						
							
						
						994bf19aef 
					 
					
						
						
							
							Fix  f6d5c01: Delay deletion when closing windows  
						
						
						
						
					 
					
						2021-05-29 21:08:25 +02:00 
						 
				 
			
				
					
						
							
							
								glx22 
							
						 
					 
					
						
						
							
						
						e66e25ff71 
					 
					
						
						
							
							Fix   #9269 ,  f6d5c01: Hide windows without abusing WC_INVALID  
						
						
						
						
					 
					
						2021-05-15 21:08:49 +02:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						7755f81bb8 
					 
					
						
						
							
							Codechange: make explicit that virtual functions in a con/destructor are resolved statically  
						
						... 
						
						
						
						This as during construction the sub class has not been initialized yet, and
during destruction the sub class has already been destroyed, so the overriding
virtual function would be accessing uninitialized data. 
						
						
					 
					
						2021-05-13 10:03:26 +02:00 
						 
				 
			
				
					
						
							
							
								frosch 
							
						 
					 
					
						
						
							
						
						f6d5c0136e 
					 
					
						
						
							
							Codechange: make Window destruction not rely on undefined behavior.  
						
						
						
						
					 
					
						2021-05-12 23:22:41 +02:00 
						 
				 
			
				
					
						
							
							
								frosch 
							
						 
					 
					
						
						
							
						
						f96f113951 
					 
					
						
						
							
							Codechange: use IterateFromBack/Front only if the order is important.  
						
						... 
						
						
						
						Use Iterate if the order does not matter. 
						
						
					 
					
						2021-05-12 23:22:41 +02:00 
						 
				 
			
				
					
						
							
							
								frosch 
							
						 
					 
					
						
						
							
						
						22567a1f43 
					 
					
						
						
							
							Codechange: use iterators instead of 'subranges' when iterating from a specific window.  
						
						... 
						
						
						
						Using iterators makes it easier to include or exclude the start window in the iteration. 
						
						
					 
					
						2021-05-12 23:22:41 +02:00 
						 
				 
			
				
					
						
							
							
								frosch 
							
						 
					 
					
						
						
							
						
						95abdfdef9 
					 
					
						
						
							
							Cleanup: remove unneeded labels and gotos.  
						
						... 
						
						
						
						The window list supports deletion of arbitrary windows, while iterating over it. 
						
						
					 
					
						2021-05-12 23:22:41 +02:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						d8e06e590a 
					 
					
						
						
							
							Codechange: Make GetCurrentRect() conform to usual Rect bounds, and reuse it.  
						
						... 
						
						
						
						Similar code is already repeated in other locations. 
						
						
					 
					
						2021-05-08 09:53:55 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						52b16237ad 
					 
					
						
						
							
							Codechange: Don't update window contents if scrollbar position has not moved.  
						
						
						
						
					 
					
						2021-05-08 09:52:54 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						8321ef0061 
					 
					
						
						
							
							Codechange: Set specific widgets dirty instead of window.  
						
						
						
						
					 
					
						2021-05-08 09:52:54 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						4791ff2862 
					 
					
						
						
							
							Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed.  
						
						
						
						
					 
					
						2021-04-30 17:08:15 +01:00 
						 
				 
			
				
					
						
							
							
								glx22 
							
						 
					 
					
						
						
							
						
						14e92bd8e2 
					 
					
						
						
							
							Codechange: Replace window related FOR_ALL with range-based for loops  
						
						
						
						
					 
					
						2021-04-29 21:08:24 +02:00 
						 
				 
			
				
					
						
							
							
								Didac Perez Parera 
							
						 
					 
					
						
						
							
						
						0cb99c5523 
					 
					
						
						
							
							Codechange: nullptr deletion in DeleteWindowById ( #8941 )  
						
						
						
						
					 
					
						2021-04-10 10:19:14 +01:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						853bfc3562 
					 
					
						
						
							
							Codechange: replace _realtime_tick with std::chrono for mouse events  
						
						
						
						
					 
					
						2021-02-27 00:36:14 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						8906e9e0fd 
					 
					
						
						
							
							Codechange:  Consistently use screen size and not driver resolution for determining window sizes.  
						
						
						
						
					 
					
						2021-02-14 11:50:18 +01:00 
						 
				 
			
				
					
						
							
							
								glx 
							
						 
					 
					
						
						
							
						
						c0d7949d7c 
					 
					
						
						
							
							Fix: Don't use a timer for hundredth tick determination  
						
						
						
						
					 
					
						2021-01-10 14:07:17 +01:00 
						 
				 
			
				
					
						
							
							
								Charles Pigott 
							
						 
					 
					
						
						
							
						
						9b800a96ed 
					 
					
						
						
							
							Codechange: Remove min/max functions in favour of STL variants ( #8502 )  
						
						
						
						
					 
					
						2021-01-08 11:16:18 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						dd138fc460 
					 
					
						
						
							
							Codechange: Stringify config file paths.  
						
						
						
						
					 
					
						2020-12-27 13:19:25 +01:00 
						 
				 
			
				
					
						
							
							
								Charles Pigott 
							
						 
					 
					
						
						
							
						
						cfa1b1e006 
					 
					
						
						
							
							Fix: Compile warnings when asserts are disabled  
						
						
						
						
					 
					
						2020-12-06 19:27:39 +00:00 
						 
				 
			
				
					
						
							
							
								TechGeekNZ 
							
						 
					 
					
						
						
							
						
						a10013dd00 
					 
					
						
						
							
							Codechange: Spell 'Viewport' consistently  
						
						... 
						
						
						
						Some places in the codebase misspell 'Viewport' as 'ViewPort' or 'view_port'.
This patch makes everything consistent. 
						
						
					 
					
						2020-07-27 17:31:29 +01:00 
						 
				 
			
				
					
						
							
							
								TechGeekNZ 
							
						 
					 
					
						
						
							
						
						ee570e1b6d 
					 
					
						
						
							
							Cleanup: Fix typos in code comments.  
						
						
						
						
					 
					
						2020-06-09 13:15:47 +01:00 
						 
				 
			
				
					
						
							
							
								TechGeekNZ 
							
						 
					 
					
						
						
							
						
						8652a4db76 
					 
					
						
						
							
							Cleanup: Give SetDirtyBlocks a more descriptive name.  
						
						
						
						
					 
					
						2020-06-09 13:15:47 +01:00