Add retina detection
This commit is contained in:
parent
6a92e417ec
commit
3e2fbcee20
3 changed files with 9 additions and 2 deletions
3
State.ts
3
State.ts
|
@ -34,7 +34,8 @@ export class State {
|
|||
tagsVisibleAndWikiLinked: 150,
|
||||
themeGeneratorReadOnlyUnlock: 200,
|
||||
themeGeneratorFullUnlock: 500,
|
||||
addNewPointWithUnreadMessagesUnlock: 500
|
||||
addNewPointWithUnreadMessagesUnlock: 500,
|
||||
minZoomLevelToAddNewPoints: (Utils.isRetina() ? 18 : 19)
|
||||
};
|
||||
|
||||
public static runningFromConsole: boolean = false;
|
||||
|
|
|
@ -204,7 +204,7 @@ export class SimpleAddUI extends UIElement {
|
|||
"</span>"]).Render();
|
||||
}
|
||||
|
||||
if (State.state.locationControl.data.zoom < 19) {
|
||||
if (State.state.locationControl.data.zoom < State.userJourney.minZoomLevelToAddNewPoints) {
|
||||
return new Combine([header, Translations.t.general.add.zoomInFurther]).Render()
|
||||
}
|
||||
|
||||
|
|
6
Utils.ts
6
Utils.ts
|
@ -97,4 +97,10 @@ export class Utils {
|
|||
return [a.substr(0, index), a.substr(index+sep.length)];
|
||||
}
|
||||
|
||||
public static isRetina() : boolean{
|
||||
// The cause for this line of code: https://github.com/pietervdvn/MapComplete/issues/115
|
||||
// See https://stackoverflow.com/questions/19689715/what-is-the-best-way-to-detect-retina-support-on-a-device-using-javascript
|
||||
return ((window.matchMedia && (window.matchMedia('only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx), only screen and (min-resolution: 75.6dpcm)').matches || window.matchMedia('only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min--moz-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2)').matches)) || (window.devicePixelRatio && window.devicePixelRatio >= 2));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue