# main.c File Reference

`#include <stdio.h>`
`#include <stdlib.h>`
`#include <string.h>`
`#include <signal.h>`
`#include <time.h>`
`#include <unistd.h>`
`#include <SDL.h>`
`#include <SDL_image.h>`
`#include "const.h"`
`#include "struct.h"`
`#include "global.h"`
`#include "graph.h"`
`#include "divers.h"`
`#include "init.h"`
`#include "boutons.h"`
`#include "moteur.h"`
`#include "pages.h"`
`#include "files.h"`
`#include "loadsave.h"`
`#include "sdlscreen.h"`
`#include "erreurs.h"`
`#include "readini.h"`
`#include "saveini.h"`
`#include "io.h"`
`#include "texte.h"`
`#include "setup.h"`
`#include "windows.h"`
`#include "brush.h"`
`#include "palette.h"`

## Defines
#define | VARIABLES_GLOBALES
## Functions
void | Afficher_syntaxe (void)
void | Erreur_fonction (int Code, const char *Nom_fichier, int Numero_ligne, const char *Nom_fonction)
void | Analyse_de_la_ligne_de_commande (int argc, char *argv[])
void | Initialisation_du_programme (int argc, char *argv[])
void | Fermeture_du_programme (void)
int | main (int argc, char *argv[])
## Variables
byte | Ancien_nb_lignes

## Define Documentation

#define VARIABLES_GLOBALES

## Function Documentation

void Afficher_syntaxe | ( | void |  | ) |

References Libelle_mode(), and Nb_modes_video.

Referenced by Analyse_de_la_ligne_de_commande(), and Erreur_fonction().

void Erreur_fonction | ( | int | Code,
|  | const char * | Nom_fichier,
|  | int | Numero_ligne,
|  | const char * | Nom_fonction |
| ) |  |  |

References Afficher_syntaxe(), ERREUR_CFG_ABSENT, ERREUR_CFG_ANCIEN, ERREUR_CFG_CORROMPU, ERREUR_DRIVER_SOURIS, ERREUR_GUI_ABSENT, ERREUR_GUI_CORROMPU, ERREUR_INI_ABSENT, ERREUR_INI_CORROMPU, ERREUR_LIGNE_COMMANDE, ERREUR_MEMOIRE, ERREUR_MODE_INTERDIT, ERREUR_REPERTOIRE_DISPARU, ERREUR_SAUVEGARDE_CFG, ERREUR_SAUVEGARDE_INI, ERREUR_SORRY_SORRY_SORRY, Ligne_INI, Principal_Palette, and Set_palette().

void Analyse_de_la_ligne_de_commande | ( | int | argc,
|  | char * | argv[] |
| ) |  |  |

References Afficher_syntaxe(), Config, Conversion_argument_mode(), Erreur, ERREUR_LIGNE_COMMANDE, ERREUR_MODE_INTERDIT, Extraire_chemin(), Extraire_nom_fichier(), Fichier_existe(), Mode_video, PIXEL_DOUBLE, Pixel_ratio, PIXEL_TALL, PIXEL_WIDE, Principal_Nom_fichier, Principal_Repertoire_fichier, realpath(), Resolution_actuelle, S_Config::Resolution_par_defaut, Set_Palette_RGB_Scale(), TAILLE_CHEMIN_FICHIER, Un_fichier_a_ete_passe_en_parametre, and Une_resolution_a_ete_passee_en_parametre.

Referenced by Initialisation_du_programme().

void Initialisation_du_programme | ( | int | argc,
|  | char * | argv[] |
| ) |  |  |

