31 #ifndef __MLV__MLV_IMAGE_H__
32 #define __MLV__MLV_IMAGE_H__
34 #include "MLV_color.h"
53 typedef struct _MLV_Image MLV_Image;
76 MLV_Image* MLV_load_image(
const char* file_image );
88 int MLV_save_image_as_bmp(
const MLV_Image* image,
const char* file_image );
97 MLV_Image* MLV_create_image(
int width,
int height );
104 void MLV_free_image( MLV_Image *image );
116 MLV_Image* MLV_copy_image(
const MLV_Image* image );
132 MLV_Image* MLV_copy_partial_image(
133 const MLV_Image* image,
int x,
int y,
int width,
int height
143 void MLV_get_image_size(
const MLV_Image* image,
int* width,
int* height );
151 int MLV_get_image_width(
const MLV_Image* image );
159 int MLV_get_image_height(
const MLV_Image* image );
173 void MLV_resize_image( MLV_Image* image,
int width,
int height );
180 void MLV_vertical_image_mirror( MLV_Image* image );
187 void MLV_horizontal_image_mirror( MLV_Image* image );
206 void MLV_resize_image_with_proportions(
207 MLV_Image* image,
int width,
int height
217 void MLV_scale_image( MLV_Image* image,
double scalar );
225 void MLV_rotate_image( MLV_Image* image,
double rotation );
234 void MLV_rotate_and_scale_image( MLV_Image* image,
double rotation,
double scalar );
244 void MLV_scale_xy_image( MLV_Image* image,
double scalar_x,
double scalar_y );
257 void MLV_rotate_and_scale_xy_image(
258 MLV_Image* image,
double rotation,
double scalar_x,
double scalar_y
270 void MLV_draw_image(
const MLV_Image *image,
int x,
int y );
287 void MLV_draw_partial_image(
288 const MLV_Image *image,
int x_source,
int y_source,
289 int width_source,
int height_source,
329 void MLV_set_alpha_on_image( MLV_Alpha alpha, MLV_Image *image );
341 void MLV_set_pixel_on_image(
361 int x,
int y,
int* red,
int* green,
int* blue,
int* alpha
379 void MLV_get_pixel_on_image(
380 const MLV_Image* image,
int x,
int y,
381 int* red,
int* green,
int* blue,
int* alpha
402 void MLV_draw_partial_image_on_image(
403 const MLV_Image* source_image,
404 int source_x,
int source_y,
405 int width,
int height,
406 MLV_Image* destination_image,
407 int destination_x,
int destination_y
422 void MLV_draw_image_on_image(
423 const MLV_Image* source_image,
424 MLV_Image* destination_image,
425 int destination_x,
int destination_y
485 SDL_Surface* MLV_get_image_data( MLV_Image* image );
492 void MLV_save_screen();
499 void MLV_load_screen();
513 } MLV_Mathematic_operations;
559 void MLV_draw_partial_image_on_image(
560 const MLV_Image* source_image,
561 int source_x,
int source_y,
562 int with,
int height,
563 MLV_Image* destination_image,
564 int destination_x,
int destination_y,
565 MLV_Mathematic_operations rgb_treatment,
566 MLV_Mathematic_operations alpha_treatment
604 void MLV_draw_partial_image_on_image_FAST(
605 const MLV_Image* source_image,
606 int source_x,
int source_y,
607 int with,
int height,
608 const MLV_Image* destination_image,
609 int destination_x,
int destination_y