# Documentation of the MLV-0.6.716 library

- Presentation
- Downloads
- Installation
- Compilation
- Examples
- API
- List of functions
- bugs
- contacts

# MLV_shape.h

    00001 /*
    00002  *   This file is part of the MLV Library.
    00003  *
    00004  *   Copyright (C) 2010,2011,2012 Adrien Boussicault, Marc Zipstein
    00005  *
    00006  *
    00007  *    This Library is free software: you can redistribute it and/or modify
    00008  *    it under the terms of the GNU General Public License as published by
    00009  *    the Free Software Foundation, either version 3 of the License, or
    00010  *    (at your option) any later version.
    00011  *
    00012  *    This Library is distributed in the hope that it will be useful,
    00013  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
    00014  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    00015  *    GNU General Public License for more details.
    00016  *
    00017  *    You should have received a copy of the GNU General Public License
    00018  *    along with this Library.  If not, see <http://www.gnu.org/licenses/>.
    00019  */
    00020
    00033 #ifndef __MLV__MLV_FIGURES_H__
    00034 #define __MLV__MLV_FIGURES_H__
    00035
    00036 #include "MLV_color.h"
    00037 #include "MLV_image.h"
    00038
    00039 #ifdef __cplusplus
    00040 extern "C" {
    00041 #endif
    00042
    00051 void MLV_draw_circle(int x, int y, int radius, MLV_Color color);
    00052
    00062 void MLV_draw_filled_circle(int x, int y, int radius, MLV_Color color);
    00063
    00073 void MLV_draw_ellipse(
    00074         int x, int y, int radius_x, int radius_y, MLV_Color color
    00075 );
    00076
    00086 void MLV_draw_filled_ellipse(
    00087         int x, int y, int radius_x, int radius_y, MLV_Color color
    00088 );
    00089
    00098 void MLV_draw_polygon(
    00099         const int* vx, const int* vy, int nb_points, MLV_Color color
    00100 );
    00101
    00110 void MLV_draw_filled_polygon(
    00111         const int* vx, const int* vy, int nb_points, MLV_Color color
    00112 );
    00113
    00123 void MLV_draw_bezier_curve(
    00124         const int* vx, const int* vy, int nb_points, MLV_Color color
    00125 );
    00126
    00135 void MLV_draw_filled_polygon(
    00136         const int* vx, const int* vy, int nb_points, MLV_Color color
    00137 );
    00138
    00149 void MLV_draw_rectangle(int x, int y, int width, int height, MLV_Color color);
    00150
    00161 void MLV_draw_rectangle(int x, int y, int width, int height, MLV_Color color);
    00162
    00173 void MLV_draw_filled_rectangle(
    00174         int x, int y, int width, int height, MLV_Color color
    00175 );
    00176
    00186 void MLV_draw_line(int x1, int y1, int x2, int y2, MLV_Color color);
    00187
    00195 void MLV_draw_pixel(int x, int y, MLV_Color color);
    00196
    00205 void MLV_draw_point(int x, int y, MLV_Color color);
    00206
    00212 void MLV_save_screen();
    00213
    00219 void MLV_load_screen();
    00220
    00221
    00222
    00223
    00224
    00225
    00227 // Drawing operation on images                                               //
    00229
    00240 void MLV_draw_circle_on_image(
    00241         int x, int y, int radius, MLV_Color color, MLV_Image* image
    00242 );
    00243
    00254 void MLV_draw_filled_circle_on_image(
    00255         int x, int y, int radius, MLV_Color color, MLV_Image* image
    00256 );
    00257
    00268 void MLV_draw_ellipse_on_image(
    00269         int x, int y, int radius_x, int radius_y, MLV_Color color, MLV_Image* image
    00270 );
    00271
    00282 void MLV_draw_filled_ellipse_on_image(
    00283         int x, int y, int radius_x, int radius_y, MLV_Color color, MLV_Image* image
    00284 );
    00285
    00295 void MLV_draw_polygon_on_image(
    00296         const int* vx, const int* vy, int nb_points, MLV_Color color, MLV_Image* image
    00297 );
    00298
    00309 void MLV_draw_filled_polygon_on_image(
    00310         const int* vx, const int* vy, int nb_points, MLV_Color color, MLV_Image* image
    00311 );
    00312
    00324 void MLV_draw_bezier_curve_on_image(
    00325         const int* vx, const int* vy, int nb_points, MLV_Color color, MLV_Image* image
    00326 );
    00327
    00338 void MLV_draw_filled_polygon_on_image(
    00339         const int* vx, const int* vy, int nb_points, MLV_Color color, MLV_Image* image
    00340 );
    00341
    00353 void MLV_draw_rectangle_on_image(
    00354         int x, int y, int width, int height, MLV_Color color, MLV_Image* image
    00355 );
    00356
    00368 void MLV_draw_rectangle_on_image(
    00369         int x, int y, int width, int height, MLV_Color color, MLV_Image* image
    00370 );
    00371
    00383 void MLV_draw_filled_rectangle_on_image(
    00384         int x, int y, int width, int height, MLV_Color color, MLV_Image* image
    00385 );
    00386
    00397 void MLV_draw_line_on_image(
    00398         int x1, int y1, int x2, int y2, MLV_Color color, MLV_Image* image
    00399 );
    00400
    00410 void MLV_draw_pixel_on_image(int x, int y, MLV_Color color, MLV_Image* image);
    00411
    00421 void MLV_draw_point_on_image(int x, int y, MLV_Color color, MLV_Image* image);
    00422
    00423
    00424 #ifdef __cplusplus
    00425 }
    00426 #endif
    00427
    00428 #endif