| Documentazione Imel | ||
|---|---|---|
| Indietro | Capitolo 2. Variabili, Tipi, Macro, Define, Enumeratori e Strutture | Avanti |
Le macro qui elencate sono utilizzabili direttamente dopo l'inclusione dell'header senza che Imel sia linkata in fase di compilazione.
#define DEG_TO_RAD(val) (0.017453292 * (val)) #define RAD_TO_DEG(val) (57.29577951 * (val))
Queste due macro sono state realizzare per facilitare la conversione da gradi a radianti e viceversa, in quanto tutte le funzioni che ricevono un "grado" in Imel operano in radianti.
#define RGBA_R_MASK(val) (((val) & 0xff000000) >> 24) #define RGBA_G_MASK(val) (((val) & 0x00ff0000) >> 16) #define RGBA_B_MASK(val) (((val) & 0x0000ff00) >> 8) #define RGBA_A_MASK(val) ((val) & 0x000000ff)
Queste macro consentono il recupero dei valori del singolo canale di una variabile a 32 bit contenente valori RGBA in cui ogni valore occupa 8 bit.
#define return_var_if_fail(condition, var) \
if ( !(condition) ) { \
imel_printf_debug (NULL, NULL, "warning", "condition failed.\n"); \
return (var); \
}
Questa macro fa uscire dalla funzione in cui la si usa ritornando var nel caso la condizione specifica in condition non sia vera.
#define return_if_fail(condition) \
if ( !(condition) ) { \
imel_printf_debug (NULL, NULL, "warning", "condition failed.\n"); \
return; \
}
Come la macro return_var_if_fail tranne per il fatto che uscendo dalla funzione in cui è usata non ritorna nulla.