# palette.c File Reference

`#include <stdio.h>`
`#include <stdlib.h>`
`#include <string.h>`
`#include "const.h"`
`#include "struct.h"`
`#include "global.h"`
`#include "divers.h"`
`#include "moteur.h"`
`#include "readline.h"`
`#include "boutons.h"`
`#include "pages.h"`
`#include "aide.h"`
`#include "sdlscreen.h"`
`#include "erreurs.h"`
`#include "op_c.h"`
`#include "windows.h"`
`#include "input.h"`

## Functions
void | Set_Palette_RGB_Scale (int Grad)
byte | Palette_Scale_Component (byte Comp)
void | Unite_Composantes (int Count)
void | Modifier_HSL (T_Palette Palette_depart, T_Palette Palette_arrivee, byte Couleur, short Difference_H, short Difference_S, short Difference_L)
void | Modifier_Rouge (byte Couleur, short Nouvelle_teinte, T_Palette Palette)
void | Modifier_Vert (byte Couleur, short Nouvelle_teinte, T_Palette Palette)
void | Modifier_Bleu (byte Couleur, short Nouvelle_teinte, T_Palette Palette)
void | Formate_composante (byte Valeur, char *Chaine)
void | Degrader_palette (short Debut, short Fin, T_Palette Palette)
void | Compter_nb_couleurs_utilisees (short *Nb_couleurs_utilisees, dword *Utilisation_couleur)
void | Remap_zone_HIGH (short X1, short Y1, short X2, short Y2, byte *Table_de_conversion)
void | Remap_image_HIGH (byte *Table_de_conversion)
void | Swap (int X_Swap, short Debut_Bloc_1, short Debut_Bloc_2, short Taille_du_bloc, T_Palette Palette, dword *Utilisation_couleur)
void | Remettre_proprement_les_couleurs_du_menu (dword *Utilisation_couleur)
void | Reduce_palette (short *Nb_couleurs_utilisees, int Nb_couleurs_demandees, T_Palette Palette, dword *Utilisation_couleur)
void | Palette_Modifier_jauge (struct Fenetre_Bouton_scroller *Jauge, word Nb_elements, word Position, char *Valeur, short Pos_X)
void | Afficher_les_jauges (struct Fenetre_Bouton_scroller *Jauge_rouge, struct Fenetre_Bouton_scroller *Jauge_verte, struct Fenetre_Bouton_scroller *Jauge_bleue, byte Bloc_selectionne, struct Composantes *Palette)
void | Palette_Reafficher_jauges (struct Fenetre_Bouton_scroller *Jauge_rouge, struct Fenetre_Bouton_scroller *Jauge_verte, struct Fenetre_Bouton_scroller *Jauge_bleue, T_Palette Palette, byte Debut, byte Fin)
void | Bouton_Palette (void)
void | Bouton_Palette_secondaire (void)
## Variables
byte | Palette_mode_RGB = 1
char * | Libelle_reduction_palette [7]
int | Graduations_RGB = 256
int | Color_Count = 256
int | Color_Max = 255
int | Color_DemiPas = 0

## Function Documentation

void Set_Palette_RGB_Scale | ( | int | Grad | ) |

References Graduations_RGB.

Referenced by Analyse_de_la_ligne_de_commande(), and Bouton_Palette_secondaire().

byte Palette_Scale_Component | ( | byte | Comp | ) |

References Graduations_RGB.

Referenced by Modifier_Bleu(), Modifier_Rouge(), Modifier_Vert(), and Set_palette().

void Unite_Composantes | ( | int | Count | ) |

References Color_Count, Color_DemiPas, and Color_Max.

Referenced by Bouton_Palette().

void Modifier_HSL | ( | T_Palette | Palette_depart,
|  | T_Palette | Palette_arrivee,
|  | byte | Couleur,
|  | short | Difference_H,
|  | short | Difference_S,
|  | short | Difference_L |
| ) |  |  |

References HSLtoRGB(), and RGBtoHSL().

Referenced by Bouton_Palette().

void Modifier_Rouge | ( | byte | Couleur,
|  | short | Nouvelle_teinte,
|  | T_Palette | Palette |
| ) |  |  |

References Palette_Scale_Component(), and Set_color().

Referenced by Bouton_Palette(), and Degrader_palette().

void Modifier_Vert | ( | byte | Couleur,
|  | short | Nouvelle_teinte,
|  | T_Palette | Palette |
| ) |  |  |

References Palette_Scale_Component(), and Set_color().

Referenced by Bouton_Palette(), and Degrader_palette().

void Modifier_Bleu | ( | byte | Couleur,
|  | short | Nouvelle_teinte,
|  | T_Palette | Palette |
| ) |  |  |

References Palette_Scale_Component(), and Set_color().

Referenced by Bouton_Palette(), and Degrader_palette().

void Formate_composante | ( | byte | Valeur,
|  | char * | Chaine |
| ) |  |  |

