176 lines
5.9 KiB
C
176 lines
5.9 KiB
C
#pragma once
|
|
|
|
|
|
/* Modèle */
|
|
/** @def TOLENTRESTRUCT
|
|
* @brief Temps en seconde toléré entre une route un agglomérat. Si dépassement, route et agglo non-lié.*/
|
|
#define TOLENTRESTRUCT 35
|
|
/** @def ASSEMBLAGEAGGLOTOL
|
|
* @brief Distance en mètre tolérée entre 2 agglomérats pour créer un assemblage global d'aglomérat.*/
|
|
#define ASSEMBLAGEAGGLOTOL 15
|
|
|
|
/** @def ZOOMAX
|
|
* @brief La valeur du zoom maximale pour l'API de Google MAPS.*/
|
|
#define ZOOMAX 20
|
|
|
|
/** @def ZOOMIN
|
|
* @brief La valeur du zoom minimale pour l'API de Google MAPS.*/
|
|
#define ZOOMIN 0
|
|
|
|
/** @def PPCM
|
|
* @brief Une petite constante pour convertir les pixels en centimètres (et réciproquement).*/
|
|
#define PPCM 37.79527559055
|
|
|
|
/** @def CONSTANTE
|
|
* @brief Une petite constante (magique) pour calculer l'échelle en fonction du zoom (et vice-versa)...*/
|
|
#define CONSTANTE 591657550.47936
|
|
|
|
/** @def MAXPATHLENGTH
|
|
* @brief Une constante qui détermine la taille des chemins vers les fichiers de logs.*/
|
|
#define MAXPATHLENGTH 1024
|
|
|
|
/** @def MAXSELECTEDFILES
|
|
* @brief Une constante qui détermine le nombre maximal de fichiers que l'utilisateur peut sélectionner.*/
|
|
#define MAXSELECTEDFILES 32
|
|
/* ______ */
|
|
|
|
|
|
/* Contrôleur */
|
|
#define FRAMERATELIMITSLEEP 32
|
|
#define FRAMERATELIMITPOWER 512
|
|
|
|
#define PROJECTNAME "GINPA"
|
|
#define PROJECTDESC "GINPA Is Not a Position Analyst"
|
|
|
|
#define REGULARFONTPATH "Vue/Ressources/AllerFont/Aller_Rg.ttf"
|
|
#define BOLDFONTPATH "Vue/Ressources/AllerFont/Aller_Bd.ttf"
|
|
#define ITALICFONTPATH "Vue/Ressources/AllerFont/Aller_It.ttf"
|
|
|
|
#define PROJECTIMAGEPATH "Vue/Ressources/GINPA.png"
|
|
#define WINDOWICONPATH "Vue/Ressources/GINPA_icone.png"
|
|
#define IMAGELOADINGPATH "Vue/Ressources/GINPA_loading.jpg"
|
|
#define IMAGEHOURGLASSPATH "Vue/Ressources/Icones/hourglass.png"
|
|
|
|
#define DATADIRECTORY "Donnees"
|
|
|
|
#define MAPFILE DATADIRECTORY"/map.png"
|
|
#define ADDRESSFILE DATADIRECTORY"/address.json"
|
|
/* __________ */
|
|
|
|
|
|
/* Vue */
|
|
#define WIDTH 640
|
|
#define HEIGHT 640
|
|
#define BITSPERPIXEL 32
|
|
|
|
#define WINDOWNAME PROJECTDESC
|
|
|
|
/** @def OFFSETFORLINES
|
|
* @brief Un petit offset pour que les lignes aient une épaisseur (en pixels) !*/
|
|
#define OFFSETFORLINES 1
|
|
|
|
/** @def CIRCLERADIUS
|
|
* @brief Taille (en pixels) des cercles représentant les points.*/
|
|
#define CIRCLERADIUS 1.5
|
|
|
|
/** @def CIRCLERADIUSAGGLO
|
|
* @brief Taille (en pixels) des cercles représentant les agglomérats.*/
|
|
#define CIRCLERADIUSAGGLO 5
|
|
|
|
/** @def BORDERSIZE
|
|
* @brief Bordure en plus à prendre en compte quand on récupère une carte (afin d'intégrer des points potentiellement sur un des côtés...) [en pixels]*/
|
|
#define BORDERSIZE 25
|
|
|
|
/** @def MAPSIZE
|
|
* @brief Dimensions de l'image de la carte à récupérer.*/
|
|
#define MAPSIZE 640
|
|
|
|
/** @def MAPSCALE
|
|
* @brief Pour des raisons de qualité d'image, le 'scale' est fixé à 2.*/
|
|
#define MAPSCALE 2
|
|
|
|
/** @def REALMAPSIZE
|
|
* @brief Pour plus de lisibilité dans le code car le calcul est effectué à chaque fois.*/
|
|
#define REALMAPSIZE (MAPSIZE * MAPSCALE)
|
|
|
|
/** @def OFFSETFORMOTION
|
|
* @brief Définit un offset à appliquer pour le déplacement de la carte (en pourcentage des dimensions repectives de la fenêtre).*/
|
|
#define OFFSETFORMOTION 5
|
|
|
|
/** @def OFFSETFORDATE
|
|
* @brief Définit un offset à appliquer lors de l'inscription d'une date à côté d'un point (en nombre de pixels par rapport au point).*/
|
|
#define OFFSETFORDATE 10
|
|
|
|
/** @def DELAYPOINTBYPOINT
|
|
* @brief Définit un temps constant entre l'affichage de chaque point sur le mode Point-par-Point (en µ-secondes).*/
|
|
#define DELAYPOINTBYPOINT 20000
|
|
|
|
/** @def MAPSTACKSIZE
|
|
* @brief La taille des piles des Cartes suivantes / précédentes.*/
|
|
#define MAPSTACKSIZE 64
|
|
|
|
/** @def COULEUR_GRIS
|
|
* @brief Couleur utilisée par défaut sur le logiciel.*/
|
|
#define COULEUR_GRIS (sfColor){140, 140, 140, 255}
|
|
|
|
/** @def COULEUR_GRIS_TRANSPARENT
|
|
* @brief Couleur utilisée pour la transparence par défaut sur le logiciel.*/
|
|
#define COULEUR_GRIS_TRANSPARENT (sfColor){140, 140, 140, 128}
|
|
|
|
/** @def COULEUR_POINT
|
|
* @brief Couleur utilisée par défaut pour afficher un point.*/
|
|
#define COULEUR_POINT sfRed
|
|
|
|
/** @def COULEUR_POINT_SUPPRIME
|
|
* @brief Couleur utilisée pour afficher un point sélectionné pour être supprimé.*/
|
|
#define COULEUR_POINT_SUPPRIME sfBlack
|
|
|
|
/** @def COULEUR_AGGLO
|
|
* @brief Couleur utilisée par défaut pour afficher un agglomérat.*/
|
|
#define COULEUR_AGGLO (sfColor){0, 0, 255, 128}
|
|
|
|
/** @def COULEUR_AGGLO_ACTUEL
|
|
* @brief Couleur utilisée pour afficher le dernier agglo affiché en mode point par point.*/
|
|
#define COULEUR_AGGLO_ACTUEL (sfColor){1, 215, 88, 128}
|
|
|
|
/** @def COULEUR_AGGLO_SUPPRIME
|
|
* @brief Couleur utilisée pour afficher un agglomérat sélectionné pour être supprimé.*/
|
|
#define COULEUR_AGGLO_SUPPRIME (sfColor){0, 0, 0, 128}
|
|
|
|
/** @def COULEUR_POINT_ACTUEL
|
|
* @brief Couleur utilisée pour afficher le dernier point affiché en mode point par point.*/
|
|
#define COULEUR_POINT_ACTUEL (sfColor){1, 215, 88, 255}
|
|
|
|
/** @def COULEUR_POINT_SUGGERE
|
|
* @brief Couleur utilisée pour afficher un point qu'on suggère de supprimer*/
|
|
#define COULEUR_POINT_SUGGERE (sfColor){255, 102, 255, 255}
|
|
/* ___ */
|
|
|
|
/* Menu */
|
|
/** @def MAXBUTTONSMENU
|
|
* @brief Le nombre maximal de boutons qu'il peut y avoir dans le menu à droite.
|
|
*
|
|
* /!\ Attention, cette valeur détermine directement la dimension de la barre du menu !*/
|
|
#define MAXBUTTONSMENU 13
|
|
|
|
/** @def BUTTONGAP
|
|
* @brief Un écart à placer entre chaque bouton.*/
|
|
#define BUTTONGAP 10
|
|
|
|
/** @def MENUHEIGHT
|
|
* @brief Hauteur du menu (la même que la fenêtre).*/
|
|
#define MENUHEIGHT HEIGHT
|
|
|
|
/** @def RATIOMENU
|
|
* @brief Un ratio important pour certains calculs de position.*/
|
|
#define RATIOMENU ((MENUHEIGHT / MAXBUTTONSMENU) - BUTTONGAP)
|
|
|
|
/** @def MENUWIDTH
|
|
* @brief Largeur du menu (dépend du ratio calculé ci-dessus !)*/
|
|
#define MENUWIDTH RATIOMENU
|
|
|
|
/** @def BUTTONAMESIZE
|
|
* @brief La taille du nom maximum pour une entrée du menu.*/
|
|
#define BUTTONAMESIZE 16
|
|
/* ____ */
|