@@ -4,6 +4,7 @@ use std::mem;
4
4
use std:: c_vec:: CVec ;
5
5
use libc;
6
6
use libc:: { size_t, c_void, c_uint, c_int} ;
7
+ use sdl2:: SdlResult ;
7
8
8
9
mod ll {
9
10
/* automatically generated by rust-bindgen */
@@ -111,7 +112,7 @@ fn cvec_with_size(sz: uint) -> CVec<u8> {
111
112
}
112
113
113
114
/// Filter using Add: D = saturation255(S1 + S2).
114
- pub fn add ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> Result < CVec < u8 > , ~ str > {
115
+ pub fn add ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> SdlResult < CVec < u8 > > {
115
116
assert_eq ! ( src1. len( ) , src2. len( ) ) ;
116
117
let size = src1. len ( ) ;
117
118
let dest = cvec_with_size ( size) ;
@@ -120,11 +121,11 @@ pub fn add(src1: CVec<u8>, src2: CVec<u8>) -> Result<CVec<u8>, ~str> {
120
121
mem:: transmute ( dest. get ( 0 ) ) ,
121
122
size as c_uint ) } ;
122
123
if ret == 0 { Ok ( dest) }
123
- else { Err ( "SDL_imageFilterAdd error" . to_owned ( ) ) }
124
+ else { Err ( "SDL_imageFilterAdd error" . to_string ( ) ) }
124
125
}
125
126
126
127
/// Filter using Mean: D = S1/2 + S2/2.
127
- pub fn mean ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> Result < CVec < u8 > , ~ str > {
128
+ pub fn mean ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> SdlResult < CVec < u8 > > {
128
129
assert_eq ! ( src1. len( ) , src2. len( ) ) ;
129
130
let size = src1. len ( ) ;
130
131
let dest = cvec_with_size ( size) ;
@@ -133,11 +134,11 @@ pub fn mean(src1: CVec<u8>, src2: CVec<u8>) -> Result<CVec<u8>, ~str> {
133
134
mem:: transmute ( dest. get ( 0 ) ) ,
134
135
size as c_uint ) } ;
135
136
if ret == 0 { Ok ( dest) }
136
- else { Err ( "SDL_imageFilterMean error" . to_owned ( ) ) }
137
+ else { Err ( "SDL_imageFilterMean error" . to_string ( ) ) }
137
138
}
138
139
139
140
/// Filter using Sub: D = saturation0(S1 - S2).
140
- pub fn sub ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> Result < CVec < u8 > , ~ str > {
141
+ pub fn sub ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> SdlResult < CVec < u8 > > {
141
142
assert_eq ! ( src1. len( ) , src2. len( ) ) ;
142
143
let size = src1. len ( ) ;
143
144
let dest = cvec_with_size ( size) ;
@@ -146,11 +147,11 @@ pub fn sub(src1: CVec<u8>, src2: CVec<u8>) -> Result<CVec<u8>, ~str> {
146
147
mem:: transmute ( dest. get ( 0 ) ) ,
147
148
size as c_uint ) } ;
148
149
if ret == 0 { Ok ( dest) }
149
- else { Err ( "SDL_imageFilterSub error" . to_owned ( ) ) }
150
+ else { Err ( "SDL_imageFilterSub error" . to_string ( ) ) }
150
151
}
151
152
152
153
/// Filter using AbsDiff: D = | S1 - S2 |.
153
- pub fn abs_diff ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> Result < CVec < u8 > , ~ str > {
154
+ pub fn abs_diff ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> SdlResult < CVec < u8 > > {
154
155
assert_eq ! ( src1. len( ) , src2. len( ) ) ;
155
156
let size = src1. len ( ) ;
156
157
let dest = cvec_with_size ( size) ;
@@ -159,11 +160,11 @@ pub fn abs_diff(src1: CVec<u8>, src2: CVec<u8>) -> Result<CVec<u8>, ~str> {
159
160
mem:: transmute ( dest. get ( 0 ) ) ,
160
161
size as c_uint ) } ;
161
162
if ret == 0 { Ok ( dest) }
162
- else { Err ( "SDL_imageFilterAbsDiff error" . to_owned ( ) ) }
163
+ else { Err ( "SDL_imageFilterAbsDiff error" . to_string ( ) ) }
163
164
}
164
165
165
166
/// Filter using Mult: D = saturation255(S1 * S2).
166
- pub fn mult ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> Result < CVec < u8 > , ~ str > {
167
+ pub fn mult ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> SdlResult < CVec < u8 > > {
167
168
assert_eq ! ( src1. len( ) , src2. len( ) ) ;
168
169
let size = src1. len ( ) ;
169
170
let dest = cvec_with_size ( size) ;
@@ -172,11 +173,11 @@ pub fn mult(src1: CVec<u8>, src2: CVec<u8>) -> Result<CVec<u8>, ~str> {
172
173
mem:: transmute ( dest. get ( 0 ) ) ,
173
174
size as c_uint ) } ;
174
175
if ret == 0 { Ok ( dest) }
175
- else { Err ( "SDL_imageFilterMult error" . to_owned ( ) ) }
176
+ else { Err ( "SDL_imageFilterMult error" . to_string ( ) ) }
176
177
}
177
178
178
179
/// Filter using MultNor: D = S1 * S2.
179
- pub fn mult_nor ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> Result < CVec < u8 > , ~ str > {
180
+ pub fn mult_nor ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> SdlResult < CVec < u8 > > {
180
181
assert_eq ! ( src1. len( ) , src2. len( ) ) ;
181
182
let size = src1. len ( ) ;
182
183
let dest = cvec_with_size ( size) ;
@@ -185,11 +186,11 @@ pub fn mult_nor(src1: CVec<u8>, src2: CVec<u8>) -> Result<CVec<u8>, ~str> {
185
186
mem:: transmute ( dest. get ( 0 ) ) ,
186
187
size as c_uint ) } ;
187
188
if ret == 0 { Ok ( dest) }
188
- else { Err ( "SDL_imageFilterMultNor error" . to_owned ( ) ) }
189
+ else { Err ( "SDL_imageFilterMultNor error" . to_string ( ) ) }
189
190
}
190
191
191
192
/// Filter using MultDivby2: D = saturation255(S1/2 * S2).
192
- pub fn mult_div_by2 ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> Result < CVec < u8 > , ~ str > {
193
+ pub fn mult_div_by2 ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> SdlResult < CVec < u8 > > {
193
194
assert_eq ! ( src1. len( ) , src2. len( ) ) ;
194
195
let size = src1. len ( ) ;
195
196
let dest = cvec_with_size ( size) ;
@@ -198,11 +199,11 @@ pub fn mult_div_by2(src1: CVec<u8>, src2: CVec<u8>) -> Result<CVec<u8>, ~str> {
198
199
mem:: transmute ( dest. get ( 0 ) ) ,
199
200
size as c_uint ) } ;
200
201
if ret == 0 { Ok ( dest) }
201
- else { Err ( "SDL_imageFilterMultDivby2 error" . to_owned ( ) ) }
202
+ else { Err ( "SDL_imageFilterMultDivby2 error" . to_string ( ) ) }
202
203
}
203
204
204
205
/// Filter using MultDivby4: D = saturation255(S1/2 * S2/2).
205
- pub fn mult_div_by4 ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> Result < CVec < u8 > , ~ str > {
206
+ pub fn mult_div_by4 ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> SdlResult < CVec < u8 > > {
206
207
assert_eq ! ( src1. len( ) , src2. len( ) ) ;
207
208
let size = src1. len ( ) ;
208
209
let dest = cvec_with_size ( size) ;
@@ -211,11 +212,11 @@ pub fn mult_div_by4(src1: CVec<u8>, src2: CVec<u8>) -> Result<CVec<u8>, ~str> {
211
212
mem:: transmute ( dest. get ( 0 ) ) ,
212
213
size as c_uint ) } ;
213
214
if ret == 0 { Ok ( dest) }
214
- else { Err ( "SDL_imageFilterMultDivby4 error" . to_owned ( ) ) }
215
+ else { Err ( "SDL_imageFilterMultDivby4 error" . to_string ( ) ) }
215
216
}
216
217
217
218
/// Filter using BitAnd: D = S1 & S2.
218
- pub fn bit_and ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> Result < CVec < u8 > , ~ str > {
219
+ pub fn bit_and ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> SdlResult < CVec < u8 > > {
219
220
assert_eq ! ( src1. len( ) , src2. len( ) ) ;
220
221
let size = src1. len ( ) ;
221
222
let dest = cvec_with_size ( size) ;
@@ -224,11 +225,11 @@ pub fn bit_and(src1: CVec<u8>, src2: CVec<u8>) -> Result<CVec<u8>, ~str> {
224
225
mem:: transmute ( dest. get ( 0 ) ) ,
225
226
size as c_uint ) } ;
226
227
if ret == 0 { Ok ( dest) }
227
- else { Err ( "SDL_imageFilterBitAnd error" . to_owned ( ) ) }
228
+ else { Err ( "SDL_imageFilterBitAnd error" . to_string ( ) ) }
228
229
}
229
230
230
231
/// Filter using BitOr: D = S1 | S2.
231
- pub fn bit_or ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> Result < CVec < u8 > , ~ str > {
232
+ pub fn bit_or ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> SdlResult < CVec < u8 > > {
232
233
assert_eq ! ( src1. len( ) , src2. len( ) ) ;
233
234
let size = src1. len ( ) ;
234
235
let dest = cvec_with_size ( size) ;
@@ -237,11 +238,11 @@ pub fn bit_or(src1: CVec<u8>, src2: CVec<u8>) -> Result<CVec<u8>, ~str> {
237
238
mem:: transmute ( dest. get ( 0 ) ) ,
238
239
size as c_uint ) } ;
239
240
if ret == 0 { Ok ( dest) }
240
- else { Err ( "SDL_imageFilterBitOr error" . to_owned ( ) ) }
241
+ else { Err ( "SDL_imageFilterBitOr error" . to_string ( ) ) }
241
242
}
242
243
243
244
/// Filter using Div: D = S1 / S2.
244
- pub fn div ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> Result < CVec < u8 > , ~ str > {
245
+ pub fn div ( src1 : CVec < u8 > , src2 : CVec < u8 > ) -> SdlResult < CVec < u8 > > {
245
246
assert_eq ! ( src1. len( ) , src2. len( ) ) ;
246
247
let size = src1. len ( ) ;
247
248
let dest = cvec_with_size ( size) ;
@@ -250,176 +251,176 @@ pub fn div(src1: CVec<u8>, src2: CVec<u8>) -> Result<CVec<u8>, ~str> {
250
251
mem:: transmute ( dest. get ( 0 ) ) ,
251
252
size as c_uint ) } ;
252
253
if ret == 0 { Ok ( dest) }
253
- else { Err ( "SDL_imageFilterDiv error" . to_owned ( ) ) }
254
+ else { Err ( "SDL_imageFilterDiv error" . to_string ( ) ) }
254
255
}
255
256
256
257
/// Filter using BitNegation: D = !S.
257
- pub fn bit_negation ( src1 : CVec < u8 > ) -> Result < CVec < u8 > , ~ str > {
258
+ pub fn bit_negation ( src1 : CVec < u8 > ) -> SdlResult < CVec < u8 > > {
258
259
let size = src1. len ( ) ;
259
260
let dest = cvec_with_size ( size) ;
260
261
let ret = unsafe { ll:: SDL_imageFilterBitNegation ( mem:: transmute ( src1. get ( 0 ) ) ,
261
262
mem:: transmute ( dest. get ( 0 ) ) ,
262
263
size as c_uint ) } ;
263
264
if ret == 0 { Ok ( dest) }
264
- else { Err ( "SDL_imageFilterBitNegation error" . to_owned ( ) ) }
265
+ else { Err ( "SDL_imageFilterBitNegation error" . to_string ( ) ) }
265
266
}
266
267
267
268
/// Filter using AddByte: D = saturation255(S + C).
268
- pub fn add_byte ( src1 : CVec < u8 > , c : u8 ) -> Result < CVec < u8 > , ~ str > {
269
+ pub fn add_byte ( src1 : CVec < u8 > , c : u8 ) -> SdlResult < CVec < u8 > > {
269
270
let size = src1. len ( ) ;
270
271
let dest = cvec_with_size ( size) ;
271
272
let ret = unsafe { ll:: SDL_imageFilterAddByte ( mem:: transmute ( src1. get ( 0 ) ) ,
272
273
mem:: transmute ( dest. get ( 0 ) ) ,
273
274
size as c_uint , c) } ;
274
275
if ret == 0 { Ok ( dest) }
275
- else { Err ( "SDL_imageFilterAddByte error" . to_owned ( ) ) }
276
+ else { Err ( "SDL_imageFilterAddByte error" . to_string ( ) ) }
276
277
}
277
278
278
279
/// Filter using AddUint: D = saturation255((S[i] + Cs[i % 4]), Cs=Swap32((uint)C).
279
- pub fn add_uint ( src1 : CVec < u8 > , c : u32 ) -> Result < CVec < u8 > , ~ str > {
280
+ pub fn add_uint ( src1 : CVec < u8 > , c : u32 ) -> SdlResult < CVec < u8 > > {
280
281
let size = src1. len ( ) ;
281
282
let dest = cvec_with_size ( size) ;
282
283
let ret = unsafe { ll:: SDL_imageFilterAddUint ( mem:: transmute ( src1. get ( 0 ) ) ,
283
284
mem:: transmute ( dest. get ( 0 ) ) ,
284
285
size as c_uint , c) } ;
285
286
if ret == 0 { Ok ( dest) }
286
- else { Err ( "SDL_imageFilterAddUint error" . to_owned ( ) ) }
287
+ else { Err ( "SDL_imageFilterAddUint error" . to_string ( ) ) }
287
288
}
288
289
289
290
/// Filter using AddByteToHalf: D = saturation255(S/2 + C).
290
- pub fn add_byte_to_half ( src1 : CVec < u8 > , c : u8 ) -> Result < CVec < u8 > , ~ str > {
291
+ pub fn add_byte_to_half ( src1 : CVec < u8 > , c : u8 ) -> SdlResult < CVec < u8 > > {
291
292
let size = src1. len ( ) ;
292
293
let dest = cvec_with_size ( size) ;
293
294
let ret = unsafe { ll:: SDL_imageFilterAddByteToHalf ( mem:: transmute ( src1. get ( 0 ) ) ,
294
295
mem:: transmute ( dest. get ( 0 ) ) ,
295
296
size as c_uint , c) } ;
296
297
if ret == 0 { Ok ( dest) }
297
- else { Err ( "SDL_imageFilterAddByteToHalf error" . to_owned ( ) ) }
298
+ else { Err ( "SDL_imageFilterAddByteToHalf error" . to_string ( ) ) }
298
299
}
299
300
300
301
/// Filter using SubByte: D = saturation0(S - C).
301
- pub fn sub_byte ( src1 : CVec < u8 > , c : u8 ) -> Result < CVec < u8 > , ~ str > {
302
+ pub fn sub_byte ( src1 : CVec < u8 > , c : u8 ) -> SdlResult < CVec < u8 > > {
302
303
let size = src1. len ( ) ;
303
304
let dest = cvec_with_size ( size) ;
304
305
let ret = unsafe { ll:: SDL_imageFilterSubByte ( mem:: transmute ( src1. get ( 0 ) ) ,
305
306
mem:: transmute ( dest. get ( 0 ) ) ,
306
307
size as c_uint , c) } ;
307
308
if ret == 0 { Ok ( dest) }
308
- else { Err ( "SDL_imageFilterSubByte error" . to_owned ( ) ) }
309
+ else { Err ( "SDL_imageFilterSubByte error" . to_string ( ) ) }
309
310
}
310
311
311
312
/// Filter using SubUint: D = saturation0(S[i] - Cs[i % 4]), Cs=Swap32((uint)C).
312
- pub fn sub_uint ( src1 : CVec < u8 > , c : u32 ) -> Result < CVec < u8 > , ~ str > {
313
+ pub fn sub_uint ( src1 : CVec < u8 > , c : u32 ) -> SdlResult < CVec < u8 > > {
313
314
let size = src1. len ( ) ;
314
315
let dest = cvec_with_size ( size) ;
315
316
let ret = unsafe { ll:: SDL_imageFilterSubUint ( mem:: transmute ( src1. get ( 0 ) ) ,
316
317
mem:: transmute ( dest. get ( 0 ) ) ,
317
318
size as c_uint , c) } ;
318
319
if ret == 0 { Ok ( dest) }
319
- else { Err ( "SDL_imageFilterSubUint error" . to_owned ( ) ) }
320
+ else { Err ( "SDL_imageFilterSubUint error" . to_string ( ) ) }
320
321
}
321
322
322
323
/// Filter using ShiftRight: D = saturation0(S >> N).
323
- pub fn shift_right ( src1 : CVec < u8 > , n : u8 ) -> Result < CVec < u8 > , ~ str > {
324
+ pub fn shift_right ( src1 : CVec < u8 > , n : u8 ) -> SdlResult < CVec < u8 > > {
324
325
let size = src1. len ( ) ;
325
326
let dest = cvec_with_size ( size) ;
326
327
let ret = unsafe { ll:: SDL_imageFilterShiftRight ( mem:: transmute ( src1. get ( 0 ) ) ,
327
328
mem:: transmute ( dest. get ( 0 ) ) ,
328
329
size as c_uint , n) } ;
329
330
if ret == 0 { Ok ( dest) }
330
- else { Err ( "SDL_imageFilterShiftRight error" . to_owned ( ) ) }
331
+ else { Err ( "SDL_imageFilterShiftRight error" . to_string ( ) ) }
331
332
}
332
333
333
334
/// Filter using ShiftRightUint: D = saturation0((uint)S[i] >> N).
334
- pub fn shift_right_uint ( src1 : CVec < u8 > , n : u8 ) -> Result < CVec < u8 > , ~ str > {
335
+ pub fn shift_right_uint ( src1 : CVec < u8 > , n : u8 ) -> SdlResult < CVec < u8 > > {
335
336
let size = src1. len ( ) ;
336
337
let dest = cvec_with_size ( size) ;
337
338
let ret = unsafe { ll:: SDL_imageFilterShiftRightUint ( mem:: transmute ( src1. get ( 0 ) ) ,
338
339
mem:: transmute ( dest. get ( 0 ) ) ,
339
340
size as c_uint , n) } ;
340
341
if ret == 0 { Ok ( dest) }
341
- else { Err ( "SDL_imageFilterShiftRightUint error" . to_owned ( ) ) }
342
+ else { Err ( "SDL_imageFilterShiftRightUint error" . to_string ( ) ) }
342
343
}
343
344
344
345
/// Filter using MultByByte: D = saturation255(S * C).
345
- pub fn mult_by_byte ( src1 : CVec < u8 > , c : u8 ) -> Result < CVec < u8 > , ~ str > {
346
+ pub fn mult_by_byte ( src1 : CVec < u8 > , c : u8 ) -> SdlResult < CVec < u8 > > {
346
347
let size = src1. len ( ) ;
347
348
let dest = cvec_with_size ( size) ;
348
349
let ret = unsafe { ll:: SDL_imageFilterMultByByte ( mem:: transmute ( src1. get ( 0 ) ) ,
349
350
mem:: transmute ( dest. get ( 0 ) ) ,
350
351
size as c_uint , c) } ;
351
352
if ret == 0 { Ok ( dest) }
352
- else { Err ( "SDL_imageFilterMultByByte error" . to_owned ( ) ) }
353
+ else { Err ( "SDL_imageFilterMultByByte error" . to_string ( ) ) }
353
354
}
354
355
355
356
/// Filter using ShiftRightAndMultByByte: D = saturation255((S >> N) * C).
356
- pub fn shift_right_and_mult_by_byte ( src1 : CVec < u8 > , n : u8 , c : u8 ) -> Result < CVec < u8 > , ~ str > {
357
+ pub fn shift_right_and_mult_by_byte ( src1 : CVec < u8 > , n : u8 , c : u8 ) -> SdlResult < CVec < u8 > > {
357
358
let size = src1. len ( ) ;
358
359
let dest = cvec_with_size ( size) ;
359
360
let ret = unsafe { ll:: SDL_imageFilterShiftRightAndMultByByte ( mem:: transmute ( src1. get ( 0 ) ) ,
360
361
mem:: transmute ( dest. get ( 0 ) ) ,
361
362
size as c_uint , n, c) } ;
362
363
if ret == 0 { Ok ( dest) }
363
- else { Err ( "SDL_imageFilterShiftRightAndMultByByte error" . to_owned ( ) ) }
364
+ else { Err ( "SDL_imageFilterShiftRightAndMultByByte error" . to_string ( ) ) }
364
365
}
365
366
366
367
/// Filter using ShiftLeftByte: D = (S << N).
367
- pub fn shift_left_byte ( src1 : CVec < u8 > , n : u8 ) -> Result < CVec < u8 > , ~ str > {
368
+ pub fn shift_left_byte ( src1 : CVec < u8 > , n : u8 ) -> SdlResult < CVec < u8 > > {
368
369
let size = src1. len ( ) ;
369
370
let dest = cvec_with_size ( size) ;
370
371
let ret = unsafe { ll:: SDL_imageFilterShiftLeftByte ( mem:: transmute ( src1. get ( 0 ) ) ,
371
372
mem:: transmute ( dest. get ( 0 ) ) ,
372
373
size as c_uint , n) } ;
373
374
if ret == 0 { Ok ( dest) }
374
- else { Err ( "SDL_imageFilterShiftLeftByte error" . to_owned ( ) ) }
375
+ else { Err ( "SDL_imageFilterShiftLeftByte error" . to_string ( ) ) }
375
376
}
376
377
377
378
/// Filter using ShiftLeftUint: D = ((uint)S << N).
378
- pub fn shift_left_uint ( src1 : CVec < u8 > , n : u8 ) -> Result < CVec < u8 > , ~ str > {
379
+ pub fn shift_left_uint ( src1 : CVec < u8 > , n : u8 ) -> SdlResult < CVec < u8 > > {
379
380
let size = src1. len ( ) ;
380
381
let dest = cvec_with_size ( size) ;
381
382
let ret = unsafe { ll:: SDL_imageFilterShiftLeftUint ( mem:: transmute ( src1. get ( 0 ) ) ,
382
383
mem:: transmute ( dest. get ( 0 ) ) ,
383
384
size as c_uint , n) } ;
384
385
if ret == 0 { Ok ( dest) }
385
- else { Err ( "SDL_imageFilterShiftLeftUint error" . to_owned ( ) ) }
386
+ else { Err ( "SDL_imageFilterShiftLeftUint error" . to_string ( ) ) }
386
387
}
387
388
388
389
/// Filter ShiftLeft: D = saturation255(S << N).
389
- pub fn shift_left ( src1 : CVec < u8 > , n : u8 ) -> Result < CVec < u8 > , ~ str > {
390
+ pub fn shift_left ( src1 : CVec < u8 > , n : u8 ) -> SdlResult < CVec < u8 > > {
390
391
let size = src1. len ( ) ;
391
392
let dest = cvec_with_size ( size) ;
392
393
let ret = unsafe { ll:: SDL_imageFilterShiftLeft ( mem:: transmute ( src1. get ( 0 ) ) ,
393
394
mem:: transmute ( dest. get ( 0 ) ) ,
394
395
size as c_uint , n) } ;
395
396
if ret == 0 { Ok ( dest) }
396
- else { Err ( "SDL_imageFilterShiftLeft error" . to_owned ( ) ) }
397
+ else { Err ( "SDL_imageFilterShiftLeft error" . to_string ( ) ) }
397
398
}
398
399
399
400
/// Filter using BinarizeUsingThreshold: D = (S >= T) ? 255:0.
400
- pub fn binarize_using_threshold ( src1 : CVec < u8 > , t : u8 ) -> Result < CVec < u8 > , ~ str > {
401
+ pub fn binarize_using_threshold ( src1 : CVec < u8 > , t : u8 ) -> SdlResult < CVec < u8 > > {
401
402
let size = src1. len ( ) ;
402
403
let dest = cvec_with_size ( size) ;
403
404
let ret = unsafe { ll:: SDL_imageFilterBinarizeUsingThreshold ( mem:: transmute ( src1. get ( 0 ) ) ,
404
405
mem:: transmute ( dest. get ( 0 ) ) ,
405
406
size as c_uint , t) } ;
406
407
if ret == 0 { Ok ( dest) }
407
- else { Err ( "SDL_imageFilterBinarizeUsingThreshold error" . to_owned ( ) ) }
408
+ else { Err ( "SDL_imageFilterBinarizeUsingThreshold error" . to_string ( ) ) }
408
409
}
409
410
410
411
/// Filter using ClipToRange: D = (S >= Tmin) & (S <= Tmax) S:Tmin | Tmax.
411
- pub fn clip_to_range ( src1 : CVec < u8 > , tmin : u8 , tmax : u8 ) -> Result < CVec < u8 > , ~ str > {
412
+ pub fn clip_to_range ( src1 : CVec < u8 > , tmin : u8 , tmax : u8 ) -> SdlResult < CVec < u8 > > {
412
413
let size = src1. len ( ) ;
413
414
let dest = cvec_with_size ( size) ;
414
415
let ret = unsafe { ll:: SDL_imageFilterClipToRange ( mem:: transmute ( src1. get ( 0 ) ) ,
415
416
mem:: transmute ( dest. get ( 0 ) ) ,
416
417
size as c_uint , tmin, tmax) } ;
417
418
if ret == 0 { Ok ( dest) }
418
- else { Err ( "SDL_imageFilterClipToRange error" . to_owned ( ) ) }
419
+ else { Err ( "SDL_imageFilterClipToRange error" . to_string ( ) ) }
419
420
}
420
421
421
422
/// Filter using NormalizeLinear: D = saturation255((Nmax - Nmin)/(Cmax - Cmin)*(S - Cmin) + Nmin).
422
- pub fn normalize_linear ( src1 : CVec < u8 > , cmin : int , cmax : int , nmin : int , nmax : int ) -> Result < CVec < u8 > , ~ str > {
423
+ pub fn normalize_linear ( src1 : CVec < u8 > , cmin : int , cmax : int , nmin : int , nmax : int ) -> SdlResult < CVec < u8 > > {
423
424
let size = src1. len ( ) ;
424
425
let dest = cvec_with_size ( size) ;
425
426
let ret = unsafe { ll:: SDL_imageFilterNormalizeLinear ( mem:: transmute ( src1. get ( 0 ) ) ,
@@ -428,5 +429,5 @@ pub fn normalize_linear(src1: CVec<u8>, cmin: int, cmax: int, nmin: int, nmax: i
428
429
cmin as c_int , cmax as c_int ,
429
430
nmin as c_int , nmax as c_int ) } ;
430
431
if ret == 0 { Ok ( dest) }
431
- else { Err ( "SDL_imageFilterNormalizeLinear error" . to_owned ( ) ) }
432
+ else { Err ( "SDL_imageFilterNormalizeLinear error" . to_string ( ) ) }
432
433
}
0 commit comments