mirror of
https://github.com/a-b-street/abstreet.git
synced 2024-12-26 16:02:23 +03:00
add a flag to override DPI, so we can tune on mac
This commit is contained in:
parent
b1da0f0284
commit
e893e6b98c
@ -15,7 +15,11 @@ Grab a pre-built binary release -- updated every Sunday, announced at
|
||||
https://github.com/dabreegster/abstreet/releases/download/v0.1.19/abstreet_windows_v0_1_19.zip
|
||||
- Mac:
|
||||
https://github.com/dabreegster/abstreet/releases/download/v0.1.19/abstreet_mac_v0_1_19.zip
|
||||
- The minimap may be missing, depending on your monitor's DPI.
|
||||
- The minimap may be missing, depending on your monitor's DPI. If so, modify
|
||||
the `play_abstreet.sh` script to pass `--hidpi_factor=2.0` and experiment
|
||||
with different values. If you have to do this, please
|
||||
[file an issue](https://github.com/dabreegster/abstreet/issues) and let me
|
||||
know, so I can figure out why `glutin` misreports this.
|
||||
- Linux:
|
||||
https://github.com/dabreegster/abstreet/releases/download/v0.1.19/abstreet_linux_v0_1_19.zip
|
||||
- The binary might not work on your flavor of Linux; let me know
|
||||
|
@ -181,6 +181,7 @@ pub struct Settings {
|
||||
initial_dims: (f64, f64),
|
||||
profiling_enabled: bool,
|
||||
default_font_size: usize,
|
||||
override_hidpi_factor: Option<f64>,
|
||||
}
|
||||
|
||||
impl Settings {
|
||||
@ -190,6 +191,7 @@ impl Settings {
|
||||
initial_dims,
|
||||
profiling_enabled: false,
|
||||
default_font_size: 30,
|
||||
override_hidpi_factor: None,
|
||||
}
|
||||
}
|
||||
|
||||
@ -201,6 +203,10 @@ impl Settings {
|
||||
pub fn default_font_size(&mut self, size: usize) {
|
||||
self.default_font_size = size;
|
||||
}
|
||||
|
||||
pub fn override_hidpi_factor(&mut self, override_hidpi_factor: f64) {
|
||||
self.override_hidpi_factor = Some(override_hidpi_factor);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn run<G: GUI, F: FnOnce(&mut EventCtx) -> G>(settings: Settings, make_gui: F) {
|
||||
@ -271,8 +277,12 @@ pub fn run<G: GUI, F: FnOnce(&mut EventCtx) -> G>(settings: Settings, make_gui:
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
let hidpi_factor = events_loop.get_primary_monitor().get_hidpi_factor();
|
||||
let mut hidpi_factor = events_loop.get_primary_monitor().get_hidpi_factor();
|
||||
println!("HiDPI factor is purportedly {}", hidpi_factor);
|
||||
if let Some(x) = settings.override_hidpi_factor {
|
||||
println!("... but overriding it to {} by flag", x);
|
||||
hidpi_factor = x;
|
||||
}
|
||||
let mut canvas = Canvas::new(
|
||||
settings.initial_dims.0,
|
||||
settings.initial_dims.1,
|
||||
|
@ -46,6 +46,9 @@ fn main() {
|
||||
if let Some(n) = args.optional_parse("--font_size", |s| s.parse::<usize>()) {
|
||||
settings.default_font_size(n);
|
||||
}
|
||||
if let Some(x) = args.optional_parse("--hidpi_factor", |x| x.parse::<f64>()) {
|
||||
settings.override_hidpi_factor(x);
|
||||
}
|
||||
args.done();
|
||||
|
||||
ezgui::run(settings, |ctx| game::Game::new(flags, opts, ctx));
|
||||
|
Loading…
Reference in New Issue
Block a user