slifer 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "slifer",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "A game framework made for bun and typescript",
5
5
  "module": "index.ts",
6
6
  "devDependencies": {
package/src/ffi.ts CHANGED
@@ -28,6 +28,7 @@ if (process.platform == "win32") {
28
28
  libTTFImport = await import("../libs/libSDL2_ttf.so");
29
29
  }
30
30
 
31
+ /** @internal */
31
32
  export const libsdl = dlopen(libSDLImport.default, {
32
33
  SDL_Init: {
33
34
  args: [FFIType.int],
@@ -156,6 +157,10 @@ export const libsdl = dlopen(libSDLImport.default, {
156
157
  args: ["pointer"],
157
158
  returns: "void",
158
159
  },
160
+ SDL_MaximizeWindow: {
161
+ args: ["pointer"],
162
+ returns: 'void'
163
+ },
159
164
  SDL_GetShapedWindowMode: {
160
165
  args: ["pointer", "pointer"],
161
166
  returns: "int",
@@ -188,8 +193,17 @@ export const libsdl = dlopen(libSDLImport.default, {
188
193
  ],
189
194
  returns: "int",
190
195
  },
196
+ SDL_SetWindowSize: {
197
+ args: ['pointer', 'int', 'int'],
198
+ returns: 'void'
199
+ },
200
+ SDL_SetWindowTitle: {
201
+ args: ['pointer', 'cstring'],
202
+ returns: 'void'
203
+ }
191
204
  });
192
205
 
206
+ /** @internal */
193
207
  export const libimage = dlopen(libImageImport.default, {
194
208
  IMG_Init: {
195
209
  args: ["int"],
@@ -201,6 +215,7 @@ export const libimage = dlopen(libImageImport.default, {
201
215
  },
202
216
  });
203
217
 
218
+ /** @internal */
204
219
  export const libttf = dlopen(libTTFImport.default, {
205
220
  TTF_Init: {
206
221
  returns: "int",
package/src/global.ts CHANGED
@@ -7,4 +7,5 @@ class Global {
7
7
  static ptrFont : Pointer;
8
8
  }
9
9
 
10
+ /** @internal */
10
11
  export default Global;
@@ -3,6 +3,7 @@ import Global from "../global";
3
3
  import { type Pointer, ptr } from 'bun:ffi';
4
4
  import path from 'path';
5
5
 
6
+ /** @internal */
6
7
  class Graphics {
7
8
  /**
8
9
  * Slifers draw function. Used to draw everything to the screen.
@@ -153,4 +154,5 @@ class Color {
153
154
  }
154
155
  }
155
156
 
157
+ /** @internal */
156
158
  export default Graphics;
@@ -1,3 +1,4 @@
1
+ /** @internal */
1
2
  class Keyboard {
2
3
 
3
4
  static downKeyMap = new Map<string, boolean>();
@@ -75,4 +76,5 @@ type keys = 'a' |'b' |'c' |'d' |'e' |'f' |'g' |'h' |'i' |'j' |'k' |'l' |'m' |'n'
75
76
  'left ctrl' |
76
77
  'escape';
77
78
 
79
+ /** @internal */
78
80
  export default Keyboard;
@@ -1,6 +1,7 @@
1
1
  import { libsdl } from "../ffi";
2
2
  import { ptr } from 'bun:ffi';
3
3
 
4
+ /** @internal */
4
5
  class Mouse {
5
6
 
6
7
  static downKeyMap = new Map<string, boolean>();
@@ -97,4 +98,5 @@ class Mouse {
97
98
 
98
99
  type buttons = 'left' | 'middle' | 'right';
99
100
 
101
+ /** @internal */
100
102
  export default Mouse;
package/src/slifer.ts CHANGED
@@ -4,7 +4,34 @@ import { ptr } from "bun:ffi";
4
4
  import Graphics from "./modules/graphics";
5
5
  import Keyboard from "./modules/keyboard";
6
6
  import Mouse from "./modules/mouse";
7
+ import { version } from '../package.json';
7
8
 
9
+ /** @internal */
10
+ class Window {
11
+ public width: number;
12
+ public height: number;
13
+ public title: string;
14
+
15
+ constructor(title: string, width: number, height: number) {
16
+ this.width = width;
17
+ this.height = height;
18
+ this.title = title;
19
+ }
20
+
21
+ setSize(width: number, height: number) : void {
22
+ libsdl.symbols.SDL_SetWindowSize(Global.ptrWindow, width, height);
23
+ }
24
+
25
+ setTitle(title: string) : void {
26
+ libsdl.symbols.SDL_SetWindowTitle(Global.ptrWindow, Buffer.from(title+'\x00'));
27
+ }
28
+
29
+ setFullscreen(flag: boolean) {
30
+ libsdl.symbols.SDL_SetWindowFullscreen(Global.ptrWindow, Number(flag));
31
+ }
32
+ }
33
+
34
+ /** @interal */
8
35
  export class SliferClass {
9
36
  isRunning: boolean = true;
10
37
 
@@ -45,7 +72,7 @@ export class SliferClass {
45
72
  * @param width Width of window
46
73
  * @param height Height of window
47
74
  */
48
- createWindow(title: string, width: number, height: number): void {
75
+ createWindow(title: string, width: number, height: number): Window {
49
76
  // Creating cstring buffer from string
50
77
  const _title = Buffer.from(title + "\x00");
51
78
 
@@ -65,6 +92,8 @@ export class SliferClass {
65
92
  const _ren = libsdl.symbols.SDL_CreateRenderer(Global.ptrWindow, -1, 0);
66
93
  if (_ren == null) throw `Renderer Creation failed`;
67
94
  Global.ptrRenderer = _ren;
95
+
96
+ return new Window(title, width, height);
68
97
  }
69
98
 
70
99
  /**
@@ -123,4 +152,8 @@ export class SliferClass {
123
152
  libsdl.symbols.SDL_DestroyWindow(Global.ptrWindow);
124
153
  libsdl.symbols.SDL_Quit();
125
154
  }
155
+
156
+ getVersion() {
157
+ return version;
158
+ }
126
159
  }
package/tsconfig.json CHANGED
@@ -18,6 +18,7 @@
18
18
  "strict": true,
19
19
  "skipLibCheck": true,
20
20
  "noFallthroughCasesInSwitch": true,
21
+ "stripInternal": true,
21
22
 
22
23
  // Some stricter flags (disabled by default)
23
24
  "noUnusedLocals": false,