64 lines
1.5 KiB
TypeScript
64 lines
1.5 KiB
TypeScript
import {isAndroidHosted} from './AndroidHost';
|
|
|
|
|
|
var validScales = [1.0,1.10,1.25,1.35,1.50,1.75,2.0,2.5];
|
|
|
|
export function canScaleWindow(): boolean {
|
|
return false;
|
|
// return getValidWindowScales().length > 1;
|
|
}
|
|
|
|
export function getValidWindowScales(): number[]
|
|
{
|
|
if (isAndroidHosted())
|
|
{
|
|
return [1.0];
|
|
}
|
|
let result: number[] = [];
|
|
let minDimension = Math.min(window.innerHeight,window.innerWidth);
|
|
|
|
for (let validScale of validScales)
|
|
{
|
|
if (minDimension/validScale > 400)
|
|
{
|
|
result.push(validScale);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
export function setWindowScale(scale: number): void {
|
|
localStorage.setItem("pipedalWindowScale", scale.toString());
|
|
}
|
|
export function getWindowScale(): number {
|
|
const strvalue = localStorage.getItem("pipedalWindowScale");
|
|
return strvalue ? parseFloat(strvalue) : 1.0;
|
|
}
|
|
|
|
export function getWindowScaleText(scale?: number)
|
|
{
|
|
let value: number;
|
|
if (scale)
|
|
{
|
|
value = scale;
|
|
} else {
|
|
value = getWindowScale();
|
|
}
|
|
let iValue = Math.round(value*100);
|
|
return iValue.toString() + "%";
|
|
}
|
|
|
|
var gOptions: {key: number, text: string}[] = [];
|
|
export function getWindowScaleOptions() {
|
|
if (gOptions.length !== 0)
|
|
{
|
|
return gOptions;
|
|
}
|
|
let result: {key: number, text: string}[] = [];
|
|
for (let value of getValidWindowScales())
|
|
{
|
|
result.push({key: value, text: getWindowScaleText(value)});
|
|
}
|
|
gOptions = result;
|
|
return result
|
|
} |