Convert comments to UTF-8

most were encoded in Latin1 / CP1252
but a few lines in op_c.c were using IBM437/850 !
This commit is contained in:
Thomas Bernard
2018-06-26 10:54:47 +02:00
parent 6731a57999
commit 92facef46d
53 changed files with 2424 additions and 2424 deletions

View File

@@ -62,9 +62,9 @@ T_Menu_Bar Menu_bars[MENUBAR_COUNT] =
/// Width of one layer button, in pixels before scaling
word Layer_button_width = 1;
// L'encapsulation tente une percée...ou un dernier combat.
// L'encapsulation tente une percée...ou un dernier combat.
// Nombre de cellules réel dans la palette du menu
// Nombre de cellules réel dans la palette du menu
word Menu_cells_X;
word Palette_cells_X()
{
@@ -90,42 +90,42 @@ void Pixel_in_menu_and_skin(word bar, word x, word y, byte color)
Menu_bars[bar].Skin[2][y*Menu_bars[bar].Skin_width + x] = color;
}
// Affichage d'un pixel dans la fenêtre (la fenêtre doit être visible)
// Affichage d'un pixel dans la fenêtre (la fenêtre doit être visible)
void Pixel_in_window(word x,word y,byte color)
{
Block((x*Menu_factor_X)+Window_pos_X,(y*Menu_factor_Y)+Window_pos_Y,Menu_factor_X,Menu_factor_Y,color);
}
// Affichage d'un rectangle dans la fenêtre (la fenêtre doit être visible)
// Affichage d'un rectangle dans la fenêtre (la fenêtre doit être visible)
void Window_rectangle(word x_pos,word y_pos,word width,word height,byte color)
{
Block((x_pos*Menu_factor_X)+Window_pos_X,(y_pos*Menu_factor_Y)+Window_pos_Y,width*Menu_factor_X,height*Menu_factor_Y,color);
}
// -- Affichages de différents cadres dans une fenêtre -----------------------
// -- Affichages de différents cadres dans une fenêtre -----------------------
// -- Frame général avec couleurs paramètrables --
// -- Frame général avec couleurs paramètrables --
void Window_display_frame_generic(word x_pos,word y_pos,word width,word height,
byte color_tl,byte color_br,byte color_s,byte color_tlc,byte color_brc)
// Paramètres de couleurs:
// Paramètres de couleurs:
// color_tl =Bords Haut et Gauche
// color_br =Bords Bas et Droite
// color_s =Coins Haut-Droite et Bas-Gauche
// color_tlc=Coin Haut-Gauche
// color_brc=Coin Bas-Droite
{
// Bord haut (sans les extrémités)
// Bord haut (sans les extrémités)
Window_rectangle(x_pos+1,y_pos,width-2,1,color_tl);
// Bord bas (sans les extrémités)
// Bord bas (sans les extrémités)
Window_rectangle(x_pos+1,y_pos+height-1,width-2,1,color_br);
// Bord gauche (sans les extrémités)
// Bord gauche (sans les extrémités)
Window_rectangle(x_pos, y_pos+1,1,height-2,color_tl);
// Bord droite (sans les extrémités)
// Bord droite (sans les extrémités)
Window_rectangle(x_pos+width-1,y_pos+1,1,height-2,color_br);
// Coin haut gauche
@@ -145,21 +145,21 @@ void Window_display_frame_mono(word x_pos,word y_pos,word width,word height,byte
Window_display_frame_generic(x_pos,y_pos,width,height,color,color,color,color,color);
}
// -- Frame creux: foncé en haut-gauche et clair en bas-droite --
// -- Frame creux: foncé en haut-gauche et clair en bas-droite --
void Window_display_frame_in(word x_pos,word y_pos,word width,word height)
{
Window_display_frame_generic(x_pos,y_pos,width,height,MC_Dark,MC_White,MC_Light,MC_Dark,MC_White);
}
// -- Frame bombé: clair en haut-gauche et foncé en bas-droite --
// -- Frame bombé: clair en haut-gauche et foncé en bas-droite --
void Window_display_frame_out(word x_pos,word y_pos,word width,word height)
{
Window_display_frame_generic(x_pos,y_pos,width,height,MC_White,MC_Dark,MC_Light,MC_White,MC_Dark);
}
// -- Frame de séparation: un cadre bombé dans un cadre creux (3D!!!) --
// -- Frame de séparation: un cadre bombé dans un cadre creux (3D!!!) --
void Window_display_frame(word x_pos,word y_pos,word width,word height)
{
@@ -168,7 +168,7 @@ void Window_display_frame(word x_pos,word y_pos,word width,word height)
}
//-- Affichages relatifs à la palette dans le menu ---------------------------
//-- Affichages relatifs à la palette dans le menu ---------------------------
// -- Affichage des couleurs courante (fore/back) de pinceau dans le menu --
@@ -438,19 +438,19 @@ void Change_palette_cells()
{
Menu_palette_cell_width = ((Screen_width/Menu_factor_X)-(MENU_WIDTH+2)) / Menu_cells_X;
// Si ça tient, c'est bon. Sinon, on retente avec une colonne de moins
// Si ça tient, c'est bon. Sinon, on retente avec une colonne de moins
if (Menu_palette_cell_width>2)
break;
Menu_cells_X--;
}
// Cale First_color_in_palette sur un multiple du nombre de cellules (arrondi inférieur)
// Cale First_color_in_palette sur un multiple du nombre de cellules (arrondi inférieur)
if (Config.Palette_vertical)
First_color_in_palette=First_color_in_palette/Menu_cells_X*Menu_cells_X;
else
First_color_in_palette=First_color_in_palette/Menu_cells_Y*Menu_cells_Y;
// Si le nombre de cellules a beaucoup augmenté et qu'on était près de
// Si le nombre de cellules a beaucoup augmenté et qu'on était près de
// la fin, il faut reculer First_color_in_palette pour montrer plein
// de couleurs.
if ((int)First_color_in_palette+(Menu_cells_Y)*Menu_cells_X*2>=256)
@@ -461,17 +461,17 @@ void Change_palette_cells()
First_color_in_palette=255/Menu_cells_Y*Menu_cells_Y-(Menu_cells_X-1)*Menu_cells_Y;
}
// Mise à jour de la taille du bouton dans le menu. C'est pour pas que
// Mise à jour de la taille du bouton dans le menu. C'est pour pas que
// la bordure noire soit active.
Buttons_Pool[BUTTON_CHOOSE_COL].Width=(Menu_palette_cell_width*Menu_cells_X)-1;
Buttons_Pool[BUTTON_CHOOSE_COL].Height=(MENU_HEIGHT-9)/Menu_cells_Y*Menu_cells_Y-1;
}
// Retrouve la couleur sur laquelle pointe le curseur souris.
// Cette fonction suppose qu'on a déja vérifié que le curseur est dans
// Cette fonction suppose qu'on a déja vérifié que le curseur est dans
// la zone rectangulaire du BUTTON_CHOOSE_COL
// La fonction renvoie -1 si on est "trop à gauche" (pas possible)
// ou après la couleur 255 (Ce qui peut arriver si la palette est affichée
// La fonction renvoie -1 si on est "trop à gauche" (pas possible)
// ou après la couleur 255 (Ce qui peut arriver si la palette est affichée
// avec un nombre de lignes qui n'est pas une puissance de deux.)
int Pick_color_in_palette()
{
@@ -870,7 +870,7 @@ static const byte * Get_font_character_pixel(unsigned int c)
}
}
// -- Afficher une chaîne n'importe où à l'écran --
// -- Afficher une chaîne n'importe où à l'écran --
void Print_general(short x,short y,const char * str,byte text_color,byte background_color)
{
@@ -889,7 +889,7 @@ void Print_general(short x,short y,const char * str,byte text_color,byte backgro
real_x=0; // Position dans le buffer
for (index=0;str[index]!='\0';index++)
{
// Pointeur sur le premier pixel du caractère
// Pointeur sur le premier pixel du caractère
font_pixel=Menu_font+((unsigned char)str[index]<<6);
for (x_pos=0;x_pos<8;x_pos+=1)
for (repeat_menu_x_factor=0;repeat_menu_x_factor<Menu_factor_X*Pixel_width;repeat_menu_x_factor++)
@@ -1093,11 +1093,11 @@ void Print_filename(void)
}
}
// Fonction d'affichage d'une chaine numérique avec une fonte très fine
// Spécialisée pour les compteurs RGB
// Fonction d'affichage d'une chaine numérique avec une fonte très fine
// Spécialisée pour les compteurs RGB
void Print_counter(short x,short y,const char * str,byte text_color,byte background_color)
{
// Macros pour écrire des litteraux binaires.
// Macros pour écrire des litteraux binaires.
// Ex: Ob(11110000) == 0xF0
#define Ob(x) ((unsigned)Ob_(0 ## x ## uL))
#define Ob_(x) ((x & 1) | (x >> 2 & 2) | (x >> 4 & 4) | (x >> 6 & 8) | \
@@ -1554,10 +1554,10 @@ void Display_paintbrush_in_menu(void)
Draw_menu_button(BUTTON_PAINTBRUSHES,BUTTON_RELEASED);
}
// -- Dessiner un pinceau prédéfini dans la fenêtre --
// -- Dessiner un pinceau prédéfini dans la fenêtre --
void Display_paintbrush_in_window(word x,word y,int number)
// Pinceau = 0..NB_PAINTBRUSH_SPRITES-1 : Pinceau prédéfini
// Pinceau = 0..NB_PAINTBRUSH_SPRITES-1 : Pinceau prédéfini
{
word x_pos;
word y_pos;
@@ -1588,7 +1588,7 @@ void Display_paintbrush_in_window(word x,word y,int number)
if (Paintbrush[number].Sprite[y_pos][x_pos])
Block(origin_x+window_x_pos*x_size,origin_y+window_y_pos*y_size,x_size,y_size,MC_Black);
// On n'utilise pas Pixel_in_window() car on ne dessine pas
// forcément avec la même taille de pixel.
// forcément avec la même taille de pixel.
Update_rect( ToWinX(origin_x), ToWinY(origin_y),
ToWinL(Paintbrush[number].Width),
@@ -1611,7 +1611,7 @@ void Draw_thingumajig(word x,word y, byte color, short direction)
Pixel_in_window(x,y+5,color);
}
// -- Dessiner un bloc de couleurs dégradé verticalement
// -- Dessiner un bloc de couleurs dégradé verticalement
void Display_grad_block_in_window(word x_pos,word y_pos,word width,word height,word block_start,word block_end)
{
@@ -1641,7 +1641,7 @@ void Display_grad_block_in_window(word x_pos,word y_pos,word width,word height,w
// -- Dessiner un petit sprite représentant le type d'un drive --
// -- Dessiner un petit sprite représentant le type d'un drive --
void Window_display_icon_sprite(word x_pos,word y_pos,byte type)
{
@@ -1657,15 +1657,15 @@ void Window_display_icon_sprite(word x_pos,word y_pos,byte type)
void Display_menu_palette_avoiding_window(byte * table)
{
// On part du principe qu'il n'y a que le bas d'une fenêtre qui puisse
// empiéter sur la palette... Et c'est déjà pas mal!
// On part du principe qu'il n'y a que le bas d'une fenêtre qui puisse
// empiéter sur la palette... Et c'est déjà pas mal!
word color,real_color;
word start_x,start_y;
word end_x,end_y;
word width;
word height;
word corner_x=Window_pos_X+Window_width*Menu_factor_X; // |_ Coin bas-droit
word corner_y=Window_pos_Y+Window_height*Menu_factor_Y; // | de la fenêtre +1
word corner_y=Window_pos_Y+Window_height*Menu_factor_Y; // | de la fenêtre +1
if (Config.Separate_colors)
{
@@ -1687,8 +1687,8 @@ void Display_menu_palette_avoiding_window(byte * table)
end_x=start_x+width;
end_y=start_y+height;
// On affiche le bloc en entier si on peut, sinon on le découpe autour
// de la fenêtre.
// On affiche le bloc en entier si on peut, sinon on le découpe autour
// de la fenêtre.
if ( (start_y>=corner_y) || (end_x<=Window_pos_X) || (start_x>=corner_x) )
Block(start_x,start_y,width,height,real_color);
else
@@ -1742,12 +1742,12 @@ void Display_menu_palette_avoiding_window(byte * table)
}
{
// Affichage du bloc directement dans le "buffer de fond" de la fenetre.
// Cela permet au bloc de couleur d'apparaitre si on déplace la fenetre.
// Cela permet au bloc de couleur d'apparaitre si on déplace la fenetre.
short x_pos;
short y_pos;
short relative_x; // besoin d'une variable signée
short relative_y; // besoin d'une variable signée
// Attention aux unités
short relative_x; // besoin d'une variable signée
short relative_y; // besoin d'une variable signée
// Attention aux unités
relative_x = ((short)start_x - (short)Window_pos_X);
relative_y = ((short)start_y - (short)Window_pos_Y);
@@ -1761,15 +1761,15 @@ void Display_menu_palette_avoiding_window(byte * table)
Update_rect(MENU_WIDTH*Menu_factor_X,Menu_Y_before_window,Screen_width-(MENU_WIDTH*Menu_factor_X),(Menu_height-11)*Menu_factor_Y);
}
// -------- Calcul des bornes de la partie d'image visible à l'écran ---------
// -------- Calcul des bornes de la partie d'image visible à l'écran ---------
void Compute_limits(void)
/*
Avant l'appel à cette fonction, les données de la loupe doivent être à jour.
Avant l'appel à cette fonction, les données de la loupe doivent être à jour.
*/
{
if (Main.magnifier_mode)
{
// -- Calcul des limites de la partie non zoomée de l'image --
// -- Calcul des limites de la partie non zoomée de l'image --
Limit_top =Main.offset_Y;
Limit_left=Main.offset_X;
Limit_visible_bottom =Limit_top+Menu_Y-1;
@@ -1785,7 +1785,7 @@ void Compute_limits(void)
else
Limit_right=Limit_visible_right;
// -- Calcul des limites de la partie zoomée de l'image --
// -- Calcul des limites de la partie zoomée de l'image --
Limit_top_zoom =Main.magnifier_offset_Y;
Limit_left_zoom=Main.magnifier_offset_X;
Limit_visible_bottom_zoom =Limit_top_zoom+Main.magnifier_height-1;
@@ -1822,7 +1822,7 @@ void Compute_limits(void)
}
// -- Calculer les coordonnées du pinceau en fonction du snap et de la loupe -
// -- Calculer les coordonnées du pinceau en fonction du snap et de la loupe -
void Compute_paintbrush_coordinates(void)
{
if ((Main.magnifier_mode) && (Mouse_X>=Main.X_zoom))
@@ -1900,7 +1900,7 @@ void Display_image_limits(void)
bottom_is_visible =Main.image_height<Menu_Y;
// On vérifie que la limite à droite est visible:
// On vérifie que la limite à droite est visible:
if (right_is_visible)
{
start=Limit_top;
@@ -1910,7 +1910,7 @@ void Display_image_limits(void)
if (bottom_is_visible)
end++;
// Juste le temps d'afficher les limites, on étend les limites de la loupe
// Juste le temps d'afficher les limites, on étend les limites de la loupe
// aux limites visibles, car sinon Pixel_preview ne voudra pas afficher.
old_zoom_limit=Limit_right_zoom;
Limit_right_zoom=Limit_visible_right_zoom;
@@ -1923,14 +1923,14 @@ void Display_image_limits(void)
Limit_right_zoom=old_zoom_limit;
}
// On vérifie que la limite en bas est visible:
// On vérifie que la limite en bas est visible:
if (bottom_is_visible)
{
start=Limit_left;
end=(Limit_right<Main.image_width)?
Limit_right:Main.image_width;
// On étend également les limites en bas (comme pour la limite droit)
// On étend également les limites en bas (comme pour la limite droit)
old_zoom_limit=Limit_bottom_zoom;
Limit_bottom_zoom=Limit_visible_bottom_zoom;
@@ -1946,7 +1946,7 @@ void Display_image_limits(void)
// -- Recadrer la partie non-zoomée de l'image par rapport à la partie zoomée
// -- Recadrer la partie non-zoomée de l'image par rapport à la partie zoomée
// lorsqu'on scrolle en mode Loupe --
void Position_screen_according_to_zoom(void)
{
@@ -2022,7 +2022,7 @@ void Position_screen_according_to_position(int target_x, int target_y)
}
// - Calcul des données du split en fonction de la proportion de chaque zone -
// - Calcul des données du split en fonction de la proportion de chaque zone -
void Compute_separator_data(void)
{
//short temp;
@@ -2031,13 +2031,13 @@ void Compute_separator_data(void)
Main.X_zoom=Screen_width-(((Screen_width+(Main.magnifier_factor>>1)-theoric_X)/Main.magnifier_factor)*Main.magnifier_factor);
Main.separator_position=Main.X_zoom-(Menu_factor_X*SEPARATOR_WIDTH);
// Correction en cas de débordement sur la gauche
// Correction en cas de débordement sur la gauche
while (Main.separator_position*(Main.magnifier_factor+1)<Screen_width-(Menu_factor_X*SEPARATOR_WIDTH))
{
Main.separator_position+=Main.magnifier_factor;
Main.X_zoom+=Main.magnifier_factor;
}
// Correction en cas de débordement sur la droite
// Correction en cas de débordement sur la droite
theoric_X=Screen_width-((NB_ZOOMED_PIXELS_MIN-1)*Main.magnifier_factor);
while (Main.X_zoom>=theoric_X)
{
@@ -2051,7 +2051,7 @@ void Compute_separator_data(void)
// -------------------- Calcul des information de la loupe -------------------
void Compute_magnifier_data(void)
/*
Après modification des données de la loupe, il faut recalculer les limites.
Après modification des données de la loupe, il faut recalculer les limites.
*/
{
Compute_separator_data();
@@ -2159,31 +2159,31 @@ void Copy_view_to_spare(void)
if (Main.image_width!=Spare.image_width || Main.image_height!=Spare.image_height)
return;
// Copie des décalages de la fenêtre principale (non zoomée) de l'image
// Copie des décalages de la fenêtre principale (non zoomée) de l'image
Spare.offset_X=Main.offset_X;
Spare.offset_Y=Main.offset_Y;
// Copie du booléen "Mode loupe" de l'image
// Copie du booléen "Mode loupe" de l'image
Spare.magnifier_mode=Main.magnifier_mode;
// Copie du facteur de zoom du brouillon
Spare.magnifier_factor=Main.magnifier_factor;
// Copie des dimensions de la fenêtre de zoom
// Copie des dimensions de la fenêtre de zoom
Spare.magnifier_width=Main.magnifier_width;
Spare.magnifier_height=Main.magnifier_height;
// Copie des décalages de la fenêtre de zoom
// Copie des décalages de la fenêtre de zoom
Spare.magnifier_offset_X=Main.magnifier_offset_X;
Spare.magnifier_offset_Y=Main.magnifier_offset_Y;
// Copie des données du split du zoom
// Copie des données du split du zoom
Spare.separator_position=Main.separator_position;
Spare.X_zoom=Main.X_zoom;
Spare.separator_proportion=Main.separator_proportion;
}
// -- Afficher la barre de séparation entre les parties zoomées ou non en
// -- Afficher la barre de séparation entre les parties zoomées ou non en
// mode Loupe --
void Display_separator(void)
@@ -2207,11 +2207,11 @@ void Display_separator(void)
Block(Main.separator_position+Menu_factor_X,Menu_factor_Y,
Menu_factor_X,(Menu_Y-(Menu_factor_Y<<1)),MC_White);
// Bord droite (gris foncé)
// Bord droite (gris foncé)
Block(Main.X_zoom-(Menu_factor_X<<1),Menu_factor_Y,
Menu_factor_X,(Menu_Y-(Menu_factor_Y<<1)),MC_Dark);
// Bord bas (gris foncé)
// Bord bas (gris foncé)
Block(Main.separator_position+(Menu_factor_X<<1),Menu_Y-Menu_factor_Y,
(SEPARATOR_WIDTH-3)*Menu_factor_X,Menu_factor_Y,MC_Dark);
@@ -2222,7 +2222,7 @@ void Display_separator(void)
Block(Main.X_zoom-(Menu_factor_X<<1),0,
Menu_factor_X,Menu_factor_Y,MC_Light);
Update_rect(Main.separator_position,0,SEPARATOR_WIDTH*Menu_factor_X,Menu_Y); // On réaffiche toute la partie à gauche du split, ce qui permet d'effacer son ancienne position
Update_rect(Main.separator_position,0,SEPARATOR_WIDTH*Menu_factor_X,Menu_Y); // On réaffiche toute la partie à gauche du split, ce qui permet d'effacer son ancienne position
}
@@ -2230,7 +2230,7 @@ void Display_separator(void)
// -- Fonctions de manipulation du curseur -----------------------------------
// -- Afficher une barre horizontale XOR zoomée
// -- Afficher une barre horizontale XOR zoomée
void Horizontal_XOR_line_zoom(short x_pos, short y_pos, short width)
{
@@ -2247,7 +2247,7 @@ void Horizontal_XOR_line_zoom(short x_pos, short y_pos, short width)
}
// -- Afficher une barre verticale XOR zoomée
// -- Afficher une barre verticale XOR zoomée
void Vertical_XOR_line_zoom(short x_pos, short y_pos, short height)
{
@@ -2281,7 +2281,7 @@ void Display_cursor(void)
float cos_a,sin_a;
short x1,y1,x2,y2,x3,y3,x4,y4;
// Si le curseur est dans le menu ou sur la barre de split, on affiche toujours une flèche.
// Si le curseur est dans le menu ou sur la barre de split, on affiche toujours une flèche.
if ( ( (Mouse_Y<Menu_Y)
&& ( (!Main.magnifier_mode) || (Mouse_X<Main.separator_position) || (Mouse_X>=Main.X_zoom) ) )
|| (Windows_open) || (Cursor_shape==CURSOR_SHAPE_HOURGLASS) )
@@ -2365,7 +2365,7 @@ void Display_cursor(void)
if (end_y<3)
Vertical_XOR_line (Mouse_X,Mouse_Y+3,3-end_y);
// Petites barres aux extrémités
// Petites barres aux extrémités
start_x=(!Mouse_X);
start_y=(!Mouse_Y);
@@ -2464,7 +2464,7 @@ void Display_cursor(void)
}
break;
case CURSOR_SHAPE_XOR_RECTANGLE :
// !!! Cette forme ne peut pas être utilisée en mode Loupe !!!
// !!! Cette forme ne peut pas être utilisée en mode Loupe !!!
// Petite croix au centre
start_x=(Mouse_X-3);
@@ -2573,7 +2573,7 @@ void Display_cursor(void)
void Hide_cursor(void)
{
byte shape;
int start_x; // int car sont parfois négatifs ! (quand on dessine sur un bord)
int start_x; // int car sont parfois négatifs ! (quand on dessine sur un bord)
int start_y;
short end_x;
short end_y;
@@ -2762,7 +2762,7 @@ void Hide_cursor(void)
break;
case CURSOR_SHAPE_XOR_RECTANGLE :
// !!! Cette forme ne peut pas être utilisée en mode Loupe !!!
// !!! Cette forme ne peut pas être utilisée en mode Loupe !!!
// Petite croix au centre
start_x=(Mouse_X-3);
@@ -2878,7 +2878,7 @@ void Display_all_screen(void)
word width;
word height;
// ---/\/\/\ Partie non zoomée: /\/\/\---
// ---/\/\/\ Partie non zoomée: /\/\/\---
if (Main.magnifier_mode)
{
if (Main.image_width<Main.separator_position)
@@ -2899,7 +2899,7 @@ void Display_all_screen(void)
height=Menu_Y;
Display_screen(width,height,Main.image_width);
// Effacement de la partie non-image dans la partie non zoomée:
// Effacement de la partie non-image dans la partie non zoomée:
if (Main.magnifier_mode)
{
if (Main.image_width<Main.separator_position && Main.image_width < Screen_width)
@@ -2913,7 +2913,7 @@ void Display_all_screen(void)
if (Main.image_height<Menu_Y)
Block(0,Main.image_height,width,(Menu_Y-height),Main.backups->Pages->Transparent_color);
// ---/\/\/\ Partie zoomée: /\/\/\---
// ---/\/\/\ Partie zoomée: /\/\/\---
if (Main.magnifier_mode)
{
// Affichage de la barre de split
@@ -2925,7 +2925,7 @@ void Display_all_screen(void)
else
width=Main.magnifier_width;
// Calcul du nombre de lignes visibles de l'image zoomée
// Calcul du nombre de lignes visibles de l'image zoomée
if (Main.image_height<Main.magnifier_height)
height=Main.image_height*Main.magnifier_factor;
else if (Main.image_height<Main.magnifier_offset_Y+Main.magnifier_height)
@@ -2936,7 +2936,7 @@ void Display_all_screen(void)
Display_zoomed_screen(width,height,Main.image_width,Horizontal_line_buffer);
// Effacement de la partie non-image dans la partie zoomée:
// Effacement de la partie non-image dans la partie zoomée:
if (Main.image_width<Main.magnifier_width)
Block(Main.X_zoom+(Main.image_width*Main.magnifier_factor),0,
(Main.magnifier_width-Main.image_width)*Main.magnifier_factor,
@@ -2948,7 +2948,7 @@ void Display_all_screen(void)
// ---/\/\/\ Affichage des limites /\/\/\---
if (Config.Display_image_limits)
Display_image_limits();
Update_rect(0,0,Screen_width,Menu_Y); // TODO On peut faire plus fin, en évitant de mettre à jour la partie à droite du split quand on est en mode loupe. Mais c'est pas vraiment intéressant ?
Update_rect(0,0,Screen_width,Menu_Y); // TODO On peut faire plus fin, en évitant de mettre à jour la partie à droite du split quand on est en mode loupe. Mais c'est pas vraiment intéressant ?
}
@@ -3156,7 +3156,7 @@ static byte Old_trans;
void Remap_pixel(byte * pixel)
{
if (*pixel==Old_light) // On commence par tester le Gris clair
*pixel=MC_Light; // qui est pas mal utilisé.
*pixel=MC_Light; // qui est pas mal utilisé.
else
{
if (*pixel==Old_black) // Puis le Noir...
@@ -3191,7 +3191,7 @@ void Remap_screen_after_menu_colors_change(void)
if ( (MC_Light!=Old_light) || (MC_Dark!=Old_dark) || (MC_White!=Old_white) || (MC_Black !=Old_black )
|| (MC_Trans!=Old_trans) )
{
// Création de la table de conversion
// Création de la table de conversion
for (index=0; index<256; index++)
conversion_table[index]=index;
@@ -3200,7 +3200,7 @@ void Remap_screen_after_menu_colors_change(void)
conversion_table[Old_light]=MC_Light;
conversion_table[Old_white]=MC_White;
// Remappage de l'écran
// Remappage de l'écran
// remap only screen pixels covered by a window or the menu
for (pos_y = 0; pos_y < Screen_height; pos_y++)
@@ -3231,11 +3231,11 @@ void Remap_screen_after_menu_colors_change(void)
if (Menu_is_visible_before_window)
{
/*
Il faudrait peut-être remapper les pointillés délimitant l'image.
Mais ça va être chiant parce qu'ils peuvent être affichés en mode Loupe.
Mais de toutes façons, c'est franchement facultatif...
Il faudrait peut-être remapper les pointillés délimitant l'image.
Mais ça va être chiant parce qu'ils peuvent être affichés en mode Loupe.
Mais de toutes façons, c'est franchement facultatif...
*/
// On passe la table juste pour ne rafficher que les couleurs modifiées
// On passe la table juste pour ne rafficher que les couleurs modifiées
Display_menu_palette_avoiding_window(conversion_table);
}
Clear_border(MC_Black);
@@ -3369,7 +3369,7 @@ void Compute_optimal_menu_colors(T_Components * palette)
&& Round_palette_component(palette[i].B)/tolerence==Gfx->Default_palette[Gfx->Color[0]].B/tolerence)
{
MC_Black=i;
// On cherche une couleur de transparence différente des 4 autres.
// On cherche une couleur de transparence différente des 4 autres.
for (MC_Trans=0; ((MC_Trans==MC_Black) || (MC_Trans==MC_Dark) ||
(MC_Trans==MC_Light) || (MC_Trans==MC_White)); MC_Trans++);
// Easy case
@@ -3419,7 +3419,7 @@ void Compute_optimal_menu_colors(T_Components * palette)
&& Round_palette_component(palette[i].B)/tolerence==cpc_colors[0].B/tolerence)
{
MC_Black=i;
// On cherche une couleur de transparence différente des 4 autres.
// On cherche une couleur de transparence différente des 4 autres.
for (MC_Trans=0; ((MC_Trans==MC_Black) || (MC_Trans==MC_Dark) ||
(MC_Trans==MC_Light) || (MC_Trans==MC_White)); MC_Trans++);
// Easy case
@@ -3510,16 +3510,16 @@ void Compute_optimal_menu_colors(T_Components * palette)
// SWAP_BYTES(MC_Light, MC_Dark)
//}
// Si deux des couleurs choisies ont le même index, c'est destructif car
// on fait ensuite un remap de l'image. Donc on évite ce problème (un
// Si deux des couleurs choisies ont le même index, c'est destructif car
// on fait ensuite un remap de l'image. Donc on évite ce problème (un
// peu brutalement)
// On commence par déplacer les gris, comme ça on a plus de chances de garder au moins
// On commence par déplacer les gris, comme ça on a plus de chances de garder au moins
// le blanc et le noir
//while (MC_Dark == MC_Light || MC_Dark == MC_White || MC_Black == MC_Dark || Same_color(palette, MC_Dark, MC_White)) MC_Dark--;
//while (MC_White == MC_Light || MC_Dark == MC_Light || MC_Black == MC_Light || Same_color(palette, MC_Light, MC_Black)) MC_Light--;
//while (MC_White == MC_Light || MC_Dark == MC_White || MC_Black == MC_White) MC_White--;
// On cherche une couleur de transparence différente des 4 autres.
// On cherche une couleur de transparence différente des 4 autres.
for (MC_Trans=0; ((MC_Trans==MC_Black) || (MC_Trans==MC_Dark) ||
(MC_Trans==MC_Light) || (MC_Trans==MC_White)); MC_Trans++);