References Num2str().

Referenced by Afficher_les_jauges(), Bouton_Palette(), and Palette_Reafficher_jauges().

void Degrader_palette | ( | short | Debut,
|  | short | Fin,
|  | T_Palette | Palette |
| ) |  |  |

References Modifier_Bleu(), Modifier_Rouge(), and Modifier_Vert().

Referenced by Bouton_Palette().

void Compter_nb_couleurs_utilisees | ( | short * | Nb_couleurs_utilisees,
|  | dword * | Utilisation_couleur |
| ) |  |  |

References Afficher_curseur(), Effacer_curseur, Fenetre_Dessiner_bouton_normal(), Forme_curseur, FORME_CURSEUR_FLECHE, FORME_CURSEUR_SABLIER, Num2str(), and Palette_Compter_nb_couleurs_utilisees().

Referenced by Bouton_Palette(), and Reduce_palette().

void Remap_zone_HIGH | ( | short | X1,
|  | short | Y1,
|  | short | X2,
|  | short | Y2,
|  | byte * | Table_de_conversion |
| ) |  |  |

References Fenetre_Hauteur, Fenetre_Largeur, Fenetre_Pos_X, Fenetre_Pos_Y, Lit_pixel, Menu_Facteur_X, Menu_Facteur_Y, and Pixel.

Referenced by Remap_image_HIGH().

void Remap_image_HIGH | ( | byte * | Table_de_conversion | ) |

References LARGEUR_BARRE_SPLIT, Largeur_ecran, Loupe_Facteur, Loupe_Mode, Menu_Facteur_X, Menu_Ordonnee_avant_fenetre, Principal_Ecran, Principal_Hauteur_image, Principal_Largeur_image, Principal_Split, Principal_X_Zoom, Remap_general_LOWLEVEL(), Remap_zone_HIGH(), and Remappe_fond_fenetres().

Referenced by Bouton_Palette(), Reduce_palette(), Remettre_proprement_les_couleurs_du_menu(), and Swap().

void Swap | ( | int | X_Swap,
|  | short | Debut_Bloc_1,
|  | short | Debut_Bloc_2,
|  | short | Taille_du_bloc,
|  | T_Palette | Palette,
|  | dword * | Utilisation_couleur |
| ) |  |  |

References Remap_image_HIGH().

Referenced by Bouton_Palette().

void Remettre_proprement_les_couleurs_du_menu | ( | dword * | Utilisation_couleur | ) |

References Afficher_curseur(), Coul_menu_pref, Effacer_curseur, Meilleure_couleur_sans_exclusion(), Principal_Palette, and Remap_image_HIGH().

Referenced by Bouton_Palette().

void Reduce_palette | ( | short * | Nb_couleurs_utilisees,
|  | int | Nb_couleurs_demandees,
|  | T_Palette | Palette,
|  | dword * | Utilisation_couleur |
| ) |  |  |

References Afficher_curseur(), CM_Clair, CM_Noir, Compter_nb_couleurs_utilisees(), Effacer_curseur, Num2str(), Print_dans_fenetre(), Remap_image_HIGH(), and Round_div().

Referenced by Bouton_Palette().

void Palette_Modifier_jauge | ( | struct Fenetre_Bouton_scroller * | Jauge,
|  | word | Nb_elements,
|  | word | Position,
|  | char * | Valeur,
|  | short | Pos_X |
| ) |  |  |

References Calculer_hauteur_curseur_jauge(), CM_Clair, CM_Noir, Fenetre_Dessiner_jauge(), Fenetre_Bouton_scroller::Nb_elements, Fenetre_Bouton_scroller::Position, and Print_compteur().

Referenced by Afficher_les_jauges().

void Afficher_les_jauges | ( | struct Fenetre_Bouton_scroller * | Jauge_rouge,
|  | struct Fenetre_Bouton_scroller * | Jauge_verte,
|  | struct Fenetre_Bouton_scroller * | Jauge_bleue,
|  | byte | Bloc_selectionne,
|  | struct Composantes * | Palette |
| ) |  |  |

References Color_Count, Color_Max, Fore_color, Formate_composante(), Palette_mode_RGB, Palette_Modifier_jauge(), and RGBtoHSL().

Referenced by Bouton_Palette().

void Palette_Reafficher_jauges | ( | struct Fenetre_Bouton_scroller * | Jauge_rouge,
|  | struct Fenetre_Bouton_scroller * | Jauge_verte,
|  | struct Fenetre_Bouton_scroller * | Jauge_bleue,
|  | T_Palette | Palette,
|  | byte | Debut,
|  | byte | Fin |
| ) |  |  |

References Afficher_curseur(), CM_Clair, CM_Noir, Color_Max, Effacer_curseur, Fenetre_Dessiner_jauge(), Formate_composante(), Palette_mode_RGB, Fenetre_Bouton_scroller::Position, Print_compteur(), and RGBtoHSL().

