Documentation de la bibliothèque MLV-3.1.0

MLV_turtle.h
Aller à la documentation de ce fichier.
1 /*
2  * This file is part of the MLV Library.
3  *
4  * Copyright (C) 2016 Adrien Boussicault
5  *
6  *
7  * This Library is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This Library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this Library. If not, see <http://www.gnu.org/licenses/>.
19  */
20 
30 #ifndef __MLV__MLV_TURTLE_H__
31 #define __MLV__MLV_TURTLE_H__
32 
33 #include "MLV_color.h"
34 #include "MLV_image.h"
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
47 
55 
61 void MLV_leonardo_forward( float distance );
62 
73 void MLV_leonardo_right( double angle );
74 
85 void MLV_leonardo_left( double angle );
86 
97 void MLV_leonardo_go_to( int x, int y );
98 
114 void MLV_leonardo_orient_to( double angle );
115 
122 
134 void MLV_leonardo_write( int write );
135 
142 
149 
159 
166 
173 
180 
188 void MLV_leonardo_point_to( int x, int y );
189 
200 void MLV_leonardo_speed( int time );
201 
212 
222 
231 
240 
247 typedef struct _MLV_Turtle MLV_Turtle;
248 
254 
263 void MLV_free_turtle( MLV_Turtle* turtle );
264 
286 
296 
306 
313 void MLV_turtle_forward( MLV_Turtle* turtle, float distance );
314 
326 void MLV_turtle_right( MLV_Turtle* turtle, double angle );
327 
339 void MLV_turtle_left( MLV_Turtle* turtle, double angle );
340 
352 void MLV_turtle_go_to( MLV_Turtle* turtle, int x, int y );
353 
368 void MLV_turtle_orient_to( MLV_Turtle* turtle, double angle );
369 
376 void MLV_turtle_color( MLV_Turtle* turtle, MLV_Color color );
377 
390 void MLV_turtle_write( MLV_Turtle* turtle, int write );
391 
400 void MLV_turtle_point_to( MLV_Turtle* turtle, int x, int y );
401 
409 
417 
428 
436 
444 
452 
453 
464 
465 #ifdef __cplusplus
466 }
467 #endif
468 
469 #endif
MLV_leonardo_go_to
void MLV_leonardo_go_to(int x, int y)
La tortue Leonardo se déplace à la position passé en paramètre, sans changer son orientation.
MLV_leonardo_radian
void MLV_leonardo_radian()
La tortue Leonardo utilise désormais les angles en radian.
MLV_leonardo_Y_coordinate
int MLV_leonardo_Y_coordinate()
Renvoie la coordonée en Y de la tortuei Leonardo.
MLV_leonardo_orientation_in_radian
double MLV_leonardo_orientation_in_radian()
Renvoie l'orientation de la tortue Leonardo en radians.
MLV_leonardo_color
void MLV_leonardo_color(MLV_Color color)
Change la couleur du pinceau de la tortue Leonardo.
MLV_turtle_point_to
void MLV_turtle_point_to(MLV_Turtle *turtle, int x, int y)
Tourne la tortue pour qu'elle regarde vers le point passé en paramètre.
MLV_leonardo_should_update_window
void MLV_leonardo_should_update_window(int yes)
Demmande à la tortue Leonardo de mettre à jour l'affichage à chaque déacement.
MLV_turtle_write
void MLV_turtle_write(MLV_Turtle *turtle, int write)
La tortue pose le pinceau et écrit.
MLV_turtle_orientation
double MLV_turtle_orientation(MLV_Turtle *turtle)
Renvoie l'orientation de la tortue.
MLV_turtle_orient_to
void MLV_turtle_orient_to(MLV_Turtle *turtle, double angle)
La tortue s'oriente vers la direction donné en parmètre.
MLV_turtle_go_to
void MLV_turtle_go_to(MLV_Turtle *turtle, int x, int y)
La tortue se déplace à la position passé en paramètre, sans changer son orientation.
MLV_leonardo_point_to
void MLV_leonardo_point_to(int x, int y)
Tourne la tortue Leonardo pour qu'elle regarde vers le point passé en paramètre.
MLV_color.h
Définit toutes les couleurs disponibles dans la bibliothèque MLV.
MLV_Color
Uint32 MLV_Color
Définit un type couleur pour la bibliothèque MLV.
Definition: MLV_color.h:54
MLV_turtle_right
void MLV_turtle_right(MLV_Turtle *turtle, double angle)
La tortue à droite d'un angle donné en paramètre.
MLV_leonardo_forward
void MLV_leonardo_forward(float distance)
La tortue Leonardo avance d'un nombre de pixel donnée en paramètre.
MLV_leonardo_orientation
double MLV_leonardo_orientation()
Renvoie l'orientation de la tortue Leonardo.
MLV_turtle_forward
void MLV_turtle_forward(MLV_Turtle *turtle, float distance)
La tortue avance d'un nombre de pixel donnée en paramètre.
MLV_turtle_Y_coordinate
int MLV_turtle_Y_coordinate(MLV_Turtle *turtle)
Renvoie la coordonée en Y de la tortue.
MLV_leonardo_orient_to
void MLV_leonardo_orient_to(double angle)
La tortue Leonardo s'oriente vers la direction donné en parmètre.
MLV_turtle_orientation_in_radian
double MLV_turtle_orientation_in_radian(MLV_Turtle *turtle)
Renvoie l'orientation de la tortue en radians.
MLV_leonardo_write
void MLV_leonardo_write(int write)
La tortue Leonardo pose le pinceau et écrit.
MLV_turtle_X_coordinate
int MLV_turtle_X_coordinate(MLV_Turtle *turtle)
Renvoie la coordonée en X de la tortue.
MLV_turtle_orientation_in_degree
double MLV_turtle_orientation_in_degree(MLV_Turtle *turtle)
Renvoie l'orientation de la tortue en degré.
MLV_Turtle
struct _MLV_Turtle MLV_Turtle
Définit le type d'une tortue.
Definition: MLV_turtle.h:247
MLV_leonardo_X_coordinate
int MLV_leonardo_X_coordinate()
Renvoie la coordonée en X de la tortue Leonardo.
MLV_turtle_color
void MLV_turtle_color(MLV_Turtle *turtle, MLV_Color color)
Change la couleur du pinceau de la tortue passée en paramètre.
MLV_leonardo_left
void MLV_leonardo_left(double angle)
La tortue Leonardo tourne à gauche d'un angle donné en paramètre.
MLV_hide_leonardo
void MLV_hide_leonardo()
Cache la tortue Leonardo.
MLV_Image
struct _MLV_Image MLV_Image
Définit le type Image dans la bibliothèque MLV.
Definition: MLV_image.h:53
MLV_turtle_radian
void MLV_turtle_radian(MLV_Turtle *turtle)
La tortue passée en paramètre utilise désormais les angles en radian.
MLV_leonardo_orientation_in_degree
double MLV_leonardo_orientation_in_degree()
Renvoie l'orientation de la tortue Leonardo en degré.
MLV_image.h
Ce fichier définit tous les prototypes concernant les fonctions permettant d'insérer des images.
MLV_leonardo_degree
void MLV_leonardo_degree()
La tortue Leonardo utilise désormais les angles en degrés.
MLV_free_turtle
void MLV_free_turtle(MLV_Turtle *turtle)
Libère la mémoire de la tortue.
MLV_leonardo_right
void MLV_leonardo_right(double angle)
La tortue Leonardo tourne à droite d'un angle donné en paramètre.
MLV_turtle_left
void MLV_turtle_left(MLV_Turtle *turtle, double angle)
La tortue tourne à gauche d'un angle donné en paramètre.
MLV_leonardo_is_writing
int MLV_leonardo_is_writing()
Renvoie vrai si la tortue Leonardo est en train d'écrire.
MLV_turtle_degree
void MLV_turtle_degree(MLV_Turtle *turtle)
La tortue passée en paramètre utilise désormais les angles en degrés.
MLV_turtle_attach_on_image
void MLV_turtle_attach_on_image(MLV_Turtle *turtle, MLV_Image *image)
Attache la tortue sur une image passé en paramètre.
MLV_leonardo_speed
void MLV_leonardo_speed(int time)
Modifie la vitesse de la tortue Leonardo.
MLV_turtle_is_writing
int MLV_turtle_is_writing(MLV_Turtle *turtle)
Renvoie vrai si la tortue est en train d'écrire.
MLV_create_turtle
MLV_Turtle * MLV_create_turtle()
Créer une tortue qui dessine sur la fenêtre d'affichage.
MLV_show_leonardo
void MLV_show_leonardo()
Affiche à l'écran Leonardo.
MLV_draw_leonardo_on_image
void MLV_draw_leonardo_on_image(MLV_Image *image)
Dessine la tortue Leonardo sur une image passée en paramètre.
MLV_draw_turtle_on_image
void MLV_draw_turtle_on_image(MLV_Turtle *turtle, MLV_Image *image)
Dessine la tortue sur une image passée en paramètre.