@@ -30,35 +30,14 @@ use version::Version;
30
30
use get_error;
31
31
use sys;
32
32
33
- // Setup linking for all targets.
34
- #[ cfg( target_os="macos" ) ]
35
- mod mac {
36
- #[ cfg( any( mac_framework, feature="use_mac_framework" ) ) ]
37
- #[ link( kind="framework" , name="SDL2_image" ) ]
38
- extern "C" { }
39
-
40
- #[ cfg( not( any( mac_framework, feature="use_mac_framework" ) ) ) ]
41
- #[ link( name="SDL2_image" ) ]
42
- extern "C" { }
43
- }
44
-
45
- #[ cfg( any( target_os="windows" , target_os="linux" , target_os="freebsd" ) ) ]
46
- mod others {
47
- #[ link( name="SDL2_image" ) ]
48
- extern "C" { }
49
- }
50
-
51
- #[ allow( non_camel_case_types, dead_code) ]
52
- mod ffi;
53
-
54
33
/// InitFlags are passed to init() to control which subsystem
55
34
/// functionality to load.
56
35
bitflags ! {
57
36
pub flags InitFlag : u32 {
58
- const INIT_JPG = ffi :: IMG_INIT_JPG as u32 ,
59
- const INIT_PNG = ffi :: IMG_INIT_PNG as u32 ,
60
- const INIT_TIF = ffi :: IMG_INIT_TIF as u32 ,
61
- const INIT_WEBP = ffi :: IMG_INIT_WEBP as u32
37
+ const INIT_JPG = sys :: image :: IMG_INIT_JPG as u32 ,
38
+ const INIT_PNG = sys :: image :: IMG_INIT_PNG as u32 ,
39
+ const INIT_TIF = sys :: image :: IMG_INIT_TIF as u32 ,
40
+ const INIT_WEBP = sys :: image :: IMG_INIT_WEBP as u32
62
41
}
63
42
}
64
43
@@ -102,7 +81,7 @@ impl<'a> LoadSurface for Surface<'a> {
102
81
//! Loads an SDL Surface from a file
103
82
unsafe {
104
83
let c_filename = CString :: new ( filename. as_ref ( ) . to_str ( ) . unwrap ( ) ) . unwrap ( ) ;
105
- let raw = ffi :: IMG_Load ( c_filename. as_ptr ( ) as * const _ ) ;
84
+ let raw = sys :: image :: IMG_Load ( c_filename. as_ptr ( ) as * const _ ) ;
106
85
if ( raw as * mut ( ) ) . is_null ( ) {
107
86
Err ( get_error ( ) )
108
87
} else {
@@ -114,7 +93,7 @@ impl<'a> LoadSurface for Surface<'a> {
114
93
fn from_xpm_array ( xpm : * const * const i8 ) -> Result < Surface < ' a > , String > {
115
94
//! Loads an SDL Surface from XPM data
116
95
unsafe {
117
- let raw = ffi :: IMG_ReadXPMFromArray ( xpm as * const * const c_char ) ;
96
+ let raw = sys :: image :: IMG_ReadXPMFromArray ( xpm as * const * const c_char ) ;
118
97
if ( raw as * mut ( ) ) . is_null ( ) {
119
98
Err ( get_error ( ) )
120
99
} else {
@@ -129,7 +108,7 @@ impl<'a> SaveSurface for Surface<'a> {
129
108
//! Saves an SDL Surface to a file
130
109
unsafe {
131
110
let c_filename = CString :: new ( filename. as_ref ( ) . to_str ( ) . unwrap ( ) ) . unwrap ( ) ;
132
- let status = ffi :: IMG_SavePNG ( self . raw ( ) , c_filename. as_ptr ( ) as * const _ ) ;
111
+ let status = sys :: image :: IMG_SavePNG ( self . raw ( ) , c_filename. as_ptr ( ) as * const _ ) ;
133
112
if status != 0 {
134
113
Err ( get_error ( ) )
135
114
} else {
@@ -141,7 +120,7 @@ impl<'a> SaveSurface for Surface<'a> {
141
120
fn save_rw ( & self , dst : & mut RWops ) -> Result < ( ) , String > {
142
121
//! Saves an SDL Surface to an RWops
143
122
unsafe {
144
- let status = ffi :: IMG_SavePNG_RW ( self . raw ( ) , dst. raw ( ) , 0 ) ;
123
+ let status = sys :: image :: IMG_SavePNG_RW ( self . raw ( ) , dst. raw ( ) , 0 ) ;
145
124
146
125
if status != 0 {
147
126
Err ( get_error ( ) )
@@ -162,7 +141,7 @@ impl<T> LoadTexture for TextureCreator<T> {
162
141
//! Loads an SDL Texture from a file
163
142
unsafe {
164
143
let c_filename = CString :: new ( filename. as_ref ( ) . to_str ( ) . unwrap ( ) ) . unwrap ( ) ;
165
- let raw = ffi :: IMG_LoadTexture ( self . raw ( ) , c_filename. as_ptr ( ) as * const _ ) ;
144
+ let raw = sys :: image :: IMG_LoadTexture ( self . raw ( ) , c_filename. as_ptr ( ) as * const _ ) ;
166
145
if ( raw as * mut ( ) ) . is_null ( ) {
167
146
Err ( get_error ( ) )
168
147
} else {
@@ -179,7 +158,7 @@ pub struct Sdl2ImageContext;
179
158
impl Drop for Sdl2ImageContext {
180
159
fn drop ( & mut self ) {
181
160
unsafe {
182
- ffi :: IMG_Quit ( ) ;
161
+ sys :: image :: IMG_Quit ( ) ;
183
162
}
184
163
}
185
164
}
@@ -188,7 +167,7 @@ impl Drop for Sdl2ImageContext {
188
167
/// If not every flag is set it returns an error
189
168
pub fn init ( flags : InitFlag ) -> Result < Sdl2ImageContext , String > {
190
169
let return_flags = unsafe {
191
- let used = ffi :: IMG_Init ( flags. bits ( ) as c_int ) ;
170
+ let used = sys :: image :: IMG_Init ( flags. bits ( ) as c_int ) ;
192
171
InitFlag :: from_bits_truncate ( used as u32 )
193
172
} ;
194
173
if !flags. intersects ( return_flags) {
@@ -207,7 +186,7 @@ pub fn init(flags: InitFlag) -> Result<Sdl2ImageContext, String> {
207
186
208
187
/// Returns the version of the dynamically linked `SDL_image` library
209
188
pub fn get_linked_version ( ) -> Version {
210
- unsafe { Version :: from_ll ( * ffi :: IMG_Linked_Version ( ) ) }
189
+ unsafe { Version :: from_ll ( * sys :: image :: IMG_Linked_Version ( ) ) }
211
190
}
212
191
213
192
#[ inline]
@@ -259,118 +238,118 @@ pub trait ImageRWops {
259
238
260
239
impl < ' a > ImageRWops for RWops < ' a > {
261
240
fn load ( & self ) -> Result < Surface , String > {
262
- let raw = unsafe { ffi :: IMG_Load_RW ( self . raw ( ) , 0 ) } ;
241
+ let raw = unsafe { sys :: image :: IMG_Load_RW ( self . raw ( ) , 0 ) } ;
263
242
to_surface_result ( raw)
264
243
}
265
244
fn load_typed ( & self , _type : & str ) -> Result < Surface , String > {
266
245
let raw = unsafe {
267
246
let c_type = CString :: new ( _type. as_bytes ( ) ) . unwrap ( ) ;
268
- ffi :: IMG_LoadTyped_RW ( self . raw ( ) , 0 , c_type. as_ptr ( ) as * const _ )
247
+ sys :: image :: IMG_LoadTyped_RW ( self . raw ( ) , 0 , c_type. as_ptr ( ) as * const _ )
269
248
} ;
270
249
to_surface_result ( raw)
271
250
}
272
251
273
252
fn load_cur ( & self ) -> Result < Surface , String > {
274
- let raw = unsafe { ffi :: IMG_LoadCUR_RW ( self . raw ( ) ) } ;
253
+ let raw = unsafe { sys :: image :: IMG_LoadCUR_RW ( self . raw ( ) ) } ;
275
254
to_surface_result ( raw)
276
255
}
277
256
fn load_ico ( & self ) -> Result < Surface , String > {
278
- let raw = unsafe { ffi :: IMG_LoadICO_RW ( self . raw ( ) ) } ;
257
+ let raw = unsafe { sys :: image :: IMG_LoadICO_RW ( self . raw ( ) ) } ;
279
258
to_surface_result ( raw)
280
259
}
281
260
fn load_bmp ( & self ) -> Result < Surface , String > {
282
- let raw = unsafe { ffi :: IMG_LoadBMP_RW ( self . raw ( ) ) } ;
261
+ let raw = unsafe { sys :: image :: IMG_LoadBMP_RW ( self . raw ( ) ) } ;
283
262
to_surface_result ( raw)
284
263
}
285
264
fn load_pnm ( & self ) -> Result < Surface , String > {
286
- let raw = unsafe { ffi :: IMG_LoadPNM_RW ( self . raw ( ) ) } ;
265
+ let raw = unsafe { sys :: image :: IMG_LoadPNM_RW ( self . raw ( ) ) } ;
287
266
to_surface_result ( raw)
288
267
}
289
268
fn load_xpm ( & self ) -> Result < Surface , String > {
290
- let raw = unsafe { ffi :: IMG_LoadXPM_RW ( self . raw ( ) ) } ;
269
+ let raw = unsafe { sys :: image :: IMG_LoadXPM_RW ( self . raw ( ) ) } ;
291
270
to_surface_result ( raw)
292
271
}
293
272
fn load_xcf ( & self ) -> Result < Surface , String > {
294
- let raw = unsafe { ffi :: IMG_LoadXCF_RW ( self . raw ( ) ) } ;
273
+ let raw = unsafe { sys :: image :: IMG_LoadXCF_RW ( self . raw ( ) ) } ;
295
274
to_surface_result ( raw)
296
275
}
297
276
fn load_pcx ( & self ) -> Result < Surface , String > {
298
- let raw = unsafe { ffi :: IMG_LoadPCX_RW ( self . raw ( ) ) } ;
277
+ let raw = unsafe { sys :: image :: IMG_LoadPCX_RW ( self . raw ( ) ) } ;
299
278
to_surface_result ( raw)
300
279
}
301
280
fn load_gif ( & self ) -> Result < Surface , String > {
302
- let raw = unsafe { ffi :: IMG_LoadGIF_RW ( self . raw ( ) ) } ;
281
+ let raw = unsafe { sys :: image :: IMG_LoadGIF_RW ( self . raw ( ) ) } ;
303
282
to_surface_result ( raw)
304
283
}
305
284
fn load_jpg ( & self ) -> Result < Surface , String > {
306
- let raw = unsafe { ffi :: IMG_LoadJPG_RW ( self . raw ( ) ) } ;
285
+ let raw = unsafe { sys :: image :: IMG_LoadJPG_RW ( self . raw ( ) ) } ;
307
286
to_surface_result ( raw)
308
287
}
309
288
fn load_tif ( & self ) -> Result < Surface , String > {
310
- let raw = unsafe { ffi :: IMG_LoadTIF_RW ( self . raw ( ) ) } ;
289
+ let raw = unsafe { sys :: image :: IMG_LoadTIF_RW ( self . raw ( ) ) } ;
311
290
to_surface_result ( raw)
312
291
}
313
292
fn load_png ( & self ) -> Result < Surface , String > {
314
- let raw = unsafe { ffi :: IMG_LoadPNG_RW ( self . raw ( ) ) } ;
293
+ let raw = unsafe { sys :: image :: IMG_LoadPNG_RW ( self . raw ( ) ) } ;
315
294
to_surface_result ( raw)
316
295
}
317
296
fn load_tga ( & self ) -> Result < Surface , String > {
318
- let raw = unsafe { ffi :: IMG_LoadTGA_RW ( self . raw ( ) ) } ;
297
+ let raw = unsafe { sys :: image :: IMG_LoadTGA_RW ( self . raw ( ) ) } ;
319
298
to_surface_result ( raw)
320
299
}
321
300
fn load_lbm ( & self ) -> Result < Surface , String > {
322
- let raw = unsafe { ffi :: IMG_LoadLBM_RW ( self . raw ( ) ) } ;
301
+ let raw = unsafe { sys :: image :: IMG_LoadLBM_RW ( self . raw ( ) ) } ;
323
302
to_surface_result ( raw)
324
303
}
325
304
fn load_xv ( & self ) -> Result < Surface , String > {
326
- let raw = unsafe { ffi :: IMG_LoadXV_RW ( self . raw ( ) ) } ;
305
+ let raw = unsafe { sys :: image :: IMG_LoadXV_RW ( self . raw ( ) ) } ;
327
306
to_surface_result ( raw)
328
307
}
329
308
fn load_webp ( & self ) -> Result < Surface , String > {
330
- let raw = unsafe { ffi :: IMG_LoadWEBP_RW ( self . raw ( ) ) } ;
309
+ let raw = unsafe { sys :: image :: IMG_LoadWEBP_RW ( self . raw ( ) ) } ;
331
310
to_surface_result ( raw)
332
311
}
333
312
334
313
fn is_cur ( & self ) -> bool {
335
- unsafe { ffi :: IMG_isCUR ( self . raw ( ) ) == 1 }
314
+ unsafe { sys :: image :: IMG_isCUR ( self . raw ( ) ) == 1 }
336
315
}
337
316
fn is_ico ( & self ) -> bool {
338
- unsafe { ffi :: IMG_isICO ( self . raw ( ) ) == 1 }
317
+ unsafe { sys :: image :: IMG_isICO ( self . raw ( ) ) == 1 }
339
318
}
340
319
fn is_bmp ( & self ) -> bool {
341
- unsafe { ffi :: IMG_isBMP ( self . raw ( ) ) == 1 }
320
+ unsafe { sys :: image :: IMG_isBMP ( self . raw ( ) ) == 1 }
342
321
}
343
322
fn is_pnm ( & self ) -> bool {
344
- unsafe { ffi :: IMG_isPNM ( self . raw ( ) ) == 1 }
323
+ unsafe { sys :: image :: IMG_isPNM ( self . raw ( ) ) == 1 }
345
324
}
346
325
fn is_xpm ( & self ) -> bool {
347
- unsafe { ffi :: IMG_isXPM ( self . raw ( ) ) == 1 }
326
+ unsafe { sys :: image :: IMG_isXPM ( self . raw ( ) ) == 1 }
348
327
}
349
328
fn is_xcf ( & self ) -> bool {
350
- unsafe { ffi :: IMG_isXCF ( self . raw ( ) ) == 1 }
329
+ unsafe { sys :: image :: IMG_isXCF ( self . raw ( ) ) == 1 }
351
330
}
352
331
fn is_pcx ( & self ) -> bool {
353
- unsafe { ffi :: IMG_isPCX ( self . raw ( ) ) == 1 }
332
+ unsafe { sys :: image :: IMG_isPCX ( self . raw ( ) ) == 1 }
354
333
}
355
334
fn is_gif ( & self ) -> bool {
356
- unsafe { ffi :: IMG_isGIF ( self . raw ( ) ) == 1 }
335
+ unsafe { sys :: image :: IMG_isGIF ( self . raw ( ) ) == 1 }
357
336
}
358
337
fn is_jpg ( & self ) -> bool {
359
- unsafe { ffi :: IMG_isJPG ( self . raw ( ) ) == 1 }
338
+ unsafe { sys :: image :: IMG_isJPG ( self . raw ( ) ) == 1 }
360
339
}
361
340
fn is_tif ( & self ) -> bool {
362
- unsafe { ffi :: IMG_isTIF ( self . raw ( ) ) == 1 }
341
+ unsafe { sys :: image :: IMG_isTIF ( self . raw ( ) ) == 1 }
363
342
}
364
343
fn is_png ( & self ) -> bool {
365
- unsafe { ffi :: IMG_isPNG ( self . raw ( ) ) == 1 }
344
+ unsafe { sys :: image :: IMG_isPNG ( self . raw ( ) ) == 1 }
366
345
}
367
346
fn is_lbm ( & self ) -> bool {
368
- unsafe { ffi :: IMG_isLBM ( self . raw ( ) ) == 1 }
347
+ unsafe { sys :: image :: IMG_isLBM ( self . raw ( ) ) == 1 }
369
348
}
370
349
fn is_xv ( & self ) -> bool {
371
- unsafe { ffi :: IMG_isXV ( self . raw ( ) ) == 1 }
350
+ unsafe { sys :: image :: IMG_isXV ( self . raw ( ) ) == 1 }
372
351
}
373
352
fn is_webp ( & self ) -> bool {
374
- unsafe { ffi :: IMG_isWEBP ( self . raw ( ) ) == 1 }
353
+ unsafe { sys :: image :: IMG_isWEBP ( self . raw ( ) ) == 1 }
375
354
}
376
355
}
0 commit comments