-
Notifications
You must be signed in to change notification settings - Fork 716
/
windowtools.ts
133 lines (119 loc) · 3.91 KB
/
windowtools.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/*
* GDevelop JS Platform
* Copyright 2013-2016 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
namespace gdjs {
export namespace evtTools {
/**
* Tools related to window, for events generated code.
*/
export namespace window {
export const setMargins = function (
runtimeScene: gdjs.RuntimeScene,
top: number,
right: number,
bottom: number,
left: number
) {
runtimeScene
.getGame()
.getRenderer()
.setMargins(top, right, bottom, left);
};
export const setFullScreen = function (
runtimeScene: gdjs.RuntimeScene,
enable: boolean,
keepAspectRatio: boolean
) {
runtimeScene.getGame().getRenderer().keepAspectRatio(keepAspectRatio);
runtimeScene.getGame().getRenderer().setFullScreen(enable);
};
export const isFullScreen = function (
runtimeScene: gdjs.RuntimeScene
): boolean {
return runtimeScene.getGame().getRenderer().isFullScreen();
};
export const setWindowSize = function (
runtimeScene: gdjs.RuntimeScene,
width: float,
height: float,
updateGameResolution: boolean
) {
runtimeScene.getGame().getRenderer().setWindowSize(width, height);
if (updateGameResolution) {
runtimeScene.getGame().setGameResolutionSize(width, height);
}
};
export const centerWindow = function (runtimeScene: gdjs.RuntimeScene) {
runtimeScene.getGame().getRenderer().centerWindow();
};
export const setGameResolutionSize = function (
runtimeScene: gdjs.RuntimeScene,
width: float,
height: float
) {
runtimeScene.getGame().setGameResolutionSize(width, height);
};
export const setGameResolutionResizeMode = function (
runtimeScene: gdjs.RuntimeScene,
resizeMode: string
) {
runtimeScene.getGame().setGameResolutionResizeMode(resizeMode);
};
export const setAdaptGameResolutionAtRuntime = function (
runtimeScene: gdjs.RuntimeScene,
enable: boolean
) {
runtimeScene.getGame().setAdaptGameResolutionAtRuntime(enable);
};
export const setWindowTitle = function (
runtimeScene: gdjs.RuntimeScene,
title: string
) {
runtimeScene.getGame().getRenderer().setWindowTitle(title);
};
export const getWindowTitle = function (
runtimeScene: gdjs.RuntimeScene
): string {
return runtimeScene.getGame().getRenderer().getWindowTitle();
};
export const getWindowInnerWidth = function (): number {
if (
gdjs.RuntimeGameRenderer &&
gdjs.RuntimeGameRenderer.getWindowInnerWidth
) {
return gdjs.RuntimeGameRenderer.getWindowInnerWidth();
}
// @ts-ignore
return typeof window !== 'undefined' ? window.innerWidth : 800;
};
export const getWindowInnerHeight = function (): number {
if (
gdjs.RuntimeGameRenderer &&
gdjs.RuntimeGameRenderer.getWindowInnerHeight
) {
return gdjs.RuntimeGameRenderer.getWindowInnerHeight();
}
// @ts-ignore
return typeof window !== 'undefined' ? window.innerHeight : 800;
};
export const getGameResolutionWidth = function (
runtimeScene: gdjs.RuntimeScene
): number {
return runtimeScene.getGame().getGameResolutionWidth();
};
export const getGameResolutionHeight = function (
runtimeScene: gdjs.RuntimeScene
): number {
return runtimeScene.getGame().getGameResolutionHeight();
};
export const openURL = function (
url: string,
runtimeScene: gdjs.RuntimeScene
) {
return runtimeScene.getGame().getRenderer().openURL(url);
};
}
}
}