Referenced by Bouton_Palette().

void Bouton_Palette | ( | void |  | ) |

References A_DROITE, A_GAUCHE, Afficher_curseur(), Afficher_les_jauges(), Afficher_menu(), Attendre_click_dans_palette(), Attendre_fin_de_click(), S_Config::Auto_nb_used, Back_color, Backup(), Bloc_degrade_dans_fenetre(), Block, BOUTON_AIDE, BOUTON_PALETTE, BOUTON_UNDO, Calculer_couleurs_menu_optimales(), CM_Blanc, CM_Clair, CM_Fonce, CM_Noir, Color_Count, Color_Max, Compter_nb_couleurs_utilisees(), Config, Degrader_palette(), Desenclencher_bouton(), Dessiner_zigouigoui(), Effacer_curseur, Enclencher_bouton(), Est_Raccourci(), Fenetre_Afficher_cadre(), Fenetre_Afficher_cadre_creux(), Fenetre_aide(), Fenetre_Attribut2, Fenetre_Bouton_clicke(), Fenetre_Contenu_bouton_saisie(), Fenetre_Definir_bouton_normal(), Fenetre_Definir_bouton_palette(), Fenetre_Definir_bouton_repetable(), Fenetre_Definir_bouton_saisie(), Fenetre_Definir_bouton_scroller(), Fenetre_Dessiner_bouton_palette(), Fenetre_Dessiner_jauge(), Fenetre_Hauteur, Fenetre_Liste_boutons_palette, Fenetre_Liste_boutons_special, Fenetre_Pos_X, Fenetre_Pos_Y, Fermer_fenetre(), Fore_color, Formate_composante(), Graduations_RGB, HSLtoRGB(), Largeur_ecran, Libelle_reduction_palette, Lit_pixel, Menu_Facteur_X, Menu_Facteur_Y, Menu_Ordonnee_avant_fenetre, MOD_SHIFT, Modifier_Bleu(), Modifier_HSL(), Modifier_Rouge(), Modifier_Vert(), Mouse_K, Mouse_X, Mouse_Y, Num2str(), Ouvrir_fenetre(), Palette_defaut, Palette_mode_RGB, Palette_Reafficher_jauges(), Fenetre_Bouton_scroller::Position, Principal_Palette, Print_compteur(), Print_dans_fenetre(), Readline(), Recadrer_palette(), Recuperer_couleur_derriere_fenetre(), Reduce_palette(), Remap_image_HIGH(), Remapper_ecran_apres_changement_couleurs_menu(), Remettre_proprement_les_couleurs_du_menu(), RGBtoHSL(), S_Config::Safety_colors, Set_palette(), Swap(), Tagger_intervalle_palette(), Touche, TOUCHE_AUCUNE, TOUCHE_ESC, Unite_Composantes(), and UpdateRect().

Referenced by Initialisation_des_boutons().

void Bouton_Palette_secondaire | ( | void |  | ) |

References Afficher_curseur(), Afficher_menu(), BOUTON_AIDE, BOUTON_PALETTE, Changer_cellules_palette(), CM_Clair, CM_Fonce, CM_Noir, Config, Desenclencher_bouton(), Est_Raccourci(), Exclude_color, Fenetre_Afficher_cadre(), Fenetre_aide(), Fenetre_Attribut2, Fenetre_Bouton_clicke(), Fenetre_Definir_bouton_normal(), Fenetre_Definir_bouton_scroller(), Fenetre_Pos_X, Fenetre_Pos_Y, Fermer_fenetre(), Graduations_RGB, Menu_Facteur_X, Menu_Facteur_Y, Menu_Tag_couleurs(), Num2str(), Ouvrir_fenetre(), S_Config::Palette_Cells_X, S_Config::Palette_Cells_Y, Fenetre_Bouton_scroller::Position, Principal_Palette, Print_dans_fenetre(), Set_palette(), Set_Palette_RGB_Scale(), Touche, TOUCHE_ESC, and UpdateRect().

Referenced by Initialisation_des_boutons().

## Variable Documentation

byte Palette_mode_RGB = 1

Referenced by Afficher_les_jauges(), Bouton_Palette(), and Palette_Reafficher_jauges().

char* Libelle_reduction_palette[7]

Initial value:

    {
      "128"," 64"," 32"," 16","  8","  4","  2"
    }

Referenced by Bouton_Palette().

int Graduations_RGB = 256

Referenced by Bouton_Palette(), Bouton_Palette_secondaire(), Palette_Scale_Component(), and Set_Palette_RGB_Scale().

int Color_Count = 256

Referenced by Afficher_les_jauges(), Bouton_Palette(), and Unite_Composantes().

int Color_Max = 255

Referenced by Afficher_les_jauges(), Bouton_Palette(), Palette_Reafficher_jauges(), and Unite_Composantes().

int Color_DemiPas = 0

Referenced by Unite_Composantes().