References A_GAUCHE, Afficher_curseur(), Afficher_menu(), Afficher_pinceau_dans_menu(), Afficher_pixel(), ALPHA_BETA, Analyse_de_la_ligne_de_commande(), Ancien_Brouillon_Decalage_X, Ancien_Brouillon_Decalage_Y, Ancien_Principal_Decalage_X, Ancien_Principal_Decalage_Y, Aucun_effet(), Back_color, BOUTON_DESSIN, Brosse, Brosse_Commentaire, Brosse_File_list_Decalage, Brosse_File_list_Position, Brosse_Format, Brosse_Format_fichier, Brosse_Hauteur, Brosse_Largeur, Brosse_Nom_fichier, Brosse_Repertoire_courant, Brosse_Repertoire_fichier, Brouillon_Backups, Brouillon_Commentaire, Brouillon_Decalage_X, Brouillon_Decalage_Y, Brouillon_File_list_Decalage, Brouillon_File_list_Position, Brouillon_Format, Brouillon_Format_fichier, Brouillon_Hauteur_image, Brouillon_Image_modifiee, Brouillon_Largeur_image, Brouillon_Loupe_Decalage_X, Brouillon_Loupe_Decalage_Y, Brouillon_Loupe_Facteur, Brouillon_Loupe_Hauteur, Brouillon_Loupe_Largeur, Brouillon_Loupe_Mode, Brouillon_Nom_fichier, Brouillon_Proportion_split, Brouillon_Repertoire_courant, Brouillon_Repertoire_fichier, Brouillon_Split, Brouillon_X_Zoom, Buffer_de_ligne_horizontale, Cacher_curseur, Cacher_pinceau, Calculer_coordonnees_pinceau(), Calculer_couleurs_menu_optimales(), Calculer_donnees_loupe(), Calculer_les_tables_de_Colorize(), Calculer_limites(), Capturer_brosse(), Charger_CFG(), Charger_DAT(), Charger_INI(), CM_Blanc, CM_Clair, CM_Fonce, CM_Noir, Colorize_Mode, Colorize_Mode_en_cours, Colorize_Opacite, Config, Config_par_defaut(), Copier_trame_predefinie(), S_Config::Coul_menu_pref, Coul_menu_pref, Couleur_debut_palette, Courbe_en_cours, DEBUG, Definition_des_modes_video(), Determiner_repertoire_courant(), Enclencher_bouton(), Erreur, ERREUR_CFG_ABSENT, ERREUR_CFG_ANCIEN, ERREUR_CFG_CORROMPU, ERREUR_MEMOIRE, FACTEUR_DE_ZOOM_PAR_DEFAUT, Fenetre, Fonction_effet, Fonte, S_Config::Fonte, Fonte_fun, Fonte_systeme, Forcer_affichage_curseur, Fore_color, FORMAT_PAR_DEFAUT, Forme_curseur, FORME_CURSEUR_CIBLE, FORME_PINCEAU_ROND, Hauteur, Hauteur_ecran, HAUTEUR_PINCEAU, Initialisation_des_boutons(), Initialisation_des_operations(), Initialisation_Texte(), Initialiser_les_listes_de_backups_en_debut_de_programme(), Initialiser_les_tables_de_multiplication(), Initialiser_mode_video(), Initialiser_S_Liste_de_pages(), Initialiser_sighandler(), joystick, Largeur, Largeur_ecran, LARGEUR_PINCEAU, Ligne_en_cours, Liste_du_fileselect, Loupe_Decalage_X, Loupe_Decalage_Y, Loupe_Facteur, Loupe_Hauteur, Loupe_Largeur, Loupe_Mode, Mask_Mode, Masque_copie_couleurs, Menu_visible, Mode_de_dessin_en_cours, Mode_video, S_Config::Nb_pages_Undo, OPERATION_COURBE_3_POINTS, OPERATION_DESSIN_CONTINU, OPERATION_LIGNE, Operation_Taille_pile, Palette_defaut, Pinceau_Forme, Pinceau_Hauteur, Pinceau_Largeur, Pinceau_Sprite, Pinceau_X, Pinceau_Y, Pixel_Chargement_dans_ecran_courant(), Pixel_dans_barre_d_outil(), Pixel_dans_menu, Pixel_de_chargement, Pixel_height, Pixel_ratio, PIXEL_SIMPLE, Pixel_width, POURCENTAGE_VERSION, Principal_Backups, Principal_Commentaire, Principal_Decalage_X, Principal_Decalage_Y, Principal_Ecran, Principal_File_list_Decalage, Principal_File_list_Position, Principal_Format, Principal_Format_fichier, Principal_Hauteur_image, Principal_Image_modifiee, Principal_Largeur_image, Principal_Nom_fichier, Principal_Palette, Principal_Proportion_split, Principal_Repertoire_courant, Principal_Repertoire_fichier, Principal_Split, Principal_X_Zoom, PROPORTION_SPLIT, Quick_shade_Mode, Quit_demande, Repertoire_de_configuration, Repertoire_des_donnees, Repertoire_initial, Resolution_actuelle, Set_Config_Directory(), Set_Data_Directory(), Set_Program_Directory(), Shade_Mode, Smear_Brosse, Smear_Brosse_Hauteur, Smear_Brosse_Largeur, Smear_Mode, Smooth_Mode, Snap_Decalage_X, Snap_Decalage_Y, Snap_Hauteur, Snap_Largeur, Snap_Mode, Sortir_du_programme, Spray_Delay, Spray_Mode, Spray_Mono_flow, Spray_Multi_flow, Spray_Size, Table_mul_facteur_zoom, TABLE_ZOOM, TAILLE_CHEMIN_FICHIER, TAILLE_MAXI_PINCEAU, Tiling_Mode, Traiter_pixel_de_degrade, Trame_Mode, and Un_fichier_a_ete_passe_en_parametre.

Referenced by main().

void Fermeture_du_programme | ( | void |  | ) |

References S_Config::Auto_save, Brosse, Brouillon_Ecran, Buffer_de_ligne_horizontale, Config, Erreur, ERREUR_REPERTOIRE_DISPARU, Nouveau_nombre_de_backups(), Pinceau_Sprite, Principal_Ecran, Repertoire_initial, Sauver_CFG(), and Sauver_INI().

Referenced by main().

int main | ( | int | argc,
|  | char * | argv[] |
| ) |  |  |

References Bouton_Message_initial(), Bouton_Page(), Bouton_Reload(), Config, Fermeture_du_programme(), Fichier_existe(), Gestion_principale(), Initialisation_du_programme(), Logo_GrafX2, S_Config::Opening_message, Principal_Image_modifiee, Principal_Nom_fichier, Principal_Repertoire_fichier, Repertoire_de_configuration, TAILLE_CHEMIN_FICHIER, Un_fichier_a_ete_passe_en_parametre, Une_resolution_a_ete_passee_en_parametre, and Warning_message().

## Variable Documentation

byte Ancien_nb_lignes