Michael Lutz
f175e38666
Add: [Win32] Automatic zoom level suggestion for Win32 video driver.
...
The zoom level suggestion is based on the DPI scaling set in Windows.
We use 150% scaling as the threshold for 2X zoom and 300% scaling
as the threshold for 4X zoom.
2021-02-14 14:16:40 +01:00
Michael Lutz
22f5aeab07
Feature: Automatic UI and font zoom levels when supported by the OS.
2021-02-14 14:16:40 +01:00
Michael Lutz
f5555a6d26
Fix 9c872192: [OSX] Clear mouse button emulation flag.
2021-02-14 12:58:45 +01:00
Michael Lutz
e5c3253642
Add: [OSX] Setting to disable HiDPI graphics rendering.
2021-02-14 11:50:18 +01:00
Michael Lutz
0fc763bc55
Change: [OSX] Render screen in full native resolution on HiDPI displays.
2021-02-14 11:50:18 +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
Michael Lutz
acca56b6a5
Cleanup: [OSX] Improve some comments.
2021-02-13 22:21:17 +01:00
Michael Lutz
c78e559e88
Codechange: [OSX] Remove unused 'app active' flag.
2021-02-13 22:21:17 +01:00
Michael Lutz
9c8721922b
Fix: [OSX] An emulated right mouse down event has to be followed by right mouse up.
2021-02-13 22:21:17 +01:00
Michael Lutz
649ff5f9f9
Codechange: [OSX] Use relative mouse handling during scrolling.
2021-02-13 22:21:17 +01:00
Michael Lutz
43326d11d8
Change: [OSX] Use a layer-backed view to speed up drawing.
2021-02-13 22:21:17 +01:00
Michael Lutz
2a8c3a2cf6
Codechange: [OSX] Align backing buffer pitch for a tiny bit performance.
2021-02-13 22:21:17 +01:00
Michael Lutz
94b76ce9a4
Cleanup: [OSX] Move event loop into video driver file.
2021-02-13 22:21:17 +01:00
Michael Lutz
23389e9491
Remove: [OSX] Startup splash screen.
...
It wasn't displayed anyway as it was never copied to the bundle.
2021-02-13 22:21:17 +01:00
Michael Lutz
063b90b97d
Codechange: [OSX] Move key event handling to our view.
2021-02-13 22:21:17 +01:00
Michael Lutz
f4bd54fedd
Codechange: [OSX] Move mouse event handling to our NSView.
2021-02-13 22:21:17 +01:00
Michael Lutz
bd42fc94cc
Codechange: [OSX] Move some things from video driver to our NSView.
2021-02-13 22:21:17 +01:00
Michael Lutz
965ce12947
Codechange: [OSX] Use newer mouse tracking API.
2021-02-13 22:21:17 +01:00
Michael Lutz
42af13c141
Codechange: [OSX] Split drawing into its own subview.
...
This allows the drawing backend code to be independent
of any event or command handling.
2021-02-13 22:21:17 +01:00
Michael Lutz
60f30036f1
Codechange: [OSX] Drain autoreleased objects in each game loop cycle.
2021-02-13 22:21:17 +01:00
Michael Lutz
8aaf4ea098
Codechange: [OSX] Split Window and back buffer creation in Cocoa video driver.
2021-02-13 22:21:17 +01:00
Michael Lutz
0eff7de659
Cleanup: [OSX] Doxygen comment style in video driver.
2021-02-13 22:21:17 +01:00
Michael Lutz
8ced72ab10
Codechange: [OSX] Inline some functions that are used in only one place.
2021-02-13 22:21:17 +01:00
Michael Lutz
13134f9d64
Codechange: [OSX] Replace #define with modern code.
2021-02-13 22:21:17 +01:00
Michael Lutz
88f6c7a9f3
Codechange: [OSX] Fold remaining Cocoa video subdriver into the main driver.
2021-02-13 22:21:17 +01:00
Michael Lutz
e6bea3961f
Change: [OSX] Replace screen resolution list with suggested window sizes.
...
We never change the real screen resolution on OSX. As such, offering a list
of resolutions is pointless. Instead of that, offer the user a list of
commonly used window sizes up to the current screen size.
2021-02-13 22:21:17 +01:00
Michael Lutz
4db7837d06
Codechange: [OSX] There is only one subdriver left, remove virtual dispatch.
2021-02-13 22:21:17 +01:00
Patric Stout
52317bb7df
Change: [SDL2] Remove unneeded delay of redrawing the screen
...
In testing, I could find no reason why this statement is here.
The comment is rather unclear (it states what it does, but not
why it would be needed).
This line of code was introduced with f4f40448 , which gives no
further insight on why it would be needed to have it here.
As such, let's remove it and see if anyone else reports any
problems with it. If so, this commit can be reverted and a more
clear comment should be added what this line of code is dealing
with (the WHY, not the WHAT).
2021-02-11 20:23:53 +01:00
Patric Stout
2e1535389a
Codechange: [SDL2] Don't use globals if we can do with locals
2021-02-11 20:23:53 +01:00
Patric Stout
2bbef6b5cf
Codechange: [SDL2] Name paint function Paint(), like other drivers do
...
This reduces confusion when reading different drivers.
2021-02-11 20:23:53 +01:00
Patric Stout
569ce6c7b4
Fix 30e69c51: palette was not marked dirty when creating a new
...
This means the code depended that the caller did this for us
before MakePalette() is executed, which is neither a
requirement nor a promise the code makes.
2021-02-11 20:23:53 +01:00
Patric Stout
2c9084d48c
Fix #8029 : [SDL2] disable draw-thread on wayland SDL video driver ( #8648 )
...
When the wayland SDL video driver is used, an EGL context is
created in the main thread. It is not allowed to update this
context from another thread, which is exactly what our draw-thread
is trying.
The other solution would be to move all of SDL into the
draw-thread, but that would introduce a whole scala of different
problems.
The wayland SDL backend is significantly faster than the
X11 SDL backend, but there is a performance hit nevertheless.
2021-02-06 14:09:45 +01:00
SamuXarick
a4035af337
Codechange: Apply coding style ( #8640 )
...
* Fix: Missing or needed spaces
* Codechange: Remove space
* Codechange: Remove space
* Codechange: More missing spaces
* Codechange: Missing spaces
* Codechange: Remove space
* Codechange: Remove space
2021-02-05 11:00:36 +01:00
Jonathan G Rennison
650d5e014e
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/ai/ai_gui.cpp
# src/company_cmd.cpp
# src/lang/estonian.txt
# src/lang/german.txt
# src/lang/hungarian.txt
# src/lang/korean.txt
# src/lang/slovak.txt
# src/main_gui.cpp
# src/video/sdl2_v.cpp
2021-02-01 19:34:30 +00:00
Jonathan G Rennison
7154f8859d
Merge tag '1.11.0-beta1' into jgrpp
...
# Conflicts:
# src/console_cmds.cpp
# src/gfx_func.h
# src/industry.h
# src/lang/czech.txt
# src/lang/estonian.txt
# src/lang/german.txt
# src/lang/indonesian.txt
# src/lang/japanese.txt
# src/lang/norwegian_bokmal.txt
# src/lang/russian.txt
# src/lang/slovak.txt
# src/saveload/saveload.h
# src/station_gui.cpp
# src/town_gui.cpp
# src/vehicle_gui.cpp
# src/video/sdl2_v.cpp
# src/waypoint_gui.cpp
2021-02-01 18:58:36 +00: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
Jonathan G Rennison
f9956d88c3
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/aircraft_cmd.cpp
# src/company_gui.cpp
# src/lang/arabic_egypt.txt
# src/lang/czech.txt
# src/lang/esperanto.txt
# src/lang/faroese.txt
# src/lang/finnish.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/lang/latvian.txt
# src/lang/malay.txt
# src/lang/polish.txt
# src/lang/spanish.txt
# src/lang/spanish_MX.txt
# src/lang/unfinished/urdu.txt
# src/main_gui.cpp
# src/rail_cmd.cpp
# src/rail_gui.cpp
# src/road_cmd.cpp
# src/settings_type.h
# src/station_cmd.cpp
# src/table/settings.ini
2021-01-31 01:11:12 +00:00
Jonathan G Rennison
6c3e5642f8
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/crashlog.cpp
# src/fileio.cpp
# src/fileio_func.h
# src/fios_gui.cpp
# src/ini_load.cpp
# src/ini_type.h
# src/lang/english.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/network/network_client.cpp
# src/order_base.h
# src/order_cmd.cpp
# src/os/windows/win32.cpp
# src/road_cmd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/settings.cpp
# src/station_cmd.cpp
# src/stdafx.h
# src/table/settings.ini
# src/tree_cmd.cpp
# src/tree_gui.cpp
# src/vehicle_base.h
# src/video/cocoa/cocoa_v.mm
# src/video/cocoa/event.mm
# src/video/cocoa/wnd_quartz.mm
# src/viewport.cpp
# src/widgets/tree_widget.h
2021-01-31 01:08:35 +00:00
Patric Stout
0e54c32452
Codechange: [SDL2] Use MakeDirty() to force a redraw
...
The original code is "strictly correct", but just reads really
weird, and we use MakeDirty() in several other places instead too.
2021-01-30 21:43:59 +01:00
Patric Stout
30e69c518b
Codechange: [SDL2] Rework how palette is updated
...
It now follows more what the Win32 driver does, and has far less
exceptions and special casing.
MakePalette creates the Palette and prepares surface.
UpdatePalette updates the Palette.
CheckPaletteAnim checks if UpdatePalette needs to be called and
marks the whole screen dirty so DrawSurfaceToScreen will do a
full redraw.
2021-01-30 21:43:59 +01:00
Patric Stout
eb80fefd1d
Fix: [SDL2] Display why SDL_CreateWindow() failed in case it does
...
All SDL_NNN errors print SDL_GetError, except for this one place.
2021-01-30 21:43:59 +01:00
Patric Stout
19345908cb
Codechange: [SDL2] Split away CreateMainWindow from CreateMainSurface
...
This makes the code a bit more readable, as both intentions are
more clear, and there is less nesting in the main function.
2021-01-30 21:43:59 +01:00
Patric Stout
8c37e5c526
Codechange: [SDL2] reworked the different surfaces to make it more readable
2021-01-30 21:43:59 +01:00
Patric Stout
8de325f256
Codechange: [SDL2] Only prepare "caption" if you are going to us it
2021-01-30 21:43:59 +01:00
Patric Stout
e41ec5b42e
Codechange: [SDL2] Minor code cleanup to remove silly variable
2021-01-30 21:43:59 +01:00
Patric Stout
678031f9b3
Codechange: [SDL2] Only set _cur_palette, never _local_palette
2021-01-30 21:43:59 +01:00
Patric Stout
f31b65825f
Codechange: [SDL2] Move FindStartupDisplay to its own function
2021-01-30 21:43:59 +01:00
Patric Stout
6916fc76bd
Codechange: [SDL2] reworked FindResolutions to be more like the rest
...
There was no default resolution fallback, and the code was different
from the win32 driver. It is now named the same and much more
similar.
2021-01-30 21:43:59 +01:00
Patric Stout
a52d716c88
Codechange: [SDL2] remove include-protection
...
This is already done by CMake: if SDL2 is not detected, this file
is not included.
2021-01-30 21:43:59 +01:00
Jonathan G Rennison
39df1c49a1
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/fileio.cpp
# src/group_gui.cpp
# src/industry.h
# src/lang/korean.txt
# src/linkgraph/linkgraphjob.cpp
# src/linkgraph/linkgraphjob.h
# src/linkgraph/linkgraphschedule.cpp
# src/linkgraph/linkgraphschedule.h
# src/openttd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/town_cmd.cpp
# src/vehicle_gui.cpp
# src/vehicle_gui_base.h
2021-01-30 18:27:35 +00:00