@@ -205,6 +205,8 @@ pub const Window = opaque {
205
205
pub const getSize = windowGetSize ;
206
206
pub const setTitle = windowSetTitle ;
207
207
pub const getSurface = getWindowSurface ;
208
+ pub const getID = windowGetID ;
209
+ pub const getFlags = windowGetFlags ;
208
210
};
209
211
210
212
/// Create a window with the specified position, dimensions, and flags.
@@ -249,6 +251,20 @@ pub fn windowSetTitle(window: *Window, title: [:0]const u8) void {
249
251
}
250
252
extern fn SDL_SetWindowTitle (window : * Window , title : ? [* :0 ]const u8 ) void ;
251
253
254
+ pub fn windowGetID (window : * Window ) Error ! u32 {
255
+ const id = SDL_GetWindowID (window );
256
+ if (id == 0 ) return makeError ();
257
+ return id ;
258
+ }
259
+
260
+ extern fn SDL_GetWindowID (window : * Window ) u32 ;
261
+
262
+ pub fn windowGetFlags (window : * Window ) Window.Flags {
263
+ return SDL_GetWindowFlags (window );
264
+ }
265
+
266
+ extern fn SDL_GetWindowFlags (window : * Window ) Window.Flags ;
267
+
252
268
/// Get the number of video drivers compiled into SDL.
253
269
pub fn getNumVideoDrivers () Error ! u16 {
254
270
const res = SDL_GetNumVideoDrivers ();
@@ -870,6 +886,12 @@ extern fn SDL_CreateRGBSurfaceWithFormatFrom(
870
886
format : PixelFormatEnum ,
871
887
) ? * Surface ;
872
888
889
+ pub fn loadBMP_RW (src : * anyopaque , freesrc : c_int ) Error ! * Surface {
890
+ return SDL_LoadBMP_RW (src , freesrc ) orelse makeError ();
891
+ }
892
+
893
+ extern fn SDL_LoadBMP_RW (src : * anyopaque , freesrc : c_int ) ? * Surface ;
894
+
873
895
/// Get information about a rendering context.
874
896
pub fn getRendererInfo (r : * const Renderer ) Error ! RendererInfo {
875
897
var result : RendererInfo = undefined ;
@@ -2490,6 +2512,39 @@ extern fn SDL_GetPrefPath(org: [*c]const u8, app: [*c]const u8) [*c]const u8;
2490
2512
//
2491
2513
//--------------------------------------------------------------------------------------------------
2492
2514
2515
+ pub fn rwClose (context : * anyopaque ) void {
2516
+ _ = SDL_RWclose (context );
2517
+ }
2518
+ extern fn SDL_RWclose (context : * anyopaque ) c_int ;
2519
+
2520
+ pub fn rwFromConstMem (mem : []const u8 ) ! * anyopaque {
2521
+ return SDL_RWFromConstMem (mem .ptr , @intCast (mem .len ));
2522
+ }
2523
+
2524
+ extern fn SDL_RWFromConstMem (mem : [* c ]const u8 , size : c_int ) * anyopaque ;
2525
+
2526
+ pub fn rwFromFile (file : []const u8 , mode : []const u8 ) ! * anyopaque {
2527
+ const rw = SDL_RWFromFile (file .ptr , mode .ptr );
2528
+ if (rw == null ) return makeError ();
2529
+ return rw .? ;
2530
+ }
2531
+
2532
+ extern fn SDL_RWFromFile (file : [* c ]const u8 , mode : [* c ]const u8 ) ? * anyopaque ;
2533
+
2534
+ pub fn rwRead (context : * anyopaque , buffer : []u8 ) usize {
2535
+ return SDL_RWread (context , buffer .ptr , @sizeOf (u8 ), buffer .len );
2536
+ }
2537
+
2538
+ extern fn SDL_RWread (context : * anyopaque , ptr : [* c ]u8 , size : usize , maxnum : usize ) usize ;
2539
+
2540
+ pub fn rwSize (context : * anyopaque ) ! usize {
2541
+ const result = SDL_RWsize (context );
2542
+ if (result < 0 ) return makeError ();
2543
+ return @intCast (result );
2544
+ }
2545
+
2546
+ extern fn SDL_RWsize (context : * anyopaque ) i64 ;
2547
+
2493
2548
//--------------------------------------------------------------------------------------------------
2494
2549
//
2495
2550
// Shared Object Loading and Function Lookup
0 commit comments