diff --git a/src/Makefile b/src/Makefile index 8a00986c..b08dc644 100644 --- a/src/Makefile +++ b/src/Makefile @@ -2,7 +2,7 @@ # # Copyright 2018 Thomas Bernard # Copyright 2012 Franck Charlet -# Copyright 2011 Pawel Góralski +# Copyright 2011 Pawel Góralski # Copyright 2009 Per Olofsson # Copyright 2008 Peter Gordon # Copyright 2008-2010 Yves Rizoud diff --git a/src/brush.c b/src/brush.c index 403ebc23..47b153b5 100644 --- a/src/brush.c +++ b/src/brush.c @@ -42,8 +42,8 @@ static byte * Brush_rotate_buffer; static int Brush_rotate_width; static int Brush_rotate_height; -// Calcul de redimensionnement du pinceau pour éviter les débordements de -// l'écran et de l'image +// Calcul de redimensionnement du pinceau pour éviter les débordements de +// l'écran et de l'image void Compute_clipped_dimensions(short * x,short * y,short * width,short * height) { if ((*x)>1); Brush_offset_Y=(Brush_height>>1); - free(old_brush); // Libération de l'ancienne brosse + free(old_brush); // Libération de l'ancienne brosse } @@ -1131,12 +1131,12 @@ void Nibble_brush(void) } } } - // Cas du dernier pixel à droite de la ligne + // Cas du dernier pixel à droite de la ligne if (old_brush[((y_pos+1)*old_width)+x_pos+1]==Back_color) Pixel_in_brush(x_pos-1,y_pos,Back_color); } - // 2ème balayage (vertical) + // 2ème balayage (vertical) for (x_pos=0; x_posLimit_right) @@ -1224,10 +1224,10 @@ void Capture_brush_with_lasso(int vertices, short * points,short clear) if ((start_x=ScanY_X[0][y_pos]) { - if (isnan(ScanY_X[1][y_pos]) // Droit non défini + if (isnan(ScanY_X[1][y_pos]) // Droit non défini || (x_pos>ScanY_X[1][y_pos])) { ScanY_X[1][y_pos]=(float)x_pos; @@ -1711,7 +1711,7 @@ void Interpolate_texture(int start_x,int start_y,int xt1,int yt1, } else { - if (isnan(ScanY_X[1][y_pos])) // Droit non défini + if (isnan(ScanY_X[1][y_pos])) // Droit non défini { ScanY_X[1][y_pos]=ScanY_X[0][y_pos]; ScanY_Xt[1][y_pos]=ScanY_Xt[0][y_pos]; @@ -1748,7 +1748,7 @@ void Interpolate_texture(int start_x,int start_y,int xt1,int yt1, { xt=(((float)((y_pos-start_y)*delta_xt))/(float)delta_y2) + (float)xt1; yt=(((float)((y_pos-start_y)*delta_yt))/(float)delta_y2) + (float)yt1; - if (isnan(ScanY_X[0][y_pos])) // Gauche non défini + if (isnan(ScanY_X[0][y_pos])) // Gauche non défini { ScanY_X[0][y_pos]=(float)x_pos; ScanY_Xt[0][y_pos]=xt; @@ -1758,7 +1758,7 @@ void Interpolate_texture(int start_x,int start_y,int xt1,int yt1, { if ((float)x_pos>=ScanY_X[0][y_pos]) { - if (isnan(ScanY_X[1][y_pos]) // Droit non défini + if (isnan(ScanY_X[1][y_pos]) // Droit non défini || (x_pos>ScanY_X[1][y_pos])) { ScanY_X[1][y_pos]=(float)x_pos; @@ -1768,7 +1768,7 @@ void Interpolate_texture(int start_x,int start_y,int xt1,int yt1, } else { - if (isnan(ScanY_X[1][y_pos])) // Droit non défini + if (isnan(ScanY_X[1][y_pos])) // Droit non défini { ScanY_X[1][y_pos]=ScanY_X[0][y_pos]; ScanY_Xt[1][y_pos]=ScanY_Xt[0][y_pos]; @@ -1817,7 +1817,7 @@ void Compute_quad_texture( byte *texture, int texture_width, ScanY_X[0] =(float *)malloc(height*sizeof(float)); ScanY_X[1] =(float *)malloc(height*sizeof(float)); - // Fill_general avec des valeurs égales à NAN. + // Fill_general avec des valeurs égales à NAN. for (y=0; y>1); Main.magnifier_offset_Y=Mouse_Y-(Main.magnifier_height>>1); - // Calcul des coordonnées absolues de ce coin DANS L'IMAGE + // Calcul des coordonnées absolues de ce coin DANS L'IMAGE Main.magnifier_offset_X+=Main.offset_X; Main.magnifier_offset_Y+=Main.offset_Y; Clip_magnifier_offsets(&Main.magnifier_offset_X, &Main.magnifier_offset_Y); - // On calcule les bornes visibles dans l'écran + // On calcule les bornes visibles dans l'écran Position_screen_according_to_zoom(); Compute_limits(); Display_all_screen(); - // Repositionner le curseur en fonction des coordonnées visibles + // Repositionner le curseur en fonction des coordonnées visibles Compute_paintbrush_coordinates(); - // On fait de notre mieux pour restaurer l'ancienne opération: + // On fait de notre mieux pour restaurer l'ancienne opération: Start_operation_stack(Operation_before_interrupt); Display_cursor(); Wait_end_of_click(); @@ -121,11 +121,11 @@ void Magnifier_12_0(void) void Colorpicker_12_0(void) // -// Opération : OPERATION_COLORPICK +// Opération : OPERATION_COLORPICK // Click Souris: 1 ou 2 // Taille_Pile : 0 // -// Souris effacée: Oui +// Souris effacée: Oui // { Init_start_operation(); @@ -144,11 +144,11 @@ void Colorpicker_12_0(void) void Colorpicker_1_1(void) // -// Opération : OPERATION_COLORPICK +// Opération : OPERATION_COLORPICK // Click Souris: 1 // Taille_Pile : 1 // -// Souris effacée: Non +// Souris effacée: Non // { char str[4]; @@ -186,11 +186,11 @@ void Colorpicker_1_1(void) void Colorpicker_2_1(void) // -// Opération : OPERATION_COLORPICK +// Opération : OPERATION_COLORPICK // Click Souris: 2 // Taille_Pile : 1 // -// Souris effacée: Non +// Souris effacée: Non // { char str[4]; @@ -229,11 +229,11 @@ void Colorpicker_2_1(void) void Colorpicker_0_1(void) // -// Opération : OPERATION_COLORPICK +// Opération : OPERATION_COLORPICK // Click Souris: 0 // Taille_Pile : 1 // -// Souris effacée: Oui +// Souris effacée: Oui // { short click; @@ -287,11 +287,11 @@ byte Rightclick_colorpick(byte cursor_visible) void Rightclick_colorpick_2_1(void) // -// Opération : OPERATION_RMB_COLORPICK +// Opération : OPERATION_RMB_COLORPICK // Click Souris: 2 // Taille_Pile : 1 // -// Souris effacée: Non +// Souris effacée: Non // { char str[4]; @@ -323,11 +323,11 @@ void Rightclick_colorpick_2_1(void) void Rightclick_colorpick_0_1(void) // -// Opération : OPERATION_RMB_COLORPICK +// Opération : OPERATION_RMB_COLORPICK // Click Souris: 0 // Taille_Pile : 1 // -// Souris effacée: Non +// Souris effacée: Non // { short dummy; @@ -356,31 +356,31 @@ void Rightclick_colorpick_0_1(void) void Brush_12_0(void) // -// Opération : OPERATION_GRAB_BRUSH +// Opération : OPERATION_GRAB_BRUSH // Click Souris: 1 ou 2 // Taille_Pile : 0 // -// Souris effacée: Oui +// Souris effacée: Oui // { Init_start_operation(); - if (Mouse_K==RIGHT_SIDE) // Besoin d'effacer la brosse après ? + if (Mouse_K==RIGHT_SIDE) // Besoin d'effacer la brosse après ? { Operation_push(1); - // Puisque la zone où on prend la brosse sera effacée, on fait un backup + // Puisque la zone où on prend la brosse sera effacée, on fait un backup Backup(); } else Operation_push(0); // On laisse une trace du curseur pour que l'utilisateur puisse visualiser - // où demarre sa brosse: + // où demarre sa brosse: Display_cursor(); - Operation_push(Paintbrush_X); // Début X - Operation_push(Paintbrush_Y); // Début Y - Operation_push(Paintbrush_X); // Dernière position X - Operation_push(Paintbrush_Y); // Dernière position Y + Operation_push(Paintbrush_X); // Début X + Operation_push(Paintbrush_Y); // Début Y + Operation_push(Paintbrush_X); // Dernière position X + Operation_push(Paintbrush_Y); // Dernière position Y if ((Config.Coords_rel) && (Menu_is_visible)) Print_in_menu("\035: 1 \022: 1",0); @@ -389,11 +389,11 @@ void Brush_12_0(void) void Brush_12_5(void) // -// Opération : OPERATION_GRAB_BRUSH +// Opération : OPERATION_GRAB_BRUSH // Click Souris: 1 ou 2 // Taille_Pile : 5 // -// Souris effacée: Non +// Souris effacée: Non // { char str[5]; @@ -435,11 +435,11 @@ void Brush_12_5(void) void Brush_0_5(void) // -// Opération : OPERATION_GRAB_BRUSH +// Opération : OPERATION_GRAB_BRUSH // Click Souris: 0 // Taille_Pile : 5 // -// Souris effacée: Oui +// Souris effacée: Oui // { short start_x; @@ -448,7 +448,7 @@ void Brush_0_5(void) short old_paintbrush_y; short clear; - // Comme on a demandé l'effacement du curseur, il n'y a plus de croix en + // Comme on a demandé l'effacement du curseur, il n'y a plus de croix en // (Paintbrush_X,Paintbrush_Y). C'est une bonne chose. Operation_stack_size-=2; @@ -461,7 +461,7 @@ void Brush_0_5(void) old_paintbrush_y=Paintbrush_Y; Paintbrush_X=start_x; Paintbrush_Y=start_y; - Hide_cursor(); // Maintenant, il n'y a plus de croix à l'écran. + Hide_cursor(); // Maintenant, il n'y a plus de croix à l'écran. Paintbrush_X=old_paintbrush_x; Paintbrush_Y=old_paintbrush_y; @@ -500,11 +500,11 @@ void Brush_0_5(void) void Polybrush_12_8(void) -// Opération : OPERATION_POLYBRUSH +// Opération : OPERATION_POLYBRUSH // Click Souris: 1 ou 2 // Taille_Pile : 8 // -// Souris effacée: Non +// Souris effacée: Non { short click; short end_y; @@ -528,13 +528,13 @@ void Polybrush_12_8(void) if (((start_x!=Paintbrush_X) || (start_y!=Paintbrush_Y)) && (Polyfill_number_of_points1)?start_x+(Brush_width>>1)-1:1; height=(Brush_height>1)?start_y+(Brush_height>>1)-1:1; break; - case 'X': // Moitié X + case 'X': // Moitié X width=(Brush_width>1)?start_x+(Brush_width>>1)-1:1; height=start_y+Brush_height-1; break; - case 'Y': // Moitié Y + case 'Y': // Moitié Y width=start_x+Brush_width-1; height=(Brush_height>1)?start_y+(Brush_height>>1)-1:1; break; @@ -872,11 +872,11 @@ void Stretch_brush_0_7(void) void Stretch_brush_2_7(void) // -// Opération : OPERATION_STRETCH_BRUSH +// Opération : OPERATION_STRETCH_BRUSH // Click Souris: 2 // Taille_Pile : 7 // -// Souris effacée: Oui +// Souris effacée: Oui // { short computed_x; @@ -894,7 +894,7 @@ void Stretch_brush_2_7(void) // On efface la preview de la brosse (et la croix) Display_all_screen(); - // Et enfin on stocke pour de bon la nouvelle brosse étirée + // Et enfin on stocke pour de bon la nouvelle brosse étirée Stretch_brush(start_x,start_y,computed_x,computed_y); Return_to_draw_mode(); @@ -906,11 +906,11 @@ void Stretch_brush_2_7(void) void Rotate_brush_12_0(void) // -// Opération : OPERATION_ROTATE_BRUSH +// Opération : OPERATION_ROTATE_BRUSH // Click Souris: 1 ou 2 // Taille_Pile : 0 // -// Souris effacée: Oui +// Souris effacée: Oui // { Init_start_operation(); @@ -919,11 +919,11 @@ void Rotate_brush_12_0(void) Brush_rotation_center_X=Paintbrush_X+(Brush_width>>1)-Brush_width; Brush_rotation_center_Y=Paintbrush_Y; Brush_rotation_center_is_defined=1; - Operation_push(Paintbrush_X); // Dernière position calculée X - Operation_push(Paintbrush_Y); // Dernière position calculée Y - Operation_push(Paintbrush_X); // Dernière position X - Operation_push(Paintbrush_Y); // Dernière position Y - Operation_push(1); // State précédent + Operation_push(Paintbrush_X); // Dernière position calculée X + Operation_push(Paintbrush_Y); // Dernière position calculée Y + Operation_push(Paintbrush_X); // Dernière position X + Operation_push(Paintbrush_Y); // Dernière position Y + Operation_push(1); // State précédent if ((Config.Coords_rel) && (Menu_is_visible)) Print_in_menu("Angle: 0\xb0 ",0); @@ -931,7 +931,7 @@ void Rotate_brush_12_0(void) else { Start_operation_stack(Operation_before_interrupt); - Wait_end_of_click(); // FIXME: celui-la il donne un résultat pas très chouette en visuel + Wait_end_of_click(); // FIXME: celui-la il donne un résultat pas très chouette en visuel } } @@ -939,11 +939,11 @@ void Rotate_brush_12_0(void) void Rotate_brush_1_5(void) // -// Opération : OPERATION_ROTATE_BRUSH +// Opération : OPERATION_ROTATE_BRUSH // Click Souris: 1 // Taille_Pile : 5 // -// Souris effacée: Non +// Souris effacée: Non // { char str[4]; @@ -958,7 +958,7 @@ void Rotate_brush_1_5(void) Operation_pop(&old_y); Operation_pop(&old_x); - // On corrige les coordonnées de la ligne si la touche shift est appuyée... + // On corrige les coordonnées de la ligne si la touche shift est appuyée... cursor_x = Paintbrush_X; cursor_y = Paintbrush_Y; if(SDL_GetModState() & KMOD_SHIFT) @@ -1006,11 +1006,11 @@ void Rotate_brush_1_5(void) void Rotate_brush_0_5(void) // -// Opération : OPERATION_ROTATE_BRUSH +// Opération : OPERATION_ROTATE_BRUSH // Click Souris: 0 // Taille_Pile : 5 // -// Souris effacée: Non +// Souris effacée: Non // { char str[4]; @@ -1029,7 +1029,7 @@ void Rotate_brush_0_5(void) Operation_pop(&old_y); Operation_pop(&old_x); - // On corrige les coordonnées de la ligne si la touche shift est appuyée... + // On corrige les coordonnées de la ligne si la touche shift est appuyée... cursor_x = Paintbrush_X; cursor_y = Paintbrush_Y; if(SDL_GetModState() & KMOD_SHIFT) @@ -1062,7 +1062,7 @@ void Rotate_brush_0_5(void) } // Utilise Key_ANSI au lieu de Key, car Get_input() met ce dernier - // à zero si une operation est en cours (Operation_stack_size!=0) + // à zero si une operation est en cours (Operation_stack_size!=0) if (Key_ANSI) { angle_change=1; @@ -1106,11 +1106,11 @@ void Rotate_brush_0_5(void) void Rotate_brush_2_5(void) // -// Opération : OPERATION_ROTATE_BRUSH +// Opération : OPERATION_ROTATE_BRUSH // Click Souris: 2 // Taille_Pile : 5 // -// Souris effacée: Oui +// Souris effacée: Oui // { short computed_x; @@ -1126,7 +1126,7 @@ void Rotate_brush_2_5(void) Operation_pop(&computed_y); Operation_pop(&computed_x); - // Calcul de l'angle par rapport à la dernière position calculée + // Calcul de l'angle par rapport à la dernière position calculée if ( (Brush_rotation_center_X==computed_x) && (Brush_rotation_center_Y==computed_y) ) angle=0.0; @@ -1138,7 +1138,7 @@ void Rotate_brush_2_5(void) if (dy>0) angle=M_2PI-angle; } - // Et enfin on stocke pour de bon la nouvelle brosse étirée + // Et enfin on stocke pour de bon la nouvelle brosse étirée Rotate_brush(angle); Return_to_draw_mode(); @@ -1161,11 +1161,11 @@ void Draw_stretch_spot(short x_pos, short y_pos) void Distort_brush_0_0(void) // -// Opération : OPERATION_DISTORT_BRUSH +// Opération : OPERATION_DISTORT_BRUSH // Click Souris: 0 // Taille_Pile : 0 // -// Souris effacée: Non +// Souris effacée: Non // { if ( Menu_is_visible ) @@ -1176,11 +1176,11 @@ void Distort_brush_0_0(void) void Distort_brush_1_0(void) // -// Opération : OPERATION_DISTORT_BRUSH +// Opération : OPERATION_DISTORT_BRUSH // Click Souris: 1 // Taille_Pile : 0 // -// Souris effacée: Non +// Souris effacée: Non // { short x_pos, y_pos; @@ -1235,11 +1235,11 @@ void Distort_brush_1_0(void) void Distort_brush_1_8(void) // -// Opération : OPERATION_DISTORT_BRUSH +// Opération : OPERATION_DISTORT_BRUSH // Click Souris: 1 // Taille_Pile : 8 // -// Souris effacée: No +// Souris effacée: No // { // How far (in pixels) you can catch a handle @@ -1282,11 +1282,11 @@ void Distort_brush_1_8(void) void Distort_brush_1_9(void) // -// Opération : OPERATION_DISTORT_BRUSH +// Opération : OPERATION_DISTORT_BRUSH // Click Souris: 1 // Taille_Pile : 9 // -// Souris effacée: No +// Souris effacée: No // { short i; @@ -1339,11 +1339,11 @@ void Distort_brush_1_9(void) } void Distort_brush_0_9(void) // -// Opération : OPERATION_DISTORT_BRUSH +// Opération : OPERATION_DISTORT_BRUSH // Click Souris: 0 // Taille_Pile : 9 // -// Souris effacée: No +// Souris effacée: No // { short selected_corner; @@ -1353,11 +1353,11 @@ void Distort_brush_0_9(void) void Distort_brush_2_0(void) // -// Opération : OPERATION_DISTORT_BRUSH +// Opération : OPERATION_DISTORT_BRUSH // Click Souris: 2 // Taille_Pile : 0 // -// Souris effacée: Oui +// Souris effacée: Oui // { Paintbrush_hidden=0; @@ -1372,11 +1372,11 @@ void Distort_brush_2_0(void) void Distort_brush_2_8(void) // -// Opération : OPERATION_DISTORT_BRUSH +// Opération : OPERATION_DISTORT_BRUSH // Click Souris: 2 // Taille_Pile : 8 // -// Souris effacée: Oui +// Souris effacée: Oui // { short i; diff --git a/src/buttons.c b/src/buttons.c index 7fe61cea..d48e5cb6 100644 --- a/src/buttons.c +++ b/src/buttons.c @@ -2,7 +2,7 @@ */ /* Grafx2 - The Ultimate 256-color bitmap paint program - Copyright 2011 Pawel Góralski + Copyright 2011 Pawel Góralski Copyright 2008 Yves Rizoud Copyright 2007-2017 Adrien Destugues (PulkoMandy) Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud) @@ -234,7 +234,7 @@ void Change_paintbrush_shape(byte shape) Paintbrush_shape=PAINTBRUSH_SHAPE_NONE; break; // Note: Il existe un Paintbrush_shape_before_lasso, mais comme le lasso aura - // été automatiquement désactivé avant d'arriver ici, y'a pas de problème. + // été automatiquement désactivé avant d'arriver ici, y'a pas de problème. } } @@ -440,8 +440,8 @@ void Button_Hide_menu(int btn) Compute_magnifier_data(); } - // On repositionne le décalage de l'image pour qu'il n'y ait pas d'in- - // -cohérences lorsqu'on sortira du mode Loupe. + // On repositionne le décalage de l'image pour qu'il n'y ait pas d'in- + // -cohérences lorsqu'on sortira du mode Loupe. if (Main.offset_Y+Screen_height>Main.image_height) { if (Screen_height>Main.image_height) @@ -611,7 +611,7 @@ byte Button_Quit_local_function(void) if (!Main.image_is_modified) return 1; - // On commence par afficher la fenêtre de QUIT + // On commence par afficher la fenêtre de QUIT Open_window(160,84,"Quit ?"); Window_set_normal_button(20,20,120,14,"Stay",0,1,KEY_ESC); // 1 Window_set_normal_button(20,40,120,14,"Save & quit",1,1,SDLK_s); // 2 @@ -656,14 +656,14 @@ byte Button_Quit_local_function(void) Display_cursor(); if (!File_error) - // L'ayant sauvée avec succès, + // L'ayant sauvée avec succès, return 1; // On peut quitter else // Il y a eu une erreur lors de la sauvegarde, return 0; // On ne peut donc pas quitter } else - // L'utilisateur ne veut pas écraser l'ancien fichier, + // L'utilisateur ne veut pas écraser l'ancien fichier, return 0; // On doit donc rester case 3 : return 1; // Quitter } @@ -680,7 +680,7 @@ void Button_Quit(int btn) if (Spare.image_is_modified) { Button_Page(BUTTON_PAGE); // On passe sur le brouillon - // Si l'utilisateur présente les derniers symptomes de l'abandon + // Si l'utilisateur présente les derniers symptomes de l'abandon if (Button_Quit_local_function()) Quitting=1; } @@ -698,7 +698,7 @@ void Button_Quit(int btn) } -//---------------------------- Effacer l'écran ------------------------------- +//---------------------------- Effacer l'écran ------------------------------- void Button_Clear(int btn) { Hide_cursor(); @@ -730,7 +730,7 @@ void Button_Clear_with_backcolor(int btn) } -//------------------------------- Paramètres --------------------------------- +//------------------------------- Paramètres --------------------------------- #define SETTING_PER_PAGE 11 #define SETTING_PAGES 5 @@ -1197,11 +1197,11 @@ void Button_Settings(int btn) Close_window(); Unselect_button(btn); // Raffichage du menu pour que les inscriptions qui y figurent soient - // retracées avec la nouvelle fonte + // retracées avec la nouvelle fonte Display_menu(); Display_cursor(); - // On vérifie qu'on peut bien allouer le nombre de pages Undo. + // On vérifie qu'on peut bien allouer le nombre de pages Undo. Set_number_of_backups(Config.Max_undo_pages); } @@ -1526,7 +1526,7 @@ void Button_Skins(int btn) Close_window(); Unselect_button(btn); - // Raffichage du menu pour que les inscriptions qui y figurent soient retracées avec la nouvelle fonte + // Raffichage du menu pour que les inscriptions qui y figurent soient retracées avec la nouvelle fonte Display_menu(); // Redraw all buttons, to ensure all specific sprites are in place. // This is necessary for multi-state buttons, for example Freehand. @@ -1578,7 +1578,7 @@ void Button_Page(int btn) End_of_modification(); // -- - // A la fin, on affiche l'écran + // A la fin, on affiche l'écran for (factor_index=0; ZOOM_FACTOR[factor_index]!=Main.magnifier_factor; factor_index++); //Change.magnifier_factor(factor_index,0); Compute_magnifier_data(); @@ -1633,7 +1633,7 @@ void Copy_image_only(void) // Copie des dimensions de l'image /* - C'est inutile, le "Backuper et redimensionner brouillon" a déjà modifié + C'est inutile, le "Backuper et redimensionner brouillon" a déjà modifié ces valeurs pour qu'elles soient correctes. */ /* @@ -2056,7 +2056,7 @@ void Button_Resolution(int btn) // Si l'utilisateur s'est servi du bouton droit de la souris: if (Mouse_K==2) { - // On affecte également les dimensions de l'image: + // On affecte également les dimensions de l'image: chosen_width=Video_mode[selected_mode].Width/Pixel_width; Num2str(chosen_width,str,4); Window_input_content(input_width_button,str); @@ -2080,10 +2080,10 @@ void Button_Resolution(int btn) chosen_pixel=Window_attribute2; break; - default: // Boutons de tag des états des modes + default: // Boutons de tag des états des modes temp=list_start+clicked_button-8; - if (Video_mode[temp].Fullscreen==1 && // On n'a pas le droit de cocher le mode fenêtré - !(Video_mode[temp].State & 128)) // Ni ceux non détectés par SDL + if (Video_mode[temp].Fullscreen==1 && // On n'a pas le droit de cocher le mode fenêtré + !(Video_mode[temp].State & 128)) // Ni ceux non détectés par SDL { if (Window_attribute1==LEFT_SIDE) Video_mode[temp].State=((Video_mode[temp].State&0x7F)+1)&3; @@ -2097,7 +2097,7 @@ void Button_Resolution(int btn) } } - // Gestion des touches de déplacement dans la liste + // Gestion des touches de déplacement dans la liste switch (Key) { case SDLK_UP : // Haut @@ -2197,7 +2197,7 @@ void Button_Resolution(int btn) Video_mode[selected_mode].Fullscreen, chosen_pixel)) { - Error(0); // On signale à l'utilisateur que c'est un mode invalide + Error(0); // On signale à l'utilisateur que c'est un mode invalide Pixel_ratio=PIXEL_SIMPLE; Init_mode_video( Video_mode[Current_resolution].Width, @@ -2245,12 +2245,12 @@ void Button_Safety_resolution(int btn) Display_all_screen(); Unselect_button(btn); - // Le pinceau est affiché à la position du clic et pas + // Le pinceau est affiché à la position du clic et pas Display_cursor(); } -//------------------ Gestion des boutons de dessin à la main ----------------- +//------------------ Gestion des boutons de dessin à la main ----------------- void Button_Draw(int btn) { @@ -2420,21 +2420,21 @@ void Button_Circle_switch_mode(int btn) Window_dropdown_clear_items(&dropdown); } -// -- Gestion du menu des dégradés ------------------------------------------ +// -- Gestion du menu des dégradés ------------------------------------------ void Draw_button_gradient_style(short x_pos,short y_pos,int technique) { short line; - // On commence par afficher les 2 côtés qui constituent le dégradé de base: - // Côté gauche (noir) + // On commence par afficher les 2 côtés qui constituent le dégradé de base: + // Côté gauche (noir) Window_rectangle(x_pos+2, y_pos+2, 6, 10, MC_Black); - // Côté droit (blanc) + // Côté droit (blanc) Window_rectangle(x_pos+8, y_pos+2, 5, 10, MC_White); switch(technique) { - case 1 : // Dégradé de trames simples - // Au centre, on place 10 lignes tramées simplement + case 1 : // Dégradé de trames simples + // Au centre, on place 10 lignes tramées simplement for (line=2;line<2+10;line++) if (line&1) { @@ -2450,8 +2450,8 @@ void Draw_button_gradient_style(short x_pos,short y_pos,int technique) Pixel_in_window(x_pos+ 9,y_pos+line,MC_Black); } break; - case 2 : // Dégradé de trames étendues - // Au centre, on place 10 lignes tramées de façon compliquée + case 2 : // Dégradé de trames étendues + // Au centre, on place 10 lignes tramées de façon compliquée for (line=2;line<2+10;line++) if (line&1) { @@ -2487,20 +2487,20 @@ void Load_gradient_data(int index) switch(Main.backups->Pages->Gradients->Range[index].Technique) { - case 0 : // Degradé de base + case 0 : // Degradé de base Gradient_function=Gradient_basic; break; - case 1 : // Dégradé de trames simples + case 1 : // Dégradé de trames simples Gradient_function=Gradient_dithered; break; - case 2 : // Dégradé de trames étendues + case 2 : // Dégradé de trames étendues Gradient_function=Gradient_extra_dithered; } } void Draw_gradient_preview(short start_x,short start_y,short width,short height,int index) { - short x_pos; // Variables de balayage du block en bas de l'écran. + short x_pos; // Variables de balayage du block en bas de l'écran. short y_pos; short end_x; short end_y; @@ -2584,7 +2584,7 @@ void Button_Gradients(int btn) Num2str(Current_gradient+1,str,2); Print_in_window(215,100,str,MC_Black,MC_Light); - // On affiche le cadre autour de la préview + // On affiche le cadre autour de la préview Window_display_frame_in(7,127,110,16); // On affiche la preview Draw_gradient_preview(8,128,108,14,Current_gradient); @@ -2616,7 +2616,7 @@ void Button_Gradients(int btn) // On affiche le sens qui va avec Print_in_window(12,23,(Main.backups->Pages->Gradients->Range[Current_gradient].Inverse)?"\033":"\032",MC_Black,MC_Light); - // On raffiche le mélange (jauge) qui va avec + // On raffiche le mélange (jauge) qui va avec mix_scroller->Position=Main.backups->Pages->Gradients->Range[Current_gradient].Mix; Window_draw_slider(mix_scroller); @@ -2660,11 +2660,11 @@ void Button_Gradients(int btn) { // On vient de clicker - // On met à jour l'intervalle du dégradé + // On met à jour l'intervalle du dégradé first_color=last_color=Main.backups->Pages->Gradients->Range[Current_gradient].Start=Main.backups->Pages->Gradients->Range[Current_gradient].End=temp_color; // On tagge le bloc Tag_color_range(Main.backups->Pages->Gradients->Range[Current_gradient].Start,Main.backups->Pages->Gradients->Range[Current_gradient].End); - // Tracé de la preview: + // Tracé de la preview: Draw_gradient_preview(8,128,108,14,Current_gradient); } else @@ -2672,7 +2672,7 @@ void Button_Gradients(int btn) // On maintient le click, on va donc tester si le curseur bouge if (temp_color!=last_color) { - // On commence par ordonner la 1ère et dernière couleur du bloc + // On commence par ordonner la 1ère et dernière couleur du bloc if (first_colorPages->Gradients->Range[Current_gradient].Start=first_color; @@ -2687,7 +2687,7 @@ void Button_Gradients(int btn) Main.backups->Pages->Gradients->Range[Current_gradient].Start=Main.backups->Pages->Gradients->Range[Current_gradient].End=first_color; // On tagge le bloc Tag_color_range(Main.backups->Pages->Gradients->Range[Current_gradient].Start,Main.backups->Pages->Gradients->Range[Current_gradient].End); - // Tracé de la preview: + // Tracé de la preview: Draw_gradient_preview(8,128,108,14,Current_gradient); last_color=temp_color; } @@ -2695,14 +2695,14 @@ void Button_Gradients(int btn) Display_cursor(); } break; - case 2 : // Nouvel indice de dégradé + case 2 : // Nouvel indice de dégradé // Nouvel indice dans Window_attribute2 Current_gradient=Window_attribute2; changed_gradient_index=1; break; - case 3 : // Nouveau mélange de dégradé + case 3 : // Nouveau mélange de dégradé Hide_cursor(); - // Nouvel mélange dans Window_attribute2 + // Nouvel mélange dans Window_attribute2 Main.backups->Pages->Gradients->Range[Current_gradient].Mix=Window_attribute2; // On affiche la nouvelle preview Draw_gradient_preview(8,128,108,14,Current_gradient); @@ -2744,7 +2744,7 @@ void Button_Gradients(int btn) if (!Mouse_K) switch (Key) { - case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu + case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu case SDLK_COMMA : Get_color_behind_window(&color,&click); if (click) @@ -2752,11 +2752,11 @@ void Button_Gradients(int btn) Hide_cursor(); temp_color=color; - // On met à jour l'intervalle du dégradé + // On met à jour l'intervalle du dégradé first_color=last_color=Main.backups->Pages->Gradients->Range[Current_gradient].Start=Main.backups->Pages->Gradients->Range[Current_gradient].End=temp_color; // On tagge le bloc Tag_color_range(Main.backups->Pages->Gradients->Range[Current_gradient].Start,Main.backups->Pages->Gradients->Range[Current_gradient].End); - // Tracé de la preview: + // Tracé de la preview: Draw_gradient_preview(8,128,108,14,Current_gradient); Display_cursor(); Wait_end_of_click(); @@ -2816,7 +2816,7 @@ void Button_Gradients(int btn) } -// -- Gestion des boutons de cercle / ellipse / rectangle dégradés -------------------- +// -- Gestion des boutons de cercle / ellipse / rectangle dégradés -------------------- void Button_Grad_rectangle(int btn) { @@ -3073,7 +3073,7 @@ void Button_Brush_monochrome(int btn) Display_cursor(); } -// -- Fonction renvoyant le mode vidéo le plus adapté à l'image chargée ----- +// -- Fonction renvoyant le mode vidéo le plus adapté à l'image chargée ----- #define TOLERANCE_X 8 #define TOLERANCE_Y 4 int Best_video_mode(void) @@ -3083,11 +3083,11 @@ int Best_video_mode(void) short temp_x,temp_y; int mode; - // Si mode fenêtre, on reste dans ce mode. + // Si mode fenêtre, on reste dans ce mode. if (Current_resolution == 0) return 0; - // On commence par borner les dimensions, ou du moins les rendre cohérentes + // On commence par borner les dimensions, ou du moins les rendre cohérentes if ((Original_screen_X<=0) || (Config.Set_resolution_according_to==2)) Original_screen_X=Main.image_width; else @@ -3223,7 +3223,7 @@ void Load_picture(enum CONTEXT_TYPE type) Select_button(BUTTON_DRAW,LEFT_SIDE); if (Config.Auto_discontinuous) { - // On se place en mode Dessin discontinu à la main + // On se place en mode Dessin discontinu à la main while (Current_operation!=OPERATION_DISCONTINUOUS_DRAW) Select_button(BUTTON_DRAW,RIGHT_SIDE); } @@ -3312,7 +3312,7 @@ void Load_picture(enum CONTEXT_TYPE type) void Button_Load(int btn) { (void)btn; - // On sauve l'état actuel des paramètres de l'image pour pouvoir les + // On sauve l'état actuel des paramètres de l'image pour pouvoir les // restituer en cas d'erreur n'affectant pas l'image Upload_infos_page(&Main); @@ -3327,7 +3327,7 @@ void Button_Reload(int btn) int new_mode; (void)btn; - // On sauve l'état actuel des paramètres de l'image pour pouvoir les + // On sauve l'état actuel des paramètres de l'image pour pouvoir les // restituer en cas d'erreur n'affectant pas l'image Upload_infos_page(&Main); @@ -3437,10 +3437,10 @@ static void Backup_existing_file(const char * filename) File_error=0; // On fait un backup si le nom du fichier n'est pas celui qu'on a choisi - // pour nommer les backups (c'est évident!). + // pour nommer les backups (c'est évident!). if (strcmp(new_filename,filename)) { - // S'il y avait déjà un fichier Backup, on l'efface + // S'il y avait déjà un fichier Backup, on l'efface if ((File_exists(new_filename)) && (remove(new_filename)!=0)) File_error=1; @@ -3673,7 +3673,7 @@ void Button_Brush(int btn) void Button_Unselect_brush(int btn) { (void)btn; - // On fait de notre mieux pour restaurer l'ancienne opération: + // On fait de notre mieux pour restaurer l'ancienne opération: Start_operation_stack(Operation_before_interrupt); } @@ -3712,7 +3712,7 @@ void Button_Lasso(int btn) void Button_Unselect_lasso(int btn) { (void)btn; - // On fait de notre mieux pour restaurer l'ancienne opération: + // On fait de notre mieux pour restaurer l'ancienne opération: Start_operation_stack(Operation_before_interrupt); Paintbrush_shape=Paintbrush_shape_before_lasso; } @@ -3751,7 +3751,7 @@ void Button_Unselect_colorpicker(int btn) ( (!Main.magnifier_mode) || (Mouse_X=Main.X_zoom) ) ) Print_in_menu("X: Y: ",0); - // On fait de notre mieux pour restaurer l'ancienne opération: + // On fait de notre mieux pour restaurer l'ancienne opération: if (Current_operation==OPERATION_COLORPICK) { Start_operation_stack(Operation_before_interrupt); @@ -3799,32 +3799,32 @@ void Button_Magnify(int btn) Start_operation_stack(OPERATION_MAGNIFY); } else - { /* Ceci est de la duplication de code de presque toute l'opération de */ - /* la loupe... Il serait peut-être plus propre de faire une procédure */ + { /* Ceci est de la duplication de code de presque toute l'opération de */ + /* la loupe... Il serait peut-être plus propre de faire une procédure */ /* qui s'en charge... */ // On passe en mode loupe Main.magnifier_mode=1; - // La fonction d'affichage dans la partie image est désormais un affichage - // spécial loupe. + // La fonction d'affichage dans la partie image est désormais un affichage + // spécial loupe. Pixel_preview=Pixel_preview_magnifier; // On calcule l'origine de la loupe Main.magnifier_offset_X=Mouse_X-(Main.magnifier_width>>1); Main.magnifier_offset_Y=Mouse_Y-(Main.magnifier_height>>1); - // Calcul des coordonnées absolues de ce coin DANS L'IMAGE + // Calcul des coordonnées absolues de ce coin DANS L'IMAGE Main.magnifier_offset_X+=Main.offset_X; Main.magnifier_offset_Y+=Main.offset_Y; Clip_magnifier_offsets(&Main.magnifier_offset_X, &Main.magnifier_offset_Y); - // On calcule les bornes visibles dans l'écran + // On calcule les bornes visibles dans l'écran Position_screen_according_to_zoom(); Compute_limits(); Display_all_screen(); - // Repositionner le curseur en fonction des coordonnées visibles + // Repositionner le curseur en fonction des coordonnées visibles Compute_paintbrush_coordinates(); } } @@ -3887,12 +3887,12 @@ void Button_Unselect_magnifier(int btn) Main.magnifier_mode=0; - // --> Recalculer le décalage de l'écran lorsqu'on sort de la loupe <-- - // Centrage "brut" de lécran par rapport à la loupe + // --> Recalculer le décalage de l'écran lorsqu'on sort de la loupe <-- + // Centrage "brut" de lécran par rapport à la loupe Main.offset_X=Main.magnifier_offset_X-((Screen_width-Main.magnifier_width)>>1); Main.offset_Y=Main.magnifier_offset_Y-((Menu_Y-Main.magnifier_height)>>1); - // Correction en cas de débordement de l'image + // Correction en cas de débordement de l'image if (Main.offset_X+Screen_width>Main.image_width) Main.offset_X=Main.image_width-Screen_width; if (Main.offset_X<0) @@ -3903,19 +3903,19 @@ void Button_Unselect_magnifier(int btn) if (Main.offset_Y<0) Main.offset_Y=0; - // La fonction d'affichage dans l'image est désormais un affichage normal. + // La fonction d'affichage dans l'image est désormais un affichage normal. Pixel_preview=Pixel_preview_normal; - // Calculer les bornes visibles dans l'écran + // Calculer les bornes visibles dans l'écran Compute_limits(); Display_all_screen(); // <=> Display_screen(); - // Repositionner le curseur en fonction des coordonnées visibles + // Repositionner le curseur en fonction des coordonnées visibles Compute_paintbrush_coordinates(); Old_MX = -1; Old_MY = -1; } - else // On fait de notre mieux pour restaurer l'ancienne opération: + else // On fait de notre mieux pour restaurer l'ancienne opération: Start_operation_stack(Operation_before_interrupt); } @@ -3944,7 +3944,7 @@ void Button_Brush_FX(int btn) Window_set_normal_button(155, 99,131,14,"Recolorize" ,0,1,Config_Key[SPECIAL_RECOLORIZE_BRUSH][0]); // 9 Window_set_normal_button(155,117,131,14,"Get brush colors",0,1,Config_Key[SPECIAL_GET_BRUSH_COLORS][0]); // 10 - // Boutons représentant les coins du brush handle: (HG,HD,C,BG,BD) + // Boutons représentant les coins du brush handle: (HG,HD,C,BG,BD) Window_set_normal_button( 75, 90,11,11,"",0,1,Config_Key[SPECIAL_TOP_LEFT_ATTACHMENT][0]); // 11 Window_set_normal_button(103, 90,11,11,"",0,1,Config_Key[SPECIAL_TOP_RIGHT_ATTACHMENT][0]); // 12 Window_set_normal_button( 89,104,11,11,"",0,1,Config_Key[SPECIAL_CENTER_ATTACHMENT][0]); // 13 @@ -3966,7 +3966,7 @@ void Button_Brush_FX(int btn) Print_in_window( 20,102,"Brush",MC_Dark,MC_Light); Print_in_window( 16,110,"handle",MC_Dark,MC_Light); - // Dessin des pointillés pour le "brush handle" + // Dessin des pointillés pour le "brush handle" for (index=0; index<13; index+=2) { Pixel_in_window( 88+index, 92,MC_Dark); @@ -4013,7 +4013,7 @@ void Button_Brush_FX(int btn) Close_window(); Unselect_button(btn); - // Gestion du bouton clické + // Gestion du bouton clické switch (clicked_button) { case 2 : // Flip X @@ -4026,10 +4026,10 @@ void Button_Brush_FX(int btn) // Remap according to the last used remap table Remap_general_lowlevel(Brush_colormap,Brush_original_pixels,Brush,Brush_width,Brush_height,Brush_width); break; - case 4 : // 90° Rotation + case 4 : // 90° Rotation Rotate_90_deg(); break; - case 5 : // 180° Rotation + case 5 : // 180° Rotation Rotate_180_deg_lowlevel(Brush_original_pixels, Brush_width, Brush_height); Remap_general_lowlevel(Brush_colormap,Brush_original_pixels,Brush,Brush_width,Brush_height,Brush_width); Brush_offset_X=(Brush_width>>1); @@ -4094,7 +4094,7 @@ void Button_Brush_FX(int btn) } -//---------------------------- Courbes de Bézier ---------------------------- +//---------------------------- Courbes de Bézier ---------------------------- void Button_Curves(int btn) { @@ -4220,11 +4220,11 @@ void Button_Airbrush_menu(int btn) Window_display_frame(173,56,45,86); Window_display_frame(137,19,81,33); - // On tagge toutes les couleurs utilisées + // On tagge toutes les couleurs utilisées for (index=0; index<256; index++) if (Airbrush_multi_flow[index]) Stencil_tag_color(index,MC_Black); - // Et enfin, on tagge la couleur sélectionnée + // Et enfin, on tagge la couleur sélectionnée Stencil_tag_color(selected_color,MC_White); Refresh_airbrush_settings(selected_color,0); @@ -4269,7 +4269,7 @@ void Button_Airbrush_menu(int btn) Hide_cursor(); Stencil_tag_color(selected_color,(Airbrush_multi_flow[selected_color])?MC_Black:MC_Light); Stencil_update_color(selected_color); - // Mettre la couleur sélectionnée à jour suivant le click + // Mettre la couleur sélectionnée à jour suivant le click selected_color=(clicked_button==4) ? Window_attribute2 : Read_pixel(Mouse_X,Mouse_Y); if (Mouse_K==2) Airbrush_multi_flow[selected_color]=0; @@ -4277,7 +4277,7 @@ void Button_Airbrush_menu(int btn) if (Airbrush_multi_flow[selected_color]==0) Airbrush_multi_flow[selected_color]=spray_init; - // Tagger la couleur sélectionnée en blanc + // Tagger la couleur sélectionnée en blanc Stencil_tag_color(selected_color,MC_White); Refresh_airbrush_settings(selected_color,1); Display_cursor(); @@ -4333,7 +4333,7 @@ void Button_Airbrush_menu(int btn) Display_cursor(); break; - case 9 : // ÷2 + case 9 : // ÷2 for (index=0; index<256; index++) { if (Airbrush_multi_flow[index]>1) @@ -4346,11 +4346,11 @@ void Button_Airbrush_menu(int btn) case 10 : // Clear memset(Airbrush_multi_flow,0,256); - // On raffiche les infos de la couleur sélectionnée + // On raffiche les infos de la couleur sélectionnée Refresh_airbrush_settings(selected_color,1); // On efface les anciens TAGs Window_clear_tags(); - // Tagger la couleur sélectionnée en blanc + // Tagger la couleur sélectionnée en blanc Stencil_tag_color(selected_color,MC_White); Stencil_update_color(selected_color); break; @@ -4427,7 +4427,7 @@ void Button_Airbrush_menu(int btn) if (!Mouse_K) switch (Key) { - case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu + case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu case SDLK_COMMA : Get_color_behind_window(&color,&click); if (click) @@ -4435,7 +4435,7 @@ void Button_Airbrush_menu(int btn) Hide_cursor(); Stencil_tag_color(selected_color,(Airbrush_multi_flow[selected_color])?MC_Black:MC_Light); Stencil_update_color(selected_color); - // Mettre la couleur sélectionnée à jour suivant le click + // Mettre la couleur sélectionnée à jour suivant le click selected_color=color; if (click==2) Airbrush_multi_flow[selected_color]=0; @@ -4443,7 +4443,7 @@ void Button_Airbrush_menu(int btn) if (Airbrush_multi_flow[selected_color]==0) Airbrush_multi_flow[selected_color]=spray_init; - // Tagger la couleur sélectionnée en blanc + // Tagger la couleur sélectionnée en blanc Stencil_tag_color(selected_color,MC_White); Refresh_airbrush_settings(selected_color,1); Display_cursor(); @@ -4471,9 +4471,9 @@ void Button_Airbrush_menu(int btn) Close_window(); /* - // Tant que l'on aura pas résolu le problème du désenclenchement du mode - // de dessin précedent, il faudra laisser ça en remarque et donc passer en - // spray même si on a clické sur Cancel (idem pour OK (un peu plus bas)). + // Tant que l'on aura pas résolu le problème du désenclenchement du mode + // de dessin précedent, il faudra laisser ça en remarque et donc passer en + // spray même si on a clické sur Cancel (idem pour OK (un peu plus bas)). if (clicked_button==1) // Cancel { if (Current_operation!=OPERATION_AIRBRUSH) @@ -5284,7 +5284,7 @@ void Button_Text(int btn) Select_button(BUTTON_DRAW,LEFT_SIDE); if (Config.Auto_discontinuous) { - // On se place en mode Dessin discontinu à la main + // On se place en mode Dessin discontinu à la main while (Current_operation!=OPERATION_DISCONTINUOUS_DRAW) Select_button(BUTTON_DRAW,RIGHT_SIDE); } diff --git a/src/buttons.h b/src/buttons.h index 9d026a02..88c270b8 100644 --- a/src/buttons.h +++ b/src/buttons.h @@ -105,7 +105,7 @@ void Button_Brush_monochrome(int); */ void Button_Paintbrush_menu(int); -// Boutons relatifs au mode de dessin à main levée +// Boutons relatifs au mode de dessin à main levée /*! Callback for the freehand draw button left click. @@ -168,7 +168,7 @@ void Button_Airbrush(int); */ void Button_Airbrush_menu(int); -// Courbes de Bézier +// Courbes de Bézier /*! Callback for the curves button left click. @@ -204,7 +204,7 @@ void Button_Filled_rectangle(int); */ void Button_Text(int); -// Boutons relatifs aux dégradés +// Boutons relatifs aux dégradés /*! Callback for the gradation button. @@ -463,7 +463,7 @@ void Button_Lasso(int); */ void Button_Unselect_lasso(int); -// Button relatifs à la pipette +// Button relatifs à la pipette /*! Starts the color picking operation. @@ -497,14 +497,14 @@ void Button_Magnify_menu(int); */ void Button_Unselect_magnifier(int); -// Les différents effets sur la brosse +// Les différents effets sur la brosse /*! Display the Brush effects window. */ void Button_Brush_FX(int); -// Boutons relatifs aux différentes pages +// Boutons relatifs aux différentes pages /*! Swap main and spare drawing pages. @@ -526,7 +526,7 @@ void Copy_image_only(void); */ void Button_Kill(int); -// Boutons relatifs aux changements de résolution et de taille d'image +// Boutons relatifs aux changements de résolution et de taille d'image /*! Display the screenmode menu. @@ -560,7 +560,7 @@ void Button_Save(int); */ void Button_Autosave(int); -// Réglage des paramètres de l'utilisateur +// Réglage des paramètres de l'utilisateur /*! Display the setting menu. @@ -572,7 +572,7 @@ void Button_Settings(int); */ void Button_Skins(int); -// Annulation de la dernière modification +// Annulation de la dernière modification /*! Undo the last modification to the picture. diff --git a/src/buttons_effects.c b/src/buttons_effects.c index 3fc699c1..cde86d7e 100644 --- a/src/buttons_effects.c +++ b/src/buttons_effects.c @@ -67,13 +67,13 @@ void Menu_tag_colors(char * window_title, byte * table, byte * mode, byte can_ca { Window_set_normal_button(91,129,78,14,"OK" ,0,1,SDLK_RETURN); // 4 Window_set_normal_button( 7,129,78,14,"Cancel",0,1,KEY_ESC); // 5 - // On enregistre la table dans un backup au cas où on ferait Cancel + // On enregistre la table dans un backup au cas où on ferait Cancel memcpy(backup_table,table,256); } else Window_set_normal_button(49,129,78,14,"OK" ,0,1,SDLK_RETURN); // 4 - // On affiche l'état actuel de la table + // On affiche l'état actuel de la table for (index=0; index<=255; index++) Stencil_tag_color(index, (table[index])?MC_Black:MC_Light); @@ -123,7 +123,7 @@ void Menu_tag_colors(char * window_title, byte * table, byte * mode, byte can_ca if (!Mouse_K) switch (Key) { - case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu + case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu case SDLK_COMMA : Get_color_behind_window(&color,&click); if (click) @@ -682,7 +682,7 @@ void Button_Smooth_menu(void) if (clicked_button==2) // OK { memcpy(Smooth_matrix,chosen_matrix,sizeof(Smooth_matrix)); - Smooth_mode=0; // On le met à 0 car la fonct° suivante va le passer à 1 + Smooth_mode=0; // On le met à 0 car la fonct° suivante va le passer à 1 Button_Smooth_mode(); } @@ -754,9 +754,9 @@ void Button_Colorize_mode(void) void Button_Colorize_display_selection(int mode) { - short y_pos=0; // Ligne où afficher les flèches de sélection + short y_pos=0; // Ligne où afficher les flèches de sélection - // On commence par effacer les anciennes sélections: + // On commence par effacer les anciennes sélections: // Partie gauche Print_in_window(4,37," ",MC_Black,MC_Light); Print_in_window(4,57," ",MC_Black,MC_Light); @@ -768,19 +768,19 @@ void Button_Colorize_display_selection(int mode) Print_in_window(129,74," ",MC_Black,MC_Light); Print_in_window(129,91," ",MC_Black,MC_Light); - // Ensuite, on affiche la flèche là où il le faut: + // Ensuite, on affiche la flèche là où il le faut: switch(mode) { - case 0 : // Méthode interpolée + case 0 : // Méthode interpolée y_pos=37; break; - case 1 : // Méthode additive + case 1 : // Méthode additive y_pos=57; break; - case 2 : // Méthode soustractive + case 2 : // Méthode soustractive y_pos=74; break; - case 3 : // Méthode alpha + case 3 : // Méthode alpha y_pos=91; } Print_in_window(4,y_pos,"\020",MC_Black,MC_Light); @@ -825,7 +825,7 @@ void Button_Colorize_menu(void) switch(clicked_button) { - case 1: // Zone de saisie de l'opacité + case 1: // Zone de saisie de l'opacité Num2str(chosen_opacity,str,3); Readline(89,23,str,3,INPUT_TYPE_INTEGER); chosen_opacity=atoi(str); @@ -861,7 +861,7 @@ void Button_Colorize_menu(void) Colorize_opacity =chosen_opacity; Colorize_current_mode=selected_mode; Compute_colorize_table(); - Colorize_mode=0; // On le met à 0 car la fonct° suivante va le passer à 1 + Colorize_mode=0; // On le met à 0 car la fonct° suivante va le passer à 1 Button_Colorize_mode(); } @@ -917,12 +917,12 @@ void Button_Tiling_menu(void) { clicked_button=Window_clicked_button(); - if (clicked_button==3) // Zone de saisie du décalage X + if (clicked_button==3) // Zone de saisie du décalage X { Num2str(chosen_offset_x,str,4); Readline(93,23,str,4,INPUT_TYPE_INTEGER); chosen_offset_x=atoi(str); - // On corrige le décalage en X + // On corrige le décalage en X if (chosen_offset_x>=Brush_width) { chosen_offset_x=Brush_width-1; @@ -932,12 +932,12 @@ void Button_Tiling_menu(void) Display_cursor(); } else - if (clicked_button==4) // Zone de saisie du décalage Y + if (clicked_button==4) // Zone de saisie du décalage Y { Num2str(chosen_offset_y,str,4); Readline(93,37,str,4,INPUT_TYPE_INTEGER); chosen_offset_y=atoi(str); - // On corrige le décalage en Y + // On corrige le décalage en Y if (chosen_offset_y>=Brush_height) { chosen_offset_y=Brush_height-1; @@ -1000,9 +1000,9 @@ void Draw_sieve_scaled(short origin_x, short origin_y) short start_y=Window_pos_Y+(Menu_factor_Y*78); x_size=Menu_factor_X*5; // |_ Taille d'une case - y_size=Menu_factor_Y*5; // | de la trame zoomée + y_size=Menu_factor_Y*5; // | de la trame zoomée - // On efface de contenu précédent + // On efface de contenu précédent Block(origin_x,origin_y, Menu_factor_X*Window_special_button_list->Width, Menu_factor_Y*Window_special_button_list->Height,MC_Light); @@ -1024,7 +1024,7 @@ void Draw_sieve_scaled(short origin_x, short origin_y) } // Dessiner la preview de la trame - x_size=Menu_factor_X*51; // |_ Taille de la fenêtre + x_size=Menu_factor_X*51; // |_ Taille de la fenêtre y_size=Menu_factor_Y*71; // | de la preview for (y_pos=0; y_pos1) { Hide_cursor(); @@ -1297,7 +1297,7 @@ void Button_Sieve_menu(void) } break; - case 10 : // Réduire largeur + case 10 : // Réduire largeur if (Sieve_width>1) { Hide_cursor(); @@ -1325,7 +1325,7 @@ void Button_Sieve_menu(void) } break; - case 12 : // Toggle octets insérés + case 12 : // Toggle octets insérés Hide_cursor(); default_bg_color=!default_bg_color; Window_rectangle(button_bg_color->Pos_X+2, @@ -1396,7 +1396,7 @@ void Button_Sieve_menu(void) Update_sieve_area(origin_x, origin_y); break; - default : // Boutons de trames prédéfinies + default : // Boutons de trames prédéfinies Hide_cursor(); Copy_preset_sieve(clicked_button-17); Draw_sieve_scaled(origin_x,origin_y); diff --git a/src/const.h b/src/const.h index ca246220..f74cc93d 100644 --- a/src/const.h +++ b/src/const.h @@ -85,7 +85,7 @@ // Character to show a left arrow, used when editing long strings. It's present in ::Gfx->System_font #define LEFT_TRIANGLE_CHARACTER 17 /// Character to display in menus for an ellipsis. -//#define ELLIPSIS_CHARACTER '…' +//#define ELLIPSIS_CHARACTER '…' #define ELLIPSIS_CHARACTER '\x85' #define NB_LAYERS 1 ///< Initial number of layers for a new image #define MAX_NB_FRAMES 999 ///< Maximum number of frames that can be used in a grafx2 animation. diff --git a/src/engine.c b/src/engine.c index 8933e76a..f78bee94 100644 --- a/src/engine.c +++ b/src/engine.c @@ -53,7 +53,7 @@ short Old_MY = -1; //---------- Annuler les effets des modes de dessin (sauf la grille) --------- -// Variables mémorisants les anciens effets +// Variables mémorisants les anciens effets byte Shade_mode_before_cancel; byte Quick_shade_mode_before_cancel; @@ -374,11 +374,11 @@ void Unselect_button(int btn_number) { if (Buttons_Pool[btn_number].Pressed) { - // On considère que le bouton est relâché + // On considère que le bouton est relâché Buttons_Pool[btn_number].Pressed=BUTTON_RELEASED; - // On affiche le cadre autour du bouton de façon à ce qu'il paraisse relâché + // On affiche le cadre autour du bouton de façon à ce qu'il paraisse relâché Draw_menu_button(btn_number,BUTTON_RELEASED); - // On appelle le désenclenchement particulier au bouton: + // On appelle le désenclenchement particulier au bouton: Buttons_Pool[btn_number].Unselect_action(btn_number); } } @@ -419,31 +419,31 @@ void Select_button(int btn_number,byte click) Draw_menu_button(btn_number-1, BUTTON_RELEASED); } - // On note déjà la famille du bouton (La "Famiglia" c'est sacré) + // On note déjà la famille du bouton (La "Famiglia" c'est sacré) family=Buttons_Pool[btn_number].Family; switch (family) { - case FAMILY_TOOLBAR: // On ne fait rien (on préserve les interruptions) + case FAMILY_TOOLBAR: // On ne fait rien (on préserve les interruptions) break; - case FAMILY_INTERRUPTION: // Petit cas spécial dans la famille "Interruption": + case FAMILY_INTERRUPTION: // Petit cas spécial dans la famille "Interruption": if ((btn_number!=BUTTON_MAGNIFIER) || (!Main.magnifier_mode)) // Pour chaque bouton: for (b=0; bHover_effect && prev_button_number > -1 && !Buttons_Pool[prev_button_number].Pressed) @@ -1528,7 +1528,7 @@ void Main_handler(void) // Le curseur se trouve dans l'image - if ( (!Cursor_in_menu) && (Menu_is_visible) && (Old_MY != Mouse_Y || Old_MX != Mouse_X || Key || Mouse_K)) // On ne met les coordonnées à jour que si l'utilisateur a fait un truc + if ( (!Cursor_in_menu) && (Menu_is_visible) && (Old_MY != Mouse_Y || Old_MX != Mouse_X || Key || Mouse_K)) // On ne met les coordonnées à jour que si l'utilisateur a fait un truc { if(Cursor_in_menu_previous) { @@ -1576,14 +1576,14 @@ void Main_handler(void) ////////////////////////////////////////////////////////////////////////////// -// différentes fonctions d'affichage utilisées dans les fenêtres // +// différentes fonctions d'affichage utilisées dans les fenêtres // ////////////////////////////////////////////////////////////////////////////// -//----------------------- Tracer une fenêtre d'options ----------------------- +//----------------------- Tracer une fenêtre d'options ----------------------- void Open_window(word width,word height, const char * title) -// Lors de l'appel à cette procédure, la souris doit être affichée. -// En sortie de cette procedure, la souris est effacée. +// Lors de l'appel à cette procédure, la souris doit être affichée. +// En sortie de cette procedure, la souris est effacée. { //word i,j; size_t title_length; @@ -1605,20 +1605,20 @@ void Open_window(word width,word height, const char * title) Window_width=width; Window_height=height; - // Positionnement de la fenêtre + // Positionnement de la fenêtre Window_pos_X=(Screen_width-(width*Menu_factor_X))>>1; Window_pos_Y=(Screen_height-(height*Menu_factor_Y))>>1; Window_draggable=1; - // Sauvegarde de ce que la fenêtre remplace + // Sauvegarde de ce que la fenêtre remplace Save_background(&(Window_background[Windows_open-1]), Window_pos_X, Window_pos_Y, width, height); - // Fenêtre grise + // Fenêtre grise Window_rectangle(2,2,width-4,height-4,MC_Window); - // -- Frame de la fenêtre ----- --- -- - - + // -- Frame de la fenêtre ----- --- -- - - // Frame noir puis en relief Window_display_frame_mono(0,0,width,height,MC_Black); @@ -1652,7 +1652,7 @@ void Open_window(word width,word height, const char * title) Allow_drag_and_drop(0); } - // Initialisation des listes de boutons de la fenêtre + // Initialisation des listes de boutons de la fenêtre Window_normal_button_list =NULL; Window_palette_button_list =NULL; Window_scroller_button_list=NULL; @@ -1662,11 +1662,11 @@ void Open_window(word width,word height, const char * title) } -//----------------------- Fermer une fenêtre d'options ----------------------- +//----------------------- Fermer une fenêtre d'options ----------------------- void Close_window(void) -// Lors de l'appel à cette procedure, la souris doit être affichée. -// En sortie de cette procedure, la souris est effacée. +// Lors de l'appel à cette procedure, la souris doit être affichée. +// En sortie de cette procedure, la souris est effacée. { T_Normal_button * temp1; T_Palette_button * temp2; @@ -1717,7 +1717,7 @@ void Close_window(void) if (Windows_open != 1) { - // Restore de ce que la fenêtre cachait + // Restore de ce que la fenêtre cachait Restore_background(&Window_background[Windows_open-1], Window_pos_X, Window_pos_Y, Window_width, Window_height); Update_window_area(0,0,Window_width,Window_height); Windows_open--; @@ -1752,7 +1752,7 @@ void Close_window(void) } -//---------------- Dessiner un bouton normal dans une fenêtre ---------------- +//---------------- Dessiner un bouton normal dans une fenêtre ---------------- // undersc_letter is 0 for no underscore, 1-indexed array index otherwise void Window_draw_normal_bouton(word x_pos,word y_pos,word width,word height, const char * title,byte undersc_letter,byte clickable) @@ -1783,14 +1783,14 @@ void Window_draw_normal_bouton(word x_pos,word y_pos,word width,word height, } -// -- Button normal enfoncé dans la fenêtre -- +// -- Button normal enfoncé dans la fenêtre -- void Window_select_normal_button(word x_pos,word y_pos,word width,word height) { Window_display_frame_generic(x_pos,y_pos,width,height,MC_Dark,MC_Black,MC_Dark,MC_Dark,MC_Black); Update_window_area(x_pos, y_pos, width, height); } -// -- Button normal désenfoncé dans la fenêtre -- +// -- Button normal désenfoncé dans la fenêtre -- void Window_unselect_normal_button(word x_pos,word y_pos,word width,word height) { Window_display_frame_out(x_pos,y_pos,width,height); @@ -1798,7 +1798,7 @@ void Window_unselect_normal_button(word x_pos,word y_pos,word width,word height) } -//--------------- Dessiner un bouton palette dans une fenêtre ---------------- +//--------------- Dessiner un bouton palette dans une fenêtre ---------------- void Window_draw_palette_bouton(word x_pos,word y_pos) { word color; @@ -1811,7 +1811,7 @@ void Window_draw_palette_bouton(word x_pos,word y_pos) // -------------------- Effacer les TAGs sur les palette --------------------- -// Cette fonct° ne sert plus que lorsqu'on efface les tags dans le menu Spray. +// Cette fonct° ne sert plus que lorsqu'on efface les tags dans le menu Spray. void Window_clear_tags(void) { word origin_x; @@ -1861,10 +1861,10 @@ void Tag_color_range(byte start,byte end) if (start!=end) { - // On complète le 1er TAG + // On complète le 1er TAG Pixel_in_window(origin_x+1,origin_y+4,MC_Black); - // On affiche le 2ème TAG + // On affiche le 2ème TAG origin_x=(Window_palette_button_list->Pos_X+3)+(end>>4)*10; origin_y=(Window_palette_button_list->Pos_Y+3)+(end&15)* 5; for (y_pos=0,window_y_pos=origin_y; y_pos<5; y_pos++,window_y_pos++) @@ -1873,13 +1873,13 @@ void Tag_color_range(byte start,byte end) Pixel_in_window(origin_x+1,window_y_pos,MC_Black); Pixel_in_window(origin_x+2,origin_y+2,MC_Black); - // On TAG toutes les couleurs intermédiaires + // On TAG toutes les couleurs intermédiaires for (index=start+1;indexPos_X+3+((index>>4)*10), Window_palette_button_list->Pos_Y+3+((index&15)* 5), 2,5,MC_Black); - // On efface l'éventuelle pointe d'une ancienne extrémité de l'intervalle + // On efface l'éventuelle pointe d'une ancienne extrémité de l'intervalle Pixel_in_window(Window_palette_button_list->Pos_X+5+((index>>4)*10), Window_palette_button_list->Pos_Y+5+((index&15)* 5), MC_Light); @@ -1893,7 +1893,7 @@ void Tag_color_range(byte start,byte end) } -//------------------ Dessiner un scroller dans une fenêtre ------------------- +//------------------ Dessiner un scroller dans une fenêtre ------------------- void Compute_slider_cursor_length(T_Scroller_button * button) { @@ -1981,7 +1981,7 @@ void Window_draw_scroller_button(T_Scroller_button * button) } -//--------------- Dessiner une zone de saisie dans une fenêtre --------------- +//--------------- Dessiner une zone de saisie dans une fenêtre --------------- void Window_draw_input_bouton(word x_pos,word y_pos,word width_in_characters) { @@ -2005,7 +2005,7 @@ void Window_clear_input_button(T_Special_button * button) } -//------ Rajout d'un bouton à la liste de ceux présents dans la fenêtre ------ +//------ Rajout d'un bouton à la liste de ceux présents dans la fenêtre ------ // undersc_letter is 0 for no underscore, 1-indexed array index otherwise T_Normal_button * Window_set_normal_button(word x_pos, word y_pos, word width, word height, @@ -2035,7 +2035,7 @@ T_Normal_button * Window_set_normal_button(word x_pos, word y_pos, Window_draw_normal_bouton(x_pos,y_pos,width,height,title,undersc_letter,clickable); return temp; } -//------ Rajout d'un bouton à la liste de ceux présents dans la fenêtre ------ +//------ Rajout d'un bouton à la liste de ceux présents dans la fenêtre ------ // undersc_letter is 0 for no underscore, 1-indexed array index otherwise T_Normal_button * Window_set_repeatable_button(word x_pos, word y_pos, word width, word height, @@ -2194,9 +2194,9 @@ T_Dropdown_button * Window_set_dropdown_button(word x_pos,word y_pos,word width, return temp; } -// Ajoute un choix à une dropdown. Le libellé est seulement référencé, -// il doit pointer sur une zone qui doit être encore valide à la fermeture -// de la fenêtre (comprise). +// Ajoute un choix à une dropdown. Le libellé est seulement référencé, +// il doit pointer sur une zone qui doit être encore valide à la fermeture +// de la fenêtre (comprise). void Window_dropdown_add_item(T_Dropdown_button * dropdown, word btn_number, const char *label) { T_Dropdown_choice *temp; @@ -2210,7 +2210,7 @@ void Window_dropdown_add_item(T_Dropdown_button * dropdown, word btn_number, con last=dropdown->First_item; if (last) { - // On cherche le dernier élément + // On cherche le dernier élément for (;last->Next;last=last->Next) ; last->Next=temp; @@ -2289,12 +2289,12 @@ void Window_redraw_list(T_List_button * list) //----------------------- Ouverture d'un pop-up ----------------------- void Open_popup(word x_pos, word y_pos, word width,word height) -// Lors de l'appel à cette procédure, la souris doit être affichée. -// En sortie de cette procedure, la souris est effacée. +// Lors de l'appel à cette procédure, la souris doit être affichée. +// En sortie de cette procedure, la souris est effacée. -// Note : les pop-ups sont gérés comme s'ils étaient des sous-fenêtres, ils ont donc leur propre boucle d'évènements et tout, on peut ajouter des widgets dedans, ... -// Les différences sont surtout graphiques : - // -Possibilité de préciser la position XY +// Note : les pop-ups sont gérés comme s'ils étaient des sous-fenêtres, ils ont donc leur propre boucle d'évènements et tout, on peut ajouter des widgets dedans, ... +// Les différences sont surtout graphiques : + // -Possibilité de préciser la position XY // -Pas de titre // -Pas de cadre en relief mais seulement un plat, et il est blanc au lieu de noir. { @@ -2311,11 +2311,11 @@ void Open_popup(word x_pos, word y_pos, word width,word height) Window_pos_Y=y_pos; Window_draggable=0; - // Sauvegarde de ce que la fenêtre remplace + // Sauvegarde de ce que la fenêtre remplace Save_background(&(Window_background[Windows_open-1]), Window_pos_X, Window_pos_Y, width, height); /* - // Fenêtre grise + // Fenêtre grise Window_rectangle(1,1,width-2,height-2,MC_Light); // Frame noir puis en relief @@ -2333,7 +2333,7 @@ void Open_popup(word x_pos, word y_pos, word width,word height) Paintbrush_hidden=1; } - // Initialisation des listes de boutons de la fenêtre + // Initialisation des listes de boutons de la fenêtre Window_normal_button_list =NULL; Window_palette_button_list =NULL; Window_scroller_button_list=NULL; @@ -2343,11 +2343,11 @@ void Open_popup(word x_pos, word y_pos, word width,word height) } -//----------------------- Fermer une fenêtre d'options ----------------------- +//----------------------- Fermer une fenêtre d'options ----------------------- void Close_popup(void) -// Lors de l'appel à cette procedure, la souris doit être affichée. -// En sortie de cette procedure, la souris est effacée. +// Lors de l'appel à cette procedure, la souris doit être affichée. +// En sortie de cette procedure, la souris est effacée. { T_Normal_button * temp1; T_Palette_button * temp2; @@ -2398,7 +2398,7 @@ void Close_popup(void) if (Windows_open != 1) { - // Restore de ce que la fenêtre cachait + // Restore de ce que la fenêtre cachait Restore_background(&Window_background[Windows_open-1], Window_pos_X, Window_pos_Y, Window_width, Window_height); Update_window_area(0,0,Window_width,Window_height); Windows_open--; @@ -2431,12 +2431,12 @@ void Close_popup(void) } ////////////////////////////////////////////////////////////////////////////// // // -// Mini-MOTEUR utilisé dans les fenêtres (menus des boutons...) // +// Mini-MOTEUR utilisé dans les fenêtres (menus des boutons...) // // // ////////////////////////////////////////////////////////////////////////////// -// -- Indique si on a cliqué dans une zone définie par deux points extremes -- +// -- Indique si on a cliqué dans une zone définie par deux points extremes -- byte Window_click_in_rectangle(short start_x,short start_y,short end_x,short end_y) { short x_pos,y_pos; @@ -2452,7 +2452,7 @@ byte Window_click_in_rectangle(short start_x,short start_y,short end_x,short end // --- Attend que l'on clique dans la palette pour renvoyer la couleur choisie -// ou bien renvoie -1 si on a annulé l'action pas click-droit ou Escape ------ +// ou bien renvoie -1 si on a annulé l'action pas click-droit ou Escape ------ short Wait_click_in_palette(T_Palette_button * button) { short start_x=button->Pos_X+5; @@ -2517,13 +2517,13 @@ short Wait_click_in_palette(T_Palette_button * button) -// -------------- Récupération d'une couleur derrière un menu ---------------- +// -------------- Récupération d'une couleur derrière un menu ---------------- void Get_color_behind_window(byte * color, byte * click) { short old_x=-1; short old_y=-1; short index; - short a,b,c,d; // Variables temporaires et multitâches... + short a,b,c,d; // Variables temporaires et multitâches... byte * buffer = NULL; char str[25]; byte cursor_was_hidden; @@ -2547,7 +2547,7 @@ void Get_color_behind_window(byte * color, byte * click) Cursor_shape=CURSOR_SHAPE_COLORPICKER; b=Paintbrush_hidden; Paintbrush_hidden=1; - c=-1; // color pointée: au début aucune, comme ça on initialise tout + c=-1; // color pointée: au début aucune, comme ça on initialise tout if (Menu_is_visible_before_window) Print_in_menu(Buttons_Pool[BUTTON_CHOOSE_COL].Tooltip,0); @@ -2563,7 +2563,7 @@ void Get_color_behind_window(byte * color, byte * click) a=Read_pixel(Mouse_X,Mouse_Y); if (a!=c) { - c=a; // Mise à jour de la couleur pointée + c=a; // Mise à jour de la couleur pointée if (Menu_is_visible_before_window) { sprintf(str,"%d",a); @@ -2614,7 +2614,7 @@ void Get_color_behind_window(byte * color, byte * click) -// ------------ Opération de déplacement de la fenêtre à l'écran ------------- +// ------------ Opération de déplacement de la fenêtre à l'écran ------------- void Move_window(short dx, short dy) { short new_x=Mouse_X-dx; @@ -2711,19 +2711,19 @@ void Move_window(short dx, short dy) Menu_Y=a; Menu_is_visible=b; - // Sauvegarde du contenu actuel de la fenêtre + // Sauvegarde du contenu actuel de la fenêtre Save_background(&buffer, Window_pos_X, Window_pos_Y, Window_width, Window_height); - // Restore de ce que la fenêtre cachait + // Restore de ce que la fenêtre cachait Restore_background(&Window_background[Windows_open-1], Window_pos_X, Window_pos_Y, Window_width, Window_height); - // Sauvegarde de ce que la fenêtre remplace + // Sauvegarde de ce que la fenêtre remplace Save_background(&(Window_background[Windows_open-1]), new_x, new_y, Window_width, Window_height); - // Raffichage de la fenêtre + // Raffichage de la fenêtre Restore_background(&buffer, new_x, new_y, Window_width, Window_height); - // Mise à jour du rectangle englobant + // Mise à jour du rectangle englobant Update_rect( (new_x>Window_pos_X)?Window_pos_X:new_x, (new_y>Window_pos_Y)?Window_pos_Y:new_y, @@ -2757,7 +2757,7 @@ T_Dropdown_choice * Dropdown_activate(T_Dropdown_button *button, short off_x, sh short box_height; T_Dropdown_choice *item; - // Taille de l'ombre portée (en plus des dimensions normales) + // Taille de l'ombre portée (en plus des dimensions normales) #define SHADOW_RIGHT 3 #define SHADOW_BOTTOM 4 @@ -2783,7 +2783,7 @@ T_Dropdown_choice * Dropdown_activate(T_Dropdown_button *button, short off_x, sh Window_rectangle(0,0,1,box_height,MC_Black); // Frame fonce et blanc Window_display_frame_out(1,0,button->Dropdown_width-1,box_height); - // Ombre portée + // Ombre portée if (SHADOW_BOTTOM) { Window_rectangle(SHADOW_RIGHT, @@ -2815,7 +2815,7 @@ T_Dropdown_choice * Dropdown_activate(T_Dropdown_button *button, short off_x, sh while (1) { old_selected_index = selected_index; - // Fenêtre grise + // Fenêtre grise Window_rectangle(2,1,button->Dropdown_width-3,box_height-2,MC_Light); // Affichage des items for(item=button->First_item,choice_index=0; item!=NULL; item=item->Next,choice_index++) @@ -2843,7 +2843,7 @@ T_Dropdown_choice * Dropdown_activate(T_Dropdown_button *button, short off_x, sh { // Attente Get_input(20); - // Mise à jour du survol + // Mise à jour du survol selected_index=Window_click_in_rectangle(2,2,button->Dropdown_width-2,box_height-1)? (((Mouse_Y-Window_pos_Y)/Menu_factor_Y-2)>>3) : -1; @@ -2901,9 +2901,9 @@ short Window_dropdown_on_click(T_Dropdown_button *button) } -// --- Fonction de clic sur un bouton a peu près ordinaire: +// --- Fonction de clic sur un bouton a peu près ordinaire: // Attend que l'on relache le bouton, et renvoie le numero du bouton si on -// est resté dessus, 0 si on a annulé en sortant du bouton. +// est resté dessus, 0 si on a annulé en sortant du bouton. short Window_normal_button_onclick(word x_pos, word y_pos, word width, word height, short btn_number) { while(1) @@ -3146,7 +3146,7 @@ short Window_get_button_shortcut(void) else Window_attribute1=LEFT_SIDE; - // On fait une première recherche + // On fait une première recherche temp=Window_normal_button_list; while (temp!=NULL) { @@ -3178,9 +3178,9 @@ short Window_get_button_shortcut(void) temp2=temp2->Next; } - // Si la recherche n'a pas été fructueuse ET que l'utilisateur appuyait sur - // , on regarde si un bouton ne pourrait pas réagir comme si - // n'était pas appuyé. + // Si la recherche n'a pas été fructueuse ET que l'utilisateur appuyait sur + // , on regarde si un bouton ne pourrait pas réagir comme si + // n'était pas appuyé. if (Window_attribute1==RIGHT_SIDE) { temp=Window_normal_button_list; @@ -3350,7 +3350,7 @@ short Window_clicked_button(void) { list->List_start=list->List_start+list->Cursor_position; list->Cursor_position=0; - // Mise à jour du scroller + // Mise à jour du scroller list->Scroller->Position=list->List_start; Window_draw_slider(list->Scroller); } @@ -3370,7 +3370,7 @@ short Window_clicked_button(void) { list->List_start=list->List_start+list->Cursor_position-(list->Scroller->Nb_visibles-1); list->Cursor_position=(list->Scroller->Nb_visibles-1); - // Mise à jour du scroller + // Mise à jour du scroller list->Scroller->Position=list->List_start; Window_draw_slider(list->Scroller); } @@ -3387,7 +3387,7 @@ short Window_clicked_button(void) Hide_cursor(); list->Cursor_position=0; list->List_start=0; - // Mise à jour du scroller + // Mise à jour du scroller list->Scroller->Position=list->List_start; Window_draw_slider(list->Scroller); Window_redraw_list(list); @@ -3406,7 +3406,7 @@ short Window_clicked_button(void) { list->List_start=list->List_start+list->Cursor_position-(list->Scroller->Nb_visibles-1); list->Cursor_position=(list->Scroller->Nb_visibles-1); - // Mise à jour du scroller + // Mise à jour du scroller list->Scroller->Position=list->List_start; Window_draw_slider(list->Scroller); } @@ -3436,7 +3436,7 @@ short Window_clicked_button(void) { list->List_start=list->Scroller->Nb_elements-list->Scroller->Nb_visibles; } - // Mise à jour du scroller + // Mise à jour du scroller list->Scroller->Position=list->List_start; Window_draw_slider(list->Scroller); } @@ -3462,7 +3462,7 @@ short Window_clicked_button(void) { list->List_start=0; } - // Mise à jour du scroller + // Mise à jour du scroller list->Scroller->Position=list->List_start; Window_draw_slider(list->Scroller); } @@ -3481,10 +3481,10 @@ short Window_clicked_button(void) else list->List_start=0; list->Cursor_position-=list->List_start; - // On affiche à nouveau la liste + // On affiche à nouveau la liste Hide_cursor(); Window_redraw_list(list); - // Mise à jour du scroller + // Mise à jour du scroller list->Scroller->Position=list->List_start; Window_draw_slider(list->Scroller); Display_cursor(); @@ -3498,10 +3498,10 @@ short Window_clicked_button(void) list->List_start=list->Scroller->Nb_elements-list->Scroller->Nb_visibles; } list->Cursor_position-=list->List_start; - // On affiche à nouveau la liste + // On affiche à nouveau la liste Hide_cursor(); Window_redraw_list(list); - // Mise à jour du scroller + // Mise à jour du scroller list->Scroller->Position=list->List_start; Window_draw_slider(list->Scroller); Display_cursor(); @@ -3515,8 +3515,8 @@ short Window_clicked_button(void) } -// Fonction qui sert à remapper les parties sauvegardées derriere les -// fenetres ouvertes. C'est utilisé par exemple par la fenetre de palette +// Fonction qui sert à remapper les parties sauvegardées derriere les +// fenetres ouvertes. C'est utilisé par exemple par la fenetre de palette // Qui remappe des couleurs, afin de propager les changements. void Remap_window_backgrounds(const byte * conversion_table, int Min_Y, int Max_Y) { @@ -3656,8 +3656,8 @@ void Set_bar_visibility(word bar, int visible, int with_redraw) Compute_magnifier_data(); } - // On repositionne le décalage de l'image pour qu'il n'y ait pas d'in- - // -cohérences lorsqu'on sortira du mode Loupe. + // On repositionne le décalage de l'image pour qu'il n'y ait pas d'in- + // -cohérences lorsqu'on sortira du mode Loupe. if (Main.offset_Y+Screen_height>Main.image_height) { if (Screen_height>Main.image_height) diff --git a/src/fileformats.c b/src/fileformats.c index 34e2b6f0..ee0a053d 100644 --- a/src/fileformats.c +++ b/src/fileformats.c @@ -3,7 +3,7 @@ /* Grafx2 - The Ultimate 256-color bitmap paint program Copyright 2018 Thomas Bernard - Copyright 2011 Pawel Góralski + Copyright 2011 Pawel Góralski Copyright 2009 Petter Lindquist Copyright 2008 Yves Rizoud Copyright 2008 Franck Charlet @@ -89,7 +89,7 @@ void Test_IMG(T_IO_Context * context, FILE * file) (void)context; File_error=1; - // Lecture et vérification de la signature + // Lecture et vérification de la signature if (Read_bytes(file,IMG_header.Filler1,6) && Read_word_le(file,&(IMG_header.Width)) && Read_word_le(file,&(IMG_header.Height)) @@ -206,7 +206,7 @@ void Save_IMG(T_IO_Context * context) if (File_error) Remove_file(context); } - else // Error d'écriture (disque plein ou protégé) + else // Error d'écriture (disque plein ou protégé) { fclose(file); Remove_file(context); @@ -272,10 +272,10 @@ void Test_IFF(FILE * IFF_file, const char *sub_type) if (! Read_dword_be(IFF_file, &dummy)) break; - // On aurait pu vérifier que ce long est égal à la taille - // du fichier - 8, mais ça aurait interdit de charger des - // fichiers tronqués (et déjà que c'est chiant de perdre - // une partie du fichier il faut quand même pouvoir en + // On aurait pu vérifier que ce long est égal à la taille + // du fichier - 8, mais ça aurait interdit de charger des + // fichiers tronqués (et déjà que c'est chiant de perdre + // une partie du fichier il faut quand même pouvoir en // garder un peu... Sinon, moi je pleure :'( !!! ) if (! Read_bytes(IFF_file,format,4)) break; @@ -367,12 +367,12 @@ int IFF_Skip_section(FILE * file) // ------------------------- Attendre une section ------------------------- byte IFF_Wait_for(FILE * file, const char * expected_section) { - // Valeur retournée: 1=Section trouvée, 0=Section non trouvée (erreur) + // Valeur retournée: 1=Section trouvée, 0=Section non trouvée (erreur) byte section_read[4]; if (! Read_bytes(file,section_read,4)) return 0; - while (memcmp(section_read,expected_section,4)) // Sect. pas encore trouvée + while (memcmp(section_read,expected_section,4)) // Sect. pas encore trouvée { if (!IFF_Skip_section(file)) return 0; @@ -382,7 +382,7 @@ byte IFF_Wait_for(FILE * file, const char * expected_section) return 1; } -// Les images ILBM sont stockés en bitplanes donc on doit trifouiller les bits pour +// Les images ILBM sont stockés en bitplanes donc on doit trifouiller les bits pour // en faire du chunky /// @@ -2061,11 +2061,11 @@ void Load_IFF(T_IO_Context * context) switch (IFF_list_size) { - case 0 : // Première couleur + case 0 : // Première couleur IFF_color_list[0]=color; IFF_list_size=1; break; - case 1 : // Deuxième couleur + case 1 : // Deuxième couleur last_color=IFF_color_list[0]; IFF_repetition_mode=(last_color==color); IFF_color_list[1]=color; @@ -2074,7 +2074,7 @@ void Load_IFF(T_IO_Context * context) default: // Couleurs suivantes last_color =IFF_color_list[IFF_list_size-1]; second_last_color=IFF_color_list[IFF_list_size-2]; - if (last_color==color) // On a une répétition de couleur + if (last_color==color) // On a une répétition de couleur { if ( (IFF_repetition_mode) || (second_last_color!=color) ) // On conserve le mode... @@ -2095,7 +2095,7 @@ void Load_IFF(T_IO_Context * context) IFF_repetition_mode=1; } } - else // La couleur n'est pas la même que la précédente + else // La couleur n'est pas la même que la précédente { if (!IFF_repetition_mode) // On conserve le mode... { @@ -2154,7 +2154,7 @@ void Save_IFF(T_IO_Context * context) setvbuf(IFF_file, NULL, _IOFBF, 64*1024); Write_bytes(IFF_file,"FORM",4); - Write_dword_be(IFF_file,0); // On mettra la taille à jour à la fin + Write_dword_be(IFF_file,0); // On mettra la taille à jour à la fin if (context->Format == FORMAT_LBM) Write_bytes(IFF_file,"ILBM",4); @@ -2246,7 +2246,7 @@ void Save_IFF(T_IO_Context * context) body_offset = ftell(IFF_file); Write_bytes(IFF_file,"BODY",4); - Write_dword_be(IFF_file,0); // On mettra la taille à jour à la fin + Write_dword_be(IFF_file,0); // On mettra la taille à jour à la fin if (context->Format == FORMAT_LBM) { @@ -3121,7 +3121,7 @@ static void Load_BMP_Pixels(T_IO_Context * context, FILE * file, unsigned int co x_pos+=a; y_pos-=b; break; - default: // Nouvelle série + default: // Nouvelle série while (b) { if(Read_byte(file, &a)!=1) @@ -3178,7 +3178,7 @@ static void Load_BMP_Pixels(T_IO_Context * context, FILE * file, unsigned int co x_pos+=a; y_pos-=b; break; - default: // Nouvelle série (B 1/2 pixels bruts) + default: // Nouvelle série (B 1/2 pixels bruts) for (index=1; ((index<=b) && (!File_error)); index++,x_pos++) { if (index&1) @@ -3190,7 +3190,7 @@ static void Load_BMP_Pixels(T_IO_Context * context, FILE * file, unsigned int co Set_pixel(context, x_pos,y_pos,c&0xF); } // On lit l'octet rendant le nombre d'octets pair, si - // nécessaire. Encore un truc de crétin "made in MS". + // nécessaire. Encore un truc de crétin "made in MS". if ( ((b&3)==1) || ((b&3)==2) ) { byte dummy; @@ -3421,11 +3421,11 @@ void Save_BMP(T_IO_Context * context) && Write_dword_le(file,header.Clr_Imprt)) { // Chez Bill, ils ont dit: "On va mettre les couleur dans l'ordre - // inverse, et pour faire chier, on va les mettre sur une échelle de - // 0 à 255 parce que le standard VGA c'est de 0 à 63 (logique!). Et - // puis comme c'est pas assez débile, on va aussi y rajouter un octet - // toujours à 0 pour forcer les gens à s'acheter des gros disques - // durs... Comme ça, ça fera passer la pillule lorsqu'on sortira + // inverse, et pour faire chier, on va les mettre sur une échelle de + // 0 à 255 parce que le standard VGA c'est de 0 à 63 (logique!). Et + // puis comme c'est pas assez débile, on va aussi y rajouter un octet + // toujours à 0 pour forcer les gens à s'acheter des gros disques + // durs... Comme ça, ça fera passer la pillule lorsqu'on sortira // Windows 95." ... for (index=0; index<256; index++) { @@ -3438,7 +3438,7 @@ void Save_BMP(T_IO_Context * context) if (Write_bytes(file,local_palette,1024)) { // ... Et Bill, il a dit: "OK les gars! Mais seulement si vous rangez - // les pixels dans l'ordre inverse, mais que sur les Y quand-même + // les pixels dans l'ordre inverse, mais que sur les Y quand-même // parce que faut pas pousser." for (y_pos=context->Height-1; ((y_pos>=0) && (!File_error)); y_pos--) for (x_pos=0; x_pos Clear tables word value_eof; // Valeur <=> End d'image long file_size; - int number_LID; // Nombre d'images trouvées dans le fichier + int number_LID; // Nombre d'images trouvées dans le fichier int current_layer = 0; int last_delay = 0; byte is_transparent = 0; @@ -4034,7 +4034,7 @@ void Load_GIF(T_IO_Context * context) (memcmp(signature,"GIF89a",6)==0) ) ) { - // Allocation de mémoire pour les tables & piles de traitement: + // Allocation de mémoire pour les tables & piles de traitement: alphabet_stack =(word *)malloc(4096*sizeof(word)); alphabet_prefix=(word *)malloc(4096*sizeof(word)); alphabet_suffix=(word *)malloc(4096*sizeof(word)); @@ -4046,7 +4046,7 @@ void Load_GIF(T_IO_Context * context) && Read_byte(GIF_file,&(LSDB.Aspect)) ) { - // Lecture du Logical Screen Descriptor Block réussie: + // Lecture du Logical Screen Descriptor Block réussie: Original_screen_X=LSDB.Width; Original_screen_Y=LSDB.Height; @@ -4102,7 +4102,7 @@ void Load_GIF(T_IO_Context * context) switch(function_code) { case 0xFE: // Comment Block Extension - // On récupère le premier commentaire non-vide, + // On récupère le premier commentaire non-vide, // on jette les autres. if (context->Comment[0]=='\0') { @@ -4119,7 +4119,7 @@ void Load_GIF(T_IO_Context * context) Read_byte(GIF_file,&size_to_read); break; case 0xF9: // Graphics Control Extension - // Prévu pour la transparence + // Prévu pour la transparence if ( Read_byte(GIF_file,&(GCE.Packed_fields)) && Read_word_le(GIF_file,&(GCE.Delay_time)) && Read_byte(GIF_file,&(GCE.Transparent_color))) @@ -4303,7 +4303,7 @@ void Load_GIF(T_IO_Context * context) { // Palette locale dispo = (IDB.Indicator and $80) - // Image entrelacée = (IDB.Indicator and $40) + // Image entrelacée = (IDB.Indicator and $40) // Ordre de classement = (IDB.Indicator and $20) // Nombre de bits/pixel = (IDB.Indicator and $07)+1 (si palette locale dispo) @@ -4408,7 +4408,7 @@ void Load_GIF(T_IO_Context * context) alphabet_max =((1 << (++GIF_nb_bits))-1); } } - else // Code Clear rencontré + else // Code Clear rencontré { GIF_nb_bits =initial_nb_bits + 1; alphabet_max =((1 << GIF_nb_bits)-1); @@ -4423,7 +4423,7 @@ void Load_GIF(T_IO_Context * context) File_error=2; break; } - } // Code End-Of-Information ou erreur de fichier rencontré + } // Code End-Of-Information ou erreur de fichier rencontré if (File_error==2 && GIF_pos_X==0 && GIF_pos_Y==IDB.Image_height) File_error=0; /*Close_lecture();*/ @@ -4463,7 +4463,7 @@ void Load_GIF(T_IO_Context * context) early_exit: - // Libération de la mémoire utilisée par les tables & piles de traitement: + // Libération de la mémoire utilisée par les tables & piles de traitement: free(alphabet_suffix); free(alphabet_prefix); free(alphabet_stack); @@ -4474,7 +4474,7 @@ void Load_GIF(T_IO_Context * context) fclose(GIF_file); - } // Le fichier était ouvrable + } // Le fichier était ouvrable else File_error=1; } @@ -4482,8 +4482,8 @@ void Load_GIF(T_IO_Context * context) // -- Sauver un fichier au format GIF --------------------------------------- - int GIF_stop; // "On peut arrêter la sauvegarde du fichier" - byte GIF_buffer[256]; // buffer d'écriture de bloc de données compilées + int GIF_stop; // "On peut arrêter la sauvegarde du fichier" + byte GIF_buffer[256]; // buffer d'écriture de bloc de données compilées // -- Vider le buffer GIF dans le buffer KM -- @@ -4502,7 +4502,7 @@ void Load_GIF(T_IO_Context * context) } } - // -- Ecrit un code à GIF_nb_bits -- + // -- Ecrit un code à GIF_nb_bits -- void GIF_set_code(word Code) { @@ -4520,9 +4520,9 @@ void Load_GIF(T_IO_Context * context) nb_bits_processed +=current_nb_bits; nb_bits_to_process-=current_nb_bits; - if (GIF_remainder_bits==8) // Il ne reste plus de bits à coder sur l'octet courant + if (GIF_remainder_bits==8) // Il ne reste plus de bits à coder sur l'octet courant { - // Ecrire l'octet à balancer: + // Ecrire l'octet à balancer: GIF_buffer[++GIF_remainder_byte]=GIF_last_byte; // Si on a atteint la fin du bloc de Raster Data @@ -4559,23 +4559,23 @@ void Load_GIF(T_IO_Context * context) void Save_GIF(T_IO_Context * context) { - word * alphabet_prefix; // Table des préfixes des codes + word * alphabet_prefix; // Table des préfixes des codes word * alphabet_suffix; // Table des suffixes des codes - word * alphabet_daughter; // Table des chaînes filles (plus longues) - word * alphabet_sister; // Table des chaînes soeurs (même longueur) + word * alphabet_daughter; // Table des chaînes filles (plus longues) + word * alphabet_sister; // Table des chaînes soeurs (même longueur) word alphabet_free; // Position libre dans l'alphabet - word alphabet_max; // Nombre d'entrées possibles dans l'alphabet - word start; // Code précédent (sert au linkage des chaînes) - int descend; // Booléen "On vient de descendre" + word alphabet_max; // Nombre d'entrées possibles dans l'alphabet + word start; // Code précédent (sert au linkage des chaînes) + int descend; // Booléen "On vient de descendre" T_GIF_LSDB LSDB; T_GIF_IDB IDB; byte block_identifier; // Code indicateur du type de bloc en cours - word current_string; // Code de la chaîne en cours de traitement - byte current_char; // Caractère à coder - word index; // index de recherche de chaîne + word current_string; // Code de la chaîne en cours de traitement + byte current_char; // Caractère à coder + word index; // index de recherche de chaîne int current_layer; word clear; // LZW clear code @@ -4589,12 +4589,12 @@ void Save_GIF(T_IO_Context * context) { setvbuf(GIF_file, NULL, _IOFBF, 64*1024); - // On écrit la signature du fichier + // On écrit la signature du fichier if (Write_bytes(GIF_file,"GIF89a",6)) { - // La signature du fichier a été correctement écrite. + // La signature du fichier a été correctement écrite. - // Allocation de mémoire pour les tables + // Allocation de mémoire pour les tables alphabet_prefix=(word *)malloc(4096*sizeof(word)); alphabet_suffix=(word *)malloc(4096*sizeof(word)); alphabet_daughter =(word *)malloc(4096*sizeof(word)); @@ -4639,7 +4639,7 @@ void Save_GIF(T_IO_Context * context) Write_byte(GIF_file,LSDB.Backcol) && Write_byte(GIF_file,LSDB.Aspect) ) { - // Le LSDB a été correctement écrit. + // Le LSDB a été correctement écrit. int i; // On sauve la palette for(i=0;i<256 && !File_error;i++) @@ -4651,7 +4651,7 @@ void Save_GIF(T_IO_Context * context) } if (!File_error) { - // La palette a été correctement écrite. + // La palette a été correctement écrite. // Ecriture de la transparence //Write_bytes(GIF_file,"\x21\xF9\x04\x01\x00\x00\xNN\x00",8); @@ -4797,9 +4797,9 @@ void Save_GIF(T_IO_Context * context) IDB.Nb_bits_pixel++; } - // On va écrire un block indicateur d'IDB et l'IDB du fichier + // On va écrire un block indicateur d'IDB et l'IDB du fichier block_identifier=0x2C; - IDB.Indicator=0x07; // Image non entrelacée, pas de palette locale. + IDB.Indicator=0x07; // Image non entrelacée, pas de palette locale. clear = 1 << IDB.Nb_bits_pixel; // Clear Code eof = clear + 1; // End of Picture Code @@ -4811,8 +4811,8 @@ void Save_GIF(T_IO_Context * context) Write_byte(GIF_file,IDB.Indicator) && Write_byte(GIF_file,IDB.Nb_bits_pixel)) { - // Le block indicateur d'IDB et l'IDB ont étés correctements - // écrits. + // Le block indicateur d'IDB et l'IDB ont étés correctements + // écrits. GIF_pos_X=IDB.Pos_X; GIF_pos_Y=IDB.Pos_Y; @@ -4825,7 +4825,7 @@ void Save_GIF(T_IO_Context * context) File_error=0; GIF_stop=0; - // Réintialisation de la table: + // Réintialisation de la table: alphabet_free=clear + 2; // 258 for 8bpp GIF_nb_bits =IDB.Nb_bits_pixel + 1; // 9 for 8 bpp alphabet_max =clear+clear-1; // 511 for 8bpp @@ -4914,21 +4914,21 @@ void Save_GIF(T_IO_Context * context) if (!File_error) { - // On écrit le code dans le fichier - GIF_set_code(current_string); // Dernière portion d'image + // On écrit le code dans le fichier + GIF_set_code(current_string); // Dernière portion d'image - // Cette dernière portion ne devrait pas poser de problèmes - // du côté GIF_nb_bits puisque pour que GIF_nb_bits change de - // valeur, il faudrait que la table de chaîne soit remplie or - // c'est impossible puisqu'on traite une chaîne qui se trouve - // déjà dans la table, et qu'elle n'a rien d'inédit. Donc on - // ne devrait pas avoir à changer de taille, mais je laisse - // quand même en remarque tout ça, au cas où il subsisterait - // des problèmes dans certains cas exceptionnels. + // Cette dernière portion ne devrait pas poser de problèmes + // du côté GIF_nb_bits puisque pour que GIF_nb_bits change de + // valeur, il faudrait que la table de chaîne soit remplie or + // c'est impossible puisqu'on traite une chaîne qui se trouve + // déjà dans la table, et qu'elle n'a rien d'inédit. Donc on + // ne devrait pas avoir à changer de taille, mais je laisse + // quand même en remarque tout ça, au cas où il subsisterait + // des problèmes dans certains cas exceptionnels. // - // Note: de toutes façons, ces lignes en commentaires ont étés - // écrites par copier/coller du temps où la sauvegarde du - // GIF déconnait. Il y a donc fort à parier qu'elles ne + // Note: de toutes façons, ces lignes en commentaires ont étés + // écrites par copier/coller du temps où la sauvegarde du + // GIF déconnait. Il y a donc fort à parier qu'elles ne // sont pas correctes. /* @@ -4939,7 +4939,7 @@ void Save_GIF(T_IO_Context * context) // On balargue un Clear Code GIF_set_code(256); - // On réinitialise les données LZW + // On réinitialise les données LZW alphabet_free=258; GIF_nb_bits =9; alphabet_max =511; @@ -4960,15 +4960,15 @@ void Save_GIF(T_IO_Context * context) GIF_last_byte=0; GIF_remainder_bits=0; } - GIF_empty_buffer(); // On envoie les dernières données du buffer GIF dans le buffer KM + GIF_empty_buffer(); // On envoie les dernières données du buffer GIF dans le buffer KM - // On écrit un \0 + // On écrit un \0 if (! Write_byte(GIF_file,'\x00')) File_error=1; } - } // On a pu écrire l'IDB + } // On a pu écrire l'IDB else File_error=1; } @@ -5004,26 +5004,26 @@ void Save_GIF(T_IO_Context * context) } } - // On écrit un GIF TERMINATOR, exigé par SVGA et SEA. + // On écrit un GIF TERMINATOR, exigé par SVGA et SEA. if (! Write_byte(GIF_file,'\x3B')) File_error=1; } - } // On a pu écrire la palette + } // On a pu écrire la palette else File_error=1; - } // On a pu écrire le LSDB + } // On a pu écrire le LSDB else File_error=1; - // Libération de la mémoire utilisée par les tables + // Libération de la mémoire utilisée par les tables free(alphabet_sister); free(alphabet_daughter); free(alphabet_suffix); free(alphabet_prefix); - } // On a pu écrire la signature du fichier + } // On a pu écrire la signature du fichier else File_error=1; @@ -5031,7 +5031,7 @@ void Save_GIF(T_IO_Context * context) if (File_error) Remove_file(context); - } // On a pu ouvrir le fichier en écriture + } // On a pu ouvrir le fichier en écriture else File_error=1; @@ -5044,21 +5044,21 @@ typedef struct { byte Manufacturer; // |_ Il font chier ces cons! Ils auraient pu byte Version; // | mettre une vraie signature! - byte Compression; // L'image est-elle compressée? + byte Compression; // L'image est-elle compressée? byte Depth; // Nombre de bits pour coder un pixel (inutile puisqu'on se sert de Plane) word X_min; // |_ Coin haut-gauche | - word Y_min; // | de l'image |_ (Crétin!) + word Y_min; // | de l'image |_ (Crétin!) word X_max; // |_ Coin bas-droit | word Y_max; // | de l'image | - word X_dpi; // |_ Densité de |_ (Presque inutile parce que + word X_dpi; // |_ Densité de |_ (Presque inutile parce que word Y_dpi; // | l'image | aucun moniteur n'est pareil!) - byte Palette_16c[48]; // Palette 16 coul (inutile pour 256c) (débile!) - byte Reserved; // Ca me plait ça aussi! + byte Palette_16c[48]; // Palette 16 coul (inutile pour 256c) (débile!) + byte Reserved; // Ca me plait ça aussi! byte Plane; // 4 => 16c , 1 => 256c , ... - word Bytes_per_plane_line;// Doit toujours être pair - word Palette_info; // 1 => color , 2 => Gris (ignoré à partir de la version 4) + word Bytes_per_plane_line;// Doit toujours être pair + word Palette_info; // 1 => color , 2 => Gris (ignoré à partir de la version 4) word Screen_X; // |_ Dimensions de - word Screen_Y; // | l'écran d'origine + word Screen_Y; // | l'écran d'origine byte Filler[54]; // Ca... J'adore! } T_PCX_Header; @@ -5091,7 +5091,7 @@ void Test_PCX(T_IO_Context * context, FILE * file) Read_bytes(file,&(PCX_header.Filler),54) ) { // Vu que ce header a une signature de merde et peu significative, il - // va falloir que je teste différentes petites valeurs dont je connais + // va falloir que je teste différentes petites valeurs dont je connais // l'intervalle. Grrr! if ( (PCX_header.Manufacturer!=10) || (PCX_header.Compression>1) @@ -5110,7 +5110,7 @@ void Test_PCX(T_IO_Context * context, FILE * file) // -- Lire un fichier au format PCX ----------------------------------------- - // -- Afficher une ligne PCX codée sur 1 seul plan avec moins de 256 c. -- + // -- Afficher une ligne PCX codée sur 1 seul plan avec moins de 256 c. -- static void Draw_PCX_line(T_IO_Context *context, const byte * buffer, short y_pos, byte depth) { short x_pos; @@ -5143,7 +5143,7 @@ void Load_PCX(T_IO_Context * context) FILE *file; short line_size; - short real_line_size; // width de l'image corrigée + short real_line_size; // width de l'image corrigée short width_read; short x_pos; short y_pos; @@ -5194,7 +5194,7 @@ void Load_PCX(T_IO_Context * context) { if (File_error==0) { - // On prépare la palette à accueillir les valeurs du fichier PCX + // On prépare la palette à accueillir les valeurs du fichier PCX if (Config.Clear_palette) memset(context->Palette,0,sizeof(T_Palette)); nb_colors=(dword)(1<=5) && (file_size>(256*3+128)) ) { fseek(file,file_size-((256*3)+1),SEEK_SET); - // On regarde s'il y a une palette après les données de l'image + // On regarde s'il y a une palette après les données de l'image if (Read_byte(file,&byte1)) if (byte1==12) // Lire la palette si c'est une image en 256 couleurs { int index; - // On lit la palette 256c que ces crétins ont foutue à la fin du fichier + // On lit la palette 256c que ces crétins ont foutue à la fin du fichier for(index=0;index<256;index++) if ( ! Read_byte(file,&(context->Palette[index].R)) || ! Read_byte(file,&(context->Palette[index].G)) @@ -5281,19 +5281,19 @@ void Load_PCX(T_IO_Context * context) } } - // Maintenant qu'on a lu la palette que ces crétins sont allés foutre - // à la fin, on retourne juste après le header pour lire l'image. + // Maintenant qu'on a lu la palette que ces crétins sont allés foutre + // à la fin, on retourne juste après le header pour lire l'image. fseek(file,128,SEEK_SET); if (!File_error) { line_size=PCX_header.Bytes_per_plane_line*PCX_header.Plane; real_line_size=(short)PCX_header.Bytes_per_plane_line<<3; - // On se sert de données ILBM car le dessin de ligne en moins de 256 + // On se sert de données ILBM car le dessin de ligne en moins de 256 // couleurs se fait comme avec la structure ILBM. buffer=(byte *)malloc(line_size); // Chargement de l'image - if (PCX_header.Compression) // Image compressée + if (PCX_header.Compression) // Image compressée { /*Init_lecture();*/ @@ -5303,14 +5303,14 @@ void Load_PCX(T_IO_Context * context) { for (position=0; ((positionHeight) && (!File_error)); y_pos++) { @@ -5343,8 +5343,8 @@ void Load_PCX(T_IO_Context * context) { if ((byte1&0xC0)==0xC0) { - byte1-=0xC0; // facteur de répétition - if(Read_byte(file,&byte2)!=1) File_error=2; // octet à répéter + byte1-=0xC0; // facteur de répétition + if(Read_byte(file,&byte2)!=1) File_error=2; // octet à répéter if (!File_error) { for (index=0; indexHeight) && (!File_error);y_pos++) { @@ -5423,14 +5423,14 @@ void Load_PCX(T_IO_Context * context) for (y_pos=0,position=0;(y_posHeight) && (!File_error);) { - // Lecture et décompression de la ligne + // Lecture et décompression de la ligne if(Read_byte(file,&byte1)!=1) File_error=2; if (!File_error) { if ((byte1 & 0xC0)==0xC0) { - byte1-=0xC0; // facteur de répétition - if(Read_byte(file,&byte2)!=1) File_error=2; // octet à répéter + byte1-=0xC0; // facteur de répétition + if(Read_byte(file,&byte2)!=1) File_error=2; // octet à répéter if (!File_error) { for (index=0; (indexFirst!=NULL) { - // On mémorise l'adresse du premier élément de la liste + // On mémorise l'adresse du premier élément de la liste temp_item =list->First; - // On fait avancer la tête de la liste + // On fait avancer la tête de la liste list->First=list->First->Next; - // Et on efface l'ancien premier élément de la liste + // Et on efface l'ancien premier élément de la liste free(temp_item->Unicode_full_name); free(temp_item->Unicode_short_name); free(temp_item); @@ -282,7 +282,7 @@ word * Format_filename_unicode(const word * fname, word max_length, int type) result[c]=fname[c]; } - // Ensuite on recopie la partie qui suit le point (si nécessaire): + // Ensuite on recopie la partie qui suit le point (si nécessaire): if (pos_last_dot != -1) { for (c = pos_last_dot+1,other_cursor=max_length-4;fname[c]!='\0' && other_cursor < max_length-1;c++,other_cursor++) @@ -363,7 +363,7 @@ char * Format_filename(const char * fname, word max_length, int type) result[c]=fname[c]; } - // Ensuite on recopie la partie qui suit le point (si nécessaire): + // Ensuite on recopie la partie qui suit le point (si nécessaire): if (pos_last_dot != -1) { for (c = pos_last_dot+1,other_cursor=max_length-4;fname[c]!='\0' && other_cursor < max_length-1;c++,other_cursor++) @@ -376,7 +376,7 @@ char * Format_filename(const char * fname, word max_length, int type) // -- Rajouter a la liste des elements de la liste un element --------------- T_Fileselector_item * Add_element_to_list(T_Fileselector *list, const char * full_name, const char *short_name, int type, byte icon) -// Cette procedure ajoute a la liste chainee un fichier passé en argument. +// Cette procedure ajoute a la liste chainee un fichier passé en argument. { // Working element T_Fileselector_item * temp_item; @@ -420,7 +420,7 @@ int Check_extension(const char *filename_ext, const char * filter) if (filename_ext == NULL || filename_ext[0] == '\0') return (filter[0] == '\0' || filter[0] == ';'); - // Vérification caractère par caractère, case-insensitive. + // Vérification caractère par caractère, case-insensitive. for (c = 0; !(filter[c] == '\0' || filter[c] == ';'); c++) { if (filter[c] != '?' && @@ -530,8 +530,8 @@ static void Read_dir_callback(void * pdata, const char *file_name, const word *u void Read_list_of_files(T_Fileselector *list, byte selected_format) -// Cette procédure charge dans la liste chainée les fichiers dont l'extension -// correspond au format demandé. +// Cette procédure charge dans la liste chainée les fichiers dont l'extension +// correspond au format demandé. { struct Read_dir_pdata callback_data; const char * current_path = NULL; @@ -542,14 +542,14 @@ void Read_list_of_files(T_Fileselector *list, byte selected_format) #endif callback_data.list = list; - // Tout d'abord, on déduit du format demandé un filtre à utiliser: + // Tout d'abord, on déduit du format demandé un filtre à utiliser: callback_data.filter = Get_fileformat(selected_format)->Extensions; // Ensuite, on vide la liste actuelle: Free_fileselector_list(list); - // Après effacement, il ne reste ni fichier ni répertoire dans la liste + // Après effacement, il ne reste ni fichier ni répertoire dans la liste - // On lit tous les répertoires: + // On lit tous les répertoires: current_path = Get_current_directory(curdir, NULL, MAX_PATH_CHARACTERS); For_each_directory_entry(current_path, &callback_data, Read_dir_callback); @@ -686,10 +686,10 @@ void Read_list_of_drives(T_Fileselector *list, byte name_length) { if ( (1 << bit_index) & drive_bits ) { - // On a ce lecteur, il faut maintenant déterminer son type "physique". + // On a ce lecteur, il faut maintenant déterminer son type "physique". // pour profiter des jolies icones de X-man. char drive_path[]="A:\\"; - // Cette API Windows est étrange, je dois m'y faire... + // Cette API Windows est étrange, je dois m'y faire... drive_path[0]='A'+bit_index; switch (GetDriveTypeA(drive_path)) { @@ -731,11 +731,11 @@ void Read_list_of_drives(T_Fileselector *list, byte name_length) } #else { - //Sous les différents unix, on va mettre + //Sous les différents unix, on va mettre // un disque dur qui pointera vers la racine, // et un autre vers le home directory de l'utilisateur. - // Ensuite on utilise read_file_system_list pour compléter + // Ensuite on utilise read_file_system_list pour compléter struct mount_entry* mount_points_list; struct mount_entry* next; @@ -797,15 +797,15 @@ void Read_list_of_drives(T_Fileselector *list, byte name_length) #endif -// -- Tri de la liste des fichiers et répertoires --------------------------- +// -- Tri de la liste des fichiers et répertoires --------------------------- void Sort_list_of_files(T_Fileselector *list) -// Tri la liste chainée existante dans l'ordre suivant: +// Tri la liste chainée existante dans l'ordre suivant: // -// * Les répertoires d'abord, dans l'ordre alphabétique de leur nom -// * Les fichiers ensuite, dans l'ordre alphabétique de leur nom +// * Les répertoires d'abord, dans l'ordre alphabétique de leur nom +// * Les fichiers ensuite, dans l'ordre alphabétique de leur nom { - byte list_is_sorted; // Booléen "La liste est triée" - byte need_swap; // Booléen "Il faut inverser les éléments" + byte list_is_sorted; // Booléen "La liste est triée" + byte need_swap; // Booléen "Il faut inverser les éléments" T_Fileselector_item * prev_item; T_Fileselector_item * current_item; T_Fileselector_item * next_item; @@ -816,7 +816,7 @@ void Sort_list_of_files(T_Fileselector *list) { do { - // Par défaut, on considère que la liste est triée + // Par défaut, on considère que la liste est triée list_is_sorted=1; current_item=list->First; @@ -827,7 +827,7 @@ void Sort_list_of_files(T_Fileselector *list) // On commence par supposer qu'il n'y pas pas besoin d'inversion need_swap=0; - // Ensuite, on vérifie si les deux éléments sont bien dans l'ordre ou + // Ensuite, on vérifie si les deux éléments sont bien dans l'ordre ou // non: // Drives go at the top of the list, and files go after them @@ -846,39 +846,39 @@ void Sort_list_of_files(T_Fileselector *list) if (need_swap) { - // Si les deux éléments nécessitent d'être inversé: + // Si les deux éléments nécessitent d'être inversé: // On les inverses: - // On note avant tout les éléments qui encapsulent nos deux amis + // On note avant tout les éléments qui encapsulent nos deux amis prev_item =current_item->Previous; next_to_next_item=next_item->Next; - // On permute le chaînage des deux éléments entree eux + // On permute le chaînage des deux éléments entree eux current_item->Next =next_to_next_item; current_item->Previous=next_item; next_item->Next =current_item; next_item->Previous=prev_item; - // On tente un chaînage des éléments encapsulant les compères: + // On tente un chaînage des éléments encapsulant les compères: if (prev_item!=NULL) prev_item->Next=next_item; if (next_to_next_item!=NULL) next_to_next_item->Previous=current_item; - // On fait bien attention à modifier la tête de liste en cas de besoin + // On fait bien attention à modifier la tête de liste en cas de besoin if (current_item==list->First) list->First=next_item; - // Ensuite, on se prépare à étudier les éléments précédents: + // Ensuite, on se prépare à étudier les éléments précédents: current_item=prev_item; - // Et on constate que la liste n'était pas encore génialement triée + // Et on constate que la liste n'était pas encore génialement triée list_is_sorted=0; } else { - // Si les deux éléments sont dans l'ordre: + // Si les deux éléments sont dans l'ordre: // On passe aux suivants current_item=current_item->Next; @@ -918,14 +918,14 @@ T_Fileselector_item * Get_item_by_index(T_Fileselector *list, short index) } -// -- Affichage des éléments de la liste de fichier / répertoire ------------ +// -- Affichage des éléments de la liste de fichier / répertoire ------------ void Display_file_list(T_Fileselector *list, short offset_first,short selector_offset) // -// offset_first = Décalage entre le premier fichier visible dans le -// sélecteur et le premier fichier de la liste +// offset_first = Décalage entre le premier fichier visible dans le +// sélecteur et le premier fichier de la liste // -// selector_offset = Décalage entre le premier fichier visible dans le -// sélecteur et le fichier sélectionné dans la liste +// selector_offset = Décalage entre le premier fichier visible dans le +// sélecteur et le fichier sélectionné dans la liste // { T_Fileselector_item * current_item; @@ -934,16 +934,16 @@ void Display_file_list(T_Fileselector *list, short offset_first,short selector_o byte background_color; - // On vérifie s'il y a au moins 1 fichier dans la liste: + // On vérifie s'il y a au moins 1 fichier dans la liste: if (list->Nb_elements>0) { - // On commence par chercher à pointer sur le premier fichier visible: + // On commence par chercher à pointer sur le premier fichier visible: current_item = Get_item_by_index(list, offset_first); - // Pour chacun des 10 éléments inscriptibles à l'écran + // Pour chacun des 10 éléments inscriptibles à l'écran for (index=0;index<10;index++) { - // S'il est sélectionné: + // S'il est sélectionné: if (!selector_offset) { // Si c'est un fichier @@ -965,7 +965,7 @@ void Display_file_list(T_Fileselector *list, short offset_first,short selector_o background_color=NORMAL_BACKGROUND_COLOR; } - // On affiche l'élément + // On affiche l'élément if (current_item->Icon != ICON_NONE) { // Name preceded by an icon @@ -981,7 +981,7 @@ void Display_file_list(T_Fileselector *list, short offset_first,short selector_o Print_in_window(8,95+index*8,current_item->Short_name,text_color,background_color); } - // On passe à la ligne suivante + // On passe à la ligne suivante selector_offset--; current_item=current_item->Next; if (!current_item) @@ -992,30 +992,30 @@ void Display_file_list(T_Fileselector *list, short offset_first,short selector_o } -// -- Récupérer le libellé d'un élément de la liste ------------------------- +// -- Récupérer le libellé d'un élément de la liste ------------------------- static void Get_selected_item(T_Fileselector *list, short offset_first,short selector_offset,char * label,word * unicode_label,int *type) // -// offset_first = Décalage entre le premier fichier visible dans le -// sélecteur et le premier fichier de la liste +// offset_first = Décalage entre le premier fichier visible dans le +// sélecteur et le premier fichier de la liste // -// selector_offset = Décalage entre le premier fichier visible dans le -// sélecteur et le fichier à récupérer +// selector_offset = Décalage entre le premier fichier visible dans le +// sélecteur et le fichier à récupérer // -// label = str de réception du libellé de l'élément +// label = str de réception du libellé de l'élément // -// type = Récupération du type: 0 fichier, 1 repertoire, 2 lecteur. -// Passer NULL si pas interessé. +// type = Récupération du type: 0 fichier, 1 repertoire, 2 lecteur. +// Passer NULL si pas interessé. { T_Fileselector_item * current_item; - // On vérifie s'il y a au moins 1 fichier dans la liste: + // On vérifie s'il y a au moins 1 fichier dans la liste: if (list->Nb_elements>0) { - // On commence par chercher à pointer sur le premier fichier visible: - // Ensuite, on saute autant d'éléments que le décalage demandé: + // On commence par chercher à pointer sur le premier fichier visible: + // Ensuite, on saute autant d'éléments que le décalage demandé: current_item = Get_item_by_index(list, offset_first + selector_offset); - // On recopie la chaîne + // On recopie la chaîne strcpy(label, current_item->Full_name); if (unicode_label != NULL) { @@ -1031,28 +1031,28 @@ static void Get_selected_item(T_Fileselector *list, short offset_first,short sel } -// ----------------- Déplacements dans la liste de fichiers ----------------- +// ----------------- Déplacements dans la liste de fichiers ----------------- void Selector_scroll_down(short * offset_first,short * selector_offset) -// Fait scroller vers le bas le sélecteur de fichier... (si possible) +// Fait scroller vers le bas le sélecteur de fichier... (si possible) { if ( ((*selector_offset)<9) && ( (*selector_offset)+1 < Filelist.Nb_elements ) ) - // Si la sélection peut descendre + // Si la sélection peut descendre Display_file_list(&Filelist, *offset_first,++(*selector_offset)); - else // Sinon, descendre la fenêtre (si possible) + else // Sinon, descendre la fenêtre (si possible) if ((*offset_first)+100) - // Si la sélection peut monter + // Si la sélection peut monter Display_file_list(&Filelist, *offset_first,--(*selector_offset)); - else // Sinon, monter la fenêtre (si possible) + else // Sinon, monter la fenêtre (si possible) if ((*offset_first)>0) Display_file_list(&Filelist, --(*offset_first),*selector_offset); } @@ -1129,9 +1129,9 @@ void Selector_home(short * offset_first,short * selector_offset) short Compute_click_offset_in_fileselector(void) /* - Renvoie le décalage dans le sélecteur de fichier sur lequel on a clické. - Renvoie le décalage du dernier fichier si on a clické au delà. - Renvoie -1 si le sélecteur est vide. + Renvoie le décalage dans le sélecteur de fichier sur lequel on a clické. + Renvoie le décalage du dernier fichier si on a clické au delà. + Renvoie -1 si le sélecteur est vide. */ { short computed_offset; @@ -1148,7 +1148,7 @@ void Display_bookmark(T_Dropdown_button * Button, int bookmark_number) if (Config.Bookmark_directory[bookmark_number]) { int label_size; - // Libellé + // Libellé Print_in_window_limited(Button->Pos_X+3+10,Button->Pos_Y+2,Config.Bookmark_label[bookmark_number],8,MC_Black,MC_Light); label_size=strlen(Config.Bookmark_label[bookmark_number]); if (label_size<8) @@ -1163,7 +1163,7 @@ void Display_bookmark(T_Dropdown_button * Button, int bookmark_number) } else { - // Libellé + // Libellé Print_in_window(Button->Pos_X+3+10,Button->Pos_Y+2,"--------",MC_Dark,MC_Light); // Menu apparait sur clic droit ou gauche Button->Active_button=RIGHT_SIDE|LEFT_SIDE; @@ -1181,8 +1181,8 @@ void Print_current_directory(void) // { char converted_name[MAX_PATH_CHARACTERS]; - int length; // length du répertoire courant - int index; // index de parcours de la chaine complète + int length; // length du répertoire courant + int index; // index de parcours de la chaine complète strncpy(converted_name,Selector->Directory,sizeof(converted_name)); converted_name[sizeof(converted_name)-1] = '\0'; @@ -1288,7 +1288,7 @@ void Print_filename_in_fileselector(void) Update_window_area(82,48,27*8,8); } -int Selected_type; // Utilisé pour mémoriser le type d'entrée choisi +int Selected_type; // Utilisé pour mémoriser le type d'entrée choisi // dans le selecteur de fichier. void Prepare_and_display_filelist(short Position, short offset, T_Scroller_button * button) @@ -1304,11 +1304,11 @@ void Prepare_and_display_filelist(short Position, short offset, T_Scroller_butto Update_window_area(8-1,95-1,144+2,80+2); - // On récupère le nom du schmilblick à "accéder" + // On récupère le nom du schmilblick à "accéder" Get_selected_item(&Filelist, Position,offset,Selector_filename,Selector_filename_unicode,&Selected_type); // On affiche le nouveau nom de fichier Print_filename_in_fileselector(); - // On affiche le nom du répertoire courant + // On affiche le nom du répertoire courant Print_current_directory(); } @@ -1352,14 +1352,14 @@ void Scroll_fileselector(T_Scroller_button * file_scroller) strcpy(old_filename,Selector_filename); - // On regarde si la liste a bougé + // On regarde si la liste a bougé if (file_scroller->Position!=Selector->Position) { - // Si c'est le cas, il faut mettre à jour la jauge + // Si c'est le cas, il faut mettre à jour la jauge file_scroller->Position=Selector->Position; Window_draw_slider(file_scroller); } - // On récupére le nom du schmilblick à "accéder" + // On récupére le nom du schmilblick à "accéder" Get_selected_item(&Filelist, Selector->Position,Selector->Offset,Selector_filename,Selector_filename_unicode,&Selected_type); if (strcmp(old_filename,Selector_filename)) New_preview_is_needed=1; @@ -1513,7 +1513,7 @@ int Quicksearch_list(T_List_button * list, T_Fileselector * selector) Locate_list_item(list, selected_item); Hide_cursor(); - // Mise à jour du scroller + // Mise à jour du scroller list->Scroller->Position=list->List_start; Window_draw_slider(list->Scroller); @@ -1537,12 +1537,12 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context T_Dropdown_button * bookmark_dropdown[4]; short temp; unsigned int format; - int dummy=0; // Sert à appeler SDL_GetKeyState + int dummy=0; // Sert à appeler SDL_GetKeyState byte save_or_load_image=0; - byte has_clicked_ok=0;// Indique si on a clické sur Load ou Save ou sur - //un bouton enclenchant Load ou Save juste après. + byte has_clicked_ok=0;// Indique si on a clické sur Load ou Save ou sur + //un bouton enclenchant Load ou Save juste après. byte initial_back_color; // preview destroys it (how nice) - char previous_directory[MAX_PATH_CHARACTERS]; // Répertoire d'où l'on vient après un CHDIR + char previous_directory[MAX_PATH_CHARACTERS]; // Répertoire d'où l'on vient après un CHDIR char save_filename[MAX_PATH_CHARACTERS]; word save_filename_unicode[MAX_PATH_CHARACTERS]; char initial_comment[COMMENT_SIZE+1]; @@ -1676,8 +1676,8 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context Highlight_file(Find_file_in_fileselector(&Filelist, context->File_name)); Prepare_and_display_filelist(Selector->Position,Selector->Offset,file_scroller); - // On initialise le nom de fichier à celui en cours et non pas celui sous - // la barre de sélection + // On initialise le nom de fichier à celui en cours et non pas celui sous + // la barre de sélection strcpy(Selector_filename,context->File_name); Unicode_strlcpy(Selector_filename_unicode, context->File_name_unicode, 256); // On affiche le nouveau nom de fichier @@ -1748,9 +1748,9 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context // On efface le repertoire (si on peut) temp=(!Remove_directory(Selector_filename)); - if (temp) // temp indique si l'effacement s'est bien passé + if (temp) // temp indique si l'effacement s'est bien passé { - // On remonte si c'était le dernier élément de la liste + // On remonte si c'était le dernier élément de la liste if (Selector->Position+Selector->Offset==Filelist.Nb_elements-1) { if (Selector->Position) @@ -1759,7 +1759,7 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context if (Selector->Offset) Selector->Offset--; } - else // Si ce n'était pas le dernier, il faut faire gaffe à ce + else // Si ce n'était pas le dernier, il faut faire gaffe à ce { // que ses copains d'en dessous ne remontent pas trop. if ( (Selector->Position) && (Selector->Position+10==Filelist.Nb_elements) ) @@ -1787,14 +1787,14 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context { if (temp!=Selector->Offset) { - // On met à jour le décalage + // On met à jour le décalage Selector->Offset=temp; - // On récupére le nom du schmilblick à "accéder" + // On récupére le nom du schmilblick à "accéder" Get_selected_item(&Filelist, Selector->Position,Selector->Offset,Selector_filename,Selector_filename_unicode,&Selected_type); // On affiche le nouveau nom de fichier Print_filename_in_fileselector(); - // On affiche à nouveau la liste + // On affiche à nouveau la liste Display_file_list(&Filelist, Selector->Position,Selector->Offset); // On vient de changer de nom de fichier, donc on doit s'appreter @@ -1805,10 +1805,10 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context } else { - // En sauvegarde, si on a double-clické sur un répertoire, il - // faut mettre le nom de fichier au nom du répertoire. Sinon, dans + // En sauvegarde, si on a double-clické sur un répertoire, il + // faut mettre le nom de fichier au nom du répertoire. Sinon, dans // certains cas, on risque de sauvegarder avec le nom du fichier - // actuel au lieu de changer de répertoire. + // actuel au lieu de changer de répertoire. if (Selector->Position+Selector->OffsetPosition,Selector->Offset,Selector_filename,Selector_filename_unicode,&Selected_type); @@ -1824,11 +1824,11 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context case 5 : // Scroller de fichiers Hide_cursor(); Selector->Position=Window_attribute2; - // On récupére le nom du schmilblick à "accéder" + // On récupére le nom du schmilblick à "accéder" Get_selected_item(&Filelist, Selector->Position,Selector->Offset,Selector_filename,Selector_filename_unicode,&Selected_type); // On affiche le nouveau nom de fichier Print_filename_in_fileselector(); - // On affiche à nouveau la liste + // On affiche à nouveau la liste Display_file_list(&Filelist, Selector->Position,Selector->Offset); Display_cursor(); New_preview_is_needed=1; @@ -1972,7 +1972,7 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context #if defined(WIN32) || defined(ENABLE_FILENAMES_ICONV) Unicode_strlcpy(Selector_filename_unicode, filename_unicode, sizeof(Selector_filename_unicode)/sizeof(word)); #endif - // On regarde s'il faut rajouter une extension. C'est-à-dire s'il + // On regarde s'il faut rajouter une extension. C'est-à-dire s'il // n'y a pas de '.' dans le nom du fichier. for(temp=0,dummy=0; ((Selector_filename[temp]) && (!dummy)); temp++) if (Selector_filename[temp]=='.') @@ -2028,7 +2028,7 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context case 9 : // Volume Select Hide_cursor(); // Comme on tombe sur un disque qu'on connait pas, on se place en - // début de liste: + // début de liste: Selector->Position=0; Selector->Offset=0; // Affichage des premiers fichiers visibles: @@ -2047,7 +2047,7 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context switch(Window_attribute2) { - case -1: // bouton lui-même: aller au répertoire mémorisé + case -1: // bouton lui-même: aller au répertoire mémorisé if (Config.Bookmark_directory[clicked_button-10]) { // backup the currently selected filename @@ -2087,7 +2087,7 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context case 1: // Rename if (Config.Bookmark_directory[clicked_button-10]) { - // On enlève les "..." avant l'édition + // On enlève les "..." avant l'édition char bookmark_label[8+1]; strcpy(bookmark_label, Config.Bookmark_label[clicked_button-10]); if (bookmark_label[7]==ELLIPSIS_CHARACTER) @@ -2174,10 +2174,10 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context break; case SDLK_BACKSPACE : // Backspace Reset_quicksearch(); - // Si le choix ".." est bien en tête des propositions... + // Si le choix ".." est bien en tête des propositions... if (Filelist.Nb_elements && !strcmp(Filelist.First->Full_name,PARENT_DIR)) { - // On va dans le répertoire parent. + // On va dans le répertoire parent. strcpy(Selector_filename,PARENT_DIR); Selector_filename_unicode[0] = 0; Selected_type=1; @@ -2220,7 +2220,7 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context if (has_clicked_ok) { - // Si c'est un répertoire, on annule "has_clicked_ok" et on passe + // Si c'est un répertoire, on annule "has_clicked_ok" et on passe // dedans. if (Selected_type!=0) { @@ -2281,14 +2281,14 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context // Gestion du chrono et des previews if (New_preview_is_needed) { - // On efface les infos de la preview précédente s'il y en a une - // d'affichée + // On efface les infos de la preview précédente s'il y en a une + // d'affichée if (Timer_state==2) { Hide_cursor(); - // On efface le commentaire précédent + // On efface le commentaire précédent Window_rectangle(45,70,32*8,8,MC_Light); - // On nettoie la zone où va s'afficher la preview: + // On nettoie la zone où va s'afficher la preview: Window_rectangle(183,95,PREVIEW_WIDTH,PREVIEW_HEIGHT,MC_Light); // On efface les dimensions de l'image Window_rectangle(101,59,120,8,MC_Light); @@ -2302,15 +2302,15 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context Print_in_window(45,70,context->Comment,MC_Black,MC_Light); } Display_cursor(); - // Un update pour couvrir les 4 zones: 3 libellés plus le commentaire + // Un update pour couvrir les 4 zones: 3 libellés plus le commentaire Update_window_area(45,48,256,30); // Zone de preview Update_window_area(183,95,PREVIEW_WIDTH,PREVIEW_HEIGHT); } New_preview_is_needed=0; - Timer_state=0; // State du chrono = Attente d'un Xème de seconde - // On lit le temps de départ du chrono + Timer_state=0; // State du chrono = Attente d'un Xème de seconde + // On lit le temps de départ du chrono Init_chrono(Config.Timer_delay); } @@ -2337,7 +2337,7 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context } - Timer_state=2; // On arrête le chrono + Timer_state=2; // On arrête le chrono } } while ( (!has_clicked_ok) && (clicked_button!=2) ); @@ -2358,7 +2358,7 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context } - // On restaure les données de l'image qui ont certainement été modifiées + // On restaure les données de l'image qui ont certainement été modifiées // par la preview. Back_color=initial_back_color; if (Windows_open <= 1) diff --git a/src/graph.c b/src/graph.c index 2b5fcc77..f5a867a3 100644 --- a/src/graph.c +++ b/src/graph.c @@ -73,7 +73,7 @@ typedef struct qword limit; } T_Ellipse_limits; -// Calcule les valeurs suivantes en fonction des deux paramètres: +// Calcule les valeurs suivantes en fonction des deux paramètres: // // Ellipse_vertical_radius_squared // Ellipse_horizontal_radius_squared @@ -86,8 +86,8 @@ static void Ellipse_compute_limites(short horizontal_radius,short vertical_radiu Ellipse->limit = (qword)Ellipse->horizontal_radius_squared * Ellipse->vertical_radius_squared; } -// Indique si le pixel se trouvant à Ellipse_cursor_X pixels -// (Ellipse_cursor_X>0 = à droite, Ellipse_cursor_X<0 = à gauche) et à +// Indique si le pixel se trouvant à Ellipse_cursor_X pixels +// (Ellipse_cursor_X>0 = à droite, Ellipse_cursor_X<0 = à gauche) et à // Ellipse_cursor_Y pixels (Ellipse_cursor_Y>0 = en bas, // Ellipse_cursor_Y<0 = en haut) du centre se trouve dans l'ellipse en // cours. @@ -100,8 +100,8 @@ static byte Pixel_in_ellipse(long x, long y, const T_Ellipse_limits * Ellipse) return 0; } -// Indique si le pixel se trouvant à Circle_cursor_X pixels -// (Circle_cursor_X>0 = à droite, Circle_cursor_X<0 = à gauche) et à +// Indique si le pixel se trouvant à Circle_cursor_X pixels +// (Circle_cursor_X>0 = à droite, Circle_cursor_X<0 = à gauche) et à // Circle_cursor_Y pixels (Circle_cursor_Y>0 = en bas, // Circle_cursor_Y<0 = en haut) du centre se trouve dans le cercle en // cours. @@ -279,7 +279,7 @@ void Transform_point(short x, short y, float cos_a, float sin_a, } -//--------------------- Initialisation d'un mode vidéo ----------------------- +//--------------------- Initialisation d'un mode vidéo ----------------------- int Init_mode_video(int width, int height, int fullscreen, int pix_ratio) { @@ -378,7 +378,7 @@ try_again: if (width < 320*pix_width || height < 200*pix_height) return 1; } - // La largeur doit être un multiple de 4 + // La largeur doit être un multiple de 4 #ifdef __amigaos4__ // On AmigaOS the systems adds some more constraints on that ... width = (width + 15) & 0xFFFFFFF0; @@ -536,9 +536,9 @@ try_again: if (fullscreen) Set_mouse_position(); - Spare.offset_X=0; // | Il faut penser à éviter les incohérences - Spare.offset_Y=0; // |- de décalage du brouillon par rapport à - Spare.magnifier_mode=0; // | la résolution. + Spare.offset_X=0; // | Il faut penser à éviter les incohérences + Spare.offset_Y=0; // |- de décalage du brouillon par rapport à + Spare.magnifier_mode=0; // | la résolution. if (Main.magnifier_mode) { @@ -571,7 +571,7 @@ try_again: - // -- Redimentionner l'image (nettoie l'écran virtuel) -- + // -- Redimentionner l'image (nettoie l'écran virtuel) -- void Resize_image(word chosen_width,word chosen_height) { @@ -588,7 +588,7 @@ void Resize_image(word chosen_width,word chosen_height) Upload_infos_page(&Main); if (Backup_with_new_dimensions(chosen_width,chosen_height)) { - // La nouvelle page a pu être allouée, elle est pour l'instant pleine de + // La nouvelle page a pu être allouée, elle est pour l'instant pleine de // 0s. Elle fait Main.image_width de large. Main.image_is_modified=1; @@ -618,11 +618,11 @@ void Remap_spare(void) { short x_pos; // Variable de balayage de la brosse short y_pos; // Variable de balayage de la brosse - byte used[256]; // Tableau de booléens "La couleur est utilisée" + byte used[256]; // Tableau de booléens "La couleur est utilisée" int color; int layer; - // On commence par initialiser le tableau de booléens à faux + // On commence par initialiser le tableau de booléens à faux for (color=0;color<=255;color++) used[color]=0; @@ -635,16 +635,16 @@ void Remap_spare(void) // On va maintenant se servir de la table "used" comme table de // conversion: pour chaque indice, la table donne une couleur de // remplacement. - // Note : Seules les couleurs utilisées on besoin d'êtres recalculées: les - // autres ne seront jamais consultées dans la nouvelle table de + // Note : Seules les couleurs utilisées on besoin d'êtres recalculées: les + // autres ne seront jamais consultées dans la nouvelle table de // conversion puisque elles n'existent pas dans l'image, donc elles - // ne seront pas utilisées par Remap_general_lowlevel. + // ne seront pas utilisées par Remap_general_lowlevel. for (color=0;color<=255;color++) if (used[color]) used[color]=Best_color_perceptual(Spare.palette[color].R,Spare.palette[color].G,Spare.palette[color].B); // Maintenant qu'on a une super table de conversion qui n'a que le nom - // qui craint un peu, on peut faire l'échange dans la brosse de toutes les + // qui craint un peu, on peut faire l'échange dans la brosse de toutes les // teintes. for (layer=0; layerPages->Nb_layers; layer++) Remap_general_lowlevel(used,Spare.backups->Pages->Image[layer].Pixels,Spare.backups->Pages->Image[layer].Pixels,Spare.image_width,Spare.image_height,Spare.image_width); @@ -659,7 +659,7 @@ void Get_colors_from_brush(void) { short x_pos; // Variable de balayage de la brosse short y_pos; // Variable de balayage de la brosse - byte brush_used[256]; // Tableau de booléens "La couleur est utilisée" + byte brush_used[256]; // Tableau de booléens "La couleur est utilisée" dword usage[256]; int color; int image_color; @@ -754,25 +754,25 @@ void Get_colors_from_brush(void) void Fill(short * top_reached , short * bottom_reached, short * left_reached, short * right_reached) // -// Cette fonction fait un remplissage classique d'une zone délimitée de -// l'image. Les limites employées sont Limit_top, Limit_bottom, Limit_left -// et Limit_right. Le point de départ du remplissage est Paintbrush_X,Paintbrush_Y -// et s'effectue en théorie sur la couleur 1 et emploie la couleur 2 pour le -// remplissage. Ces restrictions sont dûes à l'utilisation qu'on en fait dans +// Cette fonction fait un remplissage classique d'une zone délimitée de +// l'image. Les limites employées sont Limit_top, Limit_bottom, Limit_left +// et Limit_right. Le point de départ du remplissage est Paintbrush_X,Paintbrush_Y +// et s'effectue en théorie sur la couleur 1 et emploie la couleur 2 pour le +// remplissage. Ces restrictions sont dûes à l'utilisation qu'on en fait dans // la fonction principale "Fill_general", qui se charge de faire une gestion de // tous les effets. -// Cette fonction ne doit pas être directement appelée. +// Cette fonction ne doit pas être directement appelée. // { - short x_pos; // Abscisse de balayage du segment, utilisée lors de l'"affichage" - short line; // Ordonnée de la ligne en cours de traitement - short start_x; // Abscisse de départ du segment traité - short end_x; // Abscisse de fin du segment traité - int changes_made; // Booléen "On a fait une modif dans le dernier passage" - int can_propagate; // Booléen "On peut propager la couleur dans le segment" + short x_pos; // Abscisse de balayage du segment, utilisée lors de l'"affichage" + short line; // Ordonnée de la ligne en cours de traitement + short start_x; // Abscisse de départ du segment traité + short end_x; // Abscisse de fin du segment traité + int changes_made; // Booléen "On a fait une modif dans le dernier passage" + int can_propagate; // Booléen "On peut propager la couleur dans le segment" short current_limit_bottom; // Intervalle vertical restreint short current_limit_top; - int line_is_modified; // Booléen "On a fait une modif dans la ligne" + int line_is_modified; // Booléen "On a fait une modif dans la ligne" changes_made=1; current_limit_top=Paintbrush_Y; @@ -788,22 +788,22 @@ void Fill(short * top_reached , short * bottom_reached, for (line=current_limit_top;line<=current_limit_bottom;line++) { line_is_modified=0; - // On va traiter le cas de la ligne n° line. + // On va traiter le cas de la ligne n° line. - // On commence le traitement à la gauche de l'écran + // On commence le traitement à la gauche de l'écran start_x=Limit_left; // Pour chaque segment de couleur 1 que peut contenir la ligne while (start_x<=Limit_right) { - // On cherche son début + // On cherche son début while((start_x<=Limit_right) && (Read_pixel_from_current_layer(start_x,line)!=1)) start_x++; if (start_x<=Limit_right) { - // Un segment de couleur 1 existe et commence à la position start_x. + // Un segment de couleur 1 existe et commence à la position start_x. // On va donc en chercher la fin. for (end_x=start_x+1;(end_x<=Limit_right) && (Read_pixel_from_current_layer(end_x,line)==1);end_x++); @@ -811,19 +811,19 @@ void Fill(short * top_reached , short * bottom_reached, // On sait qu'il existe un segment de couleur 1 qui commence en // start_x et qui se termine en end_x-1. - // On va maintenant regarder si une couleur sur la périphérie + // On va maintenant regarder si une couleur sur la périphérie // permet de colorier ce segment avec la couleur 2. can_propagate=( - // Test de la présence d'un point à gauche du segment + // Test de la présence d'un point à gauche du segment ((start_x>Limit_left) && (Read_pixel_from_current_layer(start_x-1,line)==2)) || - // Test de la présence d'un point à droite du segment + // Test de la présence d'un point à droite du segment ((end_x-1Limit_top)) for (x_pos=start_x;x_pos*right_reached) *right_reached=end_x; - // On remplit le segment de start_x à end_x-1. + // On remplit le segment de start_x à end_x-1. for (x_pos=start_x;x_posLimit_top) current_limit_top--; @@ -868,21 +868,21 @@ void Fill(short * top_reached , short * bottom_reached, for (line=current_limit_bottom;line>=current_limit_top;line--) { line_is_modified=0; - // On va traiter le cas de la ligne n° line. + // On va traiter le cas de la ligne n° line. - // On commence le traitement à la gauche de l'écran + // On commence le traitement à la gauche de l'écran start_x=Limit_left; // Pour chaque segment de couleur 1 que peut contenir la ligne while (start_x<=Limit_right) { - // On cherche son début + // On cherche son début for (;(start_x<=Limit_right) && (Read_pixel_from_current_layer(start_x,line)!=1);start_x++); if (start_x<=Limit_right) { - // Un segment de couleur 1 existe et commence à la position start_x. + // Un segment de couleur 1 existe et commence à la position start_x. // On va donc en chercher la fin. for (end_x=start_x+1;(end_x<=Limit_right) && (Read_pixel_from_current_layer(end_x,line)==1);end_x++); @@ -890,19 +890,19 @@ void Fill(short * top_reached , short * bottom_reached, // On sait qu'il existe un segment de couleur 1 qui commence en // start_x et qui se termine en end_x-1. - // On va maintenant regarder si une couleur sur la périphérie + // On va maintenant regarder si une couleur sur la périphérie // permet de colorier ce segment avec la couleur 2. can_propagate=( - // Test de la présence d'un point à gauche du segment + // Test de la présence d'un point à gauche du segment ((start_x>Limit_left) && (Read_pixel_from_current_layer(start_x-1,line)==2)) || - // Test de la présence d'un point à droite du segment + // Test de la présence d'un point à droite du segment ((end_x-1*right_reached) *right_reached=end_x; - // On remplit le segment de start_x à end_x-1. + // On remplit le segment de start_x à end_x-1. for (x_pos=start_x;x_pos=Limit_left) && @@ -985,7 +985,7 @@ void Fill_general(byte fill_color) return; } - // On suppose que le curseur est déjà caché. + // On suppose que le curseur est déjà caché. // Hide_cursor(); // On va faire patienter l'utilisateur en lui affichant un joli petit @@ -1009,7 +1009,7 @@ void Fill_general(byte fill_color) Limit_top = Max(Limit_top, (Paintbrush_Y-Snap_offset_Y)/Snap_height*Snap_height+Snap_offset_Y); } - // On va maintenant "épurer" la zone visible de l'image: + // On va maintenant "épurer" la zone visible de l'image: memset(replace_table,0,256); replace_table[Read_pixel_from_backup_layer(Paintbrush_X,Paintbrush_Y)]=1; Replace_colors_within_limits(replace_table); @@ -1018,13 +1018,13 @@ void Fill_general(byte fill_color) Fill(&top_reached ,&bottom_reached, &left_reached,&right_reached); - // On s'apprête à faire des opérations qui nécessitent un affichage. Il - // faut donc retirer de l'écran le curseur: + // On s'apprête à faire des opérations qui nécessitent un affichage. Il + // faut donc retirer de l'écran le curseur: Hide_cursor(); Cursor_shape=cursor_shape_before_fill; // Il va maintenant falloir qu'on "turn" ce gros caca "into" un truc qui - // ressemble un peu plus à ce à quoi l'utilisateur peut s'attendre. + // ressemble un peu plus à ce à quoi l'utilisateur peut s'attendre. if (top_reached>Limit_top) Copy_part_of_image_to_another(Main.backups->Pages->Next->Image[Main.current_layer].Pixels, // source Limit_left,Limit_top, // Pos X et Y dans source @@ -1083,11 +1083,11 @@ void Fill_general(byte fill_color) // Restore original feedback value Update_FX_feedback(Config.FX_Feedback); - // A la fin, on n'a pas besoin de réafficher le curseur puisque c'est + // A la fin, on n'a pas besoin de réafficher le curseur puisque c'est // l'appelant qui s'en charge, et on n'a pas besoin de rafficher l'image - // puisque les seuls points qui ont changé dans l'image ont été raffichés + // puisque les seuls points qui ont changé dans l'image ont été raffichés // par l'utilisation de "Display_pixel()", et que les autres... eh bein - // on n'y a jamais touché à l'écran les autres: ils sont donc corrects. + // on n'y a jamais touché à l'écran les autres: ils sont donc corrects. if(Main.magnifier_mode) { short w,h; @@ -1106,7 +1106,7 @@ void Fill_general(byte fill_color) ////////////////////////////////////////////////////////////////////////////// -////////////////// TRACéS DE FIGURES GéOMéTRIQUES STANDARDS ////////////////// +////////////////// TRACéS DE FIGURES GéOMéTRIQUES STANDARDS ////////////////// ////////////////////////// avec gestion de previews ////////////////////////// ////////////////////////////////////////////////////////////////////////////// @@ -1120,7 +1120,7 @@ void Fill_general(byte fill_color) Permanent_draw_next_refresh = SDL_GetTicks() + 100; } - // Affichage d'un point de façon définitive (utilisation du pinceau) + // Affichage d'un point de façon définitive (utilisation du pinceau) void Pixel_figure_permanent(word x_pos,word y_pos,byte color) { Draw_paintbrush(x_pos,y_pos,color); @@ -1139,7 +1139,7 @@ void Fill_general(byte fill_color) } } - // Affichage d'un point de façon définitive + // Affichage d'un point de façon définitive void Pixel_clipped(word x_pos,word y_pos,byte color) { if ( (x_pos>=Limit_left) && @@ -1218,7 +1218,7 @@ void Fill_general(byte fill_color) } - // -- Tracer général d'un cercle vide ------------------------------------- + // -- Tracer général d'un cercle vide ------------------------------------- void Draw_empty_circle_general(short center_x,short center_y, long sqradius,byte color) { @@ -1235,14 +1235,14 @@ void Draw_empty_circle_general(short center_x,short center_y, long sqradius,byte start_x=center_x-radius; start_y=center_y-radius; - // Affichage des extremitées du cercle sur chaque quart du cercle: + // Affichage des extremitées du cercle sur chaque quart du cercle: for (y_pos=start_y,y=-radius;y_posLimit_bottom) @@ -1365,7 +1365,7 @@ int Circle_squared_diameter(int diameter) return result; } - // -- Tracer général d'une ellipse vide ----------------------------------- + // -- Tracer général d'une ellipse vide ----------------------------------- static void Draw_empty_ellipse_general(short center_x,short center_y,short horizontal_radius,short vertical_radius,byte color) { @@ -1382,7 +1382,7 @@ static void Draw_empty_ellipse_general(short center_x,short center_y,short horiz // Calcul des limites de l'ellipse Ellipse_compute_limites(horizontal_radius+1, vertical_radius+1, &Ellipse); - // Affichage des extremitées de l'ellipse sur chaque quart de l'ellipse: + // Affichage des extremitées de l'ellipse sur chaque quart de l'ellipse: for (y_pos=start_y,y=-vertical_radius;y_posLimit_bottom) @@ -1618,7 +1618,7 @@ void Draw_filled_inscribed_ellipse(short x1,short y1,short x2,short y2,byte colo } /****************** -* TRACÉ DE LIGNES * +* TRACÉ DE LIGNES * ******************/ /// Alters bx and by so the (AX,AY)-(BX,BY) segment becomes either horizontal, @@ -1749,7 +1749,7 @@ void Clamp_coordinates_regular_angle(short ax, short ay, short* bx, short* by) return; } - // -- Tracer général d'une ligne ------------------------------------------ + // -- Tracer général d'une ligne ------------------------------------------ void Draw_line_general(short start_x,short start_y,short end_x,short end_y, byte color) { @@ -1819,7 +1819,7 @@ void Draw_line_general(short start_x,short start_y,short end_x,short end_y, byte } - // -- Tracer définitif d'une ligne -- + // -- Tracer définitif d'une ligne -- void Draw_line_permanent(short start_x,short start_y,short end_x,short end_y, byte color) { @@ -1898,7 +1898,7 @@ void Draw_empty_rectangle(short start_x,short start_y,short end_x,short end_y,by short y_pos; - // On vérifie que les bornes soient dans le bon sens: + // On vérifie que les bornes soient dans le bon sens: if (start_x>end_x) { temp=start_x; @@ -1941,7 +1941,7 @@ void Draw_filled_rectangle(short start_x,short start_y,short end_x,short end_y,b short y_pos; - // On vérifie que les bornes sont dans le bon sens: + // On vérifie que les bornes sont dans le bon sens: if (start_x>end_x) { temp=start_x; @@ -1955,7 +1955,7 @@ void Draw_filled_rectangle(short start_x,short start_y,short end_x,short end_y,b end_y=temp; } - // Correction en cas de dépassement des limites de l'image + // Correction en cas de dépassement des limites de l'image if (end_x>Limit_right) end_x=Limit_right; if (end_y>Limit_bottom) @@ -1965,7 +1965,7 @@ void Draw_filled_rectangle(short start_x,short start_y,short end_x,short end_y,b for (y_pos=start_y;y_pos<=end_y;y_pos++) for (x_pos=start_x;x_pos<=end_x;x_pos++) // Display_pixel traite chaque pixel avec tous les effets ! (smear, ...) - // Donc on ne peut pas otimiser en traçant ligne par ligne avec memset :( + // Donc on ne peut pas otimiser en traçant ligne par ligne avec memset :( Display_pixel(x_pos,y_pos,color); Update_part_of_screen(start_x,start_y,end_x-start_x,end_y-start_y); @@ -1974,7 +1974,7 @@ void Draw_filled_rectangle(short start_x,short start_y,short end_x,short end_y,b - // -- Tracer une courbe de Bézier -- + // -- Tracer une courbe de Bézier -- void Draw_curve_general(short x1, short y1, short x2, short y2, @@ -1998,7 +1998,7 @@ void Draw_curve_general(short x1, short y1, cy[2]= - 3*y1 + 3*y2; cy[3]= + y1; - // Traçage de la courbe + // Traçage de la courbe old_x=x1; old_y=y1; Pixel_figure(old_x,old_y,color); @@ -2021,7 +2021,7 @@ void Draw_curve_general(short x1, short y1, Update_part_of_screen(x,y,old_x+1,old_y+1); } - // -- Tracer une courbe de Bézier définitivement -- + // -- Tracer une courbe de Bézier définitivement -- void Draw_curve_permanent(short x1, short y1, short x2, short y2, @@ -2034,7 +2034,7 @@ void Draw_curve_permanent(short x1, short y1, Draw_curve_general(x1,y1,x2,y2,x3,y3,x4,y4,color); } - // -- Tracer la preview d'une courbe de Bézier -- + // -- Tracer la preview d'une courbe de Bézier -- void Draw_curve_preview(short x1, short y1, short x2, short y2, @@ -2046,7 +2046,7 @@ void Draw_curve_preview(short x1, short y1, Draw_curve_general(x1,y1,x2,y2,x3,y3,x4,y4,color); } - // -- Effacer la preview d'une courbe de Bézier -- + // -- Effacer la preview d'une courbe de Bézier -- void Hide_curve_preview(short x1, short y1, short x2, short y2, @@ -2094,9 +2094,9 @@ void Airbrush(short clicked_button) } else { - // On essaye de se balader dans la table des flux de façon à ce que ce - // ne soit pas toujours la dernière couleur qui soit affichée en dernier - // Pour ça, on part d'une couleur au pif dans une direction aléatoire. + // On essaye de se balader dans la table des flux de façon à ce que ce + // ne soit pas toujours la dernière couleur qui soit affichée en dernier + // Pour ça, on part d'une couleur au pif dans une direction aléatoire. direction=rand()&1; for (index=0,color_index=rand()/*%256*/; index<256; index++) { @@ -2131,7 +2131,7 @@ void Airbrush(short clicked_button) ////////////////////////////////////////////////////////////////////////// - // -- Gestion d'un dégradé de base (le plus moche) -- + // -- Gestion d'un dégradé de base (le plus moche) -- void Gradient_basic(long index,short x_pos,short y_pos) { @@ -2140,21 +2140,21 @@ void Gradient_basic(long index,short x_pos,short y_pos) // On fait un premier calcul partiel position=(index*Gradient_bounds_range); - // On gère un déplacement au hasard + // On gère un déplacement au hasard position+=(Gradient_total_range*(rand()%Gradient_random_factor)) >>6; position-=(Gradient_total_range*Gradient_random_factor) >>7; position/=Gradient_total_range; - // On va vérifier que nos petites idioties n'ont pas éjecté la valeur hors - // des valeurs autorisées par le dégradé défini par l'utilisateur. + // On va vérifier que nos petites idioties n'ont pas éjecté la valeur hors + // des valeurs autorisées par le dégradé défini par l'utilisateur. if (position<0) position=0; else if (position>=Gradient_bounds_range) position=Gradient_bounds_range-1; - // On ramène ensuite la position dans le dégradé vers un numéro de couleur + // On ramène ensuite la position dans le dégradé vers un numéro de couleur if (Gradient_is_inverted) Gradient_pixel(x_pos,y_pos,Gradient_upper_bound-position); else @@ -2162,7 +2162,7 @@ void Gradient_basic(long index,short x_pos,short y_pos) } - // -- Gestion d'un dégradé par trames simples -- + // -- Gestion d'un dégradé par trames simples -- void Gradient_dithered(long index,short x_pos,short y_pos) { @@ -2170,22 +2170,22 @@ void Gradient_dithered(long index,short x_pos,short y_pos) long position_in_segment; // - // But de l'opération: en plus de calculer la position de base (désignée - // dans cette procédure par "position_in_gradient", on calcule la position - // de l'indice dans le schéma suivant: + // But de l'opération: en plus de calculer la position de base (désignée + // dans cette procédure par "position_in_gradient", on calcule la position + // de l'indice dans le schéma suivant: // - // | Les indices qui traînent de ce côté du segment se voient subir - // | une incrémentation conditionnelle à leur position dans l'écran. + // | Les indices qui traînent de ce côté du segment se voient subir + // | une incrémentation conditionnelle à leur position dans l'écran. // v // |---|---|---|---- - - - // ^ - // |_ Les indices qui traînent de ce côté du segment se voient subir une - // décrémentation conditionnelle à leur position dans l'écran. + // |_ Les indices qui traînent de ce côté du segment se voient subir une + // décrémentation conditionnelle à leur position dans l'écran. // On fait d'abord un premier calcul partiel position_in_gradient=(index*Gradient_bounds_range); - // On gère un déplacement au hasard... + // On gère un déplacement au hasard... position_in_gradient+=(Gradient_total_range*(rand()%Gradient_random_factor)) >>6; position_in_gradient-=(Gradient_total_range*Gradient_random_factor) >>7; @@ -2195,11 +2195,11 @@ void Gradient_dithered(long index,short x_pos,short y_pos) // ... qui nous permet de calculer la position dans le segment position_in_segment=((position_in_gradient<<2)/Gradient_total_range)&3; - // On peut ensuite terminer le calcul de l'indice dans le dégradé + // On peut ensuite terminer le calcul de l'indice dans le dégradé position_in_gradient/=Gradient_total_range; // On va pouvoir discuter de la valeur de position_in_gradient en fonction - // de la position dans l'écran et de la position_in_segment. + // de la position dans l'écran et de la position_in_segment. switch (position_in_segment) { @@ -2208,23 +2208,23 @@ void Gradient_dithered(long index,short x_pos,short y_pos) position_in_gradient--; break; - // On n'a pas à traiter les cas 1 et 2 car ils représentent des valeurs - // suffisament au centre du segment pour ne pas avoir à subir la trame + // On n'a pas à traiter les cas 1 et 2 car ils représentent des valeurs + // suffisament au centre du segment pour ne pas avoir à subir la trame case 3 : // On est sur la droite du segment - if (((x_pos+y_pos)&1)!=0) // Note: on doit faire le test inverse au cas gauche pour synchroniser les 2 côtés de la trame. + if (((x_pos+y_pos)&1)!=0) // Note: on doit faire le test inverse au cas gauche pour synchroniser les 2 côtés de la trame. position_in_gradient++; } - // On va vérifier que nos petites idioties n'ont pas éjecté la valeur hors - // des valeurs autorisées par le dégradé défini par l'utilisateur. + // On va vérifier que nos petites idioties n'ont pas éjecté la valeur hors + // des valeurs autorisées par le dégradé défini par l'utilisateur. if (position_in_gradient<0) position_in_gradient=0; else if (position_in_gradient>=Gradient_bounds_range) position_in_gradient=Gradient_bounds_range-1; - // On ramène ensuite la position dans le dégradé vers un numéro de couleur + // On ramène ensuite la position dans le dégradé vers un numéro de couleur if (Gradient_is_inverted) position_in_gradient=Gradient_upper_bound-position_in_gradient; else @@ -2234,7 +2234,7 @@ void Gradient_dithered(long index,short x_pos,short y_pos) } - // -- Gestion d'un dégradé par trames étendues -- + // -- Gestion d'un dégradé par trames étendues -- void Gradient_extra_dithered(long index,short x_pos,short y_pos) { @@ -2242,22 +2242,22 @@ void Gradient_extra_dithered(long index,short x_pos,short y_pos) long position_in_segment; // - // But de l'opération: en plus de calculer la position de base (désignée - // dans cette procédure par "position_in_gradient", on calcule la position - // de l'indice dans le schéma suivant: + // But de l'opération: en plus de calculer la position de base (désignée + // dans cette procédure par "position_in_gradient", on calcule la position + // de l'indice dans le schéma suivant: // - // | Les indices qui traînent de ce côté du segment se voient subir - // | une incrémentation conditionnelle à leur position dans l'écran. + // | Les indices qui traînent de ce côté du segment se voient subir + // | une incrémentation conditionnelle à leur position dans l'écran. // v // |---|---|---|---- - - - // ^ - // |_ Les indices qui traînent de ce côté du segment se voient subir une - // décrémentation conditionnelle à leur position dans l'écran. + // |_ Les indices qui traînent de ce côté du segment se voient subir une + // décrémentation conditionnelle à leur position dans l'écran. // On fait d'abord un premier calcul partiel position_in_gradient=(index*Gradient_bounds_range); - // On gère un déplacement au hasard + // On gère un déplacement au hasard position_in_gradient+=(Gradient_total_range*(rand()%Gradient_random_factor)) >>6; position_in_gradient-=(Gradient_total_range*Gradient_random_factor) >>7; @@ -2267,15 +2267,15 @@ void Gradient_extra_dithered(long index,short x_pos,short y_pos) // Qui nous permet de calculer la position dans le segment position_in_segment=((position_in_gradient<<3)/Gradient_total_range)&7; - // On peut ensuite terminer le calcul de l'indice dans le dégradé + // On peut ensuite terminer le calcul de l'indice dans le dégradé position_in_gradient/=Gradient_total_range; // On va pouvoir discuter de la valeur de position_in_gradient en fonction - // de la position dans l'écran et de la position_in_segment. + // de la position dans l'écran et de la position_in_segment. switch (position_in_segment) { - case 0 : // On est sur l'extrême gauche du segment + case 0 : // On est sur l'extrême gauche du segment if (((x_pos+y_pos)&1)==0) position_in_gradient--; break; @@ -2286,8 +2286,8 @@ void Gradient_extra_dithered(long index,short x_pos,short y_pos) position_in_gradient--; break; - // On n'a pas à traiter les cas 3 et 4 car ils représentent des valeurs - // suffisament au centre du segment pour ne pas avoir à subir la trame + // On n'a pas à traiter les cas 3 et 4 car ils représentent des valeurs + // suffisament au centre du segment pour ne pas avoir à subir la trame case 5 : // On est sur la droite du segment case 6 : // On est sur la droite du segment @@ -2296,19 +2296,19 @@ void Gradient_extra_dithered(long index,short x_pos,short y_pos) break; case 7 : // On est sur l'extreme droite du segment - if (((x_pos+y_pos)&1)!=0) // Note: on doit faire le test inverse au cas gauche pour synchroniser les 2 côtés de la trame. + if (((x_pos+y_pos)&1)!=0) // Note: on doit faire le test inverse au cas gauche pour synchroniser les 2 côtés de la trame. position_in_gradient++; } - // On va vérifier que nos petites idioties n'ont pas éjecté la valeur hors - // des valeurs autorisées par le dégradé défini par l'utilisateur. + // On va vérifier que nos petites idioties n'ont pas éjecté la valeur hors + // des valeurs autorisées par le dégradé défini par l'utilisateur. if (position_in_gradient<0) position_in_gradient=0; else if (position_in_gradient>=Gradient_bounds_range) position_in_gradient=Gradient_bounds_range-1; - // On ramène ensuite la position dans le dégradé vers un numéro de couleur + // On ramène ensuite la position dans le dégradé vers un numéro de couleur if (Gradient_is_inverted) position_in_gradient=Gradient_upper_bound-position_in_gradient; else @@ -2319,7 +2319,7 @@ void Gradient_extra_dithered(long index,short x_pos,short y_pos) - // -- Tracer un cercle degradé (une sphère) -- + // -- Tracer un cercle degradé (une sphère) -- void Draw_grad_circle(short center_x,short center_y,long sqradius,short spot_x,short spot_y) { @@ -2329,8 +2329,8 @@ void Draw_grad_circle(short center_x,short center_y,long sqradius,short spot_x,s long y_pos; long end_x; long end_y; - long distance_x; // Distance (au carré) sur les X du point en cours au centre d'éclairage - long distance_y; // Distance (au carré) sur les Y du point en cours au centre d'éclairage + long distance_x; // Distance (au carré) sur les X du point en cours au centre d'éclairage + long distance_y; // Distance (au carré) sur les Y du point en cours au centre d'éclairage long x, y; short radius = sqrt(sqradius); @@ -2339,7 +2339,7 @@ void Draw_grad_circle(short center_x,short center_y,long sqradius,short spot_x,s end_x=center_x+radius; end_y=center_y+radius; - // Correction des bornes d'après les limites + // Correction des bornes d'après les limites if (start_yLimit_bottom) @@ -2377,7 +2377,7 @@ void Draw_grad_circle(short center_x,short center_y,long sqradius,short spot_x,s } - // -- Tracer une ellipse degradée -- + // -- Tracer une ellipse degradée -- void Draw_grad_ellipse(short center_x,short center_y,short horizontal_radius,short vertical_radius,short spot_x,short spot_y) { @@ -2387,8 +2387,8 @@ void Draw_grad_ellipse(short center_x,short center_y,short horizontal_radius,sho long y_pos; long end_x; long end_y; - long distance_x; // Distance (au carré) sur les X du point en cours au centre d'éclairage - long distance_y; // Distance (au carré) sur les Y du point en cours au centre d'éclairage + long distance_x; // Distance (au carré) sur les X du point en cours au centre d'éclairage + long distance_y; // Distance (au carré) sur les Y du point en cours au centre d'éclairage long x, y; T_Ellipse_limits Ellipse; @@ -2416,7 +2416,7 @@ void Draw_grad_ellipse(short center_x,short center_y,short horizontal_radius,sho if (Gradient_total_range==0) Gradient_total_range=1; - // Correction des bornes d'après les limites + // Correction des bornes d'après les limites if (start_yLimit_bottom) @@ -2527,12 +2527,12 @@ void Draw_grad_inscribed_ellipse(short x1, short y1, short x2, short y2, short s Update_part_of_screen(left, top, right-left+1, bottom-top+1); } -// Tracé d'un rectangle (rax ray - rbx rby) dégradé selon le vecteur (vax vay - vbx - vby) +// Tracé d'un rectangle (rax ray - rbx rby) dégradé selon le vecteur (vax vay - vbx - vby) void Draw_grad_rectangle(short rax,short ray,short rbx,short rby,short vax,short vay, short vbx, short vby) { short y_pos, x_pos; - // On commence par s'assurer que le rectangle est à l'endroit + // On commence par s'assurer que le rectangle est à l'endroit if(rbx < rax) { x_pos = rbx; @@ -2547,7 +2547,7 @@ void Draw_grad_rectangle(short rax,short ray,short rbx,short rby,short vax,short ray = y_pos; } - // Correction des bornes d'après les limites + // Correction des bornes d'après les limites if (rayLimit_bottom) @@ -2559,7 +2559,7 @@ void Draw_grad_rectangle(short rax,short ray,short rbx,short rby,short vax,short if(vbx == vax) { - // Le vecteur est vertical, donc on évite la partie en dessous qui foirerait avec une division par 0... + // Le vecteur est vertical, donc on évite la partie en dessous qui foirerait avec une division par 0... if (vby == vay) return; // L'utilisateur fait n'importe quoi Gradient_total_range = abs(vby - vay); for(y_pos=ray;y_pos<=rby;y_pos++) @@ -2580,7 +2580,7 @@ void Draw_grad_rectangle(short rax,short ray,short rbx,short rby,short vax,short for (y_pos=ray;y_pos<=rby;y_pos++) for (x_pos = rax;x_pos<=rbx;x_pos++) { - // On calcule ou on en est dans le dégradé + // On calcule ou on en est dans le dégradé distance_x = pow((y_pos - vay),2)+pow((x_pos - vax),2); distance_y = pow((-a * x_pos + y_pos - b),2)/(a*a+1); @@ -2593,7 +2593,7 @@ void Draw_grad_rectangle(short rax,short ray,short rbx,short rby,short vax,short -// -- Tracer un polygône plein -- +// -- Tracer un polygône plein -- typedef struct T_Polygon_edge /* an active edge */ { @@ -2817,7 +2817,7 @@ void Polyfill_general(int vertices, short * points, int color) free(initial_edge); initial_edge = NULL; - // On ne connait pas simplement les xmin et xmax ici, mais de toutes façon ce n'est pas utilisé en preview + // On ne connait pas simplement les xmin et xmax ici, mais de toutes façon ce n'est pas utilisé en preview Update_part_of_screen(0,top,Main.image_width,bottom-top+1); } @@ -2834,7 +2834,7 @@ void Polyfill(int vertices, short * points, int color) } // Comme pour le Fill, cette operation fait un peu d'"overdraw" - // (pixels dessinés plus d'une fois) alors on force le FX Feedback à OFF + // (pixels dessinés plus d'une fois) alors on force le FX Feedback à OFF Update_FX_feedback(0); Pixel_figure=Pixel_clipped; @@ -2856,7 +2856,7 @@ void Polyfill(int vertices, short * points, int color) -//------------ Remplacement de la couleur pointée par une autre -------------- +//------------ Remplacement de la couleur pointée par une autre -------------- void Replace(byte new_color) { @@ -2896,32 +2896,32 @@ void Shade_list_to_lookup_tables(word * list,short step,byte mode,byte * table_i int temp; - // On initialise les deux tables de conversion en Identité + // On initialise les deux tables de conversion en Identité for (index=0;index<256;index++) { table_inc[index]=index; table_dec[index]=index; } - // On s'apprête à examiner l'ensemble de la liste + // On s'apprête à examiner l'ensemble de la liste for (index=0;index<512;index++) { - // On recherche la première case de la liste non vide (et non inhibée) + // On recherche la première case de la liste non vide (et non inhibée) while ((index<512) && (list[index]>255)) index++; - // On note la position de la première case de la séquence + // On note la position de la première case de la séquence first=index; - // On recherche la position de la dernière case de la séquence + // On recherche la position de la dernière case de la séquence for (last=first;list[last+1]<256;last++); - // Pour toutes les cases non vides (et non inhibées) qui suivent + // Pour toutes les cases non vides (et non inhibées) qui suivent switch (mode) { case SHADE_MODE_NORMAL : for (;(index<512) && (list[index]<256);index++) - { // On met à jour les tables de conversion + { // On met à jour les tables de conversion color=list[index]; table_inc[color]=list[(index+step<=last)?index+step:last]; table_dec[color]=list[(index-step>=first)?index-step:first]; @@ -2930,7 +2930,7 @@ void Shade_list_to_lookup_tables(word * list,short step,byte mode,byte * table_i case SHADE_MODE_LOOP : temp=1+last-first; for (;(index<512) && (list[index]<256);index++) - { // On met à jour les tables de conversion + { // On met à jour les tables de conversion color=list[index]; table_inc[color]=list[first+((step+index-first)%temp)]; table_dec[color]=list[first+(((temp-step)+index-first)%temp)]; @@ -2938,7 +2938,7 @@ void Shade_list_to_lookup_tables(word * list,short step,byte mode,byte * table_i break; default : // SHADE_MODE_NOSAT for (;(index<512) && (list[index]<256);index++) - { // On met à jour les tables de conversion + { // On met à jour les tables de conversion color=list[index]; if (index+step<=last) table_inc[color]=list[index+step]; @@ -2951,17 +2951,17 @@ void Shade_list_to_lookup_tables(word * list,short step,byte mode,byte * table_i -// -- Interface avec l'image, affectée par le facteur de grossissement ------- +// -- Interface avec l'image, affectée par le facteur de grossissement ------- - // fonction d'affichage "Pixel" utilisée pour les opérations définitivement - // Ne doit à aucune condition être appelée en dehors de la partie visible - // de l'image dans l'écran (ça pourrait être grave) + // fonction d'affichage "Pixel" utilisée pour les opérations définitivement + // Ne doit à aucune condition être appelée en dehors de la partie visible + // de l'image dans l'écran (ça pourrait être grave) void Display_pixel(word x,word y,byte color) // x & y sont la position d'un point dans l'IMAGE // color est la couleur du point - // Le Stencil est géré. - // Les effets sont gérés par appel à Effect_function(). - // La Loupe est gérée par appel à Pixel_preview(). + // Le Stencil est géré. + // Les effets sont gérés par appel à Effect_function(). + // La Loupe est gérée par appel à Pixel_preview(). { if ( ( (!Sieve_mode) || (Effect_sieve(x,y)) ) && (!((Stencil_mode) && (Stencil[Read_pixel_from_current_layer(x,y)]))) @@ -2979,7 +2979,7 @@ void Display_pixel(word x,word y,byte color) -// -- Calcul des différents effets ------------------------------------------- +// -- Calcul des différents effets ------------------------------------------- // -- Aucun effet en cours -- @@ -3147,13 +3147,13 @@ byte Effect_smooth(word x,word y,byte color) b+=weight*Main.palette[c].B; } - return (total_weight)? // On regarde s'il faut éviter le 0/0. + return (total_weight)? // On regarde s'il faut éviter le 0/0. Best_color(Round_div(r,total_weight), Round_div(g,total_weight), Round_div(b,total_weight)): - Read_pixel_from_current_screen(x,y); // C'est bien l'écran courant et pas - // l'écran feedback car il s'agit de ne -} // pas modifier l'écran courant. + Read_pixel_from_current_screen(x,y); // C'est bien l'écran courant et pas + // l'écran feedback car il s'agit de ne +} // pas modifier l'écran courant. byte Effect_layer_copy(word x,word y,byte color) { diff --git a/src/help.c b/src/help.c index 46ccbb36..395e8a21 100644 --- a/src/help.c +++ b/src/help.c @@ -2,7 +2,7 @@ */ /* Grafx2 - The Ultimate 256-color bitmap paint program - Copyright 2011 Pawel Góralski + Copyright 2011 Pawel Góralski Copyright 2008 Peter Gordon Copyright 2008 Yves Rizoud Copyright 2008 Franck Charlet @@ -75,7 +75,7 @@ word * Shortcut(word shortcut_number) return &(Config_Key[shortcut_number & 0xFF][0]); } -// Nom de la touche actuallement assignée à un raccourci d'après son numéro +// Nom de la touche actuallement assignée à un raccourci d'après son numéro // de type 0x100+BOUTON_* ou SPECIAL_* const char * Keyboard_shortcut_value(word shortcut_number) { @@ -153,7 +153,7 @@ void Window_set_shortcut(int action_id) } } */ - config_index=order_index; // Comprends pas... ça devrait pas marcher + config_index=order_index; // Comprends pas... ça devrait pas marcher Open_window(302,131,"Keyboard shortcut"); Window_set_normal_button(181,111,55,14,"Cancel",0,1,KEY_ESC); // 1 @@ -304,10 +304,10 @@ void Remove_duplicate_shortcuts(void) short Print_help(short x_pos, short y_pos, const char *line, char line_type, short link_position, short link_size) { short width; // Largeur physique d'une ligne de texte - short x; // Indices d'affichage d'un caractère + short x; // Indices d'affichage d'un caractère short y; short x_position; // Parcours de remplissage du buffer de ligne - short char_index; // Parcours des caractères d'une ligne + short char_index; // Parcours des caractères d'une ligne byte * char_pixel; short repeat_menu_x_factor; short repeat_menu_y_factor; @@ -323,20 +323,20 @@ short Print_help(short x_pos, short y_pos, const char *line, char line_type, sho if (line_type == 'T' || line_type == '-') width = width*2; - // Pour chaque ligne dans la fenêtre: + // Pour chaque ligne dans la fenêtre: for (y=0;y<8;y++) { x_position=0; - // On crée une nouvelle ligne à splotcher + // On crée une nouvelle ligne à splotcher for (char_index=0;char_index'_' || line[char_index/2]<' ') - char_pixel=&(Gfx->Help_font_norm['!'][0][0]); // Caractère pas géré + char_pixel=&(Gfx->Help_font_norm['!'][0][0]); // Caractère pas géré else if (char_index & 1) char_pixel=&(Gfx->Help_font_t2[(unsigned char)(line[char_index/2])-' '][0][0]); else @@ -345,7 +345,7 @@ short Print_help(short x_pos, short y_pos, const char *line, char line_type, sho else if (line_type=='-') { if (line[char_index/2]>'_' || line[char_index/2]<' ') - char_pixel=&(Gfx->Help_font_norm['!'][0][0]); // Caractère pas géré + char_pixel=&(Gfx->Help_font_norm['!'][0][0]); // Caractère pas géré else if (char_index & 1) char_pixel=&(Gfx->Help_font_t4[(unsigned char)(line[char_index/2])-' '][0][0]); else @@ -396,11 +396,11 @@ void Display_help(void) const short x_pos=13; const short y_pos=19; char line_type; // N: Normale, T: Titre, S: Sous-titre - // -: Ligne inférieur de sous-titre + // -: Ligne inférieur de sous-titre const char * line; - char buffer[45]; // buffer texte utilisé pour formater les noms de + char buffer[45]; // buffer texte utilisé pour formater les noms de // raccourcis clavier - short link_position=0; // Position du premier caractère "variable" + short link_position=0; // Position du premier caractère "variable" short link_size=0; // Taille de la partie variable short width; @@ -412,8 +412,8 @@ void Display_help(void) Window_rectangle (x_pos, y_pos + line_index*8, 44*6, - // 44 = Nb max de char (+1 pour éviter les plantages en mode X - // causés par une largeur = 0) + // 44 = Nb max de char (+1 pour éviter les plantages en mode X + // causés par une largeur = 0) (16 - line_index)*8, MC_Black); break; @@ -421,7 +421,7 @@ void Display_help(void) // On affiche la ligne line = Help_section[Current_help_section].Help_table[start_line + line_index].Text; line_type = Help_section[Current_help_section].Help_table[start_line + line_index].Line_type; - // Si c'est une sous-ligne de titre, on utilise le texte de la ligne précédente + // Si c'est une sous-ligne de titre, on utilise le texte de la ligne précédente if (line_type == '-' && (start_line + line_index > 0)) line = Help_section[Current_help_section].Help_table[start_line + line_index - 1].Text; else if (line_type == 'K') @@ -494,8 +494,8 @@ void Button_Help(int btn) } Window_help(-1, NULL); } -// Ouvre l'ecran d'aide. Passer -1 pour la section par défaut (ou derniere,) -// Ou un nombre de l'enumération BUTTON_NUMBERS pour l'aide contextuelle. +// Ouvre l'ecran d'aide. Passer -1 pour la section par défaut (ou derniere,) +// Ou un nombre de l'enumération BUTTON_NUMBERS pour l'aide contextuelle. void Window_help(int section, const char *sub_section) { short clicked_button; @@ -523,7 +523,7 @@ void Window_help(int section, const char *sub_section) Open_window(310,175,"Help / About..."); - // dessiner de la fenêtre où va défiler le texte + // dessiner de la fenêtre où va défiler le texte Window_display_frame_in(8,17,274,132); Window_rectangle(9, 18, 272, 130, MC_Black); @@ -568,7 +568,7 @@ void Window_help(int section, const char *sub_section) case 'K': Window_set_shortcut(Help_section[Current_help_section].Help_table[Help_position+line].Line_parameter); break; - // Ici on peut gérer un cas 'lien hypertexte' + // Ici on peut gérer un cas 'lien hypertexte' default: break; } @@ -599,7 +599,7 @@ void Window_help(int section, const char *sub_section) } - // Gestion des touches de déplacement dans la liste + // Gestion des touches de déplacement dans la liste switch (Key) { case SDLK_UP : // Haut @@ -861,14 +861,14 @@ void Button_Stats(int btn) Print_in_window(122,y,buffer,STATS_DATA_COLOR,MC_Black); y+=8; - // Affichage du nombre de couleur utilisé + // Affichage du nombre de couleur utilisé Print_in_window(18,y,"Colors used:",STATS_TITLE_COLOR,MC_Black); memset(color_usage,0,sizeof(color_usage)); sprintf(buffer,"%d",Count_used_colors(color_usage)); Print_in_window(122,y,buffer,STATS_DATA_COLOR,MC_Black); y+=16; - // Affichage des dimensions de l'écran + // Affichage des dimensions de l'écran Print_in_window(10,y,"Resolution:",STATS_TITLE_COLOR,MC_Black); sprintf(buffer,"%dx%d",Screen_width,Screen_height); Print_in_window(106,y,buffer,STATS_DATA_COLOR,MC_Black); diff --git a/src/help.h b/src/help.h index 45834b7e..390b9405 100644 --- a/src/help.h +++ b/src/help.h @@ -53,7 +53,7 @@ void Window_set_shortcut(int action_id); /// Print a line with the 'help' (6x8) font. short Print_help(short x_pos, short y_pos, const char *line, char line_type, short link_position, short link_size); -// Nom de la touche actuallement assignée à un raccourci d'après son numéro +// Nom de la touche actuallement assignée à un raccourci d'après son numéro // de type 0x100+BOUTON_* ou SPECIAL_* const char * Keyboard_shortcut_value(word shortcut_number); diff --git a/src/hotkeys.c b/src/hotkeys.c index 3e3e888b..9ad9361a 100644 --- a/src/hotkeys.c +++ b/src/hotkeys.c @@ -766,7 +766,7 @@ T_Key_config ConfigKey[NB_SHORTCUTS] = { "pixel in the picture into the", "foreground or background color.", true, - SDLK_BACKQUOTE, // `~ (Key sous le Esc - ² en AZERTY) + SDLK_BACKQUOTE, // `~ (Key sous le Esc - ² en AZERTY) 0}, {82, "Swap foreground/background colors", @@ -1097,7 +1097,7 @@ T_Key_config ConfigKey[NB_SHORTCUTS] = { "user-defined brush to its center.", "", true, - SDLK_KP5|MOD_CTRL, // Ctrl + 5 (pavé numérique) + SDLK_KP5|MOD_CTRL, // Ctrl + 5 (pavé numérique) 0}, {113, "Top-left brush attachment point", @@ -1193,7 +1193,7 @@ T_Key_config ConfigKey[NB_SHORTCUTS] = { "previous in the user-defined color", "series.", true, - SDLK_MINUS, // "-_" (")°" en AZERTY + SDLK_MINUS, // "-_" (")°" en AZERTY 0}, {128, "Next user-defined backcolor", @@ -1209,7 +1209,7 @@ T_Key_config ConfigKey[NB_SHORTCUTS] = { "previous in the user-defined color", "series.", true, - SDLK_MINUS|MOD_SHIFT, // Shift + "-_" (")°" en AZERTY + SDLK_MINUS|MOD_SHIFT, // Shift + "-_" (")°" en AZERTY 0}, {121, "Shrink paintbrush", @@ -1875,8 +1875,8 @@ word Ordering[NB_SHORTCUTS]= 0x200+BUTTON_AIRBRUSH, // Spray menu 0x100+BUTTON_FLOODFILL, // Floodfill 0x200+BUTTON_FLOODFILL, // Replace color - 0x100+BUTTON_CURVES, // Bézier's curves - 0x200+BUTTON_CURVES, // Bézier's curve with 3 or 4 points + 0x100+BUTTON_CURVES, // Bézier's curves + 0x200+BUTTON_CURVES, // Bézier's curve with 3 or 4 points 0x100+BUTTON_RECTANGLES, // Empty rectangle 0x100+BUTTON_FILLRECT, // Filled rectangle 0x100+BUTTON_CIRCLES, // Empty circle @@ -1921,8 +1921,8 @@ word Ordering[NB_SHORTCUTS]= 0x200+BUTTON_BRUSH, // Restore brush SPECIAL_FLIP_X, // Flip X SPECIAL_FLIP_Y, // Flip Y - SPECIAL_ROTATE_90, // 90° brush rotation - SPECIAL_ROTATE_180, // 180° brush rotation + SPECIAL_ROTATE_90, // 90° brush rotation + SPECIAL_ROTATE_180, // 180° brush rotation SPECIAL_STRETCH, // Stretch brush SPECIAL_DISTORT, // Distort brush SPECIAL_OUTLINE, // Outline brush diff --git a/src/init.c b/src/init.c index f0d77bfc..c592a7ad 100644 --- a/src/init.c +++ b/src/init.c @@ -2,7 +2,7 @@ */ /* Grafx2 - The Ultimate 256-color bitmap paint program - Copyright 2011 Pawel Góralski + Copyright 2011 Pawel Góralski Copyright 2008 Peter Gordon Copyright 2008 Yves Rizoud Copyright 2009 Franck Charlet @@ -265,8 +265,8 @@ byte Parse_skin(SDL_Surface * gui, T_Gui_skin *gfx) int i,j; int cursor_x=0,cursor_y=0; byte color; - byte neutral_color; // color neutre utilisée pour délimiter les éléments GUI - int char_1=0; // Indices utilisés pour les 4 "fontes" qui composent les + byte neutral_color; // color neutre utilisée pour délimiter les éléments GUI + int char_1=0; // Indices utilisés pour les 4 "fontes" qui composent les int char_2=0; // grands titres de l'aide. Chaque indice avance dans int char_3=0; // l'une des fontes dans l'ordre : 1 2 int char_4=0; // 3 4 @@ -289,7 +289,7 @@ byte Parse_skin(SDL_Surface * gui, T_Gui_skin *gfx) // Read the default palette Get_SDL_Palette(SDLPal, gfx->Default_palette); - // Carré "noir" + // Carré "noir" gfx->Color[0] = Get_SDL_pixel_8(gui,cursor_x,cursor_y); do { @@ -300,7 +300,7 @@ byte Parse_skin(SDL_Surface * gui, T_Gui_skin *gfx) } color=Get_SDL_pixel_8(gui,cursor_x,cursor_y); } while(color==gfx->Color[0]); - // Carré "foncé" + // Carré "foncé" gfx->Color[1] = color; do { @@ -311,7 +311,7 @@ byte Parse_skin(SDL_Surface * gui, T_Gui_skin *gfx) } color=Get_SDL_pixel_8(gui,cursor_x,cursor_y); } while(color==gfx->Color[1]); - // Carré "clair" + // Carré "clair" gfx->Color[2] = color; do { @@ -322,7 +322,7 @@ byte Parse_skin(SDL_Surface * gui, T_Gui_skin *gfx) } color=Get_SDL_pixel_8(gui,cursor_x,cursor_y); } while(color==gfx->Color[2]); - // Carré "blanc" + // Carré "blanc" gfx->Color[3] = color; do { @@ -333,7 +333,7 @@ byte Parse_skin(SDL_Surface * gui, T_Gui_skin *gfx) } color=Get_SDL_pixel_8(gui,cursor_x,cursor_y); } while(color==gfx->Color[3]); - // Carré "transparent" + // Carré "transparent" gfx->Color_trans=color; do { @@ -878,7 +878,7 @@ void Init_buttons(void) 0); } - // Ici viennent les déclarations des boutons que l'on sait gérer + // Ici viennent les déclarations des boutons que l'on sait gérer Init_button(BUTTON_PAINTBRUSHES, "Paintbrush choice ", @@ -1241,7 +1241,7 @@ void Init_buttons(void) Init_button(BUTTON_CHOOSE_COL, "Color #" , MENU_WIDTH+1,1, - 1,32, // La largeur est mise à jour à chq chngmnt de mode + 1,32, // La largeur est mise à jour à chq chngmnt de mode BUTTON_SHAPE_NO_FRAME, Button_Select_forecolor,Button_Select_backcolor, 1,1, @@ -1430,9 +1430,9 @@ void Init_buttons(void) -// Initialisation des opérations: +// Initialisation des opérations: - // Initialiseur d'une opération: + // Initialiseur d'une opération: void Init_operation(byte operation_number, byte mouse_button, @@ -1450,17 +1450,17 @@ void Init_operation(byte operation_number, } - // Initiliseur de toutes les opérations: + // Initiliseur de toutes les opérations: void Init_operations(void) { - byte number; // Numéro de l'option en cours d'auto-initialisation + byte number; // Numéro de l'option en cours d'auto-initialisation byte Button; // Button souris en cours d'auto-initialisation byte stack_index; // Taille de la pile en cours d'auto-initialisation #define HIDE_CURSOR 1 #define FAST_MOUSE 1 - // Auto-initialisation des opérations (vers des actions inoffensives) + // Auto-initialisation des opérations (vers des actions inoffensives) for (number=0;number */ -// Fonctions de lecture/ecriture file, gèrent les systèmes big-endian et +// Fonctions de lecture/ecriture file, gèrent les systèmes big-endian et // little-endian. #include @@ -173,10 +173,10 @@ int Write_dword_be(FILE *file, dword dw) return fwrite(&dw, 1, sizeof(dword), file) == sizeof(dword); } -// Détermine la position du dernier '/' ou '\\' dans une chaine, -// typiquement pour séparer le nom de file d'un chemin. +// Détermine la position du dernier '/' ou '\\' dans une chaine, +// typiquement pour séparer le nom de file d'un chemin. // Attention, sous Windows, il faut s'attendre aux deux car -// par exemple un programme lancé sous GDB aura comme argv[0]: +// par exemple un programme lancé sous GDB aura comme argv[0]: // d:\Data\C\GFX2\grafx2/grafx2.exe char * Find_last_separator(const char * str) { @@ -192,7 +192,7 @@ char * Find_last_separator(const char * str) position = str; return (char *)position; } -// Récupère la partie "nom de file seul" d'un chemin +// Récupère la partie "nom de file seul" d'un chemin void Extract_filename(char *dest, const char *source) { const char * position = Find_last_separator(source); @@ -202,7 +202,7 @@ void Extract_filename(char *dest, const char *source) else strcpy(dest,source); } -// Récupère la partie "répertoire+/" d'un chemin. +// Récupère la partie "répertoire+/" d'un chemin. void Extract_path(char *dest, const char *source) { char * position=NULL; @@ -315,8 +315,8 @@ int Position_last_dot_unicode(const word * fname) } int File_exists(const char * fname) -// Détermine si un file passé en paramètre existe ou non dans le -// répertoire courant. +// Détermine si un file passé en paramètre existe ou non dans le +// répertoire courant. { #if defined(WIN32) return (INVALID_FILE_ATTRIBUTES == GetFileAttributesA(fname)) ? 0 : 1; @@ -333,8 +333,8 @@ int File_exists(const char * fname) } int Directory_exists(const char * directory) -// Détermine si un répertoire passé en paramètre existe ou non dans le -// répertoire courant. +// Détermine si un répertoire passé en paramètre existe ou non dans le +// répertoire courant. { #if defined(WIN32) DWORD attr = GetFileAttributesA(directory); @@ -342,14 +342,14 @@ int Directory_exists(const char * directory) return 0; return (attr & FILE_ATTRIBUTE_DIRECTORY) ? 1 : 0; #else - DIR* entry; // Structure de lecture des éléments + DIR* entry; // Structure de lecture des éléments if (strcmp(directory,PARENT_DIR)==0) return 1; else { - // On va chercher si le répertoire existe à l'aide d'un Opendir. S'il - // renvoie NULL c'est que le répertoire n'est pas accessible... + // On va chercher si le répertoire existe à l'aide d'un Opendir. S'il + // renvoie NULL c'est que le répertoire n'est pas accessible... entry=opendir(directory); if (entry==NULL) @@ -450,13 +450,13 @@ void For_each_file(const char * directory_name, void Callback(const char *, cons FindClose(h); } #else - // Pour scan de répertoire - DIR* current_directory; //Répertoire courant - struct dirent* entry; // Structure de lecture des éléments + // Pour scan de répertoire + DIR* current_directory; //Répertoire courant + struct dirent* entry; // Structure de lecture des éléments int filename_position; strcpy(full_filename, directory_name); current_directory=opendir(directory_name); - if(current_directory == NULL) return; // Répertoire invalide ... + if(current_directory == NULL) return; // Répertoire invalide ... filename_position = strlen(full_filename); #if defined(__AROS__) if (filename_position==0 || (strcmp(full_filename+filename_position-1,PATH_SEPARATOR) && strcmp(full_filename+filename_position-1,":"))) diff --git a/src/io.h b/src/io.h index 172765d7..4302f1d7 100644 --- a/src/io.h +++ b/src/io.h @@ -3,7 +3,7 @@ /* Grafx2 - The Ultimate 256-color bitmap paint program Copyright 2018 Thomas Bernard - Copyright 2011 Pawel Góralski + Copyright 2011 Pawel Góralski Copyright 2008 Yves Rizoud Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud) diff --git a/src/keyboard.c b/src/keyboard.c index bfde56d5..15cb90e4 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -345,7 +345,7 @@ word Keysym_to_keycode(SDL_keysym keysym) word key_code = 0; word mod; - // On ignore shift, alt et control isolés. + // On ignore shift, alt et control isolés. if (keysym.sym == SDLK_RSHIFT || keysym.sym == SDLK_LSHIFT || keysym.sym == SDLK_RCTRL || keysym.sym == SDLK_LCTRL || keysym.sym == SDLK_RALT || keysym.sym == SDLK_LALT || @@ -353,8 +353,8 @@ word Keysym_to_keycode(SDL_keysym keysym) keysym.sym == SDLK_MODE) // AltGr return 0; - // Les touches qui n'ont qu'une valeur unicode (très rares) - // seront codées sur 11 bits, le 12e bit est mis à 1 (0x0800) + // Les touches qui n'ont qu'une valeur unicode (très rares) + // seront codées sur 11 bits, le 12e bit est mis à 1 (0x0800) if (keysym.sym != 0) key_code = keysym.sym; else if (keysym.scancode != 0) @@ -610,7 +610,7 @@ const char * Key_name(word key) return buffer; } - // Touches au libellé connu + // Touches au libellé connu for (index=0; index < (long)sizeof(key_labels)/(long)sizeof(T_key_label);index++) { if (key == key_labels[index].keysym) @@ -625,9 +625,9 @@ const char * Key_name(word key) } -// Obtient le caractère ANSI tapé, à partir d'un keysym. -// (Valeur 32 à 255) -// Renvoie 0 s'il n'y a pas de caractère associé (shift, backspace, etc) +// Obtient le caractère ANSI tapé, à partir d'un keysym. +// (Valeur 32 à 255) +// Renvoie 0 s'il n'y a pas de caractère associé (shift, backspace, etc) word Keysym_to_ANSI(SDL_keysym keysym) { // This part was removed from the MacOSX port, but I put it back for others @@ -667,61 +667,61 @@ word Keysym_to_ANSI(SDL_keysym keysym) switch(keysym.unicode) { case 0x8100: - return '\xfc'; // ü + return '\xfc'; // ü case 0x1A20: - return '\xe9'; // é + return '\xe9'; // é case 0x201A: - return '\xe8'; // è + return '\xe8'; // è case 0x9201: - return '\xe2'; // â + return '\xe2'; // â case 0x1E20: - return '\xe4'; // ä + return '\xe4'; // ä case 0x2620: - return '\xe0'; // à + return '\xe0'; // à case 0x2020: - return '\xe5'; // å + return '\xe5'; // Ã¥ case 0x2120: - return '\xe7'; // ç + return '\xe7'; // ç case 0xC602: - return '\xea'; // ê + return '\xea'; // ê case 0x3020: - return '\xeb'; // ë + return '\xeb'; // ë case 0x6001: - return '\xe8'; // è + return '\xe8'; // è case 0x3920: - return '\xef'; // ï + return '\xef'; // ï case 0x5201: - return '\xee'; // î + return '\xee'; // î case 0x8D00: - return '\xec'; // ì + return '\xec'; // ì case 0x1C20: - return '\xf4'; // ô + return '\xf4'; // ô case 0x1D20: - return '\xf6'; // ö + return '\xf6'; // ö case 0x2220: - return '\xf2'; // ò + return '\xf2'; // ò case 0x1320: - return '\xfb'; // û + return '\xfb'; // û case 0x1420: - return '\xf9'; // ù + return '\xf9'; // ù case 0xDC02: - return '\xff'; // ÿ + return '\xff'; // ÿ case 0x5301: - return '\xa3'; // £ + return '\xa3'; // £ case 0xA000: - return '\xe1'; // á + return '\xe1'; // á case 0xA100: - return '\xed'; // í + return '\xed'; // í case 0xA200: - return '\xf3'; // ó + return '\xf3'; // ó case 0xA300: - return '\xfa'; // ú + return '\xfa'; // ú case 0xA400: - return '\xf1'; // ñ + return '\xf1'; // ñ case 0xA700: - return '\xba'; // º + return '\xba'; // º case 0xC600: - return '\xe3'; // ã + return '\xe3'; // ã case 0x20AC: return '\x80'; // Euro sign is 20AC in unicode, 80 in CP1252 } @@ -745,6 +745,6 @@ word Keysym_to_ANSI(SDL_keysym keysym) return keysym.unicode; } - // Sinon c'est une touche spéciale, on retourne son scancode + // Sinon c'est une touche spéciale, on retourne son scancode return keysym.sym; } diff --git a/src/libraw2crtc.c b/src/libraw2crtc.c index 7efc207a..c743be5a 100644 --- a/src/libraw2crtc.c +++ b/src/libraw2crtc.c @@ -2,7 +2,7 @@ */ /* GFX2CRTC - libraw2crtc.c * CloudStrife - 20080921 - * Diffusé sous licence libre CeCILL v2 + * Diffusé sous licence libre CeCILL v2 * Voire LICENCE */ diff --git a/src/libraw2crtc.h b/src/libraw2crtc.h index 821d24b0..35e7106b 100644 --- a/src/libraw2crtc.h +++ b/src/libraw2crtc.h @@ -2,7 +2,7 @@ */ /* GFX2CRTC - libraw2crtc.h * CloudStrife - 20080921 - * Diffusé sous licence libre CeCILL v2 + * Diffusé sous licence libre CeCILL v2 * Voire LICENCE */ diff --git a/src/loadsave.c b/src/loadsave.c index e616a51e..5b543e45 100644 --- a/src/loadsave.c +++ b/src/loadsave.c @@ -2,7 +2,7 @@ */ /* Grafx2 - The Ultimate 256-color bitmap paint program - Copyright 2011 Pawel Góralski + Copyright 2011 Pawel Góralski Copyright 2010 Alexander Filyanov Copyright 2009 Petter Lindquist Copyright 2008 Yves Rizoud @@ -125,7 +125,7 @@ void Set_pixel(T_IO_Context *context, short x_pos, short y_pos, byte color) switch (context->Type) { - // Chargement des pixels dans l'écran principal + // Chargement des pixels dans l'écran principal case CONTEXT_MAIN_IMAGE: Pixel_in_current_screen(x_pos,y_pos,color); break; @@ -257,12 +257,12 @@ void Set_pixel_24b(T_IO_Context *context, short x_pos, short y_pos, byte r, byte -// Création d'une palette fake +// Création d'une palette fake void Set_palette_fake_24b(T_Palette palette) { int color; - // Génération de la palette + // Génération de la palette for (color=0;color<256;color++) { palette[color].R=((color & 0xE0)>>5)<<5; @@ -318,13 +318,13 @@ void Pre_load(T_IO_Context *context, short width, short height, long file_size, { // Preview case CONTEXT_PREVIEW: - // Préparation du chargement d'une preview: + // Préparation du chargement d'une preview: context->Preview_bitmap=calloc(1, PREVIEW_WIDTH*PREVIEW_HEIGHT*Menu_factor_X*Menu_factor_Y); if (!context->Preview_bitmap) File_error=1; - // Affichage des données "Image size:" + // Affichage des données "Image size:" memcpy(str, "VERY BIG!", 10); // default string if (context->Original_width != 0) { @@ -359,7 +359,7 @@ void Pre_load(T_IO_Context *context, short width, short height, long file_size, } else { - // Le fichier fait plus de 100 Mega octets (cas très rare :)) + // Le fichier fait plus de 100 Mega octets (cas très rare :)) memcpy(str,"LARGE!!",8); } Print_in_window(236,59,str,MC_Black,MC_Light); @@ -370,10 +370,10 @@ void Pre_load(T_IO_Context *context, short width, short height, long file_size, Print_in_window( 59,59,Get_fileformat(format)->Label,MC_Black,MC_Light); } - // On efface le commentaire précédent + // On efface le commentaire précédent Window_rectangle(45,70,32*8,8,MC_Light); - // Calcul des données nécessaires à l'affichage de la preview: + // Calcul des données nécessaires à l'affichage de la preview: if (ratio == PIXEL_WIDE && Pixel_ratio != PIXEL_WIDE && Pixel_ratio != PIXEL_WIDE2) @@ -398,10 +398,10 @@ void Pre_load(T_IO_Context *context, short width, short height, long file_size, context->Preview_pos_X=Window_pos_X+183*Menu_factor_X; context->Preview_pos_Y=Window_pos_Y+ 95*Menu_factor_Y; - // On nettoie la zone où va s'afficher la preview: + // On nettoie la zone où va s'afficher la preview: Window_rectangle(183,95,PREVIEW_WIDTH,PREVIEW_HEIGHT,MC_Light); - // Un update pour couvrir les 4 zones: 3 libellés plus le commentaire + // Un update pour couvrir les 4 zones: 3 libellés plus le commentaire Update_window_area(45,48,256,30); // Zone de preview Update_window_area(183,95,PREVIEW_WIDTH,PREVIEW_HEIGHT); @@ -411,9 +411,9 @@ void Pre_load(T_IO_Context *context, short width, short height, long file_size, case CONTEXT_MAIN_IMAGE: if (Backup_new_image(1,width,height)) { - // La nouvelle page a pu être allouée, elle est pour l'instant pleine + // La nouvelle page a pu être allouée, elle est pour l'instant pleine // de 0s. Elle fait Main_image_width de large. - // Normalement tout va bien, tout est sous contrôle... + // Normalement tout va bien, tout est sous contrôle... // Load into layer 0, by default. context->Nb_layers=1; @@ -428,7 +428,7 @@ void Pre_load(T_IO_Context *context, short width, short height, long file_size, else { // Afficher un message d'erreur - // Pour être sûr que ce soit lisible. + // Pour être sûr que ce soit lisible. Compute_optimal_menu_colors(context->Palette); Message_out_of_memory(); File_error=1; // 1 => On n'a pas perdu l'image courante @@ -502,7 +502,7 @@ void Pre_load(T_IO_Context *context, short width, short height, long file_size, } ///////////////////////////////////////////////////////////////////////////// -// Gestion des lectures et écritures // +// Gestion des lectures et écritures // ///////////////////////////////////////////////////////////////////////////// void Write_one_byte(FILE *file, byte b) @@ -513,12 +513,12 @@ void Write_one_byte(FILE *file, byte b) ///////////////////////////////////////////////////////////////////////////// -// -------- Modifier la valeur du code d'erreur d'accès à un fichier -------- -// On n'est pas obligé d'utiliser cette fonction à chaque fois mais il est +// -------- Modifier la valeur du code d'erreur d'accès à un fichier -------- +// On n'est pas obligé d'utiliser cette fonction à chaque fois mais il est // important de l'utiliser dans les cas du type: // if (!File_error) *** else File_error=***; -// En fait, dans le cas où l'on modifie File_error alors qu'elle contient -// dèjà un code d'erreur. +// En fait, dans le cas où l'on modifie File_error alors qu'elle contient +// dèjà un code d'erreur. void Set_file_error(int value) { if (File_error>=0) @@ -530,7 +530,7 @@ void Set_file_error(int value) void Load_image(T_IO_Context *context) { unsigned int index; // index de balayage des formats - const T_Format *format = &(File_formats[FORMAT_ALL_FILES+1]); // Format du fichier à charger + const T_Format *format = &(File_formats[FORMAT_ALL_FILES+1]); // Format du fichier à charger int i; byte old_cursor_shape; FILE * f; @@ -538,7 +538,7 @@ void Load_image(T_IO_Context *context) // Not sure it's the best place... context->Color_cycles=0; - // On place par défaut File_error à vrai au cas où on ne sache pas + // On place par défaut File_error à vrai au cas où on ne sache pas // charger le format du fichier: File_error=1; @@ -559,8 +559,8 @@ void Load_image(T_IO_Context *context) if (File_error) { - // Sinon, on va devoir scanner les différents formats qu'on connait pour - // savoir à quel format est le fichier: + // Sinon, on va devoir scanner les différents formats qu'on connait pour + // savoir à quel format est le fichier: for (index=0; index < Nb_known_formats(); index++) { format = Get_fileformat(index); @@ -571,7 +571,7 @@ void Load_image(T_IO_Context *context) fseek(f, 0, SEEK_SET); // rewind // On appelle le testeur du format: format->Test(context, f); - // On s'arrête si le fichier est au bon format: + // On s'arrête si le fichier est au bon format: if (File_error==0) break; } @@ -593,8 +593,8 @@ void Load_image(T_IO_Context *context) if (File_error) { - // Sinon, l'appelant sera au courant de l'échec grace à File_error; - // et si on s'apprêtait à faire un chargement définitif de l'image (pas + // Sinon, l'appelant sera au courant de l'échec grace à File_error; + // et si on s'apprêtait à faire un chargement définitif de l'image (pas // une preview), alors on flash l'utilisateur. //if (Pixel_load_function!=Pixel_load_in_preview) // Error(0); @@ -602,12 +602,12 @@ void Load_image(T_IO_Context *context) } } else - // Si on a su déterminer avec succès le format du fichier: + // Si on a su déterminer avec succès le format du fichier: { context->Format = format->Identifier; // On peut charger le fichier: // Dans certains cas il est possible que le chargement plante - // après avoir modifié la palette. TODO + // après avoir modifié la palette. TODO format->Load(context); } @@ -754,7 +754,7 @@ void Load_image(T_IO_Context *context) Main.backups->Pages->Filename_unicode[0] = 0; } - // On considère que l'image chargée n'est plus modifiée + // On considère que l'image chargée n'est plus modifiée Main.image_is_modified=0; // Et on documente la variable Main_fileformat avec la valeur: Main.fileformat=format->Identifier; @@ -801,15 +801,15 @@ void Load_image(T_IO_Context *context) } else if (File_error!=1) { - // On considère que l'image chargée est encore modifiée + // On considère que l'image chargée est encore modifiée Main.image_is_modified=1; // Et on documente la variable Main_fileformat avec la valeur: Main.fileformat=format->Identifier; } else { - // Dans ce cas, on sait que l'image n'a pas changé, mais ses - // paramètres (dimension, palette, ...) si. Donc on les restaures. + // Dans ce cas, on sait que l'image n'a pas changé, mais ses + // paramètres (dimension, palette, ...) si. Donc on les restaures. Download_infos_page_main(Main.backups->Pages); } } @@ -956,7 +956,7 @@ void Save_image(T_IO_Context *context) { const T_Format *format; - // On place par défaut File_error à vrai au cas où on ne sache pas + // On place par défaut File_error à vrai au cas où on ne sache pas // sauver le format du fichier: (Est-ce vraiment utile??? Je ne crois pas!) File_error=1; @@ -1204,7 +1204,7 @@ void Emergency_backup(const char *fname, byte *source, int width, int height, T_ return; } - // Ouf, sauvé + // Ouf, sauvé fclose(file); } diff --git a/src/main.c b/src/main.c index b637975a..a3377edc 100644 --- a/src/main.c +++ b/src/main.c @@ -2,7 +2,7 @@ */ /* Grafx2 - The Ultimate 256-color bitmap paint program - Copyright 2011 Pawel Góralski + Copyright 2011 Pawel Góralski Copyright 2009 Pasi Kallinen Copyright 2008 Peter Gordon Copyright 2008 Franck Charlet @@ -97,7 +97,7 @@ extern char Program_version[]; // generated in pversion.c static int setsize_width; static int setsize_height; -//--- Affichage de la syntaxe, et de la liste des modes vidéos disponibles --- +//--- Affichage de la syntaxe, et de la liste des modes vidéos disponibles --- void Display_syntax(void) { int mode_index; @@ -152,8 +152,8 @@ void Error_function(int error_code, const char *filename, int line_number, const if (error_code==0) { - // L'erreur 0 n'est pas une vraie erreur, elle fait seulement un flash rouge de l'écran pour dire qu'il y a un problème. - // Toutes les autres erreurs déclenchent toujours une sortie en catastrophe du programme ! + // L'erreur 0 n'est pas une vraie erreur, elle fait seulement un flash rouge de l'écran pour dire qu'il y a un problème. + // Toutes les autres erreurs déclenchent toujours une sortie en catastrophe du programme ! memcpy(backup_palette, Get_current_palette(), sizeof(T_Palette)); memcpy(temp_palette, backup_palette, sizeof(T_Palette)); for (index=0;index<=255;index++) @@ -444,10 +444,10 @@ int Analyze_command_line(int argc, char * argv[], char *main_filename, char *mai } break; default: - // Si ce n'est pas un paramètre, c'est le nom du fichier à ouvrir + // Si ce n'est pas un paramètre, c'est le nom du fichier à ouvrir if (file_in_command_line > 1) { - // Il y a déjà 2 noms de fichiers et on vient d'en trouver un 3ème + // Il y a déjà 2 noms de fichiers et on vient d'en trouver un 3ème Error(ERROR_COMMAND_LINE); Display_syntax(); exit(0); @@ -534,9 +534,9 @@ int Init_program(int argc,char * argv[]) #endif #endif /* ENABLE_FILENAMES_ICONV */ - // On crée dès maintenant les descripteurs des listes de pages pour la page + // On crée dès maintenant les descripteurs des listes de pages pour la page // principale et la page de brouillon afin que leurs champs ne soient pas - // invalide lors des appels aux multiples fonctions manipulées à + // invalide lors des appels aux multiples fonctions manipulées à // l'initialisation du programme. Main.backups=(T_List_of_pages *)malloc(sizeof(T_List_of_pages)); Spare.backups=(T_List_of_pages *)malloc(sizeof(T_List_of_pages)); @@ -549,13 +549,13 @@ int Init_program(int argc,char * argv[]) Set_data_directory(program_directory,Data_directory); // Choose directory for settings (read/write) Set_config_directory(program_directory,Config_directory); -// On détermine le répertoire courant: +// On détermine le répertoire courant: Get_current_directory(Main.selector.Directory,Main.selector.Directory_unicode,MAX_PATH_CHARACTERS); - // On en profite pour le mémoriser dans le répertoire principal: + // On en profite pour le mémoriser dans le répertoire principal: strcpy(Initial_directory,Main.selector.Directory); - // On initialise les données sur le nom de fichier de l'image de brouillon: + // On initialise les données sur le nom de fichier de l'image de brouillon: strcpy(Spare.selector.Directory,Main.selector.Directory); Main.fileformat=DEFAULT_FILEFORMAT; @@ -570,8 +570,8 @@ int Init_program(int argc,char * argv[]) // On initialise ce qu'il faut pour que les fileselects ne plantent pas: - Main.selector.Position=0; // Au début, le fileselect est en haut de la liste des fichiers - Main.selector.Offset=0; // Au début, le fileselect est en haut de la liste des fichiers + Main.selector.Position=0; // Au début, le fileselect est en haut de la liste des fichiers + Main.selector.Offset=0; // Au début, le fileselect est en haut de la liste des fichiers Main.selector.Format_filter=FORMAT_ALL_IMAGES; Main.current_layer=0; @@ -640,26 +640,26 @@ int Init_program(int argc,char * argv[]) // Texte Init_text(); - // On initialise tous les modes vidéo + // On initialise tous les modes vidéo Set_all_video_modes(); Pixel_ratio=PIXEL_SIMPLE; - // On initialise les données sur l'état du programme: - // Donnée sur la sortie du programme: + // On initialise les données sur l'état du programme: + // Donnée sur la sortie du programme: Quit_is_required=0; Quitting=0; - // Données sur l'état du menu: + // Données sur l'état du menu: Menu_is_visible=1; - // Données sur les couleurs et la palette: + // Données sur les couleurs et la palette: First_color_in_palette=0; - // Données sur le curseur: + // Données sur le curseur: Cursor_shape=CURSOR_SHAPE_TARGET; Cursor_hidden=0; - // Données sur le pinceau: + // Données sur le pinceau: Paintbrush_X=0; Paintbrush_Y=0; Paintbrush_hidden=0; - // On initialise tout ce qui concerne les opérations et les effets + // On initialise tout ce qui concerne les opérations et les effets Operation_stack_size=0; Selected_freehand_mode=OPERATION_CONTINUOUS_DRAW; Selected_line_mode =OPERATION_LINE; @@ -677,10 +677,10 @@ int Init_program(int argc,char * argv[]) // On initialise les infos du mode smooth: Smooth_mode=0; // On initialise les infos du mode shade: - Shade_mode=0; // Les autres infos du Shade sont chargées avec la config + Shade_mode=0; // Les autres infos du Shade sont chargées avec la config Quick_shade_mode=0; // idem - // On initialise les infos sur les dégradés: - Gradient_pixel =Display_pixel; // Les autres infos sont chargées avec la config + // On initialise les infos sur les dégradés: + Gradient_pixel =Display_pixel; // Les autres infos sont chargées avec la config // On initialise les infos de la grille: Snap_mode=0; Snap_width=8; @@ -688,13 +688,13 @@ int Init_program(int argc,char * argv[]) Snap_offset_X=0; Snap_offset_Y=0; // On initialise les infos du mode Colorize: - Colorize_mode=0; // Mode colorize inactif par défaut - Colorize_opacity=50; // Une interpolation de 50% par défaut - Colorize_current_mode=0; // Par défaut, la méthode par interpolation + Colorize_mode=0; // Mode colorize inactif par défaut + Colorize_opacity=50; // Une interpolation de 50% par défaut + Colorize_current_mode=0; // Par défaut, la méthode par interpolation Compute_colorize_table(); // On initialise les infos du mode Tiling: - Tiling_mode=0; // Pas besoin d'initialiser les décalages car ça se fait - // en prenant une brosse (toujours mis à 0). + Tiling_mode=0; // Pas besoin d'initialiser les décalages car ça se fait + // en prenant une brosse (toujours mis à 0). // On initialise les infos du mode Mask: Mask_mode=0; @@ -704,11 +704,11 @@ int Init_program(int argc,char * argv[]) Airbrush_delay=1; Airbrush_mono_flow=10; memset(Airbrush_multi_flow,0,256); - srand(time(NULL)); // On randomize un peu tout ça... + srand(time(NULL)); // On randomize un peu tout ça... // Initialisation des boutons Init_buttons(); - // Initialisation des opérations + // Initialisation des opérations Init_operations(); // Initialize the brush container @@ -741,7 +741,7 @@ int Init_program(int argc,char * argv[]) switch(Load_CFG(1)) { case ERROR_CFG_MISSING: - // Pas un problème, on a les valeurs par défaut. + // Pas un problème, on a les valeurs par défaut. break; case ERROR_CFG_CORRUPTED: DEBUG("Corrupted CFG file.",0); @@ -807,7 +807,7 @@ int Init_program(int argc,char * argv[]) Fore_color=Best_color_range(255,255,255,Config.Palette_cells_X*Config.Palette_cells_Y); Back_color=Best_color_range(0,0,0,Config.Palette_cells_X*Config.Palette_cells_Y); - // Allocation de mémoire pour la brosse + // Allocation de mémoire pour la brosse if (!(Brush =(byte *)malloc( 1* 1))) Error(ERROR_MEMORY); if (!(Smear_brush =(byte *)malloc(MAX_PAINTBRUSH_SIZE*MAX_PAINTBRUSH_SIZE))) Error(ERROR_MEMORY); @@ -848,13 +848,13 @@ int Init_program(int argc,char * argv[]) starting_image_mode = Config.Default_mode_layers ? IMAGE_MODE_LAYERED : IMAGE_MODE_ANIMATION; - // Allocation de mémoire pour les différents écrans virtuels (et brosse) + // Allocation de mémoire pour les différents écrans virtuels (et brosse) if (Init_all_backup_lists(starting_image_mode , Screen_width, Screen_height)==0) Error(ERROR_MEMORY); // Update toolbars' visibility, now that the current image has a mode Check_menu_mode(); - // Nettoyage de l'écran virtuel (les autres recevront celui-ci par copie) + // Nettoyage de l'écran virtuel (les autres recevront celui-ci par copie) memset(Main_screen,0,Main.image_width*Main.image_height); // If image size was specified on command line, set that now @@ -890,7 +890,7 @@ int Init_program(int argc,char * argv[]) Draw_menu_button(BUTTON_PAL_LEFT,BUTTON_RELEASED); Draw_menu_button(BUTTON_PAL_RIGHT,BUTTON_RELEASED); - // On affiche le curseur pour débuter correctement l'état du programme: + // On affiche le curseur pour débuter correctement l'état du programme: Display_cursor(); Spare.image_is_modified=0; @@ -899,10 +899,10 @@ int Init_program(int argc,char * argv[]) // Gestionnaire de signaux, quand il ne reste plus aucun espoir Init_sighandler(); - // Le programme débute en mode de dessin à la main + // Le programme débute en mode de dessin à la main Select_button(BUTTON_DRAW,LEFT_SIDE); - // On initialise la brosse initiale à 1 pixel blanc: + // On initialise la brosse initiale à 1 pixel blanc: Brush_width=1; Brush_height=1; for (temp=0;temp<256;temp++) @@ -919,7 +919,7 @@ int Init_program(int argc,char * argv[]) strcpy(Main.selector.Directory, main_directory); } - // Test de recuperation de fichiers sauvés + // Test de recuperation de fichiers sauvés switch (Check_recovery()) { T_IO_Context context; @@ -1057,11 +1057,11 @@ void Program_shutdown(void) // Remove the safety backups, this is normal exit Delete_safety_backups(); - // On libère le buffer de gestion de lignes + // On libère le buffer de gestion de lignes free(Horizontal_line_buffer); Horizontal_line_buffer = NULL; - // On libère le pinceau spécial + // On libère le pinceau spécial free(Paintbrush_sprite); Paintbrush_sprite = NULL; @@ -1095,10 +1095,10 @@ void Program_shutdown(void) Unicode_fonts = ufont; } - // On prend bien soin de passer dans le répertoire initial: + // On prend bien soin de passer dans le répertoire initial: if (Change_directory(Initial_directory)==0) { - // On sauvegarde les données dans le .CFG et dans le .INI + // On sauvegarde les données dans le .CFG et dans le .INI if (Config.Auto_save) { return_code=Save_CFG(); @@ -1143,7 +1143,7 @@ void Program_shutdown(void) } -// -------------------------- Procédure principale --------------------------- +// -------------------------- Procédure principale --------------------------- int main(int argc,char * argv[]) { diff --git a/src/misc.c b/src/misc.c index e451ad51..ebd86690 100644 --- a/src/misc.c +++ b/src/misc.c @@ -2,7 +2,7 @@ */ /* Grafx2 - The Ultimate 256-color bitmap paint program - Copyright 2011 Pawel Góralski + Copyright 2011 Pawel Góralski Copyright 2008 Yves Rizoud Copyright 2008 Franck Charlet Copyright 2007 Adrien Destugues @@ -113,7 +113,7 @@ word Count_used_colors_screen_area(dword* usage, word start_x, word start_y, usage[color]++; //Un point de plus pour cette couleur } } - //On va maintenant compter dans la table les couleurs utilisées: + //On va maintenant compter dans la table les couleurs utilisées: for (i = 0; i < 256; i++) { if (usage[i]!=0) @@ -136,7 +136,7 @@ word Count_used_colors_area(dword* usage, word start_x, word start_y, // Init usage table for (i = 0; i < 256; i++) usage[i]=0; - // On parcourt l'écran courant pour compter les utilisations des couleurs + // On parcourt l'écran courant pour compter les utilisations des couleurs for (y = 0; y < height; y++) { for (x = 0; x < width; x++) @@ -147,7 +147,7 @@ word Count_used_colors_area(dword* usage, word start_x, word start_y, } } - //On va maintenant compter dans la table les couleurs utilisées: + //On va maintenant compter dans la table les couleurs utilisées: for (i = 0; i < 256; i++) { if (usage[i]!=0) @@ -197,7 +197,7 @@ void Set_color(byte color, byte red, byte green, byte blue) void Wait_end_of_click(void) { - // On désactive tous les raccourcis clavier + // On désactive tous les raccourcis clavier while(Mouse_K) Get_input(20); @@ -233,7 +233,7 @@ void Clear_current_image(byte color) } void Init_chrono(dword delay) - // Démarrer le chrono + // Démarrer le chrono { Timer_delay = delay; Timer_start = SDL_GetTicks()/55; @@ -265,7 +265,7 @@ void Copy_part_of_image_to_another(byte * source,word source_x,word source_y,wor { memcpy(edi,esi,width); - // Passe à la ligne suivante + // Passe à la ligne suivante esi+=source_width; edi+=destination_width; } @@ -340,7 +340,7 @@ void Remap_general_lowlevel(byte * conversion_table,byte * in_buffer, byte *out_ void Copy_image_to_brush(short start_x,short start_y,short Brush_width,short Brush_height,word image_width) { - byte* src=start_y*image_width+start_x+Main.backups->Pages->Image[Main.current_layer].Pixels; //Adr départ image (ESI) + byte* src=start_y*image_width+start_x+Main.backups->Pages->Image[Main.current_layer].Pixels; //Adr départ image (ESI) byte* dest=Brush_original_pixels; //Adr dest brosse (EDI) int dx; @@ -351,7 +351,7 @@ void Copy_image_to_brush(short start_x,short start_y,short Brush_width,short Bru // On fait une copie de la ligne memcpy(dest,src,Brush_width); - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width; dest+=Brush_width; } @@ -436,7 +436,7 @@ byte Effect_interpolated_colorize (word x,word y,byte color) byte red_under=Main.palette[color_under].R; byte red=Main.palette[color].R; - // On récupère les 3 composantes RVB + // On récupère les 3 composantes RVB // blue blue = (Factors_inv_table[blue] @@ -513,7 +513,7 @@ void Flip_Y_lowlevel(byte *src, short width, short height) while(ESI < EDI) { - // Il faut inverser les lignes pointées par ESI et + // Il faut inverser les lignes pointées par ESI et // EDI ("Brush_width" octets en tout) for(cx = width;cx>0;cx--) @@ -526,9 +526,9 @@ void Flip_Y_lowlevel(byte *src, short width, short height) } // On change de ligne : - // ESI pointe déjà sur le début de la ligne suivante + // ESI pointe déjà sur le début de la ligne suivante // EDI pointe sur la fin de la ligne en cours, il - // doit pointer sur le début de la précédente... + // doit pointer sur le début de la précédente... EDI -= 2 * width; // On recule de 2 lignes } } @@ -550,7 +550,7 @@ void Flip_X_lowlevel(byte *src, short width, short height) line_start = ESI; line_end = EDI; - // On échange par colonnes + // On échange par colonnes for(cx=height;cx>0;cx--) { tmp=*ESI; @@ -562,16 +562,16 @@ void Flip_X_lowlevel(byte *src, short width, short height) // On change de colonne // ESI > colonne suivante - // EDI > colonne précédente + // EDI > colonne précédente ESI = line_start + 1; EDI = line_end - 1; } } -// Rotate a pixel buffer 180º on itself. +// Rotate a pixel buffer 180º on itself. void Rotate_180_deg_lowlevel(byte *src, short width, short height) { - // ESI pointe sur la partie supérieure de la brosse + // ESI pointe sur la partie supérieure de la brosse // EDI pointe sur la partie basse byte* ESI = src; byte* EDI = src + height*width - 1; @@ -591,9 +591,9 @@ void Rotate_180_deg_lowlevel(byte *src, short width, short height) while(ESI < EDI) { - // On échange les deux lignes pointées par EDI et + // On échange les deux lignes pointées par EDI et // ESI (Brush_width octets) - // En même temps, on échange les pixels, donc EDI + // En même temps, on échange les pixels, donc EDI // pointe sur la FIN de sa ligne for(cx=width;cx>0;cx--) @@ -614,8 +614,8 @@ void Rescale(byte *src_buffer, short src_width, short src_height, byte *dst_buff int x_pos_in_brush; // Position courante dans l'ancienne brosse int y_pos_in_brush; - int initial_x_pos; // Position X de début de parcours de ligne - int initial_y_pos; // Position Y de début de parcours de ligne + int initial_x_pos; // Position X de début de parcours de ligne + int initial_y_pos; // Position Y de début de parcours de ligne int delta_x, delta_y; @@ -642,13 +642,13 @@ void Rescale(byte *src_buffer, short src_width, short src_height, byte *dst_buff // Pour chaque ligne for (line=0;line0;y--) { @@ -671,7 +671,7 @@ void Scroll_picture(byte * main_src, byte * main_dest, short x_offset,short y_of memcpy(dest,src,length); memcpy(dest - x_offset,src+length,x_offset); - // On passe à la ligne suivante + // On passe à la ligne suivante dest += Main.image_width; src += Main.image_width; } @@ -740,7 +740,7 @@ void Atari_Memory_free(unsigned long *stRam,unsigned long *ttRam){ *ttRam = Mxalloc(-1L,1); } #else -// Indique quelle est la mémoire disponible +// Indique quelle est la mémoire disponible unsigned long Memory_free(void) { // Memory is no longer relevant. If there is ANY problem or doubt here, @@ -789,7 +789,7 @@ unsigned long Memory_free(void) -// Arrondir un nombre réel à la valeur entière la plus proche +// Arrondir un nombre réel à la valeur entière la plus proche // TODO : this should probably be replaced with round() from C99... short Round(float value) { @@ -804,7 +804,7 @@ short Round(float value) } -// Arrondir le résultat d'une division à la valeur entière supérieure +// Arrondir le résultat d'une division à la valeur entière supérieure short Round_div_max(short numerator,short divisor) { if (!(numerator % divisor)) @@ -858,7 +858,7 @@ int Popcount_dword(dword x) } -// Fonction retournant le libellé d'une mode (ex: " 320x200") +// Fonction retournant le libellé d'une mode (ex: " 320x200") char * Mode_label(int mode) { static char str[24]; @@ -870,12 +870,12 @@ char * Mode_label(int mode) } -// Trouve un mode video à partir d'une chaine: soit "window", +// Trouve un mode video à partir d'une chaine: soit "window", // soit de la forme "320x200" // Renvoie -1 si la chaine n'est pas convertible int Convert_videomode_arg(const char *argument) { - // Je suis paresseux alors je vais juste tester les libellés + // Je suis paresseux alors je vais juste tester les libellés int mode_index; for (mode_index=0; mode_index 0) { Write_one_byte(file,0); @@ -714,7 +714,7 @@ void Save_PKM(T_IO_Context * context) for (Compteur_de_pixels=0; Compteur_de_pixelsComment[Compteur_de_pixels]); } - // Ecriture des dimensions de l'écran + // Ecriture des dimensions de l'écran Write_one_byte(file,1); Write_one_byte(file,4); Write_one_byte(file,Screen_width&0xFF); @@ -803,8 +803,8 @@ void Save_PKM(T_IO_Context * context) File_error=1; fclose(file); } - // S'il y a eu une erreur de sauvegarde, on ne va tout de même pas laisser - // ce fichier pourri traîner... Ca fait pas propre. + // S'il y a eu une erreur de sauvegarde, on ne va tout de même pas laisser + // ce fichier pourri traîner... Ca fait pas propre. if (File_error) Remove_file(context); } @@ -847,7 +847,7 @@ void Test_CEL(T_IO_Context * context, FILE * file) Read_word_le(file,&header1.Height) ) { // Vu que ce header n'a pas de signature, il va falloir tester la - // cohérence de la dimension de l'image avec celle du fichier. + // cohérence de la dimension de l'image avec celle du fichier. size=file_size-4; if ( (!size) || ( (((header1.Width+1)>>1)*header1.Height)!=size ) ) @@ -929,7 +929,7 @@ void Load_CEL(T_IO_Context * context) } else { - // On réessaye avec le nouveau format + // On réessaye avec le nouveau format fseek(file,0,SEEK_SET); if (Read_bytes(file,header2.Signature,4) @@ -957,7 +957,7 @@ void Load_CEL(T_IO_Context * context) if (!File_error) { - // Effacement du décalage + // Effacement du décalage for (y_pos=0;y_posWidth;x_pos++) Set_pixel(context, x_pos,y_pos,0); @@ -1030,12 +1030,12 @@ void Save_CEL(T_IO_Context * context) { setvbuf(file, NULL, _IOFBF, 64*1024); - // On regarde si des couleurs >16 sont utilisées dans l'image + // On regarde si des couleurs >16 sont utilisées dans l'image for (x_pos=16;((x_pos<256) && (!color_usage[x_pos]));x_pos++); if (x_pos==256) { - // Cas d'une image 16 couleurs (écriture à l'ancien format) + // Cas d'une image 16 couleurs (écriture à l'ancien format) header1.Width =context->Width; header1.Height=context->Height; @@ -1066,9 +1066,9 @@ void Save_CEL(T_IO_Context * context) } else { - // Cas d'une image 256 couleurs (écriture au nouveau format) + // Cas d'une image 256 couleurs (écriture au nouveau format) - // Recherche du décalage + // Recherche du décalage for (y_pos=0;y_posHeight;y_pos++) { for (x_pos=0;x_posWidth;x_pos++) @@ -1157,7 +1157,7 @@ void Test_KCF(T_IO_Context * context, FILE * file) if (!Read_byte(file,&header1.Palette[pal_index].color[color_index].Byte1) || !Read_byte(file,&header1.Palette[pal_index].color[color_index].Byte2)) File_error=1; - // On vérifie une propriété de la structure de palette: + // On vérifie une propriété de la structure de palette: for (pal_index=0;pal_index<10;pal_index++) for (color_index=0;color_index<16;color_index++) if ((header1.Palette[pal_index].color[color_index].Byte2>>4)!=0) @@ -1210,7 +1210,7 @@ void Load_KCF(T_IO_Context * context) file_size=File_length_file(file); if (file_size==320) { - // Fichier KCF à l'ancien format + // Fichier KCF à l'ancien format for (pal_index=0;pal_index<10 && !File_error;pal_index++) for (color_index=0;color_index<16 && !File_error;color_index++) if (!Read_byte(file,&header1.Palette[pal_index].color[color_index].Byte1) || @@ -1332,12 +1332,12 @@ void Save_KCF(T_IO_Context * context) setvbuf(file, NULL, _IOFBF, 64*1024); // Sauvegarde de la palette - // On regarde si des couleurs >16 sont utilisées dans l'image + // On regarde si des couleurs >16 sont utilisées dans l'image for (index=16;((index<256) && (!color_usage[index]));index++); if (index==256) { - // Cas d'une image 16 couleurs (écriture à l'ancien format) + // Cas d'une image 16 couleurs (écriture à l'ancien format) for (pal_index=0;pal_index<10;pal_index++) for (color_index=0;color_index<16;color_index++) @@ -1356,7 +1356,7 @@ void Save_KCF(T_IO_Context * context) } else { - // Cas d'une image 256 couleurs (écriture au nouveau format) + // Cas d'une image 256 couleurs (écriture au nouveau format) memcpy(header2.Signature,"KiSS",4); // Initialisation de la signature header2.Kind=0x10; // Initialisation du type (PALette) @@ -1364,8 +1364,8 @@ void Save_KCF(T_IO_Context * context) header2.Filler1=0; // Initialisation du filler 1 (?) header2.Width=256; // Initialisation du nombre de couleurs header2.Height=1; // Initialisation du nombre de palettes - header2.X_offset=0; // Initialisation du décalage X - header2.Y_offset=0; // Initialisation du décalage Y + header2.X_offset=0; // Initialisation du décalage X + header2.Y_offset=0; // Initialisation du décalage Y for (index=0;index<16;index++) // Initialisation du filler 2 (?) header2.Filler2[index]=0; @@ -1407,9 +1407,9 @@ void Save_KCF(T_IO_Context * context) void PI1_8b_to_16p(byte * src,byte * dest) { - int i; // index du pixel à calculer + int i; // index du pixel à calculer word byte_mask; // Masque de decodage - word w0,w1,w2,w3; // Les 4 words bien ordonnés de la source + word w0,w1,w2,w3; // Les 4 words bien ordonnés de la source byte_mask=0x8000; w0=(((word)src[0])<<8) | src[1]; @@ -1418,8 +1418,8 @@ void PI1_8b_to_16p(byte * src,byte * dest) w3=(((word)src[6])<<8) | src[7]; for (i=0;i<16;i++) { - // Pour décoder le pixel n°i, il faut traiter les 4 words sur leur bit - // correspondant à celui du masque + // Pour décoder le pixel n°i, il faut traiter les 4 words sur leur bit + // correspondant à celui du masque dest[i]=((w0 & byte_mask)?0x01:0x00) | ((w1 & byte_mask)?0x02:0x00) | @@ -1433,16 +1433,16 @@ void PI1_8b_to_16p(byte * src,byte * dest) void PI1_16p_to_8b(byte * src,byte * dest) { - int i; // index du pixel à calculer + int i; // index du pixel à calculer word byte_mask; // Masque de codage - word w0,w1,w2,w3; // Les 4 words bien ordonnés de la destination + word w0,w1,w2,w3; // Les 4 words bien ordonnés de la destination byte_mask=0x8000; w0=w1=w2=w3=0; for (i=0;i<16;i++) { - // Pour coder le pixel n°i, il faut modifier les 4 words sur leur bit - // correspondant à celui du masque + // Pour coder le pixel n°i, il faut modifier les 4 words sur leur bit + // correspondant à celui du masque w0|=(src[i] & 0x01)?byte_mask:0x00; w1|=(src[i] & 0x02)?byte_mask:0x00; @@ -1464,11 +1464,11 @@ void PI1_16p_to_8b(byte * src,byte * dest) void PI1_decode_palette(byte * src,byte * palette) { - int i; // Numéro de la couleur traitée + int i; // Numéro de la couleur traitée int ip; // index dans la palette word w; // Word contenant le code - // Schéma d'un word = + // Schéma d'un word = // // Low High // VVVV RRRR | 0000 BBBB @@ -1502,11 +1502,11 @@ void PI1_decode_palette(byte * src,byte * palette) void PI1_code_palette(byte * palette,byte * dest) { - int i; // Numéro de la couleur traitée + int i; // Numéro de la couleur traitée int ip; // index dans la palette word w; // Word contenant le code - // Schéma d'un word = + // Schéma d'un word = // // Low High // VVVV RRRR | 0000 BBBB @@ -1608,16 +1608,16 @@ void PI1_save_ranges(T_IO_Context * context, byte * buffer, int size) void Test_PI1(T_IO_Context * context, FILE * file) { int size; // Taille du fichier - word resolution; // Résolution de l'image + word resolution; // Résolution de l'image (void)context; File_error=1; - // Vérification de la taille + // Vérification de la taille size=File_length_file(file); if ((size==32034) || (size==32066)) { - // Lecture et vérification de la résolution + // Lecture et vérification de la résolution if (Read_word_le(file,&resolution)) { if (resolution==0x0000) @@ -1639,7 +1639,7 @@ void Load_PI1(T_IO_Context * context) File_error=0; if ((file=Open_file_read(context))) { - // allocation d'un buffer mémoire + // allocation d'un buffer mémoire buffer=(byte *)malloc(32034); if (buffer!=NULL) { @@ -1655,7 +1655,7 @@ void Load_PI1(T_IO_Context * context) memset(context->Palette,0,sizeof(T_Palette)); PI1_decode_palette(buffer+2,(byte *)context->Palette); - // Chargement/décompression de l'image + // Chargement/décompression de l'image ptr=buffer+34; for (y_pos=0;y_pos<200;y_pos++) { @@ -1699,9 +1699,9 @@ void Save_PI1(T_IO_Context * context) { setvbuf(file, NULL, _IOFBF, 64*1024); - // allocation d'un buffer mémoire + // allocation d'un buffer mémoire buffer=(byte *)malloc(32034); - // Codage de la résolution + // Codage de la résolution buffer[0]=0x00; buffer[1]=0x00; // Codage de la palette @@ -1730,13 +1730,13 @@ void Save_PI1(T_IO_Context * context) { fclose(file); } - else // Error d'écriture (disque plein ou protégé) + else // Error d'écriture (disque plein ou protégé) { fclose(file); Remove_file(context); File_error=1; } - // Libération du buffer mémoire + // Libération du buffer mémoire free(buffer); buffer = NULL; } @@ -1751,12 +1751,12 @@ void Save_PI1(T_IO_Context * context) //////////////////////////////////// PC1 //////////////////////////////////// -//// DECOMPRESSION d'un buffer selon la méthode PACKBITS //// +//// DECOMPRESSION d'un buffer selon la méthode PACKBITS //// void PC1_uncompress_packbits(byte * src,byte * dest) { int is,id; // Les indices de parcour des buffers - int n; // Octet de contrôle + int n; // Octet de contrôle for (is=id=0;id<32000;) { @@ -1772,19 +1772,19 @@ void PC1_uncompress_packbits(byte * src,byte * dest) } else { - // Recopier n+1 octets littéralement + // Recopier n+1 octets littéralement n=n+1; for (;(n>0) && (id<32000);n--) dest[id++]=src[is++]; } - // Contrôle des erreurs + // Contrôle des erreurs if (n>0) File_error=1; } } -//// COMPRESSION d'un buffer selon la méthode PACKBITS //// +//// COMPRESSION d'un buffer selon la méthode PACKBITS //// void PC1_compress_packbits(byte * src,byte * dest,int source_size,int * dest_size) { @@ -1794,13 +1794,13 @@ void PC1_compress_packbits(byte * src,byte * dest,int source_size,int * dest_siz { int is = 0; // index dans la source int id = 0; // index dans la destination - int ir; // index de la répétition - int n; // Taille des séquences - int repet; // "Il y a répétition" + int ir; // index de la répétition + int n; // Taille des séquences + int repet; // "Il y a répétition" while(is<40) { - // On recherche le 1er endroit où il y a répétition d'au moins 3 valeurs + // On recherche le 1er endroit où il y a répétition d'au moins 3 valeurs // identiques repet=0; @@ -1813,7 +1813,7 @@ void PC1_compress_packbits(byte * src,byte * dest,int source_size,int * dest_siz } } - // On code la partie sans répétitions + // On code la partie sans répétitions if (!repet || ir!=is) { n=(ir-is)+1; @@ -1822,10 +1822,10 @@ void PC1_compress_packbits(byte * src,byte * dest,int source_size,int * dest_siz dest[id++]=src[is++]; } - // On code la partie sans répétitions + // On code la partie sans répétitions if (repet) { - // On compte la quantité de fois qu'il faut répéter la valeur + // On compte la quantité de fois qu'il faut répéter la valeur for (ir+=3;ir<40;ir++) { if (src[ir]!=src[is]) @@ -1837,7 +1837,7 @@ void PC1_compress_packbits(byte * src,byte * dest,int source_size,int * dest_siz is=ir; } } - // On renseigne la taille du buffer compressé + // On renseigne la taille du buffer compressé *dest_size+=id; // Move for next 40-byte block src += 40; @@ -1853,7 +1853,7 @@ void PC1_compress_packbits(byte * src,byte * dest,int source_size,int * dest_siz void PC1_4bp_to_1line(byte * src0,byte * src1,byte * src2,byte * src3,byte * dest) { int i,j; // Compteurs - int ip; // index du pixel à calculer + int ip; // index du pixel à calculer byte byte_mask; // Masque de decodage byte b0,b1,b2,b3; // Les 4 octets des plans bits sources @@ -1885,7 +1885,7 @@ void PC1_4bp_to_1line(byte * src0,byte * src1,byte * src2,byte * src3,byte * des void PC1_1line_to_4bp(byte * src,byte * dst0,byte * dst1,byte * dst2,byte * dst3) { int i,j; // Compteurs - int ip; // index du pixel à calculer + int ip; // index du pixel à calculer byte byte_mask; // Masque de decodage byte b0,b1,b2,b3; // Les 4 octets des plans bits sources @@ -1917,16 +1917,16 @@ void PC1_1line_to_4bp(byte * src,byte * dst0,byte * dst1,byte * dst2,byte * dst3 void Test_PC1(T_IO_Context * context, FILE * file) { int size; // Taille du fichier - word resolution; // Résolution de l'image + word resolution; // Résolution de l'image (void)context; File_error=1; - // Vérification de la taille + // Vérification de la taille size=File_length_file(file); if ((size<=32066)) { - // Lecture et vérification de la résolution + // Lecture et vérification de la résolution if (Read_word_le(file,&resolution)) { if (resolution==0x0080) @@ -1951,7 +1951,7 @@ void Load_PC1(T_IO_Context * context) if ((file=Open_file_read(context))) { size=File_length_file(file); - // allocation des buffers mémoire + // allocation des buffers mémoire buffercomp=(byte *)malloc(size); bufferdecomp=(byte *)malloc(32000); if ( (buffercomp!=NULL) && (bufferdecomp!=NULL) ) @@ -1968,14 +1968,14 @@ void Load_PC1(T_IO_Context * context) memset(context->Palette,0,sizeof(T_Palette)); PI1_decode_palette(buffercomp+2,(byte *)context->Palette); - // Décompression du buffer + // Décompression du buffer PC1_uncompress_packbits(buffercomp+34,bufferdecomp); - // Décodage de l'image + // Décodage de l'image ptr=bufferdecomp; for (y_pos=0;y_pos<200;y_pos++) { - // Décodage de la scanline + // Décodage de la scanline PC1_4bp_to_1line(ptr,ptr+40,ptr+80,ptr+120,pixels); ptr+=160; // Chargement de la ligne @@ -2025,10 +2025,10 @@ void Save_PC1(T_IO_Context * context) { setvbuf(file, NULL, _IOFBF, 64*1024); - // Allocation des buffers mémoire + // Allocation des buffers mémoire bufferdecomp=(byte *)malloc(32000); buffercomp =(byte *)malloc(64066); - // Codage de la résolution + // Codage de la résolution buffercomp[0]=0x80; buffercomp[1]=0x00; // Codage de la palette @@ -2060,13 +2060,13 @@ void Save_PC1(T_IO_Context * context) { fclose(file); } - else // Error d'écriture (disque plein ou protégé) + else // Error d'écriture (disque plein ou protégé) { fclose(file); Remove_file(context); File_error=1; } - // Libération des buffers mémoire + // Libération des buffers mémoire free(bufferdecomp); free(buffercomp); buffercomp = bufferdecomp = NULL; @@ -2085,12 +2085,12 @@ void Save_PC1(T_IO_Context * context) void Test_NEO(T_IO_Context * context, FILE * file) { int size; // Taille du fichier - word resolution; // Résolution de l'image + word resolution; // Résolution de l'image (void)context; File_error=1; - // Vérification de la taille + // Vérification de la taille size=File_length_file(file); if ((size==32128)) { @@ -2101,7 +2101,7 @@ void Test_NEO(T_IO_Context * context, FILE * file) File_error = 0; } - // Lecture et vérification de la résolution + // Lecture et vérification de la résolution if (Read_word_le(file,&resolution)) { if (resolution==0 || resolution==1 || resolution==2) @@ -2121,7 +2121,7 @@ void Load_NEO(T_IO_Context * context) File_error=0; if ((file=Open_file_read(context))) { - // allocation d'un buffer mémoire + // allocation d'un buffer mémoire buffer=(byte *)malloc(32128); if (buffer!=NULL) { @@ -2135,10 +2135,10 @@ void Load_NEO(T_IO_Context * context) // Initialisation de la palette if (Config.Clear_palette) memset(context->Palette,0,sizeof(T_Palette)); - // on saute la résolution et le flag, chacun 2 bits + // on saute la résolution et le flag, chacun 2 bits PI1_decode_palette(buffer+4,(byte *)context->Palette); - // Chargement/décompression de l'image + // Chargement/décompression de l'image ptr=buffer+128; for (y_pos=0;y_pos<200;y_pos++) { @@ -2179,9 +2179,9 @@ void Save_NEO(T_IO_Context * context) { setvbuf(file, NULL, _IOFBF, 64*1024); - // allocation d'un buffer mémoire + // allocation d'un buffer mémoire buffer=(byte *)malloc(32128); - // Codage de la résolution + // Codage de la résolution buffer[0]=0x00; buffer[1]=0x00; buffer[2]=0x00; @@ -2211,13 +2211,13 @@ void Save_NEO(T_IO_Context * context) { fclose(file); } - else // Error d'écriture (disque plein ou protégé) + else // Error d'écriture (disque plein ou protégé) { fclose(file); Remove_file(context); File_error=1; } - // Libération du buffer mémoire + // Libération du buffer mémoire free(buffer); buffer = NULL; } diff --git a/src/op_c.c b/src/op_c.c index 376aed37..1ba2f750 100644 --- a/src/op_c.c +++ b/src/op_c.c @@ -1031,7 +1031,7 @@ void CS_Generate_color_table_and_palette(T_Cluster_set * cs,CT_Tree* tc,T_Compon } ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////// Méthodes de gestion des dégradés // +///////////////////////////////////////// Méthodes de gestion des dégradés // ///////////////////////////////////////////////////////////////////////////// void GS_Init(T_Gradient_set * ds,T_Cluster_set * cs) @@ -1040,7 +1040,7 @@ void GS_Init(T_Gradient_set * ds,T_Cluster_set * cs) ds->gradients[0].min=cs->clusters->data.pal.h; ds->gradients[0].max=cs->clusters->data.pal.h; ds->gradients[0].hue=cs->clusters->data.pal.h; - // Et hop : le 1er ensemble de d‚grad‚s est initialis‚ + // Et hop : le 1er ensemble de dégradés est initialisé ds->nb=1; } @@ -1051,7 +1051,7 @@ T_Gradient_set * GS_New(T_Cluster_set * cs) n=(T_Gradient_set *)malloc(sizeof(T_Gradient_set)); if (n!=NULL) { - // On recopie les paramètres demandés + // On recopie les paramètres demandés n->nb_max=cs->nb_max; // On tente d'allouer la table @@ -1061,7 +1061,7 @@ T_Gradient_set * GS_New(T_Cluster_set * cs) GS_Init(n,cs); else { - // Table impossible à allouer + // Table impossible à allouer free(n); n=NULL; } @@ -1079,15 +1079,15 @@ void GS_Delete(T_Gradient_set * ds) void GS_Generate(T_Gradient_set * ds,T_Cluster_set * cs) { int id; // Les indexs de parcours des ensembles - int best_gradient; // Meilleur d‚grad‚ - int best_diff; // Meilleure diff‚rence de chrominance + int best_gradient; // Meilleur dégradé + int best_diff; // Meilleure différence de chrominance int diff; // difference de chrominance courante T_Cluster * current = cs->clusters; - // Pour chacun des clusters … traiter + // Pour chacun des clusters … traiter do { - // On recherche le d‚grad‚ le plus proche de la chrominance du cluster + // On recherche le dégradé le plus proche de la chrominance du cluster best_gradient=-1; best_diff=99999999; for (id=0;idnb;id++) @@ -1100,10 +1100,10 @@ void GS_Generate(T_Gradient_set * ds,T_Cluster_set * cs) } } - // Si on a trouv‚ un d‚grad‚ dans lequel inclure le cluster + // Si on a trouvé un dégradé dans lequel inclure le cluster if (best_gradient!=-1) { - // On met … jour le d‚grad‚ + // On met à jour le dégradé if (current->data.pal.h < ds->gradients[best_gradient].min) ds->gradients[best_gradient].min=current->data.pal.h; if (current->data.pal.h > ds->gradients[best_gradient].max) @@ -1116,7 +1116,7 @@ void GS_Generate(T_Gradient_set * ds,T_Cluster_set * cs) } else { - // On cr‚e un nouveau d‚grad‚ + // On crée un nouveau dégradé best_gradient=ds->nb; ds->gradients[best_gradient].nb_colors=1; ds->gradients[best_gradient].min=current->data.pal.h; @@ -1254,9 +1254,9 @@ void Convert_24b_bitmap_to_256_Floyd_Steinberg(T_Bitmap256 dest,T_Bitmap24B sour // On initialise les variables de parcours: current =source; // Le pixel dont on s'occupe next =current+width; // Le pixel en dessous - c_plus1 =current+1; // Le pixel à droite - u_minus1=next-1; // Le pixel en bas à gauche - u_plus1 =next+1; // Le pixel en bas à droite + c_plus1 =current+1; // Le pixel à droite + u_minus1=next-1; // Le pixel en bas à gauche + u_plus1 =next+1; // Le pixel en bas à droite d =dest; // On parcours chaque pixel: @@ -1272,7 +1272,7 @@ void Convert_24b_bitmap_to_256_Floyd_Steinberg(T_Bitmap256 dest,T_Bitmap24B sour // Cherche la couleur correspondant dans la palette et la range dans l'image de destination *d=CT_get(tc,red,green,blue); - // Puis on calcule pour chaque composante l'erreur dûe à l'approximation + // Puis on calcule pour chaque composante l'erreur dûe à l'approximation red-=palette[*d].R; green -=palette[*d].G; blue -=palette[*d].B; @@ -1289,7 +1289,7 @@ void Convert_24b_bitmap_to_256_Floyd_Steinberg(T_Bitmap256 dest,T_Bitmap24B sour c_plus1->G=Modified_value(c_plus1->G,e_green ); c_plus1->B=Modified_value(c_plus1->B,e_blue ); } - // En bas à gauche: + // En bas à gauche: if (y_pos+1R=Modified_value(next->R,e_red); next->G=Modified_value(next->G,e_green ); next->B=Modified_value(next->B,e_blue ); - // En bas à droite: + // En bas à droite: if (x_pos+1B=(8/3) * C->P - *x3=Round((bx+x4)/2.0); // · _/·· P3 P2=middle of [P1,B] + cy=(float)(y1+y4)/2.0; // · \·· P2 -_\|/ : curve + // · \ ·*· * : important point + bx=cx+((8.0/3.0)*(Paintbrush_X-cx));// · | ·· · : dotted line + by=cy+((8.0/3.0)*(Paintbrush_Y-cy));// · |P ·· B + // C *·····*·········* P=Pencil position + *x2=Round((bx+x1)/2.0); // · | ·· C=middle of [P1,P4] + *y2=Round((by+y1)/2.0); // · | ·· B=point computed as + // · / ·*· C->B=(8/3) * C->P + *x3=Round((bx+x4)/2.0); // · _/·· P3 P2=middle of [P1,B] *y3=Round((by+y4)/2.0); // P4*-- P3=middle of [P4,B] } void Curve_3_points_0_5(void) // -// Opération : OPERATION_3_POINTS_CURVE +// Opération : OPERATION_3_POINTS_CURVE // Click Souris: 0 // Taille_Pile : 5 // -// Souris effacée: Oui +// Souris effacée: Oui // { short x1,y1,x2,y2,x3,y3,x4,y4; @@ -1938,11 +1938,11 @@ void Curve_finalize(void) void Curve_3_points_0_11(void) // -// Opération : OPERATION_3_POINTS_CURVE +// Opération : OPERATION_3_POINTS_CURVE // Click Souris: 0 // Taille_Pile : 11 // -// Souris effacée: Non +// Souris effacée: Non // { if (!Config.Stylus_mode) @@ -1954,11 +1954,11 @@ void Curve_3_points_0_11(void) void Curve_3_points_12_11(void) // -// Opération : OPERATION_3_POINTS_CURVE +// Opération : OPERATION_3_POINTS_CURVE // Click Souris: 1 ou 2 // Taille_Pile : 11 // -// Souris effacée: Oui +// Souris effacée: Oui // { if (!Config.Stylus_mode) @@ -1972,11 +1972,11 @@ void Curve_3_points_12_11(void) void Airbrush_1_0(void) // -// Opération : OPERATION_AIRBRUSH +// Opération : OPERATION_AIRBRUSH // Click Souris: 1 // Taille_Pile : 0 // -// Souris effacée: Non +// Souris effacée: Non // { Init_start_operation(); @@ -1995,11 +1995,11 @@ void Airbrush_1_0(void) void Airbrush_2_0(void) // -// Opération : OPERATION_AIRBRUSH +// Opération : OPERATION_AIRBRUSH // Click Souris: 2 // Taille_Pile : 0 // -// Souris effacée: Non +// Souris effacée: Non // { if (Rightclick_colorpick(1)) @@ -2020,11 +2020,11 @@ void Airbrush_2_0(void) void Airbrush_12_2(void) // -// Opération : OPERATION_AIRBRUSH +// Opération : OPERATION_AIRBRUSH // Click Souris: 1 ou 2 // Taille_Pile : 2 // -// Souris effacée: Non +// Souris effacée: Non // { short old_x,old_y; @@ -2056,11 +2056,11 @@ void Airbrush_12_2(void) void Airbrush_0_2(void) // -// Opération : OPERATION_AIRBRUSH +// Opération : OPERATION_AIRBRUSH // Click Souris: 0 // Taille_Pile : 2 // -// Souris effacée: Non +// Souris effacée: Non // { Operation_stack_size-=2; @@ -2072,11 +2072,11 @@ void Airbrush_0_2(void) void Polygon_12_0(void) -// Opération : OPERATION_POLYGON +// Opération : OPERATION_POLYGON // Click Souris: 1 ou 2 // Taille_Pile : 0 // -// Souris effacée: Oui +// Souris effacée: Oui { byte color; @@ -2091,7 +2091,7 @@ void Polygon_12_0(void) color=(Mouse_K==LEFT_SIDE)?Fore_color:Back_color; - // On place temporairement le début de la ligne qui ne s'afficherait pas sinon + // On place temporairement le début de la ligne qui ne s'afficherait pas sinon Pixel_figure_preview(Paintbrush_X,Paintbrush_Y,color); Update_part_of_screen(Paintbrush_X,Paintbrush_Y,1,1); @@ -2112,11 +2112,11 @@ void Polygon_12_0(void) void Polygon_12_9(void) -// Opération : OPERATION_POLYGON +// Opération : OPERATION_POLYGON // Click Souris: 1 ou 2 // Taille_Pile : 9 // -// Souris effacée: Oui +// Souris effacée: Oui { short start_x; short start_y; @@ -2145,14 +2145,14 @@ void Polygon_12_9(void) } else { - // La série de ligne est terminée, il faut donc effacer la dernière + // La série de ligne est terminée, il faut donc effacer la dernière // preview de ligne et relier le dernier point avec le premier Pixel_figure_preview_auto (start_x,start_y); Hide_line_preview (start_x,start_y,end_x,end_y); Operation_pop(&end_y); Operation_pop(&end_x); Paintbrush_shape=Paintbrush_shape_before_operation; - // Le pied aurait été de ne pas repasser sur le 1er point de la 1ère ligne + // Le pied aurait été de ne pas repasser sur le 1er point de la 1ère ligne // mais c'est pas possible :( Draw_line_permanent(start_x,start_y,end_x,end_y,color); Paintbrush_shape=PAINTBRUSH_SHAPE_POINT; @@ -2176,11 +2176,11 @@ void Polygon_12_9(void) ////////////////////////////////////////////////////////// OPERATION_POLYFILL void Polyfill_12_0(void) -// Opération : OPERATION_POLYFILL +// Opération : OPERATION_POLYFILL // Click Souris: 1 ou 2 // Taille_Pile : 0 // -// Souris effacée: Oui +// Souris effacée: Oui { byte color; @@ -2199,7 +2199,7 @@ void Polyfill_12_0(void) Polyfill_table_of_points[1]=Paintbrush_Y; Polyfill_number_of_points=1; - // On place temporairement le début de la ligne qui ne s'afficherait pas sinon + // On place temporairement le début de la ligne qui ne s'afficherait pas sinon Pixel_figure_preview_xor(Paintbrush_X,Paintbrush_Y,0); Update_part_of_screen(Paintbrush_X,Paintbrush_Y,1,1); @@ -2219,11 +2219,11 @@ void Polyfill_12_0(void) void Polyfill_0_8(void) -// Opération : OPERATION_POLYFILL +// Opération : OPERATION_POLYFILL // Click Souris: 0 // Taille_Pile : 8 // -// Souris effacée: Oui +// Souris effacée: Oui { short start_x; short start_y; @@ -2247,7 +2247,7 @@ void Polyfill_0_8(void) if (direction & 0x80) direction=(direction & 0x7F); - Operation_push(direction); // Valeur bidon servant de nouvel état de pile + Operation_push(direction); // Valeur bidon servant de nouvel état de pile Operation_push(direction); Operation_push(color); @@ -2276,11 +2276,11 @@ void Polyfill_0_8(void) void Polyfill_12_8(void) -// Opération : OPERATION_POLYFILL +// Opération : OPERATION_POLYFILL // Click Souris: 1 ou 2 | 0 // Taille_Pile : 8 | 9 // -// Souris effacée: Non +// Souris effacée: Non { short start_x; short start_y; @@ -2312,11 +2312,11 @@ void Polyfill_12_8(void) void Polyfill_12_9(void) -// Opération : OPERATION_POLYFILL +// Opération : OPERATION_POLYFILL // Click Souris: 1 ou 2 // Taille_Pile : 9 // -// Souris effacée: Oui +// Souris effacée: Oui { short start_x; short start_y; @@ -2345,7 +2345,7 @@ void Polyfill_12_9(void) } else { - // La série de lignes est terminée, il faut donc effacer la dernière + // La série de lignes est terminée, il faut donc effacer la dernière // preview de ligne et relier le dernier point avec le premier Hide_cursor(); Draw_line_preview_xor(start_x,start_y,end_x,end_y,0); @@ -2377,11 +2377,11 @@ void Polyfill_12_9(void) void Polyform_12_0(void) -// Opération : OPERATION_POLYFORM +// Opération : OPERATION_POLYFORM // Click Souris: 1 ou 2 // Taille_Pile : 0 // -// Souris effacée: Oui +// Souris effacée: Oui { short color; @@ -2411,11 +2411,11 @@ void Polyform_12_0(void) void Polyform_12_8(void) -// Opération : OPERATION_POLYFORM +// Opération : OPERATION_POLYFORM // Click Souris: 1 ou 2 // Taille_Pile : 8 // -// Souris effacée: Non +// Souris effacée: Non { short click; short end_y; @@ -2438,18 +2438,18 @@ void Polyform_12_8(void) if ((start_x!=Paintbrush_X) || (start_y!=Paintbrush_Y)) { - // Il existe un segment définit par (start_x,start_y)-(Paintbrush_X,Paintbrush_Y) + // Il existe un segment définit par (start_x,start_y)-(Paintbrush_X,Paintbrush_Y) Hide_cursor(); Print_coordinates(); Operation_pop(&color); - // On efface la preview du segment validé: + // On efface la preview du segment validé: Pixel_figure_preview_auto (start_x,start_y); Hide_line_preview(start_x,start_y,end_x,end_y); - // On l'affiche de façon définitive: + // On l'affiche de façon définitive: Draw_line_permanent(start_x,start_y,Paintbrush_X,Paintbrush_Y,color); // Et on affiche un pixel de preview en (Paintbrush_X,Paintbrush_Y): @@ -2468,7 +2468,7 @@ void Polyform_12_8(void) } else { - // L'utilisateur souhaite arrêter l'opération et refermer le polygone + // L'utilisateur souhaite arrêter l'opération et refermer le polygone Operation_pop(&color); Operation_pop(&initial_y); @@ -2477,10 +2477,10 @@ void Polyform_12_8(void) Hide_cursor(); Print_coordinates(); - // On efface la preview du segment annulé: + // On efface la preview du segment annulé: Hide_line_preview(start_x,start_y,end_x,end_y); - // On affiche de façon définitive le bouclage du polygone: + // On affiche de façon définitive le bouclage du polygone: Draw_line_permanent(start_x,start_y,initial_x,initial_y,color); Display_cursor(); @@ -2491,11 +2491,11 @@ void Polyform_12_8(void) void Polyform_0_8(void) -// Opération : OPERATION_POLYFORM +// Opération : OPERATION_POLYFORM // Click Souris: 0 // Taille_Pile : 8 // -// Souris effacée: Non +// Souris effacée: Non { short click; short end_y; @@ -2517,7 +2517,7 @@ void Polyform_0_8(void) Operation_pop(&start_x); Operation_pop(&color); - // On met à jour l'affichage de la preview du prochain segment: + // On met à jour l'affichage de la preview du prochain segment: Hide_line_preview(start_x,start_y,end_x,end_y); Draw_line_preview (start_x,start_y,Paintbrush_X,Paintbrush_Y,color); @@ -2538,11 +2538,11 @@ void Polyform_0_8(void) void Filled_polyform_12_0(void) -// Opération : OPERATION_FILLED_POLYFORM +// Opération : OPERATION_FILLED_POLYFORM // Click Souris: 1 ou 2 // Taille_Pile : 0 // -// Souris effacée: Oui +// Souris effacée: Oui { short color; @@ -2551,7 +2551,7 @@ void Filled_polyform_12_0(void) Init_start_operation(); - // Cette opération étant également utilisée pour le lasso, on ne fait pas de + // Cette opération étant également utilisée pour le lasso, on ne fait pas de // backup si on prend une brosse au lasso avec le bouton gauche. if ((Current_operation==OPERATION_FILLED_POLYFORM) || (Current_operation==OPERATION_FILLED_CONTOUR) || (Mouse_K==RIGHT_SIDE)) Backup(); @@ -2566,7 +2566,7 @@ void Filled_polyform_12_0(void) Polyfill_table_of_points[1]=Paintbrush_Y; Polyfill_number_of_points=1; - // On place temporairement le début de la ligne qui ne s'afficherait pas sinon + // On place temporairement le début de la ligne qui ne s'afficherait pas sinon Pixel_figure_preview_xor(Paintbrush_X,Paintbrush_Y,0); Update_part_of_screen(Paintbrush_X,Paintbrush_Y,1,1); @@ -2582,11 +2582,11 @@ void Filled_polyform_12_0(void) void Filled_polyform_12_8(void) -// Opération : OPERATION_FILLED_POLYFORM +// Opération : OPERATION_FILLED_POLYFORM // Click Souris: 1 ou 2 // Taille_Pile : 8 // -// Souris effacée: Non +// Souris effacée: Non { short click; short end_y; @@ -2610,13 +2610,13 @@ void Filled_polyform_12_8(void) if (((start_x!=Paintbrush_X) || (start_y!=Paintbrush_Y)) && (Polyfill_number_of_points=center_x) x_offset=(Paintbrush_X-center_x)%Main.image_width; @@ -2894,11 +2894,11 @@ void Scroll_12_5(void) void Scroll_0_5(void) // -// Opération : OPERATION_SCROLL +// Opération : OPERATION_SCROLL // Click Souris: 0 // Taille_Pile : 5 // -// Souris effacée: Oui +// Souris effacée: Oui // { // All layers at once @@ -2963,11 +2963,11 @@ void Scroll_0_5(void) void Grad_circle_12_0(void) // -// Opération : OPERATION_GRAD_CIRCLE +// Opération : OPERATION_GRAD_CIRCLE // Click Souris: 1 ou 2 // Taille_Pile : 0 // -// Souris effacée: Oui +// Souris effacée: Oui { byte color; @@ -2998,11 +2998,11 @@ void Grad_circle_12_0(void) void Grad_circle_12_6(void) // -// Opération : OPERATION_GRAD_CIRCLE +// Opération : OPERATION_GRAD_CIRCLE // Click Souris: 1 ou 2 // Taille_Pile : 6 (Mouse_K, color, X_Centre, Y_Centre, X_Tangente, Y_Tangente) // -// Souris effacée: Non +// Souris effacée: Non // { short tangent_x; @@ -3053,11 +3053,11 @@ void Grad_circle_12_6(void) void Grad_circle_0_6(void) // -// Opération : OPERATION_GRAD_CIRCLE +// Opération : OPERATION_GRAD_CIRCLE // Click Souris: 0 // Taille_Pile : 6 (Mouse_K, color, X_Centre, Y_Centre, X_Tangente, Y_Tangente) // -// Souris effacée: Oui +// Souris effacée: Oui // { short tangent_x; @@ -3127,11 +3127,11 @@ void Grad_circle_0_6(void) void Grad_circle_12_8(void) // -// Opération : OPERATION_GRAD_CIRCLE +// Opération : OPERATION_GRAD_CIRCLE // Click Souris: 0 // Taille_Pile : 8 (Mouse_K, color, X_Centre, Y_Centre, X_Tangente, Y_Tangente, old_x, old_y) // -// Souris effacée: Oui +// Souris effacée: Oui // { short tangent_x; @@ -3142,7 +3142,7 @@ void Grad_circle_12_8(void) short old_mouse_k; long limit; - Operation_stack_size-=2; // On fait sauter les 2 derniers élts de la pile + Operation_stack_size-=2; // On fait sauter les 2 derniers élts de la pile Operation_pop(&tangent_y); Operation_pop(&tangent_x); Operation_pop(¢er_y); @@ -3179,11 +3179,11 @@ void Grad_circle_12_8(void) void Grad_circle_or_ellipse_0_8(void) // -// Opération : OPERATION_{CERCLE|ELLIPSE}_DEGRADE +// Opération : OPERATION_{CERCLE|ELLIPSE}_DEGRADE // Click Souris: 0 // Taille_Pile : 8 // -// Souris effacée: Non +// Souris effacée: Non // { short start_x; @@ -3219,11 +3219,11 @@ void Grad_circle_or_ellipse_0_8(void) void Grad_ellipse_12_0(void) // -// Opération : OPERATION_GRAD_ELLIPSE +// Opération : OPERATION_GRAD_ELLIPSE // Click Souris: 1 ou 2 // Taille_Pile : 0 // -// Souris effacée: Oui +// Souris effacée: Oui { byte color; @@ -3255,11 +3255,11 @@ void Grad_ellipse_12_0(void) void Grad_ellipse_12_6(void) // -// Opération : OPERATION_GRAD_ELLIPSE +// Opération : OPERATION_GRAD_ELLIPSE // Click Souris: 1 ou 2 // Taille_Pile : 6 (Mouse_K, color, X_Centre, Y_Centre, X_Tangente, Y_Tangente) // -// Souris effacée: Non +// Souris effacée: Non // { short tangent_x; @@ -3315,11 +3315,11 @@ void Grad_ellipse_12_6(void) void Grad_ellipse_0_6(void) // -// Opération : OPERATION_GRAD_ELLIPSE +// Opération : OPERATION_GRAD_ELLIPSE // Click Souris: 0 // Taille_Pile : 6 (Mouse_K, color, X_Centre, Y_Centre, X_Tangente, Y_Tangente) // -// Souris effacée: Oui +// Souris effacée: Oui // { short tangent_x; @@ -3403,11 +3403,11 @@ void Grad_ellipse_0_6(void) void Grad_ellipse_12_8(void) // -// Opération : OPERATION_GRAD_ELLIPSE +// Opération : OPERATION_GRAD_ELLIPSE // Click Souris: 0 // Taille_Pile : 8 (Mouse_K, color, X_Centre, Y_Centre, X_Tangente, Y_Tangente, old_x, old_y) // -// Souris effacée: Oui +// Souris effacée: Oui // { short tangent_x; @@ -3419,7 +3419,7 @@ void Grad_ellipse_12_8(void) short vertical_radius=0; short old_mouse_k; - Operation_stack_size-=2; // On fait sauter les 2 derniers élts de la pile + Operation_stack_size-=2; // On fait sauter les 2 derniers élts de la pile Operation_pop(&tangent_y); Operation_pop(&tangent_x); Operation_pop(¢er_y); @@ -3470,19 +3470,19 @@ void Grad_ellipse_12_8(void) * Operation_Rectangle_Degrade * ******************************/ -// 1) tracé d'un rectangle classique avec les lignes XOR -// 2) tracé d'une ligne vecteur de dégradé, comme une ligne normale -// 3) dessin du dégradé +// 1) tracé d'un rectangle classique avec les lignes XOR +// 2) tracé d'une ligne vecteur de dégradé, comme une ligne normale +// 3) dessin du dégradé void Grad_rectangle_12_0(void) -// Opération : OPERATION_GRAD_RECTANGLE +// Opération : OPERATION_GRAD_RECTANGLE // Click Souris: 1 ou 2 // Taille_Pile : 0 // -// Souris effacée: Oui +// Souris effacée: Oui -// Initialisation de l'étape 1, on commence à dessiner le rectangle +// Initialisation de l'étape 1, on commence à dessiner le rectangle { Init_start_operation(); Backup(); @@ -3490,7 +3490,7 @@ void Grad_rectangle_12_0(void) if ((Config.Coords_rel) && (Menu_is_visible)) Print_in_menu("\035: 1 \022: 1",0); - // On laisse une trace du curseur à l'écran + // On laisse une trace du curseur à l'écran Display_cursor(); if (Mouse_K==LEFT_SIDE) @@ -3512,11 +3512,11 @@ void Grad_rectangle_12_0(void) void Grad_rectangle_12_5(void) -// Opération : OPERATION_GRAD_RECTANGLE +// Opération : OPERATION_GRAD_RECTANGLE // Click Souris: 1 ou 2 // Taille_Pile : 5 // -// Souris effacée: Non +// Souris effacée: Non // Modification de la taille du rectangle { @@ -3614,7 +3614,7 @@ void Draw_xor_rect(short start_x, short start_y, short end_x, short end_y) Update_rect(start_x - Main.offset_X, start_y - Main.offset_Y, width + 1 - offset_width, height + 1 - offset_height); - // Dessin dans la zone zoomée + // Dessin dans la zone zoomée if (Main.magnifier_mode && start_x <= Limit_right_zoom && end_x > Limit_left_zoom && start_y <= Limit_bottom_zoom @@ -3623,22 +3623,22 @@ void Draw_xor_rect(short start_x, short start_y, short end_x, short end_y) offset_width = 0; offset_height = 0; - if (start_xLimit_right_zoom) // On dépasse du zoom à droite + if(end_x>Limit_right_zoom) // On dépasse du zoom à droite offset_width += end_x - Limit_right_zoom; - if(start_yLimit_bottom_zoom) // On dépasse du zoom en bas + if(end_y>Limit_bottom_zoom) // On dépasse du zoom en bas offset_height += end_y - Limit_bottom_zoom; if(width > offset_width) @@ -3672,19 +3672,19 @@ void Grad_rectangle_0_5(void) // click souris 0 // Taile pile : 5 // -// Souris effacée : non +// Souris effacée : non -// Le rectangle est en place, maintenant il faut tracer le vecteur de dégradé, +// Le rectangle est en place, maintenant il faut tracer le vecteur de dégradé, // on doit donc attendre que l'utilisateur clique quelque part -// On stocke tout de suite les coordonnées du pinceau comme ça on change d'état et on passe à la suite +// On stocke tout de suite les coordonnées du pinceau comme ça on change d'état et on passe à la suite { - // !!! Cette fonction remet start_x start_y end_x end_y dans la pile à la fin donc il ne faut pas les modifier ! (sauf éventuellement un tri) + // !!! Cette fonction remet start_x start_y end_x end_y dans la pile à la fin donc il ne faut pas les modifier ! (sauf éventuellement un tri) short start_x; short start_y; short end_x; short end_y; - // Tracé propre du rectangle + // Tracé propre du rectangle Operation_pop(&end_y); Operation_pop(&end_x); Operation_pop(&start_y); @@ -3718,7 +3718,7 @@ void Grad_rectangle_0_5(void) Operation_push(end_x); Operation_push(end_y); - // On ajoute des trucs dans la pile pour forcer le passage à l'étape suivante + // On ajoute des trucs dans la pile pour forcer le passage à l'étape suivante Operation_push(end_x); Operation_push(end_y); } @@ -3728,9 +3728,9 @@ void Grad_rectangle_0_7(void) // click souris 0 // Taile pile : 5 // -// Souris effacée : non +// Souris effacée : non -// On continue à attendre que l'utilisateur clique en gardant les coords à jour +// On continue à attendre que l'utilisateur clique en gardant les coords à jour { Operation_stack_size -= 2; Print_coordinates(); @@ -3739,16 +3739,16 @@ void Grad_rectangle_0_7(void) } void Grad_rectangle_12_7(void) -// Opération : OPERATION_GRAD_RECTANGLE +// Opération : OPERATION_GRAD_RECTANGLE // Click Souris: 1 ou 2 // Taille_Pile : 7 // -// Souris effacée: Oui +// Souris effacée: Oui -// Début du tracé du vecteur (premier clic) -// On garde les anciennes coordonnées dans la pile, et on ajoute les nouvelles par dessus +// Début du tracé du vecteur (premier clic) +// On garde les anciennes coordonnées dans la pile, et on ajoute les nouvelles par dessus -// Si l'utilisateur utilise le mauvais bouton, on annule le tracé. Mais ça nous oblige à vider toute la pile pour vérifier :( +// Si l'utilisateur utilise le mauvais bouton, on annule le tracé. Mais ça nous oblige à vider toute la pile pour vérifier :( { short start_x,end_x,start_y,end_y,vax,vay,click; @@ -3776,20 +3776,20 @@ void Grad_rectangle_12_7(void) } else { - // Mauvais bouton > anulation de l'opération. - // On a déjà vidé la pile, il reste à effacer le rectangle XOR + // Mauvais bouton > anulation de l'opération. + // On a déjà vidé la pile, il reste à effacer le rectangle XOR Draw_xor_rect(start_x, start_y, end_x, end_y); } } void Grad_rectangle_12_9(void) - // Opération : OPERATION_GRAD_RECTANGLE + // Opération : OPERATION_GRAD_RECTANGLE // Click Souris: 1 // Taille_Pile : 9 // - // Souris effacée: Oui + // Souris effacée: Oui - // Poursuite du tracé du vecteur (déplacement de la souris en gardant le curseur appuyé) + // Poursuite du tracé du vecteur (déplacement de la souris en gardant le curseur appuyé) { short start_x; short start_y; @@ -3805,7 +3805,7 @@ void Grad_rectangle_12_9(void) cursor_x = Paintbrush_X; cursor_y = Paintbrush_Y; - // On corrige les coordonnées de la ligne si la touche shift est appuyée... + // On corrige les coordonnées de la ligne si la touche shift est appuyée... if(SDL_GetModState() & KMOD_SHIFT) Clamp_coordinates_regular_angle(start_x,start_y,&cursor_x,&cursor_y); @@ -3826,13 +3826,13 @@ void Grad_rectangle_12_9(void) } void Grad_rectangle_0_9(void) - // Opération : OPERATION_GRAD_RECTANGLE + // Opération : OPERATION_GRAD_RECTANGLE // Click Souris: 0 // Taille_Pile : 9 // - // Souris effacée: Oui + // Souris effacée: Oui - // Ouf, fini ! on dessine enfin le rectangle avec son dégradé + // Ouf, fini ! on dessine enfin le rectangle avec son dégradé { short rect_start_x; short rect_start_y; @@ -3859,10 +3859,10 @@ void Grad_rectangle_0_9(void) Draw_xor_rect(rect_start_x, rect_start_y, rect_end_x, rect_end_y); Hide_line_preview(vector_start_x,vector_start_y,vector_end_x,vector_end_y); - // Et enfin on trace le rectangle avec le dégradé dedans ! + // Et enfin on trace le rectangle avec le dégradé dedans ! if (vector_end_x==vector_start_x && vector_end_y==vector_start_y) { - // Vecteur nul > pas de rectangle tracé + // Vecteur nul > pas de rectangle tracé } else { @@ -3882,11 +3882,11 @@ void Grad_rectangle_0_9(void) void Centered_lines_12_0(void) - // Opération : OPERATION_CENTERED_LINES + // Opération : OPERATION_CENTERED_LINES // Click Souris: 1 ou 2 // Taille_Pile : 0 // - // Souris effacée: Oui + // Souris effacée: Oui { if (Rightclick_colorpick(0)) return; @@ -3905,11 +3905,11 @@ void Centered_lines_12_0(void) void Centered_lines_12_3(void) - // Opération : OPERATION_CENTERED_LINES + // Opération : OPERATION_CENTERED_LINES // Click Souris: 1 ou 2 // Taille_Pile : 3 // - // Souris effacée: Non + // Souris effacée: Non { short start_x; short start_y; @@ -3922,11 +3922,11 @@ void Centered_lines_12_3(void) void Centered_lines_0_3(void) - // Opération : OPERATION_CENTERED_LINES + // Opération : OPERATION_CENTERED_LINES // Click Souris: 0 // Taille_Pile : 3 // - // Souris effacée: Oui + // Souris effacée: Oui { short start_x; short start_y; @@ -3944,21 +3944,21 @@ void Centered_lines_0_3(void) Paintbrush_shape=PAINTBRUSH_SHAPE_POINT; Operation_push(Button); - Operation_push(Paintbrush_X); // Nouveau début X - Operation_push(Paintbrush_Y); // Nouveau début Y - Operation_push(Paintbrush_X); // Nouvelle dernière fin X - Operation_push(Paintbrush_Y); // Nouvelle dernière fin Y - Operation_push(Paintbrush_X); // Nouvelle dernière position X - Operation_push(Paintbrush_Y); // Nouvelle dernière position Y + Operation_push(Paintbrush_X); // Nouveau début X + Operation_push(Paintbrush_Y); // Nouveau début Y + Operation_push(Paintbrush_X); // Nouvelle dernière fin X + Operation_push(Paintbrush_Y); // Nouvelle dernière fin Y + Operation_push(Paintbrush_X); // Nouvelle dernière position X + Operation_push(Paintbrush_Y); // Nouvelle dernière position Y } void Centered_lines_12_7(void) - // Opération : OPERATION_CENTERED_LINES + // Opération : OPERATION_CENTERED_LINES // Click Souris: 1 ou 2 // Taille_Pile : 7 // - // Souris effacée: Non + // Souris effacée: Non { short Button; short start_x; @@ -4033,11 +4033,11 @@ void Centered_lines_12_7(void) void Centered_lines_0_7(void) - // Opération : OPERATION_CENTERED_LINES + // Opération : OPERATION_CENTERED_LINES // Click Souris: 0 // Taille_Pile : 7 // - // Souris effacée: Non + // Souris effacée: Non { short Button; short start_x; @@ -4084,11 +4084,11 @@ void Centered_lines_0_7(void) ///////////////////////////////////////////////////////////// OPERATION_PAN_VIEW void Pan_view_0_0(void) -// Opération : OPERATION_PAN_VIEW +// Opération : OPERATION_PAN_VIEW // Click Souris: 0 // Taille_Pile : 0 // -// Souris effacée: Non +// Souris effacée: Non { if (Pan_shortcut_pressed) { @@ -4104,11 +4104,11 @@ void Pan_view_0_0(void) } void Pan_view_12_0(void) -// Opération : OPERATION_PAN_VIEW +// Opération : OPERATION_PAN_VIEW // Click Souris: 1 ou 2 // Taille_Pile : 0 // -// Souris effacée: Non +// Souris effacée: Non // First time the user clicks { @@ -4119,11 +4119,11 @@ void Pan_view_12_0(void) } void Pan_view_12_2(void) -// Opération : OPERATION_PAN_VIEW +// Opération : OPERATION_PAN_VIEW // Click Souris: 1 ou 2 // Taille_Pile : 2 // -// Souris effacée: Non +// Souris effacée: Non // While dragging view { @@ -4151,11 +4151,11 @@ void Pan_view_12_2(void) } void Pan_view_0_2(void) -// Opération : OPERATION_PAN_VIEW +// Opération : OPERATION_PAN_VIEW // Click Souris: 0 // Taille_Pile : 2 // -// Souris effacée: Non +// Souris effacée: Non // When releasing after dragging { diff --git a/src/pages.c b/src/pages.c index aa330713..042d46eb 100644 --- a/src/pages.c +++ b/src/pages.c @@ -165,7 +165,7 @@ T_Gradient_array *Dup_gradient(T_Page * page) } void Download_infos_page_main(T_Page * page) -// Affiche la page à l'écran +// Affiche la page à l'écran { //int factor_index; int size_is_modified; @@ -393,7 +393,7 @@ void Redraw_current_layer(void) } void Upload_infos_page(T_Document * doc) -// Sauve l'écran courant dans la page +// Sauve l'écran courant dans la page { if (doc->backups->Pages != NULL) { @@ -428,7 +428,7 @@ void Update_FX_feedback(byte with_feedback) void Clear_page(T_Page * page) { - // On peut appeler cette fonction sur une page non allouée. + // On peut appeler cette fonction sur une page non allouée. int i; for (i=0; iNb_layers; i++) { @@ -448,7 +448,7 @@ void Clear_page(T_Page * page) page->Width=0; page->Height=0; - // On ne se préoccupe pas de ce que deviens le reste des infos de l'image. + // On ne se préoccupe pas de ce que deviens le reste des infos de l'image. } void Copy_S_page(T_Page * dest,T_Page * source) @@ -473,8 +473,8 @@ void Init_list_of_pages(T_List_of_pages * list) int Allocate_list_of_pages(T_List_of_pages * list) { - // Important: la T_List_of_pages ne doit pas déjà désigner une liste de - // pages allouée auquel cas celle-ci serait perdue. + // Important: la T_List_of_pages ne doit pas déjà désigner une liste de + // pages allouée auquel cas celle-ci serait perdue. T_Page * page; // On initialise chacune des nouvelles pages @@ -493,26 +493,26 @@ int Allocate_list_of_pages(T_List_of_pages * list) if (!page->Gradients) return 0; - return 1; // Succès + return 1; // Succès } void Backward_in_list_of_pages(T_List_of_pages * list) { - // Cette fonction fait l'équivalent d'un "Undo" dans la liste de pages. + // Cette fonction fait l'équivalent d'un "Undo" dans la liste de pages. // Elle effectue une sorte de ROL (Rotation Left) sur la liste: // +---+-+-+-+-+-+-+-+-+-+ | - // ¦0¦1¦2¦3¦4¦5¦6¦7¦8¦9¦A¦ | + // ¦0¦1¦2¦3¦4¦5¦6¦7¦8¦9¦A¦ | // +---+-+-+-+-+-+-+-+-+-+ | 0=page courante - // ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ |_ A=page la plus ancienne - // v v v v v v v v v v v | 1=DerniÞre page (1er backup) + // ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ |_ A=page la plus ancienne + // v v v v v v v v v v v | 1=DerniÞre page (1er backup) // +---+-+-+-+-+-+-+-+-+-+ | - // ¦1¦2¦3¦4¦5¦6¦7¦8¦9¦A¦0¦ | + // ¦1¦2¦3¦4¦5¦6¦7¦8¦9¦A¦0¦ | // +---+-+-+-+-+-+-+-+-+-+ | - // Pour simuler un véritable Undo, l'appelant doit mettre la structure - // de page courante à jour avant l'appel, puis en réextraire les infos en - // sortie, ainsi que celles relatives à la plus récente page d'undo (1ère + // Pour simuler un véritable Undo, l'appelant doit mettre la structure + // de page courante à jour avant l'appel, puis en réextraire les infos en + // sortie, ainsi que celles relatives à la plus récente page d'undo (1ère // page de la liste). if (Last_backed_up_layers) @@ -539,20 +539,20 @@ void Backward_in_list_of_pages(T_List_of_pages * list) void Advance_in_list_of_pages(T_List_of_pages * list) { - // Cette fonction fait l'équivalent d'un "Redo" dans la liste de pages. + // Cette fonction fait l'équivalent d'un "Redo" dans la liste de pages. // Elle effectue une sorte de ROR (Rotation Right) sur la liste: // +-+-+-+-+-+-+-+-+-+-+-+ | // |0|1|2|3|4|5|6|7|8|9|A| | // +-+-+-+-+-+-+-+-+-+-+-+ | 0=page courante // | | | | | | | | | | | |_ A=page la plus ancienne - // v v v v v v v v v v v | 1=Dernière page (1er backup) + // v v v v v v v v v v v | 1=Dernière page (1er backup) // +-+-+-+-+-+-+-+-+-+-+-+ | // |A|0|1|2|3|4|5|6|7|8|9| | // +-+-+-+-+-+-+-+-+-+-+-+ | - // Pour simuler un véritable Redo, l'appelant doit mettre la structure - // de page courante à jour avant l'appel, puis en réextraire les infos en - // sortie, ainsi que celles relatives à la plus récente page d'undo (1ère + // Pour simuler un véritable Redo, l'appelant doit mettre la structure + // de page courante à jour avant l'appel, puis en réextraire les infos en + // sortie, ainsi que celles relatives à la plus récente page d'undo (1ère // page de la liste). if (Last_backed_up_layers) { @@ -651,15 +651,15 @@ void Change_page_number_of_list(T_List_of_pages * list,int number) void Free_page_of_a_list(T_List_of_pages * list) { - // On ne peut pas détruire la page courante de la liste si après + // On ne peut pas détruire la page courante de la liste si après // destruction il ne reste pas encore au moins une page. if (list->List_size>1) { - // On fait faire un undo à la liste, comme ça, la nouvelle page courante - // est la page précédente + // On fait faire un undo à la liste, comme ça, la nouvelle page courante + // est la page précédente Backward_in_list_of_pages(Main.backups); - // Puis on détruit la dernière page, qui est l'ancienne page courante + // Puis on détruit la dernière page, qui est l'ancienne page courante Free_last_page_of_list(list); } } @@ -758,18 +758,18 @@ int Update_spare_buffers(int width, int height) int Init_all_backup_lists(enum IMAGE_MODES image_mode, int width, int height) { - // width et height correspondent à la dimension des images de départ. + // width et height correspondent à la dimension des images de départ. int i; if (! Allocate_list_of_pages(Main.backups) || ! Allocate_list_of_pages(Spare.backups)) return 0; - // On a réussi à allouer deux listes de pages dont la taille correspond à - // celle demandée par l'utilisateur. + // On a réussi à allouer deux listes de pages dont la taille correspond à + // celle demandée par l'utilisateur. - // On crée un descripteur de page correspondant à la page principale + // On crée un descripteur de page correspondant à la page principale Upload_infos_page(&Main); - // On y met les infos sur la dimension de démarrage + // On y met les infos sur la dimension de démarrage Main.backups->Pages->Width=width; Main.backups->Pages->Height=height; strcpy(Main.backups->Pages->File_directory,Main.selector.Directory); @@ -849,7 +849,7 @@ void Set_number_of_backups(int nb_backups) Change_page_number_of_list(Main.backups,nb_backups+1); Change_page_number_of_list(Spare.backups,nb_backups+1); - // Le +1 vient du fait que dans chaque liste, en 1ère position on retrouve + // Le +1 vient du fait que dans chaque liste, en 1ère position on retrouve // les infos de la page courante sur le brouillon et la page principale. // (nb_backups = Nombre de backups, sans compter les pages courantes) } @@ -859,7 +859,7 @@ int Backup_new_image(int layers,int width,int height) // Retourne 1 si une nouvelle page est disponible et 0 sinon T_Page * new_page; - // On crée un descripteur pour la nouvelle page courante + // On crée un descripteur pour la nouvelle page courante new_page=New_page(layers); if (!new_page) { @@ -893,7 +893,7 @@ int Backup_with_new_dimensions(int width,int height) T_Page * new_page; int i; - // On crée un descripteur pour la nouvelle page courante + // On crée un descripteur pour la nouvelle page courante new_page=New_page(Main.backups->Pages->Nb_layers); if (!new_page) { @@ -1039,7 +1039,7 @@ int Backup_and_resize_the_spare(int width,int height) int nb_layers; nb_layers=Spare.backups->Pages->Nb_layers; - // On crée un descripteur pour la nouvelle page de brouillon + // On crée un descripteur pour la nouvelle page de brouillon new_page=New_page(nb_layers); if (!new_page) { @@ -1075,8 +1075,8 @@ int Backup_and_resize_the_spare(int width,int height) } void Backup(void) -// Sauve la page courante comme première page de backup et crée une nouvelle page -// pur continuer à dessiner. Utilisé par exemple pour le fill +// Sauve la page courante comme première page de backup et crée une nouvelle page +// pur continuer à dessiner. Utilisé par exemple pour le fill { Backup_layers(Main.current_layer); } @@ -1091,7 +1091,7 @@ void Backup_layers(int layer) return; // Already done. */ - // On remet à jour l'état des infos de la page courante (pour pouvoir les + // On remet à jour l'état des infos de la page courante (pour pouvoir les // retrouver plus tard) Upload_infos_page(&Main); @@ -1204,20 +1204,20 @@ void Undo(void) Last_backed_up_layers=0; } - // On remet à jour l'état des infos de la page courante (pour pouvoir les + // On remet à jour l'état des infos de la page courante (pour pouvoir les // retrouver plus tard) Upload_infos_page(&Main); - // On fait faire un undo à la liste des backups de la page principale + // On fait faire un undo à la liste des backups de la page principale Backward_in_list_of_pages(Main.backups); Update_buffers(Main.backups->Pages->Width, Main.backups->Pages->Height); // On extrait ensuite les infos sur la nouvelle page courante Download_infos_page_main(Main.backups->Pages); - // Note: le backup n'a pas obligatoirement les mêmes dimensions ni la même + // Note: le backup n'a pas obligatoirement les mêmes dimensions ni la même // palette que la page courante. Mais en temps normal, le backup - // n'est pas utilisé à la suite d'un Undo. Donc ça ne devrait pas - // poser de problèmes. + // n'est pas utilisé à la suite d'un Undo. Donc ça ne devrait pas + // poser de problèmes. Check_layers_limits(); Redraw_layered_image(); @@ -1237,20 +1237,20 @@ void Redo(void) Free_page_of_a_list(Main.backups); Last_backed_up_layers=0; } - // On remet à jour l'état des infos de la page courante (pour pouvoir les + // On remet à jour l'état des infos de la page courante (pour pouvoir les // retrouver plus tard) Upload_infos_page(&Main); - // On fait faire un redo à la liste des backups de la page principale + // On fait faire un redo à la liste des backups de la page principale Advance_in_list_of_pages(Main.backups); Update_buffers(Main.backups->Pages->Width, Main.backups->Pages->Height); // On extrait ensuite les infos sur la nouvelle page courante Download_infos_page_main(Main.backups->Pages); - // Note: le backup n'a pas obligatoirement les mêmes dimensions ni la même + // Note: le backup n'a pas obligatoirement les mêmes dimensions ni la même // palette que la page courante. Mais en temps normal, le backup - // n'est pas utilisé à la suite d'un Redo. Donc ça ne devrait pas - // poser de problèmes. + // n'est pas utilisé à la suite d'un Redo. Donc ça ne devrait pas + // poser de problèmes. Check_layers_limits(); Redraw_layered_image(); @@ -1262,15 +1262,15 @@ void Redo(void) void Free_current_page(void) { - // On détruit la page courante de la liste principale + // On détruit la page courante de la liste principale Free_page_of_a_list(Main.backups); // On extrait ensuite les infos sur la nouvelle page courante Download_infos_page_main(Main.backups->Pages); - // Note: le backup n'a pas obligatoirement les mêmes dimensions ni la même + // Note: le backup n'a pas obligatoirement les mêmes dimensions ni la même // palette que la page courante. Mais en temps normal, le backup - // n'est pas utilisé à la suite d'une destruction de page. Donc ça ne - // devrait pas poser de problèmes. + // n'est pas utilisé à la suite d'une destruction de page. Donc ça ne + // devrait pas poser de problèmes. Update_buffers(Main.backups->Pages->Width, Main.backups->Pages->Height); Check_layers_limits(); diff --git a/src/pages.h b/src/pages.h index 3161a02b..7f3978b5 100644 --- a/src/pages.h +++ b/src/pages.h @@ -2,7 +2,7 @@ */ /* Grafx2 - The Ultimate 256-color bitmap paint program - Copyright 2011 Pawel Góralski + Copyright 2011 Pawel Góralski Copyright 2007 Adrien Destugues Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud) diff --git a/src/palette.c b/src/palette.c index c45b11f2..6c003742 100644 --- a/src/palette.c +++ b/src/palette.c @@ -57,9 +57,9 @@ int RGB_scale = 256; // 24bit // Nombre de graduations pour une composante dans le mode actuel int Color_count=256; -// Les composantes vont de 0 à (Color_count-1) +// Les composantes vont de 0 à (Color_count-1) int Color_max=255; -// Le demi-pas est une quantité que l'on ajoute à une composante +// Le demi-pas est une quantité que l'on ajoute à une composante // avant de faire un arrondi par division. int Color_halfstep=0; @@ -134,7 +134,7 @@ static int Add_encoded(int comp, int offset) } -// Définir les unités pour les graduations R G B ou H S V +// Définir les unités pour les graduations R G B ou H S V void Component_unit(int count) { Color_count = count; @@ -200,7 +200,7 @@ void Set_blue(byte color, short new_color, T_Palette palette) } void Format_component(byte value, char *str) -// Formate une chaine de 4 caractères+\0 : "nnn " +// Formate une chaine de 4 caractères+\0 : "nnn " { Num2str(value,str,3); str[3]=' '; @@ -208,8 +208,8 @@ void Format_component(byte value, char *str) } void Spread_colors(short start,short end,T_Palette palette) -// Modifie la palette pour obtenir un dégradé de couleur entre les deux bornes -// passées en paramètre +// Modifie la palette pour obtenir un dégradé de couleur entre les deux bornes +// passées en paramètre { short start_red; short start_green; @@ -219,8 +219,8 @@ void Spread_colors(short start,short end,T_Palette palette) short end_blue; short index; - // On vérifie qu'il y ait assez de couleurs entre le début et la fin pour - // pouvoir faire un dégradé: + // On vérifie qu'il y ait assez de couleurs entre le début et la fin pour + // pouvoir faire un dégradé: if ( (start!=end) && (start+1!=end) ) { start_red = Encode_component(palette[start].R); @@ -358,7 +358,7 @@ void Remap_image_highlevel(byte * conversion_table) Main.backups->Pages->Transparent_color = conversion_table[Main.backups->Pages->Transparent_color]; - // On calcule les limites à l'écran de l'image + // On calcule les limites à l'écran de l'image if (Main.image_height>=Menu_Y_before_window) end_y=Menu_Y_before_window; else @@ -390,19 +390,19 @@ void Remap_image_highlevel(byte * conversion_table) end_y_mag=Main.image_height*Main.magnifier_factor; } - // On doit maintenant faire la traduction à l'écran + // On doit maintenant faire la traduction à l'écran Remap_zone_highlevel(0,0,end_x,end_y,conversion_table); if (Main.magnifier_mode) { Remap_zone_highlevel(Main.separator_position,0,end_x_mag,end_y_mag,conversion_table); - // Il peut encore rester le bas de la barre de split à remapper si la - // partie zoomée ne descend pas jusqu'en bas... + // Il peut encore rester le bas de la barre de split à remapper si la + // partie zoomée ne descend pas jusqu'en bas... Remap_zone_highlevel(Main.separator_position,end_y_mag, (Main.separator_position+(SEPARATOR_WIDTH*Menu_factor_X)), Menu_Y_before_window,conversion_table); } - // Remappe tous les fonds de fenetre (qui doivent contenir un bout d'écran) + // Remappe tous les fonds de fenetre (qui doivent contenir un bout d'écran) Remap_window_backgrounds(conversion_table, 0, Menu_Y_before_window); } @@ -424,12 +424,12 @@ void Swap(int with_remap,short block_1_start,short block_2_start,short block_siz // On fait une copie de la table d'used des couleurs memcpy(temp_usage, color_usage, sizeof(dword) * 256); - // On commence à initialiser la table de conversion à un état où elle ne + // On commence à initialiser la table de conversion à un état où elle ne // fera aucune conversion. for (pos_1=0;pos_1<=255;pos_1++) conversion_table[pos_1]=pos_1; - // On calcul les dernières couleurs de chaque bloc. + // On calcul les dernières couleurs de chaque bloc. end_1=block_1_start+block_size-1; end_2=block_2_start+block_size-1; @@ -447,7 +447,7 @@ void Swap(int with_remap,short block_1_start,short block_2_start,short block_siz palette[pos_1].G=temp_palette[pos_2].G; palette[pos_1].B=temp_palette[pos_2].B; - // On gère la mise à jour de pos_2 + // On gère la mise à jour de pos_2 if (pos_2==end_2) pos_2=block_1_start; else @@ -457,7 +457,7 @@ void Swap(int with_remap,short block_1_start,short block_2_start,short block_siz else if ((block_2_start=block_1_start)) { - // Le bloc destination déborde dans le bloc source. + // Le bloc destination déborde dans le bloc source. for (pos_1=block_2_start,pos_2=block_1_start;pos_1<=end_1;pos_1++) { @@ -469,7 +469,7 @@ void Swap(int with_remap,short block_1_start,short block_2_start,short block_siz palette[pos_1].G=temp_palette[pos_2].G; palette[pos_1].B=temp_palette[pos_2].B; - // On gère la mise à jour de pos_2 + // On gère la mise à jour de pos_2 if (pos_2==end_1) pos_2=block_2_start; else @@ -487,7 +487,7 @@ void Swap(int with_remap,short block_1_start,short block_2_start,short block_siz conversion_table[pos_2]=pos_1; // On intervertit le nombre d'used des couleurs pour garder une - // cohérence lors d'un éventuel "Zap unused". + // cohérence lors d'un éventuel "Zap unused". SWAP_DWORDS(color_usage[pos_1], color_usage[pos_2]) // On fait un changement de teinte: @@ -522,7 +522,7 @@ void Set_nice_menu_colors(dword * color_usage,int not_picture) for (index=0; index<256; index++) replace_table[index]=index; - // On recherche les 4 couleurs les moins utilisées dans l'image pour pouvoir + // On recherche les 4 couleurs les moins utilisées dans l'image pour pouvoir // les remplacer par les nouvelles couleurs. for (index2=0; index2<4; index2++) for (index=255; index>=0; index--) @@ -533,11 +533,11 @@ void Set_nice_menu_colors(dword * color_usage,int not_picture) new_colors[index2]=index; } - // On trie maintenant la table dans le sens décroissant. - // (Ce n'est pas indispensable, mais ça fera plus joli dans la palette). + // On trie maintenant la table dans le sens décroissant. + // (Ce n'est pas indispensable, mais ça fera plus joli dans la palette). do { - color=0; // Booléen qui dit si le tri n'est pas terminé. + color=0; // Booléen qui dit si le tri n'est pas terminé. for (index=0; index<3; index++) { if (new_colors[index]>new_colors[index+1]) @@ -551,7 +551,7 @@ void Set_nice_menu_colors(dword * color_usage,int not_picture) } while (color); // On sauvegarde dans rgb les teintes qu'on va remplacer et on met les - // couleurs du menu par défaut + // couleurs du menu par défaut for (index=0; index<4; index++) { const T_Components * target_rgb; @@ -566,7 +566,7 @@ void Set_nice_menu_colors(dword * color_usage,int not_picture) Main.palette[color].B=Round_palette_component(target_rgb->B); } - // Maintenant qu'on a placé notre nouvelle palette, on va chercher quelles + // Maintenant qu'on a placé notre nouvelle palette, on va chercher quelles // sont les couleurs qui peuvent remplacer les anciennes Hide_cursor(); for (index=0; index<4; index++) @@ -580,7 +580,7 @@ void Set_nice_menu_colors(dword * color_usage,int not_picture) } else { - // On fait un changement des couleurs visibles à l'écran et dans l'image + // On fait un changement des couleurs visibles à l'écran et dans l'image Remap_image_highlevel(replace_table); } Display_cursor(); @@ -600,20 +600,20 @@ void Reduce_palette(short * used_colors,int nb_colors_asked,T_Palette palette,dw dword used; dword best_used; - // On commence par initialiser la table de conversion dans un état où - // aucune conversion ne sera effectuée. + // On commence par initialiser la table de conversion dans un état où + // aucune conversion ne sera effectuée. for (color_1=0; color_1<=255; color_1++) conversion_table[color_1]=color_1; - // Si on ne connait pas encore le nombre de couleurs utilisées, on le - // calcule! (!!! La fonction appelée Efface puis Affiche le curseur !!!) + // Si on ne connait pas encore le nombre de couleurs utilisées, on le + // calcule! (!!! La fonction appelée Efface puis Affiche le curseur !!!) if ((*used_colors)<0) Update_color_count(used_colors,color_usage); Hide_cursor(); - // On tasse la palette vers le début parce qu'elle doit ressembler à - // du Gruyère (et comme Papouille il aime pas le fromage...) + // On tasse la palette vers le début parce qu'elle doit ressembler à + // du Gruyère (et comme Papouille il aime pas le fromage...) // Pour cela, on va scruter la couleur color_1 et se servir de l'indice // color_2 comme position de destination. @@ -626,19 +626,19 @@ void Reduce_palette(short * used_colors,int nb_colors_asked,T_Palette palette,dw palette[color_2].G=palette[color_1].G; palette[color_2].B=palette[color_1].B; - // Ensuite, on met à jour le tableau d'occupation des couleurs. + // Ensuite, on met à jour le tableau d'occupation des couleurs. color_usage[color_2]=color_usage[color_1]; // On va maintenant s'occuper de la table de conversion: conversion_table[color_1]=color_2; - // Maintenant, la place désignée par color_2 est occupée, alors on - // doit passer à un indice de destination suivant. + // Maintenant, la place désignée par color_2 est occupée, alors on + // doit passer à un indice de destination suivant. color_2++; } } - // On met toutes les couleurs inutilisées en noir + // On met toutes les couleurs inutilisées en noir for (;color_2<256;color_2++) { palette[color_2].R=0; @@ -647,14 +647,14 @@ void Reduce_palette(short * used_colors,int nb_colors_asked,T_Palette palette,dw color_usage[color_2]=0; } - // Maintenant qu'on a une palette clean, on va boucler en réduisant - // le nombre de couleurs jusqu'à ce qu'on atteigne le nombre désiré. + // Maintenant qu'on a une palette clean, on va boucler en réduisant + // le nombre de couleurs jusqu'à ce qu'on atteigne le nombre désiré. // (The stop condition is further down) while (1) { // Il s'agit de trouver les 2 couleurs qui se ressemblent le plus - // parmis celles qui sont utilisées (bien sûr) et de les remplacer par - // une seule couleur qui est la moyenne pondérée de ces 2 couleurs + // parmis celles qui sont utilisées (bien sûr) et de les remplacer par + // une seule couleur qui est la moyenne pondérée de ces 2 couleurs // en fonction de leur utilisation dans l'image. best_difference =26*255*26*255+55*255*255+19*255*19*255; @@ -690,14 +690,14 @@ void Reduce_palette(short * used_colors,int nb_colors_asked,T_Palette palette,dw if (best_difference!=0 && (*used_colors)<=nb_colors_asked) break; - // Maintenant qu'on les a trouvées, on va pouvoir mettre à jour nos - // données pour que le remplacement se fasse sans encombres. + // Maintenant qu'on les a trouvées, on va pouvoir mettre à jour nos + // données pour que le remplacement se fasse sans encombres. // En somme, on va remplacer best_color_2 par best_color_1, // mais attention, on ne remplace pas best_color_1 par // best_color_2 ! - // On met à jour la palette. + // On met à jour la palette. palette[best_color_1].R=Round_div((color_usage[best_color_1]*palette[best_color_1].R)+ (color_usage[best_color_2]*palette[best_color_2].R), best_used); @@ -708,78 +708,78 @@ void Reduce_palette(short * used_colors,int nb_colors_asked,T_Palette palette,dw (color_usage[best_color_2]*palette[best_color_2].B), best_used); - // On met à jour la table d'utilisation. + // On met à jour la table d'utilisation. color_usage[best_color_1]+=color_usage[best_color_2]; color_usage[best_color_2]=0; - // On met à jour la table de conversion. + // On met à jour la table de conversion. for (color_1=0;color_1<=255;color_1++) { if (conversion_table[color_1]==best_color_2) { - // La color_1 avait déjà prévue de se faire remplacer par la - // couleur que l'on veut maintenant éliminer. On va maintenant - // demander à ce que la color_1 se fasse remplacer par la + // La color_1 avait déjà prévue de se faire remplacer par la + // couleur que l'on veut maintenant éliminer. On va maintenant + // demander à ce que la color_1 se fasse remplacer par la // best_color_1. conversion_table[color_1]=best_color_1; } } // Bon, maintenant que l'on a fait bouger nos petites choses concernants - // la couleur à éliminer, on va s'occuper de faire bouger les couleurs - // situées après la couleur à éliminer pour qu'elles se déplaçent d'une - // couleur en arrière. + // la couleur à éliminer, on va s'occuper de faire bouger les couleurs + // situées après la couleur à éliminer pour qu'elles se déplaçent d'une + // couleur en arrière. for (color_1=0;color_1<=255;color_1++) { - // Commençons par nous occuper des tables d'utilisation et de la + // Commençons par nous occuper des tables d'utilisation et de la // palette. if (color_1>best_color_2) { - // La color_1 va scroller en arrière. + // La color_1 va scroller en arrière. - // Donc on transfère son utilisation dans l'utilisation de la - // couleur qui la précède. + // Donc on transfère son utilisation dans l'utilisation de la + // couleur qui la précède. color_usage[color_1-1]=color_usage[color_1]; - // Et on transfère ses teintes dans les teintes de la couleur qui - // la précède. + // Et on transfère ses teintes dans les teintes de la couleur qui + // la précède. palette[color_1-1].R=palette[color_1].R; palette[color_1-1].G=palette[color_1].G; palette[color_1-1].B=palette[color_1].B; } - // Une fois la palette et la table d'utilisation gérées, on peut + // Une fois la palette et la table d'utilisation gérées, on peut // s'occuper de notre table de conversion. if (conversion_table[color_1]>best_color_2) // La color_1 avait l'intention de se faire remplacer par une - // couleur que l'on va (ou que l'on a déjà) bouger en arrière. + // couleur que l'on va (ou que l'on a déjà) bouger en arrière. conversion_table[color_1]--; } - // On vient d'éjecter une couleur, donc on peut mettre à jour le nombre - // de couleurs utilisées. + // On vient d'éjecter une couleur, donc on peut mettre à jour le nombre + // de couleurs utilisées. (*used_colors)--; // A la fin, on doit passer (dans la palette) les teintes du dernier - // élément de notre ensemble en noir. + // élément de notre ensemble en noir. palette[*used_colors].R=0; palette[*used_colors].G=0; palette[*used_colors].B=0; - // Au passage, on va s'assurer que l'on a pas oublié de la mettre à une + // Au passage, on va s'assurer que l'on a pas oublié de la mettre à une // utilisation nulle. color_usage[*used_colors]=0; - // Après avoir éjecté une couleur, on le fait savoir à l'utilisateur par - // l'intermédiaire du compteur de nombre utilisées. + // Après avoir éjecté une couleur, on le fait savoir à l'utilisateur par + // l'intermédiaire du compteur de nombre utilisées. Num2str(*used_colors,str,3); Print_in_window(COUNT_X,COUNT_Y,str,MC_Black,MC_Light); } - // Maintenant, tous ces calculs doivent êtres pris en compte dans la - // palette, l'image et à l'écran. - Remap_image_highlevel(conversion_table); // Et voila pour l'image et l'écran + // Maintenant, tous ces calculs doivent êtres pris en compte dans la + // palette, l'image et à l'écran. + Remap_image_highlevel(conversion_table); // Et voila pour l'image et l'écran Display_cursor(); } @@ -849,10 +849,10 @@ void Draw_all_palette_sliders(T_Scroller_button * red_slider, char str[5]; Hide_cursor(); - // Réaffichage des jauges: + // Réaffichage des jauges: if (start!=end) { - // Dans le cas d'un bloc, tout à 0. + // Dans le cas d'un bloc, tout à 0. red_slider->Position =Color_max; Window_draw_slider(red_slider); Print_counter(NUMERIC_R_X,NUMERIC_Y,"\xb1 0",MC_Black,MC_Light); @@ -1100,9 +1100,9 @@ void Button_Palette(int btn) static short reduce_colors_number = 256; - short temp_color; // Variable pouvant reservir pour différents calculs intermédiaires + short temp_color; // Variable pouvant reservir pour différents calculs intermédiaires dword temp; - byte color,click; // Variables pouvant reservir pour différents calculs intermédiaires + byte color,click; // Variables pouvant reservir pour différents calculs intermédiaires short clicked_button; word old_mouse_x; word old_mouse_y; @@ -1251,7 +1251,7 @@ void Button_Palette(int btn) Window_set_normal_button( 44,178,35,14,"Load" ,1,1,SDLK_l); // 26 Window_set_normal_button( 83,178,35,14,"Save" ,1,1,SDLK_s); // 27 - // Dessin des petits effets spéciaux pour les boutons [+] et [-] + // Dessin des petits effets spéciaux pour les boutons [+] et [-] Draw_thingumajig(BUTTON_PLUS_X-5, BUTTON_PLUS_Y,MC_White,-1); Draw_thingumajig(BUTTON_MINUS_X+16,BUTTON_MINUS_Y,MC_Dark,+1); @@ -1274,7 +1274,7 @@ void Button_Palette(int btn) { case 0 : // Nulle part break; - case -1 : // Hors de la fenêtre + case -1 : // Hors de la fenêtre case 1 : // palette if ( (Mouse_X!=old_mouse_x) || (Mouse_Y!=old_mouse_y) || (Mouse_K!=old_mouse_k) ) { @@ -1370,13 +1370,13 @@ void Button_Palette(int btn) if ( (Fore_color!=temp_color) || (block_start!=block_end) ) { // La couleur en question est nouvelle ou elle annule un - // ancien bloc. Il faut donc sélectionner cette couleur comme + // ancien bloc. Il faut donc sélectionner cette couleur comme // unique couleur choisie. Fore_color=first_color=last_color=block_start=block_end=temp_color; Tag_color_range(block_start,block_end); - // Affichage du n° de la couleur sélectionnée + // Affichage du n° de la couleur sélectionnée Window_rectangle(COLOR_X,COLOR_Y,56,7,MC_Light); Num2str(Fore_color,str,3); Print_in_window(COLOR_X,COLOR_Y,str,MC_Black,MC_Light); @@ -1398,22 +1398,22 @@ void Button_Palette(int btn) // On maintient le click, on va donc tester si le curseur bouge if (temp_color!=last_color) { - // On commence par ordonner la 1ère et dernière couleur du bloc + // On commence par ordonner la 1ère et dernière couleur du bloc if (first_colortemp_color) @@ -1421,16 +1421,16 @@ void Button_Palette(int btn) block_start=temp_color; block_end=first_color; - // Affichage du n° de la couleur sélectionnée + // Affichage du n° de la couleur sélectionnée Num2str(block_start,str ,3); Num2str(block_end ,str+4,3); - str[3]=26; // Flèche vers la droite + str[3]=26; // Flèche vers la droite Print_in_window(COLOR_X,COLOR_Y,str,MC_Black,MC_Light); // Affichage des jauges Display_sliders(red_slider,green_slider,blue_slider,1,NULL); - // Affichage dans le block de visu du bloc (dégradé) en cours + // Affichage dans le block de visu du bloc (dégradé) en cours Display_grad_block_in_window(FGCOLOR_DISPLAY_X,FGCOLOR_DISPLAY_Y,FGCOLOR_DISPLAY_W,FGCOLOR_DISPLAY_H,block_start,block_end); } else @@ -1438,7 +1438,7 @@ void Button_Palette(int btn) block_start=block_end=first_color; Window_rectangle(NUMERIC_R_X,NUMERIC_Y,72,7,MC_Light); - // Affichage du n° de la couleur sélectionnée + // Affichage du n° de la couleur sélectionnée Window_rectangle(COLOR_X+24,COLOR_Y,32,7,MC_Light); Update_window_area(COLOR_X+24,COLOR_Y,32,7); Num2str(Fore_color,str,3); @@ -1520,7 +1520,7 @@ void Button_Palette(int btn) if (red_slider->Position>Color_max) { - // Jauge dans les négatifs: + // Jauge dans les négatifs: Num2str(-(Color_max-red_slider->Position),str,4); str[0]='-'; } @@ -1601,7 +1601,7 @@ void Button_Palette(int btn) if (green_slider->Position>Color_max) { - // Jauge dans les négatifs: + // Jauge dans les négatifs: Num2str(-(Color_max-green_slider->Position),str,4); str[0]='-'; } @@ -1682,7 +1682,7 @@ void Button_Palette(int btn) if (blue_slider->Position>Color_max) { - // Jauge dans les négatifs: + // Jauge dans les négatifs: Num2str(-(Color_max-blue_slider->Position),str,4); str[0]='-'; } @@ -1778,7 +1778,7 @@ void Button_Palette(int btn) } } Draw_all_palette_sliders(red_slider,green_slider,blue_slider,working_palette,block_start,block_end); - // On prépare la "modifiabilité" des nouvelles couleurs + // On prépare la "modifiabilité" des nouvelles couleurs Set_palette(working_palette); memcpy(temp_palette,working_palette,sizeof(T_Palette)); need_to_remap=1; @@ -1797,7 +1797,7 @@ void Button_Palette(int btn) Set_blue (i,temp_color,working_palette); } Draw_all_palette_sliders(red_slider,green_slider,blue_slider,working_palette,block_start,block_end); - // On prépare la "modifiabilité" des nouvelles couleurs + // On prépare la "modifiabilité" des nouvelles couleurs Set_palette(working_palette); memcpy(temp_palette,working_palette,sizeof(T_Palette)); @@ -1814,7 +1814,7 @@ void Button_Palette(int btn) Palette_edit_step(); // On calcule le nombre de couleurs a swapper sans risquer de sortir - // de la palette (La var. first_color est utilisée pour économiser 1 var; c'est tout) + // de la palette (La var. first_color est utilisée pour économiser 1 var; c'est tout) first_color=(temp_color+block_end-block_start<=255)?block_end+1-block_start:256-temp_color; if (clicked_button==8) // On ne fait de backup de l'image que si on @@ -1829,17 +1829,17 @@ void Button_Palette(int btn) memcpy(temp_palette,working_palette,sizeof(T_Palette)); - // On déplace le bloc vers les modifs: + // On déplace le bloc vers les modifs: last_color=block_end=temp_color+first_color-1; Fore_color=first_color=block_start=temp_color; - // On raffiche le n° des bornes du bloc: + // On raffiche le n° des bornes du bloc: if (block_start!=block_end) { // Cas d'un bloc multi-couleur Num2str(block_start,str ,3); Num2str(block_end ,str+4,3); - str[3]=26; // Flèche vers la droite - // Affichage dans le block de visu du bloc (dégradé) en cours + str[3]=26; // Flèche vers la droite + // Affichage dans le block de visu du bloc (dégradé) en cours Display_grad_block_in_window(FGCOLOR_DISPLAY_X,FGCOLOR_DISPLAY_Y,FGCOLOR_DISPLAY_W,FGCOLOR_DISPLAY_H,block_start,block_end); } else @@ -1884,17 +1884,17 @@ void Button_Palette(int btn) ((temp_color+block_end-block_start<=255)?block_end+1-block_start:256-temp_color)*3); memcpy(temp_palette,working_palette,sizeof(T_Palette)); Set_palette(working_palette); - // On déplace le bloc vers les modifs: + // On déplace le bloc vers les modifs: last_color=block_end=((temp_color+block_end-block_start<=255)?(temp_color+block_end-block_start):255); Fore_color=first_color=block_start=temp_color; - // On raffiche le n° des bornes du bloc: + // On raffiche le n° des bornes du bloc: if (block_start!=block_end) { // Cas d'un bloc multi-couleur Num2str(block_start,str ,3); Num2str(block_end ,str+4,3); - str[3]=26; // Flèche vers la droite - // Affichage dans le block de visu du bloc (dégradé) en cours + str[3]=26; // Flèche vers la droite + // Affichage dans le block de visu du bloc (dégradé) en cours Display_grad_block_in_window(FGCOLOR_DISPLAY_X,FGCOLOR_DISPLAY_Y,FGCOLOR_DISPLAY_W,FGCOLOR_DISPLAY_H,block_start,block_end); } else @@ -1938,7 +1938,7 @@ void Button_Palette(int btn) } Draw_all_palette_sliders(red_slider,green_slider,blue_slider,working_palette,block_start,block_end); - // On prépare la "modifiabilité" des nouvelles couleurs + // On prépare la "modifiabilité" des nouvelles couleurs Set_palette(working_palette); @@ -1985,7 +1985,7 @@ void Button_Palette(int btn) memcpy(Main.palette, temp_palette, sizeof(T_Palette)); } - Set_palette(working_palette); // On définit la nouvelle palette + Set_palette(working_palette); // On définit la nouvelle palette Draw_all_palette_sliders(red_slider, green_slider, blue_slider, working_palette, block_start, block_end); memcpy(temp_palette, working_palette, sizeof(T_Palette)); @@ -2098,7 +2098,7 @@ void Button_Palette(int btn) // -- red -- if (red_slider->Position>Color_max) { - // Jauge dans les négatifs: + // Jauge dans les négatifs: Num2str(-(Color_max-red_slider->Position),str,4); str[0]='-'; } @@ -2119,7 +2119,7 @@ void Button_Palette(int btn) // -- green -- if (green_slider->Position>Color_max) { - // Jauge dans les négatifs: + // Jauge dans les négatifs: Num2str(-(Color_max-green_slider->Position),str,4); str[0]='-'; } @@ -2140,7 +2140,7 @@ void Button_Palette(int btn) // -- blue -- if (blue_slider->Position>Color_max) { - // Jauge dans les négatifs: + // Jauge dans les négatifs: Num2str(-(Color_max-blue_slider->Position),str,4); str[0]='-'; } @@ -2224,7 +2224,7 @@ void Button_Palette(int btn) // -- red -- if (red_slider->Position>Color_max) { - // Jauge dans les négatifs: + // Jauge dans les négatifs: Num2str(-(Color_max-red_slider->Position),str,4); str[0]='-'; } @@ -2245,7 +2245,7 @@ void Button_Palette(int btn) // -- green -- if (green_slider->Position>Color_max) { - // Jauge dans les négatifs: + // Jauge dans les négatifs: Num2str(-(Color_max-green_slider->Position),str,4); str[0]='-'; } @@ -2266,7 +2266,7 @@ void Button_Palette(int btn) // -- blue -- if (blue_slider->Position>Color_max) { - // Jauge dans les négatifs: + // Jauge dans les négatifs: Num2str(-(Color_max-blue_slider->Position),str,4); str[0]='-'; } @@ -2302,7 +2302,7 @@ void Button_Palette(int btn) } Draw_all_palette_sliders(red_slider,green_slider,blue_slider,working_palette,block_start,block_end); Set_palette(working_palette); - // On prépare la "modifiabilité" des nouvelles couleurs + // On prépare la "modifiabilité" des nouvelles couleurs memcpy(temp_palette,working_palette,sizeof(T_Palette)); need_to_remap=1; @@ -2352,7 +2352,7 @@ void Button_Palette(int btn) End_of_modification(); Palette_edit_step(); // Disable Undo } - // On prépare la "modifiabilité" des nouvelles couleurs + // On prépare la "modifiabilité" des nouvelles couleurs Set_palette(working_palette); memcpy(temp_palette,working_palette,sizeof(T_Palette)); @@ -2398,7 +2398,7 @@ void Button_Palette(int btn) case 23 : // Sort palette { byte h = 0, l = 0, s=0; - byte oh=0,ol=0,os=0; // Valeur pour la couleur précédente + byte oh=0,ol=0,os=0; // Valeur pour la couleur précédente int swap=1; byte remap_table[256]; byte inverted_table[256]; @@ -2515,8 +2515,8 @@ void Button_Palette(int btn) for (i=0;i<256;i++) inverted_table[remap_table[i]]=i; Remap_image_highlevel(inverted_table); - // Maintenant, tous ces calculs doivent êtres pris en compte dans la - // palette, l'image et à l'écran. + // Maintenant, tous ces calculs doivent êtres pris en compte dans la + // palette, l'image et à l'écran. Set_palette(working_palette); Palette_edit_step(); // Disable Undo @@ -2565,7 +2565,7 @@ void Button_Palette(int btn) Set_green (i,new_green,working_palette); Set_blue (i,new_blue,working_palette); } - // On prépare la "modifiabilité" des nouvelles couleurs + // On prépare la "modifiabilité" des nouvelles couleurs Set_palette(working_palette); memcpy(temp_palette,working_palette,sizeof(T_Palette)); need_to_remap=1; @@ -2590,7 +2590,7 @@ void Button_Palette(int btn) Fore_color=first_color=last_color=block_start=block_end=selected_col; Tag_color_range(block_start,block_end); - // Affichage du n° de la couleur sélectionnée + // Affichage du n° de la couleur sélectionnée Window_rectangle(COLOR_X,COLOR_Y,56,7,MC_Light); Num2str(Fore_color,str,3); Print_in_window(COLOR_X,COLOR_Y,str,MC_Black,MC_Light); @@ -2634,7 +2634,7 @@ void Button_Palette(int btn) { if (Key) { - if (Is_shortcut(Key,SPECIAL_PREVIOUS_FORECOLOR)) // Décaler Forecolor vers la gauche + if (Is_shortcut(Key,SPECIAL_PREVIOUS_FORECOLOR)) // Décaler Forecolor vers la gauche { if (block_start==block_end) { @@ -2646,7 +2646,7 @@ void Button_Palette(int btn) Draw_all_palette_sliders(red_slider,green_slider,blue_slider,working_palette,block_start,block_end); Hide_cursor(); Tag_color_range(block_start,block_end); - // Affichage du n° de la couleur sélectionnée + // Affichage du n° de la couleur sélectionnée Num2str(Fore_color,str,3); Print_in_window(COLOR_X,COLOR_Y,str,MC_Black,MC_Light); // Affichage dans le block de visu de la couleur en cours @@ -2656,7 +2656,7 @@ void Button_Palette(int btn) } Key=0; } - else if (Is_shortcut(Key,SPECIAL_NEXT_FORECOLOR)) // Décaler Forecolor vers la droite + else if (Is_shortcut(Key,SPECIAL_NEXT_FORECOLOR)) // Décaler Forecolor vers la droite { if (block_start==block_end) { @@ -2668,7 +2668,7 @@ void Button_Palette(int btn) Draw_all_palette_sliders(red_slider,green_slider,blue_slider,working_palette,block_start,block_end); Hide_cursor(); Tag_color_range(block_start,block_end); - // Affichage du n° de la couleur sélectionnée + // Affichage du n° de la couleur sélectionnée Num2str(Fore_color,str,3); Print_in_window(COLOR_X,COLOR_Y,str,MC_Black,MC_Light); // Affichage dans le block de visu de la couleur en cours @@ -2703,7 +2703,7 @@ void Button_Palette(int btn) Key=0; } else if (Key == SDLK_BACKSPACE) - // Remise des couleurs du menu à l'état normal en essayant + // Remise des couleurs du menu à l'état normal en essayant // de ne pas trop modifier l'image. { if (!image_is_backed_up) @@ -2731,7 +2731,7 @@ void Button_Palette(int btn) } else if (Is_shortcut(Key,0x100+BUTTON_COLORPICKER)) { - // Récupération d'une couleur derrière le menu + // Récupération d'une couleur derrière le menu Get_color_behind_window(&color,&click); if (click) { @@ -2754,7 +2754,7 @@ void Button_Palette(int btn) Fore_color=first_color=last_color=block_start=block_end=color; Tag_color_range(block_start,block_end); - // Affichage du n° de la couleur sélectionnée + // Affichage du n° de la couleur sélectionnée Window_rectangle(COLOR_X+24,COLOR_Y,32,7,MC_Light); Update_window_area(COLOR_X+24,COLOR_Y,32,7); Num2str(Fore_color,str,3); @@ -2845,7 +2845,7 @@ void Button_Palette(int btn) Compute_optimal_menu_colors(Main.palette); - // La variable employée ici n'a pas vraiment de rapport avec son nom... + // La variable employée ici n'a pas vraiment de rapport avec son nom... need_to_remap=(Window_pos_Y+(Window_height*Menu_factor_Y)= 0 && y - Main.offset_Y >= 0) Pixel_double(x-Main.offset_X,y-Main.offset_Y,color); @@ -101,10 +101,10 @@ void Pixel_preview_normal_double (word x,word y,byte color) void Pixel_preview_magnifier_double (word x,word y,byte color) { - // Affiche le pixel dans la partie non zoomée + // Affiche le pixel dans la partie non zoomée Pixel_double(x-Main.offset_X,y-Main.offset_Y,color); - // Regarde si on doit aussi l'afficher dans la partie zoomée + // Regarde si on doit aussi l'afficher dans la partie zoomée if (y >= Limit_top_zoom && y <= Limit_visible_bottom_zoom && x >= Limit_left_zoom && x <= Limit_visible_right_zoom) { @@ -114,7 +114,7 @@ void Pixel_preview_magnifier_double (word x,word y,byte color) if (Menu_Y - y_zoom < Main.magnifier_factor) // On ne doit dessiner qu'un morceau du pixel - // sinon on dépasse sur le menu + // sinon on dépasse sur le menu height = Menu_Y - y_zoom; else height = Main.magnifier_factor; @@ -150,7 +150,7 @@ void Vertical_XOR_line_double(word x_pos,word y_pos,word height) void Display_brush_color_double(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = Brush + y_offset * brush_width + x_offset; @@ -163,7 +163,7 @@ void Display_brush_color_double(word x_pos,word y_pos,word x_offset,word y_offse // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+VIDEO_LINE_WIDTH+1) = *(dest+VIDEO_LINE_WIDTH) = *(dest+1) = *dest = *src; @@ -174,7 +174,7 @@ void Display_brush_color_double(word x_pos,word y_pos,word x_offset,word y_offse dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -186,8 +186,8 @@ void Display_brush_mono_double(word x_pos, word y_pos, byte transp_color, byte color, word brush_width) /* On affiche la brosse en monochrome */ { - byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à - // l'écran + byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à + // l'écran byte* src=brush_width*y_offset+x_offset+Brush; // src = adr ds // la brosse int x,y; @@ -206,7 +206,7 @@ void Display_brush_mono_double(word x_pos, word y_pos, dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=brush_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } @@ -215,8 +215,8 @@ void Display_brush_mono_double(word x_pos, word y_pos, void Clear_brush_double(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width) { - byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) - byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) + byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) int y; int x; (void)x_offset; // unused @@ -236,17 +236,17 @@ void Clear_brush_double(word x_pos,word y_pos,word x_offset,word y_offset,word w dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } Update_rect(x_pos,y_pos,width,height); } -// Affiche une brosse (arbitraire) à l'écran +// Affiche une brosse (arbitraire) à l'écran void Display_brush_double(byte * brush, word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = brush + y_offset * brush_width + x_offset; @@ -259,7 +259,7 @@ void Display_brush_double(byte * brush, word x_pos,word y_pos,word x_offset,word // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+1)=*dest=*src; @@ -269,7 +269,7 @@ void Display_brush_double(byte * brush, word x_pos,word y_pos,word x_offset,word src++; dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -277,7 +277,7 @@ void Display_brush_double(byte * brush, word x_pos,word y_pos,word x_offset,word void Remap_screen_double(word x_pos,word y_pos,word width,word height,byte * conversion_table) { - // dest = coords a l'écran + // dest = coords a l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; int x,y; @@ -300,7 +300,7 @@ void Remap_screen_double(word x_pos,word y_pos,word width,word height,byte * con void Display_line_on_screen_fast_double(word x_pos,word y_pos,word width,byte * line) /* On affiche toute une ligne de pixels telle quelle. */ -/* Utilisée si le buffer contient déja des pixel doublés. */ +/* Utilisée si le buffer contient déja des pixel doublés. */ { memcpy(Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width*ZOOMX); memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH,line,width*ZOOMX); @@ -322,8 +322,8 @@ void Display_line_on_screen_double(word x_pos,word y_pos,word width,byte * line) void Display_transparent_mono_line_on_screen_double( word x_pos, word y_pos, word width, byte* line, byte transp_color, byte color) -// Affiche une ligne à l'écran avec une couleur + transparence. -// Utilisé par les brosses en mode zoom +// Affiche une ligne à l'écran avec une couleur + transparence. +// Utilisé par les brosses en mode zoom { byte* dest = Screen_pixels+ y_pos*VIDEO_LINE_WIDTH + x_pos*ZOOMX; int x; @@ -345,31 +345,31 @@ void Read_line_screen_double(word x_pos,word y_pos,word width,byte * line) } void Display_part_of_screen_scaled_double( - word width, // width non zoomée - word height, // height zoomée + word width, // width non zoomée + word height, // height zoomée word image_width,byte * buffer) { byte* src = Main_screen + Main.magnifier_offset_Y * image_width + Main.magnifier_offset_X; int y = 0; // Ligne en cours de traitement - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1) { int x; - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); - // On l'affiche Facteur fois, sur des lignes consécutives + // On l'affiche Facteur fois, sur des lignes consécutives x = Main.magnifier_factor; // Pour chaque ligne do{ - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_line_on_screen_fast_double( Main.X_zoom, y, width*Main.magnifier_factor, buffer ); - // On passe à la suivante + // On passe à la suivante y++; if(y==height) { @@ -386,12 +386,12 @@ void Display_part_of_screen_scaled_double( // ATTENTION on n'arrive jamais ici ! } -// Affiche une partie de la brosse couleur zoomée +// Affiche une partie de la brosse couleur zoomée void Display_brush_color_zoom_double(word x_pos,word y_pos, word x_offset,word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos,byte transp_color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer) { byte* src = Brush+y_offset*brush_width + x_offset; @@ -402,7 +402,7 @@ void Display_brush_color_zoom_double(word x_pos,word y_pos, while(1) { Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche facteur fois la ligne zoomée + // On affiche facteur fois la ligne zoomée for(bx=Main.magnifier_factor;bx>0;bx--) { Display_transparent_line_on_screen_wide(x_pos,y*ZOOMY,width*Main.magnifier_factor,buffer,transp_color); @@ -420,10 +420,10 @@ void Display_brush_color_zoom_double(word x_pos,word y_pos, void Display_brush_mono_zoom_double(word x_pos, word y_pos, word x_offset, word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos, byte transp_color, byte color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer ) @@ -431,29 +431,29 @@ void Display_brush_mono_zoom_double(word x_pos, word y_pos, byte* src = Brush + y_offset * brush_width + x_offset; int y=y_pos*ZOOMY; - //Pour chaque ligne à zoomer : + //Pour chaque ligne à zoomer : while(1) { int bx; // src = Ligne originale - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche la ligne Facteur fois à l'écran (sur des - // lignes consécutives) + // On affiche la ligne Facteur fois à l'écran (sur des + // lignes consécutives) bx = Main.magnifier_factor*ZOOMY; - // Pour chaque ligne écran + // Pour chaque ligne écran do { - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_transparent_mono_line_on_screen_double( x_pos, y, width * Main.magnifier_factor, buffer, transp_color, color ); - // On passe à la ligne suivante + // On passe à la ligne suivante y++; - // On vérifie qu'on est pas à la ligne finale + // On vérifie qu'on est pas à la ligne finale if(y == end_y_pos*ZOOMY) { Redraw_grid( x_pos, y_pos, @@ -466,7 +466,7 @@ void Display_brush_mono_zoom_double(word x_pos, word y_pos, } while (bx > 0); - // Passage à la ligne suivante dans la brosse aussi + // Passage à la ligne suivante dans la brosse aussi src+=brush_width; } } @@ -474,13 +474,13 @@ void Display_brush_mono_zoom_double(word x_pos, word y_pos, void Clear_brush_scaled_double(word x_pos,word y_pos,word x_offset,word y_offset,word width,word end_y_pos,byte transp_color,word image_width,byte * buffer) { - // En fait on va recopier l'image non zoomée dans la partie zoomée ! + // En fait on va recopier l'image non zoomée dans la partie zoomée ! byte* src = Main_screen + y_offset * image_width + x_offset; int y = y_pos; int bx; (void)transp_color; // unused - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1){ Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); diff --git a/src/pxquad.c b/src/pxquad.c index c5b6b1da..1d5bbcb2 100644 --- a/src/pxquad.c +++ b/src/pxquad.c @@ -35,7 +35,7 @@ void Pixel_quad (word x,word y,byte color) -/* Affiche un pixel de la color aux coords x;y à l'écran */ +/* Affiche un pixel de la color aux coords x;y à l'écran */ { *(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH)=color; *(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 1)=color; @@ -56,13 +56,13 @@ void Pixel_quad (word x,word y,byte color) } byte Read_pixel_quad (word x,word y) -/* On retourne la couleur du pixel aux coords données */ +/* On retourne la couleur du pixel aux coords données */ { return *( Screen_pixels + y * ZOOMY * VIDEO_LINE_WIDTH + x * ZOOMX); } void Block_quad (word start_x,word start_y,word width,word height,byte color) -/* On affiche un rectangle de la couleur donnée */ +/* On affiche un rectangle de la couleur donnée */ { SDL_Rect rectangle; rectangle.x=start_x*ZOOMX; @@ -73,10 +73,10 @@ void Block_quad (word start_x,word start_y,word width,word height,byte color) } void Display_part_of_screen_quad (word width,word height,word image_width) -/* Afficher une partie de l'image telle quelle sur l'écran */ +/* Afficher une partie de l'image telle quelle sur l'écran */ { - byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) - byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) + byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) int y; int dy; @@ -97,7 +97,7 @@ void Display_part_of_screen_quad (word width,word height,word image_width) // On la quadruple memcpy(dest-width*ZOOMX+3*VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX); - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; } @@ -105,10 +105,10 @@ void Display_part_of_screen_quad (word width,word height,word image_width) } void Pixel_preview_normal_quad (word x,word y,byte color) -/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image - * dans l'écran, en mode normal (pas en mode loupe) - * Note: si on modifie cette procédure, il faudra penser à faire également - * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ +/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image + * dans l'écran, en mode normal (pas en mode loupe) + * Note: si on modifie cette procédure, il faudra penser à faire également + * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ { // if(x-Main.offset_X >= 0 && y - Main.offset_Y >= 0) Pixel_quad(x-Main.offset_X,y-Main.offset_Y,color); @@ -116,10 +116,10 @@ void Pixel_preview_normal_quad (word x,word y,byte color) void Pixel_preview_magnifier_quad (word x,word y,byte color) { - // Affiche le pixel dans la partie non zoomée + // Affiche le pixel dans la partie non zoomée Pixel_quad(x-Main.offset_X,y-Main.offset_Y,color); - // Regarde si on doit aussi l'afficher dans la partie zoomée + // Regarde si on doit aussi l'afficher dans la partie zoomée if (y >= Limit_top_zoom && y <= Limit_visible_bottom_zoom && x >= Limit_left_zoom && x <= Limit_visible_right_zoom) { @@ -129,7 +129,7 @@ void Pixel_preview_magnifier_quad (word x,word y,byte color) if (Menu_Y - y_zoom < Main.magnifier_factor) // On ne doit dessiner qu'un morceau du pixel - // sinon on dépasse sur le menu + // sinon on dépasse sur le menu height = Menu_Y - y_zoom; else height = Main.magnifier_factor; @@ -165,7 +165,7 @@ void Vertical_XOR_line_quad(word x_pos,word y_pos,word height) void Display_brush_color_quad(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = Brush + y_offset * brush_width + x_offset; @@ -178,7 +178,7 @@ void Display_brush_color_quad(word x_pos,word y_pos,word x_offset,word y_offset, // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+3*VIDEO_LINE_WIDTH+3) = *(dest+3*VIDEO_LINE_WIDTH+2) = *(dest+3*VIDEO_LINE_WIDTH+1) = *(dest+3*VIDEO_LINE_WIDTH) = *(dest+2*VIDEO_LINE_WIDTH+3) = *(dest+2*VIDEO_LINE_WIDTH+2) = *(dest+2*VIDEO_LINE_WIDTH+1) = *(dest+2*VIDEO_LINE_WIDTH) = *(dest+VIDEO_LINE_WIDTH+3) = *(dest+VIDEO_LINE_WIDTH+2) = *(dest+VIDEO_LINE_WIDTH+1) = *(dest+VIDEO_LINE_WIDTH) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = *src; @@ -189,7 +189,7 @@ void Display_brush_color_quad(word x_pos,word y_pos,word x_offset,word y_offset, dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -201,8 +201,8 @@ void Display_brush_mono_quad(word x_pos, word y_pos, byte transp_color, byte color, word brush_width) /* On affiche la brosse en monochrome */ { - byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à - // l'écran + byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à + // l'écran byte* src=brush_width*y_offset+x_offset+Brush; // src = adr ds // la brosse int x,y; @@ -221,7 +221,7 @@ void Display_brush_mono_quad(word x_pos, word y_pos, dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=brush_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } @@ -230,8 +230,8 @@ void Display_brush_mono_quad(word x_pos, word y_pos, void Clear_brush_quad(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width) { - byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) - byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) + byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) int y; int x; (void)x_offset; // unused @@ -251,17 +251,17 @@ void Clear_brush_quad(word x_pos,word y_pos,word x_offset,word y_offset,word wid dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } Update_rect(x_pos,y_pos,width,height); } -// Affiche une brosse (arbitraire) à l'écran +// Affiche une brosse (arbitraire) à l'écran void Display_brush_quad(byte * brush, word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = brush + y_offset * brush_width + x_offset; @@ -274,7 +274,7 @@ void Display_brush_quad(byte * brush, word x_pos,word y_pos,word x_offset,word y // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+3*VIDEO_LINE_WIDTH+3)=*(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+3)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*dest=*src; @@ -284,7 +284,7 @@ void Display_brush_quad(byte * brush, word x_pos,word y_pos,word x_offset,word y src++; dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -292,7 +292,7 @@ void Display_brush_quad(byte * brush, word x_pos,word y_pos,word x_offset,word y void Remap_screen_quad(word x_pos,word y_pos,word width,word height,byte * conversion_table) { - // dest = coords a l'écran + // dest = coords a l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; int x,y; @@ -315,7 +315,7 @@ void Remap_screen_quad(word x_pos,word y_pos,word width,word height,byte * conve void Display_line_on_screen_fast_quad(word x_pos,word y_pos,word width,byte * line) /* On affiche toute une ligne de pixels telle quelle. */ -/* Utilisée si le buffer contient déja des pixel doublés. */ +/* Utilisée si le buffer contient déja des pixel doublés. */ { memcpy(Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width*ZOOMX); memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH,line,width*ZOOMX); @@ -339,8 +339,8 @@ void Display_line_on_screen_quad(word x_pos,word y_pos,word width,byte * line) void Display_transparent_mono_line_on_screen_quad( word x_pos, word y_pos, word width, byte* line, byte transp_color, byte color) -// Affiche une ligne à l'écran avec une couleur + transparence. -// Utilisé par les brosses en mode zoom +// Affiche une ligne à l'écran avec une couleur + transparence. +// Utilisé par les brosses en mode zoom { byte* dest = Screen_pixels+ y_pos*VIDEO_LINE_WIDTH + x_pos*ZOOMX; int x; @@ -362,31 +362,31 @@ void Read_line_screen_quad(word x_pos,word y_pos,word width,byte * line) } void Display_part_of_screen_scaled_quad( - word width, // width non zoomée - word height, // height zoomée + word width, // width non zoomée + word height, // height zoomée word image_width,byte * buffer) { byte* src = Main_screen + Main.magnifier_offset_Y * image_width + Main.magnifier_offset_X; int y = 0; // Ligne en cours de traitement - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1) { int x; - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); - // On l'affiche Facteur fois, sur des lignes consécutives + // On l'affiche Facteur fois, sur des lignes consécutives x = Main.magnifier_factor/**ZOOMY*/; // Pour chaque ligne do{ - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_line_on_screen_fast_quad( Main.X_zoom, y, width*Main.magnifier_factor, buffer ); - // On passe à la suivante + // On passe à la suivante y++; if(y==height/**ZOOMY*/) { @@ -403,12 +403,12 @@ void Display_part_of_screen_scaled_quad( // ATTENTION on n'arrive jamais ici ! } -// Affiche une partie de la brosse couleur zoomée +// Affiche une partie de la brosse couleur zoomée void Display_brush_color_zoom_quad(word x_pos,word y_pos, word x_offset,word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos,byte transp_color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer) { byte* src = Brush+y_offset*brush_width + x_offset; @@ -419,7 +419,7 @@ void Display_brush_color_zoom_quad(word x_pos,word y_pos, while(1) { Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche facteur fois la ligne zoomée + // On affiche facteur fois la ligne zoomée for(bx=Main.magnifier_factor;bx>0;bx--) { byte* line_src = buffer; @@ -454,10 +454,10 @@ void Display_brush_color_zoom_quad(word x_pos,word y_pos, void Display_brush_mono_zoom_quad(word x_pos, word y_pos, word x_offset, word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos, byte transp_color, byte color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer ) @@ -465,29 +465,29 @@ void Display_brush_mono_zoom_quad(word x_pos, word y_pos, byte* src = Brush + y_offset * brush_width + x_offset; int y=y_pos*ZOOMY; - //Pour chaque ligne à zoomer : + //Pour chaque ligne à zoomer : while(1) { int bx; // src = Ligne originale - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche la ligne Facteur fois à l'écran (sur des - // lignes consécutives) + // On affiche la ligne Facteur fois à l'écran (sur des + // lignes consécutives) bx = Main.magnifier_factor*ZOOMY; - // Pour chaque ligne écran + // Pour chaque ligne écran do { - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_transparent_mono_line_on_screen_quad( x_pos, y, width * Main.magnifier_factor, buffer, transp_color, color ); - // On passe à la ligne suivante + // On passe à la ligne suivante y++; - // On vérifie qu'on est pas à la ligne finale + // On vérifie qu'on est pas à la ligne finale if(y == end_y_pos*ZOOMY) { Redraw_grid( x_pos, y_pos, @@ -500,7 +500,7 @@ void Display_brush_mono_zoom_quad(word x_pos, word y_pos, } while (bx > 0); - // Passage à la ligne suivante dans la brosse aussi + // Passage à la ligne suivante dans la brosse aussi src+=brush_width; } } @@ -508,13 +508,13 @@ void Display_brush_mono_zoom_quad(word x_pos, word y_pos, void Clear_brush_scaled_quad(word x_pos,word y_pos,word x_offset,word y_offset,word width,word end_y_pos,byte transp_color,word image_width,byte * buffer) { - // En fait on va recopier l'image non zoomée dans la partie zoomée ! + // En fait on va recopier l'image non zoomée dans la partie zoomée ! byte* src = Main_screen + y_offset * image_width + x_offset; int y = y_pos; int bx; (void)transp_color; // unused - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1){ Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); diff --git a/src/pxsimple.c b/src/pxsimple.c index 371269ea..a54ab7e1 100644 --- a/src/pxsimple.c +++ b/src/pxsimple.c @@ -32,19 +32,19 @@ void Pixel_simple (word x,word y,byte color) -/* Affiche un pixel de la color aux coords x;y à l'écran */ +/* Affiche un pixel de la color aux coords x;y à l'écran */ { *(Screen_pixels + x + y * VIDEO_LINE_WIDTH)=color; } byte Read_pixel_simple (word x,word y) -/* On retourne la couleur du pixel aux coords données */ +/* On retourne la couleur du pixel aux coords données */ { return *( Screen_pixels + y * VIDEO_LINE_WIDTH + x ); } void Block_simple (word start_x,word start_y,word width,word height,byte color) -/* On affiche un rectangle de la couleur donnée */ +/* On affiche un rectangle de la couleur donnée */ { SDL_Rect rectangle; rectangle.x=start_x; @@ -55,10 +55,10 @@ void Block_simple (word start_x,word start_y,word width,word height,byte color) } void Display_part_of_screen_simple (word width,word height,word image_width) -/* Afficher une partie de l'image telle quelle sur l'écran */ +/* Afficher une partie de l'image telle quelle sur l'écran */ { - byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) - byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) + byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) int y; for(y=height;y!=0;y--) @@ -67,7 +67,7 @@ void Display_part_of_screen_simple (word width,word height,word image_width) // On fait une copie de la ligne memcpy(dest,src,width); - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width; dest+=VIDEO_LINE_WIDTH; } @@ -75,10 +75,10 @@ void Display_part_of_screen_simple (word width,word height,word image_width) } void Pixel_preview_normal_simple (word x,word y,byte color) -/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image - * dans l'écran, en mode normal (pas en mode loupe) - * Note: si on modifie cette procédure, il faudra penser à faire également - * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ +/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image + * dans l'écran, en mode normal (pas en mode loupe) + * Note: si on modifie cette procédure, il faudra penser à faire également + * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ { // if(x-Main.offset_X >= 0 && y - Main.offset_Y >= 0) Pixel_simple(x-Main.offset_X,y-Main.offset_Y,color); @@ -86,10 +86,10 @@ void Pixel_preview_normal_simple (word x,word y,byte color) void Pixel_preview_magnifier_simple (word x,word y,byte color) { - // Affiche le pixel dans la partie non zoomée + // Affiche le pixel dans la partie non zoomée Pixel_simple(x-Main.offset_X,y-Main.offset_Y,color); - // Regarde si on doit aussi l'afficher dans la partie zoomée + // Regarde si on doit aussi l'afficher dans la partie zoomée if (y >= Limit_top_zoom && y <= Limit_visible_bottom_zoom && x >= Limit_left_zoom && x <= Limit_visible_right_zoom) { @@ -99,7 +99,7 @@ void Pixel_preview_magnifier_simple (word x,word y,byte color) if (Menu_Y - y_zoom < Main.magnifier_factor) // On ne doit dessiner qu'un morceau du pixel - // sinon on dépasse sur le menu + // sinon on dépasse sur le menu height = Menu_Y - y_zoom; else height = Main.magnifier_factor; @@ -135,7 +135,7 @@ void Vertical_XOR_line_simple(word x_pos,word y_pos,word height) void Display_brush_color_simple(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * VIDEO_LINE_WIDTH + x_pos; // src = Position dans la brosse byte* src = Brush + y_offset * brush_width + x_offset; @@ -148,7 +148,7 @@ void Display_brush_color_simple(word x_pos,word y_pos,word x_offset,word y_offse // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *dest = *src; @@ -158,7 +158,7 @@ void Display_brush_color_simple(word x_pos,word y_pos,word x_offset,word y_offse src++; dest++; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH - width; src = src + brush_width - width; } @@ -170,8 +170,8 @@ void Display_brush_mono_simple(word x_pos, word y_pos, byte transp_color, byte color, word brush_width) /* On affiche la brosse en monochrome */ { - byte* dest=y_pos*VIDEO_LINE_WIDTH+x_pos+Screen_pixels; // dest = adr Destination à - // l'écran + byte* dest=y_pos*VIDEO_LINE_WIDTH+x_pos+Screen_pixels; // dest = adr Destination à + // l'écran byte* src=brush_width*y_offset+x_offset+Brush; // src = adr ds // la brosse int x,y; @@ -190,7 +190,7 @@ void Display_brush_mono_simple(word x_pos, word y_pos, dest++; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=brush_width-width; dest+=VIDEO_LINE_WIDTH-width; } @@ -199,8 +199,8 @@ void Display_brush_mono_simple(word x_pos, word y_pos, void Clear_brush_simple(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width) { - byte* dest=Screen_pixels+x_pos+y_pos*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) - byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels+x_pos+y_pos*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) + byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) int y; (void)x_offset; // unused (void)y_offset; // unused @@ -212,17 +212,17 @@ void Clear_brush_simple(word x_pos,word y_pos,word x_offset,word y_offset,word w // On fait une copie de la ligne memcpy(dest,src,width); - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width; dest+=VIDEO_LINE_WIDTH; } Update_rect(x_pos,y_pos,width,height); } -// Affiche une brosse (arbitraire) à l'écran +// Affiche une brosse (arbitraire) à l'écran void Display_brush_simple(byte * brush, word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * VIDEO_LINE_WIDTH + x_pos; // src = Position dans la brosse byte* src = brush + y_offset * brush_width + x_offset; @@ -235,7 +235,7 @@ void Display_brush_simple(byte * brush, word x_pos,word y_pos,word x_offset,word // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *dest = *src; @@ -245,7 +245,7 @@ void Display_brush_simple(byte * brush, word x_pos,word y_pos,word x_offset,word src++; dest++; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH - width; src = src + brush_width - width; } @@ -253,7 +253,7 @@ void Display_brush_simple(byte * brush, word x_pos,word y_pos,word x_offset,word void Remap_screen_simple(word x_pos,word y_pos,word width,word height,byte * conversion_table) { - // dest = coords a l'écran + // dest = coords a l'écran byte* dest = Screen_pixels + y_pos * VIDEO_LINE_WIDTH + x_pos; int x,y; @@ -274,7 +274,7 @@ void Remap_screen_simple(word x_pos,word y_pos,word width,word height,byte * con } void Display_line_on_screen_simple(word x_pos,word y_pos,word width,byte * line) -/* On affiche toute une ligne de pixels. Utilisé pour les textes. */ +/* On affiche toute une ligne de pixels. Utilisé pour les textes. */ { memcpy(Screen_pixels+x_pos+y_pos*VIDEO_LINE_WIDTH,line,width); } @@ -282,8 +282,8 @@ void Display_line_on_screen_simple(word x_pos,word y_pos,word width,byte * line) void Display_transparent_mono_line_on_screen_simple( word x_pos, word y_pos, word width, byte* line, byte transp_color, byte color) -// Affiche une ligne à l'écran avec une couleur + transparence. -// Utilisé par les brosses en mode zoom +// Affiche une ligne à l'écran avec une couleur + transparence. +// Utilisé par les brosses en mode zoom { byte* dest = Screen_pixels+ y_pos * VIDEO_LINE_WIDTH + x_pos; int x; @@ -303,31 +303,31 @@ void Read_line_screen_simple(word x_pos,word y_pos,word width,byte * line) } void Display_part_of_screen_scaled_simple( - word width, // width non zoomée - word height, // height zoomée + word width, // width non zoomée + word height, // height zoomée word image_width,byte * buffer) { byte* src = Main_screen + Main.magnifier_offset_Y * image_width + Main.magnifier_offset_X; int y = 0; // Ligne en cours de traitement - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1) { int x; - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On l'affiche Facteur fois, sur des lignes consécutives + // On l'affiche Facteur fois, sur des lignes consécutives x = Main.magnifier_factor; // Pour chaque ligne do{ - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_line_on_screen_simple( Main.X_zoom, y, width*Main.magnifier_factor, buffer ); - // On passe à la suivante + // On passe à la suivante y++; if(y==height) { @@ -361,12 +361,12 @@ void Display_transparent_line_on_screen_simple(word x_pos,word y_pos,word width, } } -// Affiche une partie de la brosse couleur zoomée +// Affiche une partie de la brosse couleur zoomée void Display_brush_color_zoom_simple(word x_pos,word y_pos, word x_offset,word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos,byte transp_color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer) { byte* src = Brush+y_offset*brush_width + x_offset; @@ -377,7 +377,7 @@ void Display_brush_color_zoom_simple(word x_pos,word y_pos, while(1) { Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche facteur fois la ligne zoomée + // On affiche facteur fois la ligne zoomée for(bx=Main.magnifier_factor;bx>0;bx--) { Display_transparent_line_on_screen_simple(x_pos,y,width*Main.magnifier_factor,buffer,transp_color); @@ -394,10 +394,10 @@ void Display_brush_color_zoom_simple(word x_pos,word y_pos, void Display_brush_mono_zoom_simple(word x_pos, word y_pos, word x_offset, word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos, byte transp_color, byte color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer ) @@ -405,29 +405,29 @@ void Display_brush_mono_zoom_simple(word x_pos, word y_pos, byte* src = Brush + y_offset * brush_width + x_offset; int y=y_pos; - //Pour chaque ligne à zoomer : + //Pour chaque ligne à zoomer : while(1) { int bx; // src = Ligne originale - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche la ligne Facteur fois à l'écran (sur des - // lignes consécutives) + // On affiche la ligne Facteur fois à l'écran (sur des + // lignes consécutives) bx = Main.magnifier_factor; - // Pour chaque ligne écran + // Pour chaque ligne écran do { - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_transparent_mono_line_on_screen_simple( x_pos, y, width * Main.magnifier_factor, buffer, transp_color, color ); - // On passe à la ligne suivante + // On passe à la ligne suivante y++; - // On vérifie qu'on est pas à la ligne finale + // On vérifie qu'on est pas à la ligne finale if(y == end_y_pos) { Redraw_grid( x_pos, y_pos, @@ -440,20 +440,20 @@ void Display_brush_mono_zoom_simple(word x_pos, word y_pos, } while (bx > 0); - // Passage à la ligne suivante dans la brosse aussi + // Passage à la ligne suivante dans la brosse aussi src+=brush_width; } } void Clear_brush_scaled_simple(word x_pos,word y_pos,word x_offset,word y_offset,word width,word end_y_pos,byte transp_color,word image_width,byte * buffer) { - // En fait on va recopier l'image non zoomée dans la partie zoomée ! + // En fait on va recopier l'image non zoomée dans la partie zoomée ! byte* src = Main_screen + y_offset * image_width + x_offset; int y = y_pos; int bx; (void)transp_color; // unused - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1){ Zoom_a_line(src,buffer,Main.magnifier_factor,width); diff --git a/src/pxtall.c b/src/pxtall.c index f8ae2849..4ed6d123 100644 --- a/src/pxtall.c +++ b/src/pxtall.c @@ -36,20 +36,20 @@ void Pixel_tall (word x,word y,byte color) -/* Affiche un pixel de la color aux coords x;y à l'écran */ +/* Affiche un pixel de la color aux coords x;y à l'écran */ { *(Screen_pixels + x + y*ZOOMY*VIDEO_LINE_WIDTH)=color; *(Screen_pixels + x + (y*ZOOMY+1)*VIDEO_LINE_WIDTH)=color; } byte Read_pixel_tall (word x,word y) -/* On retourne la couleur du pixel aux coords données */ +/* On retourne la couleur du pixel aux coords données */ { return *( Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x ); } void Block_tall (word start_x,word start_y,word width,word height,byte color) -/* On affiche un rectangle de la couleur donnée */ +/* On affiche un rectangle de la couleur donnée */ { SDL_Rect rectangle; rectangle.x=start_x; @@ -60,10 +60,10 @@ void Block_tall (word start_x,word start_y,word width,word height,byte color) } void Display_part_of_screen_tall (word width,word height,word image_width) -/* Afficher une partie de l'image telle quelle sur l'écran */ +/* Afficher une partie de l'image telle quelle sur l'écran */ { - byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) - byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) + byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) int y; for(y=height;y!=0;y--) @@ -74,7 +74,7 @@ void Display_part_of_screen_tall (word width,word height,word image_width) dest+=VIDEO_LINE_WIDTH; memcpy(dest,src,width); - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width; dest+=VIDEO_LINE_WIDTH; } @@ -82,10 +82,10 @@ void Display_part_of_screen_tall (word width,word height,word image_width) } void Pixel_preview_normal_tall (word x,word y,byte color) -/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image - * dans l'écran, en mode normal (pas en mode loupe) - * Note: si on modifie cette procédure, il faudra penser à faire également - * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ +/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image + * dans l'écran, en mode normal (pas en mode loupe) + * Note: si on modifie cette procédure, il faudra penser à faire également + * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ { // if(x-Main.offset_X >= 0 && y - Main.offset_Y >= 0) Pixel_tall(x-Main.offset_X,y-Main.offset_Y,color); @@ -93,10 +93,10 @@ void Pixel_preview_normal_tall (word x,word y,byte color) void Pixel_preview_magnifier_tall (word x,word y,byte color) { - // Affiche le pixel dans la partie non zoomée + // Affiche le pixel dans la partie non zoomée Pixel_tall(x-Main.offset_X,y-Main.offset_Y,color); - // Regarde si on doit aussi l'afficher dans la partie zoomée + // Regarde si on doit aussi l'afficher dans la partie zoomée if (y >= Limit_top_zoom && y <= Limit_visible_bottom_zoom && x >= Limit_left_zoom && x <= Limit_visible_right_zoom) { @@ -106,7 +106,7 @@ void Pixel_preview_magnifier_tall (word x,word y,byte color) if (Menu_Y - y_zoom < Main.magnifier_factor) // On ne doit dessiner qu'un morceau du pixel - // sinon on dépasse sur le menu + // sinon on dépasse sur le menu height = Menu_Y - y_zoom; else height = Main.magnifier_factor; @@ -146,7 +146,7 @@ void Vertical_XOR_line_tall(word x_pos,word y_pos,word height) void Display_brush_color_tall(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos*ZOOMY*VIDEO_LINE_WIDTH + x_pos; // src = Position dans la brosse byte* src = Brush + y_offset * brush_width + x_offset; @@ -159,7 +159,7 @@ void Display_brush_color_tall(word x_pos,word y_pos,word x_offset,word y_offset, // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *dest = *src; @@ -170,7 +170,7 @@ void Display_brush_color_tall(word x_pos,word y_pos,word x_offset,word y_offset, src++; dest++; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + ZOOMY*VIDEO_LINE_WIDTH - width; src = src + brush_width - width; } @@ -182,8 +182,8 @@ void Display_brush_mono_tall(word x_pos, word y_pos, byte transp_color, byte color, word brush_width) /* On affiche la brosse en monochrome */ { - byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos+Screen_pixels; // dest = adr Destination à - // l'écran + byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos+Screen_pixels; // dest = adr Destination à + // l'écran byte* src=brush_width*y_offset+x_offset+Brush; // src = adr ds // la brosse int x,y; @@ -205,7 +205,7 @@ void Display_brush_mono_tall(word x_pos, word y_pos, dest++; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=brush_width-width; dest+=ZOOMY*VIDEO_LINE_WIDTH-width; } @@ -214,8 +214,8 @@ void Display_brush_mono_tall(word x_pos, word y_pos, void Clear_brush_tall(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width) { - byte* dest=Screen_pixels+x_pos+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) - byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels+x_pos+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) + byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) int y; (void)x_offset; // unused (void)y_offset; // unused @@ -229,17 +229,17 @@ void Clear_brush_tall(word x_pos,word y_pos,word x_offset,word y_offset,word wid dest+=VIDEO_LINE_WIDTH; memcpy(dest,src,width); - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width; dest+=VIDEO_LINE_WIDTH; } Update_rect(x_pos,y_pos,width,height); } -// Affiche une brosse (arbitraire) à l'écran +// Affiche une brosse (arbitraire) à l'écran void Display_brush_tall(byte * brush, word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos*ZOOMY*VIDEO_LINE_WIDTH + x_pos; // src = Position dans la brosse byte* src = brush + y_offset * brush_width + x_offset; @@ -252,7 +252,7 @@ void Display_brush_tall(byte * brush, word x_pos,word y_pos,word x_offset,word y // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *dest = *src; @@ -263,7 +263,7 @@ void Display_brush_tall(byte * brush, word x_pos,word y_pos,word x_offset,word y src++; dest++; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width; src = src + brush_width - width; } @@ -271,7 +271,7 @@ void Display_brush_tall(byte * brush, word x_pos,word y_pos,word x_offset,word y void Remap_screen_tall(word x_pos,word y_pos,word width,word height,byte * conversion_table) { - // dest = coords a l'écran + // dest = coords a l'écran byte* dest = Screen_pixels + y_pos*ZOOMY*VIDEO_LINE_WIDTH + x_pos; int x,y; @@ -292,7 +292,7 @@ void Remap_screen_tall(word x_pos,word y_pos,word width,word height,byte * conve } void Display_line_on_screen_tall(word x_pos,word y_pos,word width,byte * line) -/* On affiche toute une ligne de pixels. Utilisé pour les textes. */ +/* On affiche toute une ligne de pixels. Utilisé pour les textes. */ { memcpy(Screen_pixels+x_pos+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width); memcpy(Screen_pixels+x_pos+(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH,line,width); @@ -304,31 +304,31 @@ void Read_line_screen_tall(word x_pos,word y_pos,word width,byte * line) } void Display_part_of_screen_scaled_tall( - word width, // width non zoomée - word height, // height zoomée + word width, // width non zoomée + word height, // height zoomée word image_width,byte * buffer) { byte* src = Main_screen + Main.magnifier_offset_Y * image_width + Main.magnifier_offset_X; int y = 0; // Ligne en cours de traitement - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1) { int x; - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On l'affiche Facteur fois, sur des lignes consécutives + // On l'affiche Facteur fois, sur des lignes consécutives x = Main.magnifier_factor*ZOOMY; // Pour chaque ligne do{ - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_line_on_screen_simple( Main.X_zoom, y, width*Main.magnifier_factor, buffer ); - // On passe à la suivante + // On passe à la suivante y++; if(y==height*ZOOMY) { @@ -345,12 +345,12 @@ void Display_part_of_screen_scaled_tall( // ATTENTION on n'arrive jamais ici ! } -// Affiche une partie de la brosse couleur zoomée +// Affiche une partie de la brosse couleur zoomée void Display_brush_color_zoom_tall(word x_pos,word y_pos, word x_offset,word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos,byte transp_color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer) { byte* src = Brush+y_offset*brush_width + x_offset; @@ -361,7 +361,7 @@ void Display_brush_color_zoom_tall(word x_pos,word y_pos, while(1) { Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche facteur fois la ligne zoomée + // On affiche facteur fois la ligne zoomée for(bx=Main.magnifier_factor;bx>0;bx--) { Display_transparent_line_on_screen_simple(x_pos,y*ZOOMY,width*Main.magnifier_factor,buffer,transp_color); @@ -379,10 +379,10 @@ void Display_brush_color_zoom_tall(word x_pos,word y_pos, void Display_brush_mono_zoom_tall(word x_pos, word y_pos, word x_offset, word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos, byte transp_color, byte color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer ) @@ -390,29 +390,29 @@ void Display_brush_mono_zoom_tall(word x_pos, word y_pos, byte* src = Brush + y_offset * brush_width + x_offset; int y=y_pos*ZOOMY; - //Pour chaque ligne à zoomer : + //Pour chaque ligne à zoomer : while(1) { int bx; // src = Ligne originale - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche la ligne Facteur fois à l'écran (sur des - // lignes consécutives) + // On affiche la ligne Facteur fois à l'écran (sur des + // lignes consécutives) bx = Main.magnifier_factor*ZOOMY; - // Pour chaque ligne écran + // Pour chaque ligne écran do { - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_transparent_mono_line_on_screen_simple( x_pos, y, width * Main.magnifier_factor, buffer, transp_color, color ); - // On passe à la ligne suivante + // On passe à la ligne suivante y++; - // On vérifie qu'on est pas à la ligne finale + // On vérifie qu'on est pas à la ligne finale if(y == end_y_pos*ZOOMY) { Redraw_grid( x_pos, y_pos, @@ -425,20 +425,20 @@ void Display_brush_mono_zoom_tall(word x_pos, word y_pos, } while (bx > 0); - // Passage à la ligne suivante dans la brosse aussi + // Passage à la ligne suivante dans la brosse aussi src+=brush_width; } } void Clear_brush_scaled_tall(word x_pos,word y_pos,word x_offset,word y_offset,word width,word end_y_pos,byte transp_color,word image_width,byte * buffer) { - // En fait on va recopier l'image non zoomée dans la partie zoomée ! + // En fait on va recopier l'image non zoomée dans la partie zoomée ! byte* src = Main_screen + y_offset * image_width + x_offset; int y = y_pos; int bx; (void)transp_color; // unused - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1){ Zoom_a_line(src,buffer,Main.magnifier_factor,width); diff --git a/src/pxtall2.c b/src/pxtall2.c index 1f963f71..86b0bfa7 100644 --- a/src/pxtall2.c +++ b/src/pxtall2.c @@ -35,7 +35,7 @@ void Pixel_tall2 (word x,word y,byte color) -/* Affiche un pixel de la color aux coords x;y à l'écran */ +/* Affiche un pixel de la color aux coords x;y à l'écran */ { *(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH)=color; *(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 1)=color; @@ -48,13 +48,13 @@ void Pixel_tall2 (word x,word y,byte color) } byte Read_pixel_tall2 (word x,word y) -/* On retourne la couleur du pixel aux coords données */ +/* On retourne la couleur du pixel aux coords données */ { return *( Screen_pixels + y * ZOOMY * VIDEO_LINE_WIDTH + x * ZOOMX); } void Block_tall2 (word start_x,word start_y,word width,word height,byte color) -/* On affiche un rectangle de la couleur donnée */ +/* On affiche un rectangle de la couleur donnée */ { SDL_Rect rectangle; rectangle.x=start_x*ZOOMX; @@ -65,10 +65,10 @@ void Block_tall2 (word start_x,word start_y,word width,word height,byte color) } void Display_part_of_screen_tall2 (word width,word height,word image_width) -/* Afficher une partie de l'image telle quelle sur l'écran */ +/* Afficher une partie de l'image telle quelle sur l'écran */ { - byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) - byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) + byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) int y; int dy; @@ -89,7 +89,7 @@ void Display_part_of_screen_tall2 (word width,word height,word image_width) // On la quadruple memcpy(dest-width*ZOOMX+3*VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX); - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; } @@ -97,10 +97,10 @@ void Display_part_of_screen_tall2 (word width,word height,word image_width) } void Pixel_preview_normal_tall2 (word x,word y,byte color) -/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image - * dans l'écran, en mode normal (pas en mode loupe) - * Note: si on modifie cette procédure, il faudra penser à faire également - * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ +/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image + * dans l'écran, en mode normal (pas en mode loupe) + * Note: si on modifie cette procédure, il faudra penser à faire également + * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ { // if(x-Main.offset_X >= 0 && y - Main.offset_Y >= 0) Pixel_tall2(x-Main.offset_X,y-Main.offset_Y,color); @@ -108,10 +108,10 @@ void Pixel_preview_normal_tall2 (word x,word y,byte color) void Pixel_preview_magnifier_tall2 (word x,word y,byte color) { - // Affiche le pixel dans la partie non zoomée + // Affiche le pixel dans la partie non zoomée Pixel_tall2(x-Main.offset_X,y-Main.offset_Y,color); - // Regarde si on doit aussi l'afficher dans la partie zoomée + // Regarde si on doit aussi l'afficher dans la partie zoomée if (y >= Limit_top_zoom && y <= Limit_visible_bottom_zoom && x >= Limit_left_zoom && x <= Limit_visible_right_zoom) { @@ -121,7 +121,7 @@ void Pixel_preview_magnifier_tall2 (word x,word y,byte color) if (Menu_Y - y_zoom < Main.magnifier_factor) // On ne doit dessiner qu'un morceau du pixel - // sinon on dépasse sur le menu + // sinon on dépasse sur le menu height = Menu_Y - y_zoom; else height = Main.magnifier_factor; @@ -157,7 +157,7 @@ void Vertical_XOR_line_tall2(word x_pos,word y_pos,word height) void Display_brush_color_tall2(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = Brush + y_offset * brush_width + x_offset; @@ -170,7 +170,7 @@ void Display_brush_color_tall2(word x_pos,word y_pos,word x_offset,word y_offset // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+3*VIDEO_LINE_WIDTH+1) = *(dest+3*VIDEO_LINE_WIDTH) = *(dest+2*VIDEO_LINE_WIDTH+1) = *(dest+2*VIDEO_LINE_WIDTH) = *(dest+VIDEO_LINE_WIDTH+1) = *(dest+VIDEO_LINE_WIDTH) = *(dest+1) = *dest = *src; @@ -181,7 +181,7 @@ void Display_brush_color_tall2(word x_pos,word y_pos,word x_offset,word y_offset dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -193,8 +193,8 @@ void Display_brush_mono_tall2(word x_pos, word y_pos, byte transp_color, byte color, word brush_width) /* On affiche la brosse en monochrome */ { - byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à - // l'écran + byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à + // l'écran byte* src=brush_width*y_offset+x_offset+Brush; // src = adr ds // la brosse int x,y; @@ -213,7 +213,7 @@ void Display_brush_mono_tall2(word x_pos, word y_pos, dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=brush_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } @@ -222,8 +222,8 @@ void Display_brush_mono_tall2(word x_pos, word y_pos, void Clear_brush_tall2(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width) { - byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) - byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) + byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) int y; int x; (void)x_offset; // unused @@ -243,17 +243,17 @@ void Clear_brush_tall2(word x_pos,word y_pos,word x_offset,word y_offset,word wi dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } Update_rect(x_pos,y_pos,width,height); } -// Affiche une brosse (arbitraire) à l'écran +// Affiche une brosse (arbitraire) à l'écran void Display_brush_tall2(byte * brush, word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = brush + y_offset * brush_width + x_offset; @@ -266,7 +266,7 @@ void Display_brush_tall2(byte * brush, word x_pos,word y_pos,word x_offset,word // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+1)=*(dest)=*src; @@ -276,7 +276,7 @@ void Display_brush_tall2(byte * brush, word x_pos,word y_pos,word x_offset,word src++; dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -284,7 +284,7 @@ void Display_brush_tall2(byte * brush, word x_pos,word y_pos,word x_offset,word void Remap_screen_tall2(word x_pos,word y_pos,word width,word height,byte * conversion_table) { - // dest = coords a l'écran + // dest = coords a l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; int x,y; @@ -307,7 +307,7 @@ void Remap_screen_tall2(word x_pos,word y_pos,word width,word height,byte * conv void Display_line_on_screen_fast_tall2(word x_pos,word y_pos,word width,byte * line) /* On affiche toute une ligne de pixels telle quelle. */ -/* Utilisée si le buffer contient déja des pixel doublés. */ +/* Utilisée si le buffer contient déja des pixel doublés. */ { memcpy(Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width*ZOOMX); memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH,line,width*ZOOMX); @@ -331,8 +331,8 @@ void Display_line_on_screen_tall2(word x_pos,word y_pos,word width,byte * line) void Display_transparent_mono_line_on_screen_tall2( word x_pos, word y_pos, word width, byte* line, byte transp_color, byte color) -// Affiche une ligne à l'écran avec une couleur + transparence. -// Utilisé par les brosses en mode zoom +// Affiche une ligne à l'écran avec une couleur + transparence. +// Utilisé par les brosses en mode zoom { byte* dest = Screen_pixels+ y_pos*VIDEO_LINE_WIDTH + x_pos*ZOOMX; int x; @@ -354,31 +354,31 @@ void Read_line_screen_tall2(word x_pos,word y_pos,word width,byte * line) } void Display_part_of_screen_scaled_tall2( - word width, // width non zoomée - word height, // height zoomée + word width, // width non zoomée + word height, // height zoomée word image_width,byte * buffer) { byte* src = Main_screen + Main.magnifier_offset_Y * image_width + Main.magnifier_offset_X; int y = 0; // Ligne en cours de traitement - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1) { int x; - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); - // On l'affiche Facteur fois, sur des lignes consécutives + // On l'affiche Facteur fois, sur des lignes consécutives x = Main.magnifier_factor/**ZOOMY*/; // Pour chaque ligne do{ - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_line_on_screen_fast_tall2( Main.X_zoom, y, width*Main.magnifier_factor, buffer ); - // On passe à la suivante + // On passe à la suivante y++; if(y==height/**ZOOMY*/) { @@ -395,12 +395,12 @@ void Display_part_of_screen_scaled_tall2( // ATTENTION on n'arrive jamais ici ! } -// Affiche une partie de la brosse couleur zoomée +// Affiche une partie de la brosse couleur zoomée void Display_brush_color_zoom_tall2(word x_pos,word y_pos, word x_offset,word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos,byte transp_color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer) { byte* src = Brush+y_offset*brush_width + x_offset; @@ -411,7 +411,7 @@ void Display_brush_color_zoom_tall2(word x_pos,word y_pos, while(1) { Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche facteur fois la ligne zoomée + // On affiche facteur fois la ligne zoomée for(bx=Main.magnifier_factor;bx>0;bx--) { byte* line_src = buffer; @@ -446,10 +446,10 @@ void Display_brush_color_zoom_tall2(word x_pos,word y_pos, void Display_brush_mono_zoom_tall2(word x_pos, word y_pos, word x_offset, word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos, byte transp_color, byte color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer ) @@ -457,29 +457,29 @@ void Display_brush_mono_zoom_tall2(word x_pos, word y_pos, byte* src = Brush + y_offset * brush_width + x_offset; int y=y_pos*ZOOMY; - //Pour chaque ligne à zoomer : + //Pour chaque ligne à zoomer : while(1) { int bx; // src = Ligne originale - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche la ligne Facteur fois à l'écran (sur des - // lignes consécutives) + // On affiche la ligne Facteur fois à l'écran (sur des + // lignes consécutives) bx = Main.magnifier_factor*ZOOMY; - // Pour chaque ligne écran + // Pour chaque ligne écran do { - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_transparent_mono_line_on_screen_tall2( x_pos, y, width * Main.magnifier_factor, buffer, transp_color, color ); - // On passe à la ligne suivante + // On passe à la ligne suivante y++; - // On vérifie qu'on est pas à la ligne finale + // On vérifie qu'on est pas à la ligne finale if(y == end_y_pos*ZOOMY) { Redraw_grid( x_pos, y_pos, @@ -492,7 +492,7 @@ void Display_brush_mono_zoom_tall2(word x_pos, word y_pos, } while (bx > 0); - // Passage à la ligne suivante dans la brosse aussi + // Passage à la ligne suivante dans la brosse aussi src+=brush_width; } } @@ -500,13 +500,13 @@ void Display_brush_mono_zoom_tall2(word x_pos, word y_pos, void Clear_brush_scaled_tall2(word x_pos,word y_pos,word x_offset,word y_offset,word width,word end_y_pos,byte transp_color,word image_width,byte * buffer) { - // En fait on va recopier l'image non zoomée dans la partie zoomée ! + // En fait on va recopier l'image non zoomée dans la partie zoomée ! byte* src = Main_screen + y_offset * image_width + x_offset; int y = y_pos; int bx; (void)transp_color; // unused - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1){ Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); diff --git a/src/pxtall3.c b/src/pxtall3.c index 58742860..d9827016 100644 --- a/src/pxtall3.c +++ b/src/pxtall3.c @@ -35,7 +35,7 @@ void Pixel_tall3 (word x,word y,byte color) -/* Affiche un pixel de la color aux coords x;y à l'écran */ +/* Affiche un pixel de la color aux coords x;y à l'écran */ { *(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH)=color; *(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 1)=color; @@ -52,13 +52,13 @@ void Pixel_tall3 (word x,word y,byte color) } byte Read_pixel_tall3 (word x,word y) -/* On retourne la couleur du pixel aux coords données */ +/* On retourne la couleur du pixel aux coords données */ { return *( Screen_pixels + y * ZOOMY * VIDEO_LINE_WIDTH + x * ZOOMX); } void Block_tall3 (word start_x,word start_y,word width,word height,byte color) -/* On affiche un rectangle de la couleur donnée */ +/* On affiche un rectangle de la couleur donnée */ { SDL_Rect rectangle; rectangle.x=start_x*ZOOMX; @@ -69,10 +69,10 @@ void Block_tall3 (word start_x,word start_y,word width,word height,byte color) } void Display_part_of_screen_tall3 (word width,word height,word image_width) -/* Afficher une partie de l'image telle quelle sur l'écran */ +/* Afficher une partie de l'image telle quelle sur l'écran */ { - byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) - byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) + byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) int y; int dy; @@ -93,7 +93,7 @@ void Display_part_of_screen_tall3 (word width,word height,word image_width) // On la quadruple memcpy(dest-width*ZOOMX+3*VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX); - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; } @@ -101,10 +101,10 @@ void Display_part_of_screen_tall3 (word width,word height,word image_width) } void Pixel_preview_normal_tall3 (word x,word y,byte color) -/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image - * dans l'écran, en mode normal (pas en mode loupe) - * Note: si on modifie cette procédure, il faudra penser à faire également - * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ +/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image + * dans l'écran, en mode normal (pas en mode loupe) + * Note: si on modifie cette procédure, il faudra penser à faire également + * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ { // if(x-Main.offset_X >= 0 && y - Main.offset_Y >= 0) Pixel_tall3(x-Main.offset_X,y-Main.offset_Y,color); @@ -112,10 +112,10 @@ void Pixel_preview_normal_tall3 (word x,word y,byte color) void Pixel_preview_magnifier_tall3 (word x,word y,byte color) { - // Affiche le pixel dans la partie non zoomée + // Affiche le pixel dans la partie non zoomée Pixel_tall3(x-Main.offset_X,y-Main.offset_Y,color); - // Regarde si on doit aussi l'afficher dans la partie zoomée + // Regarde si on doit aussi l'afficher dans la partie zoomée if (y >= Limit_top_zoom && y <= Limit_visible_bottom_zoom && x >= Limit_left_zoom && x <= Limit_visible_right_zoom) { @@ -125,7 +125,7 @@ void Pixel_preview_magnifier_tall3 (word x,word y,byte color) if (Menu_Y - y_zoom < Main.magnifier_factor) // On ne doit dessiner qu'un morceau du pixel - // sinon on dépasse sur le menu + // sinon on dépasse sur le menu height = Menu_Y - y_zoom; else height = Main.magnifier_factor; @@ -161,7 +161,7 @@ void Vertical_XOR_line_tall3(word x_pos,word y_pos,word height) void Display_brush_color_tall3(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = Brush + y_offset * brush_width + x_offset; @@ -174,7 +174,7 @@ void Display_brush_color_tall3(word x_pos,word y_pos,word x_offset,word y_offset // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+3*VIDEO_LINE_WIDTH+2) =*(dest+3*VIDEO_LINE_WIDTH+1) = *(dest+3*VIDEO_LINE_WIDTH) = *(dest+2*VIDEO_LINE_WIDTH+2) =*(dest+2*VIDEO_LINE_WIDTH+1) = *(dest+2*VIDEO_LINE_WIDTH) = *(dest+VIDEO_LINE_WIDTH+2) =*(dest+VIDEO_LINE_WIDTH+1) = *(dest+VIDEO_LINE_WIDTH) = *(dest+2) =*(dest+1) = *dest = *src; @@ -185,7 +185,7 @@ void Display_brush_color_tall3(word x_pos,word y_pos,word x_offset,word y_offset dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -197,8 +197,8 @@ void Display_brush_mono_tall3(word x_pos, word y_pos, byte transp_color, byte color, word brush_width) /* On affiche la brosse en monochrome */ { - byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à - // l'écran + byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à + // l'écran byte* src=brush_width*y_offset+x_offset+Brush; // src = adr ds // la brosse int x,y; @@ -217,7 +217,7 @@ void Display_brush_mono_tall3(word x_pos, word y_pos, dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=brush_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } @@ -226,8 +226,8 @@ void Display_brush_mono_tall3(word x_pos, word y_pos, void Clear_brush_tall3(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width) { - byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) - byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) + byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) int y; int x; (void)x_offset; // unused @@ -247,17 +247,17 @@ void Clear_brush_tall3(word x_pos,word y_pos,word x_offset,word y_offset,word wi dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } Update_rect(x_pos,y_pos,width,height); } -// Affiche une brosse (arbitraire) à l'écran +// Affiche une brosse (arbitraire) à l'écran void Display_brush_tall3(byte * brush, word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = brush + y_offset * brush_width + x_offset; @@ -270,7 +270,7 @@ void Display_brush_tall3(byte * brush, word x_pos,word y_pos,word x_offset,word // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*(dest)=*src; @@ -280,7 +280,7 @@ void Display_brush_tall3(byte * brush, word x_pos,word y_pos,word x_offset,word src++; dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -288,7 +288,7 @@ void Display_brush_tall3(byte * brush, word x_pos,word y_pos,word x_offset,word void Remap_screen_tall3(word x_pos,word y_pos,word width,word height,byte * conversion_table) { - // dest = coords a l'écran + // dest = coords a l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; int x,y; @@ -311,7 +311,7 @@ void Remap_screen_tall3(word x_pos,word y_pos,word width,word height,byte * conv void Display_line_on_screen_fast_tall3(word x_pos,word y_pos,word width,byte * line) /* On affiche toute une ligne de pixels telle quelle. */ -/* Utilisée si le buffer contient déja des pixel doublés. */ +/* Utilisée si le buffer contient déja des pixel doublés. */ { memcpy(Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width*ZOOMX); memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH,line,width*ZOOMX); @@ -335,8 +335,8 @@ void Display_line_on_screen_tall3(word x_pos,word y_pos,word width,byte * line) void Display_transparent_mono_line_on_screen_tall3( word x_pos, word y_pos, word width, byte* line, byte transp_color, byte color) -// Affiche une ligne à l'écran avec une couleur + transparence. -// Utilisé par les brosses en mode zoom +// Affiche une ligne à l'écran avec une couleur + transparence. +// Utilisé par les brosses en mode zoom { byte* dest = Screen_pixels+ y_pos*VIDEO_LINE_WIDTH + x_pos*ZOOMX; int x; @@ -358,31 +358,31 @@ void Read_line_screen_tall3(word x_pos,word y_pos,word width,byte * line) } void Display_part_of_screen_scaled_tall3( - word width, // width non zoomée - word height, // height zoomée + word width, // width non zoomée + word height, // height zoomée word image_width,byte * buffer) { byte* src = Main_screen + Main.magnifier_offset_Y * image_width + Main.magnifier_offset_X; int y = 0; // Ligne en cours de traitement - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1) { int x; - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); - // On l'affiche Facteur fois, sur des lignes consécutives + // On l'affiche Facteur fois, sur des lignes consécutives x = Main.magnifier_factor/**ZOOMY*/; // Pour chaque ligne do{ - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_line_on_screen_fast_tall3( Main.X_zoom, y, width*Main.magnifier_factor, buffer ); - // On passe à la suivante + // On passe à la suivante y++; if(y==height/**ZOOMY*/) { @@ -399,12 +399,12 @@ void Display_part_of_screen_scaled_tall3( // ATTENTION on n'arrive jamais ici ! } -// Affiche une partie de la brosse couleur zoomée +// Affiche une partie de la brosse couleur zoomée void Display_brush_color_zoom_tall3(word x_pos,word y_pos, word x_offset,word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos,byte transp_color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer) { byte* src = Brush+y_offset*brush_width + x_offset; @@ -415,7 +415,7 @@ void Display_brush_color_zoom_tall3(word x_pos,word y_pos, while(1) { Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche facteur fois la ligne zoomée + // On affiche facteur fois la ligne zoomée for(bx=Main.magnifier_factor;bx>0;bx--) { byte* line_src = buffer; @@ -450,10 +450,10 @@ void Display_brush_color_zoom_tall3(word x_pos,word y_pos, void Display_brush_mono_zoom_tall3(word x_pos, word y_pos, word x_offset, word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos, byte transp_color, byte color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer ) @@ -461,29 +461,29 @@ void Display_brush_mono_zoom_tall3(word x_pos, word y_pos, byte* src = Brush + y_offset * brush_width + x_offset; int y=y_pos*ZOOMY; - //Pour chaque ligne à zoomer : + //Pour chaque ligne à zoomer : while(1) { int bx; // src = Ligne originale - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche la ligne Facteur fois à l'écran (sur des - // lignes consécutives) + // On affiche la ligne Facteur fois à l'écran (sur des + // lignes consécutives) bx = Main.magnifier_factor*ZOOMY; - // Pour chaque ligne écran + // Pour chaque ligne écran do { - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_transparent_mono_line_on_screen_tall3( x_pos, y, width * Main.magnifier_factor, buffer, transp_color, color ); - // On passe à la ligne suivante + // On passe à la ligne suivante y++; - // On vérifie qu'on est pas à la ligne finale + // On vérifie qu'on est pas à la ligne finale if(y == end_y_pos*ZOOMY) { Redraw_grid( x_pos, y_pos, @@ -496,7 +496,7 @@ void Display_brush_mono_zoom_tall3(word x_pos, word y_pos, } while (bx > 0); - // Passage à la ligne suivante dans la brosse aussi + // Passage à la ligne suivante dans la brosse aussi src+=brush_width; } } @@ -504,13 +504,13 @@ void Display_brush_mono_zoom_tall3(word x_pos, word y_pos, void Clear_brush_scaled_tall3(word x_pos,word y_pos,word x_offset,word y_offset,word width,word end_y_pos,byte transp_color,word image_width,byte * buffer) { - // En fait on va recopier l'image non zoomée dans la partie zoomée ! + // En fait on va recopier l'image non zoomée dans la partie zoomée ! byte* src = Main_screen + y_offset * image_width + x_offset; int y = y_pos; int bx; (void)transp_color; // unused - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1){ Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); diff --git a/src/pxtriple.c b/src/pxtriple.c index 2b49ce80..2cb661c1 100644 --- a/src/pxtriple.c +++ b/src/pxtriple.c @@ -35,7 +35,7 @@ void Pixel_triple (word x,word y,byte color) -/* Affiche un pixel de la color aux coords x;y à l'écran */ +/* Affiche un pixel de la color aux coords x;y à l'écran */ { *(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH)=color; *(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 1)=color; @@ -49,13 +49,13 @@ void Pixel_triple (word x,word y,byte color) } byte Read_pixel_triple (word x,word y) -/* On retourne la couleur du pixel aux coords données */ +/* On retourne la couleur du pixel aux coords données */ { return *( Screen_pixels + y * ZOOMY * VIDEO_LINE_WIDTH + x * ZOOMX); } void Block_triple (word start_x,word start_y,word width,word height,byte color) -/* On affiche un rectangle de la couleur donnée */ +/* On affiche un rectangle de la couleur donnée */ { SDL_Rect rectangle; rectangle.x=start_x*ZOOMX; @@ -66,10 +66,10 @@ void Block_triple (word start_x,word start_y,word width,word height,byte color) } void Display_part_of_screen_triple (word width,word height,word image_width) -/* Afficher une partie de l'image telle quelle sur l'écran */ +/* Afficher une partie de l'image telle quelle sur l'écran */ { - byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) - byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) + byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) int y; int dy; @@ -88,7 +88,7 @@ void Display_part_of_screen_triple (word width,word height,word image_width) // On la triple memcpy(dest-width*ZOOMX+2*VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX); - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; } @@ -96,10 +96,10 @@ void Display_part_of_screen_triple (word width,word height,word image_width) } void Pixel_preview_normal_triple (word x,word y,byte color) -/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image - * dans l'écran, en mode normal (pas en mode loupe) - * Note: si on modifie cette procédure, il faudra penser à faire également - * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ +/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image + * dans l'écran, en mode normal (pas en mode loupe) + * Note: si on modifie cette procédure, il faudra penser à faire également + * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ { // if(x-Main.offset_X >= 0 && y - Main.offset_Y >= 0) Pixel_triple(x-Main.offset_X,y-Main.offset_Y,color); @@ -107,10 +107,10 @@ void Pixel_preview_normal_triple (word x,word y,byte color) void Pixel_preview_magnifier_triple (word x,word y,byte color) { - // Affiche le pixel dans la partie non zoomée + // Affiche le pixel dans la partie non zoomée Pixel_triple(x-Main.offset_X,y-Main.offset_Y,color); - // Regarde si on doit aussi l'afficher dans la partie zoomée + // Regarde si on doit aussi l'afficher dans la partie zoomée if (y >= Limit_top_zoom && y <= Limit_visible_bottom_zoom && x >= Limit_left_zoom && x <= Limit_visible_right_zoom) { @@ -120,7 +120,7 @@ void Pixel_preview_magnifier_triple (word x,word y,byte color) if (Menu_Y - y_zoom < Main.magnifier_factor) // On ne doit dessiner qu'un morceau du pixel - // sinon on dépasse sur le menu + // sinon on dépasse sur le menu height = Menu_Y - y_zoom; else height = Main.magnifier_factor; @@ -156,7 +156,7 @@ void Vertical_XOR_line_triple(word x_pos,word y_pos,word height) void Display_brush_color_triple(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = Brush + y_offset * brush_width + x_offset; @@ -169,7 +169,7 @@ void Display_brush_color_triple(word x_pos,word y_pos,word x_offset,word y_offse // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+2*VIDEO_LINE_WIDTH+2) = *(dest+2*VIDEO_LINE_WIDTH+1) = *(dest+2*VIDEO_LINE_WIDTH) = *(dest+VIDEO_LINE_WIDTH+2) = *(dest+VIDEO_LINE_WIDTH+1) = *(dest+VIDEO_LINE_WIDTH) = *(dest+2) = *(dest+1) = *dest = *src; @@ -180,7 +180,7 @@ void Display_brush_color_triple(word x_pos,word y_pos,word x_offset,word y_offse dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -192,8 +192,8 @@ void Display_brush_mono_triple(word x_pos, word y_pos, byte transp_color, byte color, word brush_width) /* On affiche la brosse en monochrome */ { - byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à - // l'écran + byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à + // l'écran byte* src=brush_width*y_offset+x_offset+Brush; // src = adr ds // la brosse int x,y; @@ -212,7 +212,7 @@ void Display_brush_mono_triple(word x_pos, word y_pos, dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=brush_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } @@ -221,8 +221,8 @@ void Display_brush_mono_triple(word x_pos, word y_pos, void Clear_brush_triple(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width) { - byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) - byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) + byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) int y; int x; (void)x_offset; // unused @@ -242,17 +242,17 @@ void Clear_brush_triple(word x_pos,word y_pos,word x_offset,word y_offset,word w dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } Update_rect(x_pos,y_pos,width,height); } -// Affiche une brosse (arbitraire) à l'écran +// Affiche une brosse (arbitraire) à l'écran void Display_brush_triple(byte * brush, word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = brush + y_offset * brush_width + x_offset; @@ -265,7 +265,7 @@ void Display_brush_triple(byte * brush, word x_pos,word y_pos,word x_offset,word // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*dest=*src; @@ -275,7 +275,7 @@ void Display_brush_triple(byte * brush, word x_pos,word y_pos,word x_offset,word src++; dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -283,7 +283,7 @@ void Display_brush_triple(byte * brush, word x_pos,word y_pos,word x_offset,word void Remap_screen_triple(word x_pos,word y_pos,word width,word height,byte * conversion_table) { - // dest = coords a l'écran + // dest = coords a l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; int x,y; @@ -306,7 +306,7 @@ void Remap_screen_triple(word x_pos,word y_pos,word width,word height,byte * con void Display_line_on_screen_fast_triple(word x_pos,word y_pos,word width,byte * line) /* On affiche toute une ligne de pixels telle quelle. */ -/* Utilisée si le buffer contient déja des pixel doublés. */ +/* Utilisée si le buffer contient déja des pixel doublés. */ { memcpy(Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width*ZOOMX); memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH,line,width*ZOOMX); @@ -329,8 +329,8 @@ void Display_line_on_screen_triple(word x_pos,word y_pos,word width,byte * line) void Display_transparent_mono_line_on_screen_triple( word x_pos, word y_pos, word width, byte* line, byte transp_color, byte color) -// Affiche une ligne à l'écran avec une couleur + transparence. -// Utilisé par les brosses en mode zoom +// Affiche une ligne à l'écran avec une couleur + transparence. +// Utilisé par les brosses en mode zoom { byte* dest = Screen_pixels+ y_pos*VIDEO_LINE_WIDTH + x_pos*ZOOMX; int x; @@ -352,31 +352,31 @@ void Read_line_screen_triple(word x_pos,word y_pos,word width,byte * line) } void Display_part_of_screen_scaled_triple( - word width, // width non zoomée - word height, // height zoomée + word width, // width non zoomée + word height, // height zoomée word image_width,byte * buffer) { byte* src = Main_screen + Main.magnifier_offset_Y * image_width + Main.magnifier_offset_X; int y = 0; // Ligne en cours de traitement - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1) { int x; - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); - // On l'affiche Facteur fois, sur des lignes consécutives + // On l'affiche Facteur fois, sur des lignes consécutives x = Main.magnifier_factor/**ZOOMY*/; // Pour chaque ligne do{ - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_line_on_screen_fast_triple( Main.X_zoom, y, width*Main.magnifier_factor, buffer ); - // On passe à la suivante + // On passe à la suivante y++; if(y==height/**ZOOMY*/) { @@ -393,12 +393,12 @@ void Display_part_of_screen_scaled_triple( // ATTENTION on n'arrive jamais ici ! } -// Affiche une partie de la brosse couleur zoomée +// Affiche une partie de la brosse couleur zoomée void Display_brush_color_zoom_triple(word x_pos,word y_pos, word x_offset,word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos,byte transp_color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer) { byte* src = Brush+y_offset*brush_width + x_offset; @@ -409,7 +409,7 @@ void Display_brush_color_zoom_triple(word x_pos,word y_pos, while(1) { Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche facteur fois la ligne zoomée + // On affiche facteur fois la ligne zoomée for(bx=Main.magnifier_factor;bx>0;bx--) { byte* line_src = buffer; @@ -442,10 +442,10 @@ void Display_brush_color_zoom_triple(word x_pos,word y_pos, void Display_brush_mono_zoom_triple(word x_pos, word y_pos, word x_offset, word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos, byte transp_color, byte color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer ) @@ -453,29 +453,29 @@ void Display_brush_mono_zoom_triple(word x_pos, word y_pos, byte* src = Brush + y_offset * brush_width + x_offset; int y=y_pos*ZOOMY; - //Pour chaque ligne à zoomer : + //Pour chaque ligne à zoomer : while(1) { int bx; // src = Ligne originale - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche la ligne Facteur fois à l'écran (sur des - // lignes consécutives) + // On affiche la ligne Facteur fois à l'écran (sur des + // lignes consécutives) bx = Main.magnifier_factor*ZOOMY; - // Pour chaque ligne écran + // Pour chaque ligne écran do { - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_transparent_mono_line_on_screen_triple( x_pos, y, width * Main.magnifier_factor, buffer, transp_color, color ); - // On passe à la ligne suivante + // On passe à la ligne suivante y++; - // On vérifie qu'on est pas à la ligne finale + // On vérifie qu'on est pas à la ligne finale if(y == end_y_pos*ZOOMY) { Redraw_grid( x_pos, y_pos, @@ -488,7 +488,7 @@ void Display_brush_mono_zoom_triple(word x_pos, word y_pos, } while (bx > 0); - // Passage à la ligne suivante dans la brosse aussi + // Passage à la ligne suivante dans la brosse aussi src+=brush_width; } } @@ -496,13 +496,13 @@ void Display_brush_mono_zoom_triple(word x_pos, word y_pos, void Clear_brush_scaled_triple(word x_pos,word y_pos,word x_offset,word y_offset,word width,word end_y_pos,byte transp_color,word image_width,byte * buffer) { - // En fait on va recopier l'image non zoomée dans la partie zoomée ! + // En fait on va recopier l'image non zoomée dans la partie zoomée ! byte* src = Main_screen + y_offset * image_width + x_offset; int y = y_pos; int bx; (void)transp_color; // unused - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1){ Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); diff --git a/src/pxwide.c b/src/pxwide.c index ecc50ce5..6f3675bb 100644 --- a/src/pxwide.c +++ b/src/pxwide.c @@ -35,20 +35,20 @@ void Pixel_wide (word x,word y,byte color) -/* Affiche un pixel de la color aux coords x;y à l'écran */ +/* Affiche un pixel de la color aux coords x;y à l'écran */ { *(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH)=color; *(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 1)=color; } byte Read_pixel_wide (word x,word y) -/* On retourne la couleur du pixel aux coords données */ +/* On retourne la couleur du pixel aux coords données */ { return *( Screen_pixels + y * ZOOMY * VIDEO_LINE_WIDTH + x * ZOOMX); } void Block_wide (word start_x,word start_y,word width,word height,byte color) -/* On affiche un rectangle de la couleur donnée */ +/* On affiche un rectangle de la couleur donnée */ { SDL_Rect rectangle; rectangle.x=start_x*ZOOMX; @@ -59,10 +59,10 @@ void Block_wide (word start_x,word start_y,word width,word height,byte color) } void Display_part_of_screen_wide (word width,word height,word image_width) -/* Afficher une partie de l'image telle quelle sur l'écran */ +/* Afficher une partie de l'image telle quelle sur l'écran */ { - byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) - byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) + byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) int y; int dy; @@ -77,7 +77,7 @@ void Display_part_of_screen_wide (word width,word height,word image_width) dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; } @@ -85,10 +85,10 @@ void Display_part_of_screen_wide (word width,word height,word image_width) } void Pixel_preview_normal_wide (word x,word y,byte color) -/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image - * dans l'écran, en mode normal (pas en mode loupe) - * Note: si on modifie cette procédure, il faudra penser à faire également - * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ +/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image + * dans l'écran, en mode normal (pas en mode loupe) + * Note: si on modifie cette procédure, il faudra penser à faire également + * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ { // if(x-Main.offset_X >= 0 && y - Main.offset_Y >= 0) Pixel_wide(x-Main.offset_X,y-Main.offset_Y,color); @@ -96,10 +96,10 @@ void Pixel_preview_normal_wide (word x,word y,byte color) void Pixel_preview_magnifier_wide (word x,word y,byte color) { - // Affiche le pixel dans la partie non zoomée + // Affiche le pixel dans la partie non zoomée Pixel_wide(x-Main.offset_X,y-Main.offset_Y,color); - // Regarde si on doit aussi l'afficher dans la partie zoomée + // Regarde si on doit aussi l'afficher dans la partie zoomée if (y >= Limit_top_zoom && y <= Limit_visible_bottom_zoom && x >= Limit_left_zoom && x <= Limit_visible_right_zoom) { @@ -109,7 +109,7 @@ void Pixel_preview_magnifier_wide (word x,word y,byte color) if (Menu_Y - y_zoom < Main.magnifier_factor) // On ne doit dessiner qu'un morceau du pixel - // sinon on dépasse sur le menu + // sinon on dépasse sur le menu height = Menu_Y - y_zoom; else height = Main.magnifier_factor; @@ -145,7 +145,7 @@ void Vertical_XOR_line_wide(word x_pos,word y_pos,word height) void Display_brush_color_wide(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = Brush + y_offset * brush_width + x_offset; @@ -158,7 +158,7 @@ void Display_brush_color_wide(word x_pos,word y_pos,word x_offset,word y_offset, // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+1) = *dest = *src; @@ -169,7 +169,7 @@ void Display_brush_color_wide(word x_pos,word y_pos,word x_offset,word y_offset, dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -181,8 +181,8 @@ void Display_brush_mono_wide(word x_pos, word y_pos, byte transp_color, byte color, word brush_width) /* On affiche la brosse en monochrome */ { - byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à - // l'écran + byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à + // l'écran byte* src=brush_width*y_offset+x_offset+Brush; // src = adr ds // la brosse int x,y; @@ -201,7 +201,7 @@ void Display_brush_mono_wide(word x_pos, word y_pos, dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=brush_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } @@ -210,8 +210,8 @@ void Display_brush_mono_wide(word x_pos, word y_pos, void Clear_brush_wide(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width) { - byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) - byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) + byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) int y; int x; (void)x_offset; // unused @@ -231,17 +231,17 @@ void Clear_brush_wide(word x_pos,word y_pos,word x_offset,word y_offset,word wid dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } Update_rect(x_pos,y_pos,width,height); } -// Affiche une brosse (arbitraire) à l'écran +// Affiche une brosse (arbitraire) à l'écran void Display_brush_wide(byte * brush, word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = brush + y_offset * brush_width + x_offset; @@ -254,7 +254,7 @@ void Display_brush_wide(byte * brush, word x_pos,word y_pos,word x_offset,word y // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+1) = *dest = *src; @@ -264,7 +264,7 @@ void Display_brush_wide(byte * brush, word x_pos,word y_pos,word x_offset,word y src++; dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -272,7 +272,7 @@ void Display_brush_wide(byte * brush, word x_pos,word y_pos,word x_offset,word y void Remap_screen_wide(word x_pos,word y_pos,word width,word height,byte * conversion_table) { - // dest = coords a l'écran + // dest = coords a l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; int x,y; @@ -294,7 +294,7 @@ void Remap_screen_wide(word x_pos,word y_pos,word width,word height,byte * conve void Display_line_on_screen_fast_wide(word x_pos,word y_pos,word width,byte * line) /* On affiche toute une ligne de pixels telle quelle. */ -/* Utilisée si le buffer contient déja des pixel doublés. */ +/* Utilisée si le buffer contient déja des pixel doublés. */ { memcpy(Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width*ZOOMX); } @@ -315,8 +315,8 @@ void Display_line_on_screen_wide(word x_pos,word y_pos,word width,byte * line) void Display_transparent_mono_line_on_screen_wide( word x_pos, word y_pos, word width, byte* line, byte transp_color, byte color) -// Affiche une ligne à l'écran avec une couleur + transparence. -// Utilisé par les brosses en mode zoom +// Affiche une ligne à l'écran avec une couleur + transparence. +// Utilisé par les brosses en mode zoom { byte* dest = Screen_pixels+ y_pos*VIDEO_LINE_WIDTH + x_pos*ZOOMX; int x; @@ -338,31 +338,31 @@ void Read_line_screen_wide(word x_pos,word y_pos,word width,byte * line) } void Display_part_of_screen_scaled_wide( - word width, // width non zoomée - word height, // height zoomée + word width, // width non zoomée + word height, // height zoomée word image_width,byte * buffer) { byte* src = Main_screen + Main.magnifier_offset_Y * image_width + Main.magnifier_offset_X; int y = 0; // Ligne en cours de traitement - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1) { int x; - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); - // On l'affiche Facteur fois, sur des lignes consécutives + // On l'affiche Facteur fois, sur des lignes consécutives x = Main.magnifier_factor; // Pour chaque ligne do{ - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_line_on_screen_fast_wide( Main.X_zoom, y, width*Main.magnifier_factor, buffer ); - // On passe à la suivante + // On passe à la suivante y++; if(y==height) { @@ -397,12 +397,12 @@ void Display_transparent_line_on_screen_wide(word x_pos,word y_pos,word width,by } } -// Affiche une partie de la brosse couleur zoomée +// Affiche une partie de la brosse couleur zoomée void Display_brush_color_zoom_wide(word x_pos,word y_pos, word x_offset,word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos,byte transp_color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer) { byte* src = Brush+y_offset*brush_width + x_offset; @@ -413,7 +413,7 @@ void Display_brush_color_zoom_wide(word x_pos,word y_pos, while(1) { Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche facteur fois la ligne zoomée + // On affiche facteur fois la ligne zoomée for(bx=Main.magnifier_factor;bx>0;bx--) { Display_transparent_line_on_screen_wide(x_pos,y*ZOOMY,width*Main.magnifier_factor,buffer,transp_color); @@ -430,10 +430,10 @@ void Display_brush_color_zoom_wide(word x_pos,word y_pos, void Display_brush_mono_zoom_wide(word x_pos, word y_pos, word x_offset, word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos, byte transp_color, byte color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer ) @@ -441,29 +441,29 @@ void Display_brush_mono_zoom_wide(word x_pos, word y_pos, byte* src = Brush + y_offset * brush_width + x_offset; int y=y_pos*ZOOMY; - //Pour chaque ligne à zoomer : + //Pour chaque ligne à zoomer : while(1) { int bx; // src = Ligne originale - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche la ligne Facteur fois à l'écran (sur des - // lignes consécutives) + // On affiche la ligne Facteur fois à l'écran (sur des + // lignes consécutives) bx = Main.magnifier_factor*ZOOMY; - // Pour chaque ligne écran + // Pour chaque ligne écran do { - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_transparent_mono_line_on_screen_wide( x_pos, y, width * Main.magnifier_factor, buffer, transp_color, color ); - // On passe à la ligne suivante + // On passe à la ligne suivante y++; - // On vérifie qu'on est pas à la ligne finale + // On vérifie qu'on est pas à la ligne finale if(y == end_y_pos*ZOOMY) { Redraw_grid( x_pos, y_pos, @@ -476,20 +476,20 @@ void Display_brush_mono_zoom_wide(word x_pos, word y_pos, } while (bx > 0); - // Passage à la ligne suivante dans la brosse aussi + // Passage à la ligne suivante dans la brosse aussi src+=brush_width; } } void Clear_brush_scaled_wide(word x_pos,word y_pos,word x_offset,word y_offset,word width,word end_y_pos,byte transp_color,word image_width,byte * buffer) { - // En fait on va recopier l'image non zoomée dans la partie zoomée ! + // En fait on va recopier l'image non zoomée dans la partie zoomée ! byte* src = Main_screen + y_offset * image_width + x_offset; int y = y_pos; int bx; (void)transp_color; // unused - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1){ Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); diff --git a/src/pxwide2.c b/src/pxwide2.c index c8179952..8d810ffc 100644 --- a/src/pxwide2.c +++ b/src/pxwide2.c @@ -35,7 +35,7 @@ void Pixel_wide2 (word x,word y,byte color) -/* Affiche un pixel de la color aux coords x;y à l'écran */ +/* Affiche un pixel de la color aux coords x;y à l'écran */ { *(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH)=color; *(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 1)=color; @@ -48,13 +48,13 @@ void Pixel_wide2 (word x,word y,byte color) } byte Read_pixel_wide2 (word x,word y) -/* On retourne la couleur du pixel aux coords données */ +/* On retourne la couleur du pixel aux coords données */ { return *( Screen_pixels + y * ZOOMY * VIDEO_LINE_WIDTH + x * ZOOMX); } void Block_wide2 (word start_x,word start_y,word width,word height,byte color) -/* On affiche un rectangle de la couleur donnée */ +/* On affiche un rectangle de la couleur donnée */ { SDL_Rect rectangle; rectangle.x=start_x*ZOOMX; @@ -65,10 +65,10 @@ void Block_wide2 (word start_x,word start_y,word width,word height,byte color) } void Display_part_of_screen_wide2 (word width,word height,word image_width) -/* Afficher une partie de l'image telle quelle sur l'écran */ +/* Afficher une partie de l'image telle quelle sur l'écran */ { - byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) - byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels; //On va se mettre en 0,0 dans l'écran (dest) + byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src) int y; int dy; @@ -85,7 +85,7 @@ void Display_part_of_screen_wide2 (word width,word height,word image_width) // On double la ligne qu'on vient de copier memcpy(dest-width*ZOOMX+VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX); - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; } @@ -93,10 +93,10 @@ void Display_part_of_screen_wide2 (word width,word height,word image_width) } void Pixel_preview_normal_wide2 (word x,word y,byte color) -/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image - * dans l'écran, en mode normal (pas en mode loupe) - * Note: si on modifie cette procédure, il faudra penser à faire également - * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ +/* Affichage d'un pixel dans l'écran, par rapport au décalage de l'image + * dans l'écran, en mode normal (pas en mode loupe) + * Note: si on modifie cette procédure, il faudra penser à faire également + * la modif dans la procédure Pixel_Preview_Loupe_SDL. */ { // if(x-Main.offset_X >= 0 && y - Main.offset_Y >= 0) Pixel_wide2(x-Main.offset_X,y-Main.offset_Y,color); @@ -104,10 +104,10 @@ void Pixel_preview_normal_wide2 (word x,word y,byte color) void Pixel_preview_magnifier_wide2 (word x,word y,byte color) { - // Affiche le pixel dans la partie non zoomée + // Affiche le pixel dans la partie non zoomée Pixel_wide2(x-Main.offset_X,y-Main.offset_Y,color); - // Regarde si on doit aussi l'afficher dans la partie zoomée + // Regarde si on doit aussi l'afficher dans la partie zoomée if (y >= Limit_top_zoom && y <= Limit_visible_bottom_zoom && x >= Limit_left_zoom && x <= Limit_visible_right_zoom) { @@ -117,7 +117,7 @@ void Pixel_preview_magnifier_wide2 (word x,word y,byte color) if (Menu_Y - y_zoom < Main.magnifier_factor) // On ne doit dessiner qu'un morceau du pixel - // sinon on dépasse sur le menu + // sinon on dépasse sur le menu height = Menu_Y - y_zoom; else height = Main.magnifier_factor; @@ -153,7 +153,7 @@ void Vertical_XOR_line_wide2(word x_pos,word y_pos,word height) void Display_brush_color_wide2(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = Brush + y_offset * brush_width + x_offset; @@ -166,7 +166,7 @@ void Display_brush_color_wide2(word x_pos,word y_pos,word x_offset,word y_offset // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+VIDEO_LINE_WIDTH+3) = *(dest+VIDEO_LINE_WIDTH+2) = *(dest+VIDEO_LINE_WIDTH+1) = *(dest+VIDEO_LINE_WIDTH) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = *src; @@ -177,7 +177,7 @@ void Display_brush_color_wide2(word x_pos,word y_pos,word x_offset,word y_offset dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -189,8 +189,8 @@ void Display_brush_mono_wide2(word x_pos, word y_pos, byte transp_color, byte color, word brush_width) /* On affiche la brosse en monochrome */ { - byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à - // l'écran + byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels; // dest = adr destination à + // l'écran byte* src=brush_width*y_offset+x_offset+Brush; // src = adr ds // la brosse int x,y; @@ -209,7 +209,7 @@ void Display_brush_mono_wide2(word x_pos, word y_pos, dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=brush_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } @@ -218,8 +218,8 @@ void Display_brush_mono_wide2(word x_pos, word y_pos, void Clear_brush_wide2(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width) { - byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) - byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) + byte* dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH; //On va se mettre en 0,0 dans l'écran (dest) + byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src) int y; int x; (void)x_offset; // unused @@ -239,17 +239,17 @@ void Clear_brush_wide2(word x_pos,word y_pos,word x_offset,word y_offset,word wi dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante src+=image_width-width; dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX; } Update_rect(x_pos,y_pos,width,height); } -// Affiche une brosse (arbitraire) à l'écran +// Affiche une brosse (arbitraire) à l'écran void Display_brush_wide2(byte * brush, word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word brush_width) { - // dest = Position à l'écran + // dest = Position à l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; // src = Position dans la brosse byte* src = brush + y_offset * brush_width + x_offset; @@ -262,7 +262,7 @@ void Display_brush_wide2(byte * brush, word x_pos,word y_pos,word x_offset,word // Pour chaque pixel for(x = width;x > 0; x--) { - // On vérifie que ce n'est pas la transparence + // On vérifie que ce n'est pas la transparence if(*src != transp_color) { *(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*dest=*src; @@ -272,7 +272,7 @@ void Display_brush_wide2(byte * brush, word x_pos,word y_pos,word x_offset,word src++; dest+=ZOOMX; } - // On passe à la ligne suivante + // On passe à la ligne suivante dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX; src = src + brush_width - width; } @@ -280,7 +280,7 @@ void Display_brush_wide2(byte * brush, word x_pos,word y_pos,word x_offset,word void Remap_screen_wide2(word x_pos,word y_pos,word width,word height,byte * conversion_table) { - // dest = coords a l'écran + // dest = coords a l'écran byte* dest = Screen_pixels + y_pos * ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX; int x,y; @@ -303,7 +303,7 @@ void Remap_screen_wide2(word x_pos,word y_pos,word width,word height,byte * conv void Display_line_on_screen_fast_wide2(word x_pos,word y_pos,word width,byte * line) /* On affiche toute une ligne de pixels telle quelle. */ -/* Utilisée si le buffer contient déja des pixel doublés. */ +/* Utilisée si le buffer contient déja des pixel doublés. */ { memcpy(Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width*ZOOMX); memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH,line,width*ZOOMX); @@ -325,8 +325,8 @@ void Display_line_on_screen_wide2(word x_pos,word y_pos,word width,byte * line) void Display_transparent_mono_line_on_screen_wide2( word x_pos, word y_pos, word width, byte* line, byte transp_color, byte color) -// Affiche une ligne à l'écran avec une couleur + transparence. -// Utilisé par les brosses en mode zoom +// Affiche une ligne à l'écran avec une couleur + transparence. +// Utilisé par les brosses en mode zoom { byte* dest = Screen_pixels+ y_pos*VIDEO_LINE_WIDTH + x_pos*ZOOMX; int x; @@ -348,31 +348,31 @@ void Read_line_screen_wide2(word x_pos,word y_pos,word width,byte * line) } void Display_part_of_screen_scaled_wide2( - word width, // width non zoomée - word height, // height zoomée + word width, // width non zoomée + word height, // height zoomée word image_width,byte * buffer) { byte* src = Main_screen + Main.magnifier_offset_Y * image_width + Main.magnifier_offset_X; int y = 0; // Ligne en cours de traitement - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1) { int x; - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); - // On l'affiche Facteur fois, sur des lignes consécutives + // On l'affiche Facteur fois, sur des lignes consécutives x = Main.magnifier_factor/**ZOOMY*/; // Pour chaque ligne do{ - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_line_on_screen_fast_wide2( Main.X_zoom, y, width*Main.magnifier_factor, buffer ); - // On passe à la suivante + // On passe à la suivante y++; if(y==height/**ZOOMY*/) { @@ -389,12 +389,12 @@ void Display_part_of_screen_scaled_wide2( // ATTENTION on n'arrive jamais ici ! } -// Affiche une partie de la brosse couleur zoomée +// Affiche une partie de la brosse couleur zoomée void Display_brush_color_zoom_wide2(word x_pos,word y_pos, word x_offset,word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos,byte transp_color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer) { byte* src = Brush+y_offset*brush_width + x_offset; @@ -405,7 +405,7 @@ void Display_brush_color_zoom_wide2(word x_pos,word y_pos, while(1) { Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche facteur fois la ligne zoomée + // On affiche facteur fois la ligne zoomée for(bx=Main.magnifier_factor;bx>0;bx--) { byte* line_src = buffer; @@ -436,10 +436,10 @@ void Display_brush_color_zoom_wide2(word x_pos,word y_pos, void Display_brush_mono_zoom_wide2(word x_pos, word y_pos, word x_offset, word y_offset, - word width, // width non zoomée + word width, // width non zoomée word end_y_pos, byte transp_color, byte color, - word brush_width, // width réelle de la brosse + word brush_width, // width réelle de la brosse byte * buffer ) @@ -447,29 +447,29 @@ void Display_brush_mono_zoom_wide2(word x_pos, word y_pos, byte* src = Brush + y_offset * brush_width + x_offset; int y=y_pos*ZOOMY; - //Pour chaque ligne à zoomer : + //Pour chaque ligne à zoomer : while(1) { int bx; // src = Ligne originale - // On éclate la ligne + // On éclate la ligne Zoom_a_line(src,buffer,Main.magnifier_factor,width); - // On affiche la ligne Facteur fois à l'écran (sur des - // lignes consécutives) + // On affiche la ligne Facteur fois à l'écran (sur des + // lignes consécutives) bx = Main.magnifier_factor*ZOOMY; - // Pour chaque ligne écran + // Pour chaque ligne écran do { - // On affiche la ligne zoomée + // On affiche la ligne zoomée Display_transparent_mono_line_on_screen_wide2( x_pos, y, width * Main.magnifier_factor, buffer, transp_color, color ); - // On passe à la ligne suivante + // On passe à la ligne suivante y++; - // On vérifie qu'on est pas à la ligne finale + // On vérifie qu'on est pas à la ligne finale if(y == end_y_pos*ZOOMY) { Redraw_grid( x_pos, y_pos, @@ -482,7 +482,7 @@ void Display_brush_mono_zoom_wide2(word x_pos, word y_pos, } while (bx > 0); - // Passage à la ligne suivante dans la brosse aussi + // Passage à la ligne suivante dans la brosse aussi src+=brush_width; } } @@ -490,13 +490,13 @@ void Display_brush_mono_zoom_wide2(word x_pos, word y_pos, void Clear_brush_scaled_wide2(word x_pos,word y_pos,word x_offset,word y_offset,word width,word end_y_pos,byte transp_color,word image_width,byte * buffer) { - // En fait on va recopier l'image non zoomée dans la partie zoomée ! + // En fait on va recopier l'image non zoomée dans la partie zoomée ! byte* src = Main_screen + y_offset * image_width + x_offset; int y = y_pos; int bx; (void)transp_color; // unused - // Pour chaque ligne à zoomer + // Pour chaque ligne à zoomer while(1){ Zoom_a_line(src,buffer,Main.magnifier_factor*ZOOMX,width); diff --git a/src/readini.c b/src/readini.c index e9c1258f..b41aa2e9 100644 --- a/src/readini.c +++ b/src/readini.c @@ -2,7 +2,7 @@ */ /* Grafx2 - The Ultimate 256-color bitmap paint program - Copyright 2011 Pawel Góralski + Copyright 2011 Pawel Góralski Copyright 2008 Peter Gordon Copyright 2008 Yves Rizoud Copyright 2007 Adrien Destugues @@ -55,7 +55,7 @@ void Load_INI_clear_string(char * str, byte keep_comments) { equal_found=1; index++; - // On enleve les espaces après le '=' + // On enleve les espaces après le '=' while (str[index]==' ' || str[index]=='\t') memmove(str+index,str+index+1,strlen(str+index)); } @@ -78,7 +78,7 @@ void Load_INI_clear_string(char * str, byte keep_comments) { if (!equal_found) { - // Passage en majuscule d'un caractère: + // Passage en majuscule d'un caractère: #ifndef GCWZERO //this causes gcw to crash str[index]=toupper((int)str[index]); #endif @@ -86,7 +86,7 @@ void Load_INI_clear_string(char * str, byte keep_comments) index++; } } - // On enlève les espaces avant la fin de chaine + // On enlève les espaces avant la fin de chaine while (index>0 && (str[index-1]==' ' || str[index-1]=='\t')) { index--; @@ -101,22 +101,22 @@ int Load_INI_seek_pattern(char * buffer,char * pattern) int buffer_index; int pattern_index; - // A partir de chaque lettre de la chaîne buffer + // A partir de chaque lettre de la chaîne buffer for (buffer_index=0;buffer[buffer_index]!='\0';buffer_index++) { - // On regarde si la chaîne pattern est équivalente à la position courante - // de la chaîne buffer: + // On regarde si la chaîne pattern est équivalente à la position courante + // de la chaîne buffer: for (pattern_index=0;(pattern[pattern_index]!='\0') && (buffer[buffer_index+pattern_index]==pattern[pattern_index]);pattern_index++); - // Si on a trouvé la chaîne pattern dans la chaîne buffer, on renvoie la - // position à laquelle on l'a trouvée (+1 pour que si on la trouve au - // début ça ne renvoie pas la même chose que si on ne l'avait pas - // trouvée): + // Si on a trouvé la chaîne pattern dans la chaîne buffer, on renvoie la + // position à laquelle on l'a trouvée (+1 pour que si on la trouve au + // début ça ne renvoie pas la même chose que si on ne l'avait pas + // trouvée): if (pattern[pattern_index]=='\0') return (buffer_index+1); } - // Si on ne l'a pas trouvée, on renvoie 0: + // Si on ne l'a pas trouvée, on renvoie 0: return 0; } @@ -128,11 +128,11 @@ int Load_INI_reach_group(FILE * file,char * buffer,char * group) char * group_upper; char * upper_buffer; - // On alloue les zones de mémoire: + // On alloue les zones de mémoire: group_upper=(char *)malloc(1024); upper_buffer=(char *)malloc(1024); - // On commence par se faire une version majuscule du groupe à rechercher: + // On commence par se faire une version majuscule du groupe à rechercher: strcpy(group_upper,group); Load_INI_clear_string(group_upper, 0); @@ -153,7 +153,7 @@ int Load_INI_reach_group(FILE * file,char * buffer,char * group) strcpy(upper_buffer,buffer); Load_INI_clear_string(upper_buffer, 0); - // On compare la chaîne avec le groupe recherché: + // On compare la chaîne avec le groupe recherché: stop_seek=Load_INI_seek_pattern(upper_buffer,group_upper); } while (!stop_seek); @@ -178,11 +178,11 @@ int Load_INI_get_string(FILE * file,char * buffer,char * option_name,char * retu char * upper_buffer; int buffer_index; - // On alloue les zones de mémoire: + // On alloue les zones de mémoire: option_upper=(char *)malloc(1024); upper_buffer=(char *)malloc(1024); - // On commence par se faire une version majuscule de l'option à rechercher: + // On commence par se faire une version majuscule de l'option à rechercher: strcpy(option_upper,option_name); Load_INI_clear_string(option_upper, 0); @@ -203,13 +203,13 @@ int Load_INI_get_string(FILE * file,char * buffer,char * option_name,char * retu strcpy(upper_buffer,buffer); Load_INI_clear_string(upper_buffer, raw_text); - // On compare la chaîne avec l'option recherchée: + // On compare la chaîne avec l'option recherchée: stop_seek=Load_INI_seek_pattern(upper_buffer,option_upper); - // Si on l'a trouvée: + // Si on l'a trouvée: if (stop_seek) { - // On se positionne juste après la chaîne "=" + // On se positionne juste après la chaîne "=" buffer_index=Load_INI_seek_pattern(upper_buffer,"="); strcpy(return_code, upper_buffer + buffer_index); @@ -358,11 +358,11 @@ int Load_INI_get_values(FILE * file,char * buffer,char * option_name,int nb_expe int buffer_index; int nb_values; - // On alloue les zones de mémoire: + // On alloue les zones de mémoire: option_upper=(char *)malloc(1024); upper_buffer=(char *)malloc(1024); - // On commence par se faire une version majuscule de l'option à rechercher: + // On commence par se faire une version majuscule de l'option à rechercher: strcpy(option_upper,option_name); Load_INI_clear_string(option_upper, 0); @@ -383,15 +383,15 @@ int Load_INI_get_values(FILE * file,char * buffer,char * option_name,int nb_expe strcpy(upper_buffer,buffer); Load_INI_clear_string(upper_buffer, 0); - // On compare la chaîne avec l'option recherchée: + // On compare la chaîne avec l'option recherchée: stop_seek=Load_INI_seek_pattern(upper_buffer,option_upper); - // Si on l'a trouvée: + // Si on l'a trouvée: if (stop_seek) { nb_values=0; - // On se positionne juste après la chaîne "=" + // On se positionne juste après la chaîne "=" buffer_index=Load_INI_seek_pattern(upper_buffer,"="); // Tant qu'on a pas atteint la fin de la ligne @@ -451,7 +451,7 @@ int Load_INI(T_Config * conf) #endif - // On alloue les zones de mémoire: + // On alloue les zones de mémoire: buffer=(char *)malloc(1024); filename=(char *)malloc(256); @@ -722,7 +722,7 @@ int Load_INI(T_Config * conf) goto Erreur_ERREUR_INI_CORROMPU; conf->Auto_nb_used=values[0]; - // Optionnel, le mode video par défaut (à partir de beta 97.0%) + // Optionnel, le mode video par défaut (à partir de beta 97.0%) conf->Default_resolution=0; if (!Load_INI_get_string (file,buffer,"Default_video_mode",value_label, 0)) { @@ -731,7 +731,7 @@ int Load_INI(T_Config * conf) conf->Default_resolution=mode; } - // Optionnel, les dimensions de la fenêtre (à partir de beta 97.0%) + // Optionnel, les dimensions de la fenêtre (à partir de beta 97.0%) // Do that only if the first mode is actually windowed (not the case on gp2x for example) if(Video_mode[0].Fullscreen==0) { @@ -747,7 +747,7 @@ int Load_INI(T_Config * conf) } conf->Mouse_merge_movement=100; - // Optionnel, paramètre pour grouper les mouvements souris (>98.0%) + // Optionnel, paramètre pour grouper les mouvements souris (>98.0%) if (!Load_INI_get_values (file,buffer,"Merge_movement",1,values)) { if ((values[0]<0) || (values[0]>1000)) diff --git a/src/readline.c b/src/readline.c index 54e82e23..6c934ea8 100644 --- a/src/readline.c +++ b/src/readline.c @@ -23,7 +23,7 @@ */ /************************************************************************ * * -* READLINE (procédure permettant de saisir une chaîne de caractères) * +* READLINE (procédure permettant de saisir une chaîne de caractères) * * * ************************************************************************/ @@ -100,11 +100,11 @@ static void Insert_character(char * str, char letter, int position) for (;letter!='\0';position++) { - // On mémorise le caractère qui se trouve en "position" + // On mémorise le caractère qui se trouve en "position" temp_char=str[position]; - // On splotch la lettre à insérer + // On splotch la lettre à insérer str[position]=letter; - // On place le caractère mémorisé dans "letter" comme nouvelle lettre à insérer + // On place le caractère mémorisé dans "letter" comme nouvelle lettre à insérer letter=temp_char; } // On termine la chaine @@ -185,11 +185,11 @@ static int Valid_character(word c, int input_type) break; case INPUT_TYPE_FILENAME: { - // On regarde si la touche est autorisée + // On regarde si la touche est autorisée // Sous Linux: Seul le / est strictement interdit, mais beaucoup - // d'autres poseront des problèmes au shell, alors on évite. - // Sous Windows : c'est moins grave car le fopen() échouerait de toutes façons. - // AmigaOS4: Pas de ':' car utilisé pour les volumes. + // d'autres poseront des problèmes au shell, alors on évite. + // Sous Windows : c'est moins grave car le fopen() échouerait de toutes façons. + // AmigaOS4: Pas de ':' car utilisé pour les volumes. #if defined(__WIN32__) char forbidden_char[] = {'/', '|', '?', '*', '<', '>', ':', '\\'}; #elif defined (__amigaos4__) || defined(__AROS__) @@ -418,17 +418,17 @@ bye: * Enhanced super scanf deluxe pro plus giga mieux :-) * ****************************************************************************/ byte Readline(word x_pos,word y_pos,char * str,byte visible_size,byte input_type) -// Paramètres: -// x_pos, y_pos : Coordonnées de la saisie dans la fenêtre -// str : Chaîne recevant la saisie (et contenant éventuellement une valeur initiale) -// max_size : Nombre de caractères logeant dans la zone de saisie -// input_type : 0=Chaîne, 1=Nombre, 2=Nom de fichier +// Paramètres: +// x_pos, y_pos : Coordonnées de la saisie dans la fenêtre +// str : Chaîne recevant la saisie (et contenant éventuellement une valeur initiale) +// max_size : Nombre de caractères logeant dans la zone de saisie +// input_type : 0=Chaîne, 1=Nombre, 2=Nom de fichier // Sortie: // 0: Sortie par annulation (Esc.) / 1: sortie par acceptation (Return) { byte max_size; - // Grosse astuce pour les noms de fichiers: La taille affichée est différente - // de la taille maximum gérée. + // Grosse astuce pour les noms de fichiers: La taille affichée est différente + // de la taille maximum gérée. if (input_type == INPUT_TYPE_FILENAME) max_size = 255; else @@ -445,10 +445,10 @@ byte Readline_ex(word x_pos,word y_pos,char * str,byte visible_size,byte max_siz } byte Readline_ex_unicode(word x_pos,word y_pos,char * str,word * str_unicode,byte visible_size,byte max_size, byte input_type, byte decimal_places) -// Paramètres: -// x_pos, y_pos : Coordonnées de la saisie dans la fenêtre -// str : Chaîne recevant la saisie (et contenant éventuellement une valeur initiale) -// max_size : Nombre de caractères logeant dans la zone de saisie +// Paramètres: +// x_pos, y_pos : Coordonnées de la saisie dans la fenêtre +// str : Chaîne recevant la saisie (et contenant éventuellement une valeur initiale) +// max_size : Nombre de caractères logeant dans la zone de saisie // input_type : 0=String, 1=Unsigned int, 2=Filename 3=Signed Double // decimal_places: Number of decimal places for a double // Sortie: @@ -463,7 +463,7 @@ byte Readline_ex_unicode(word x_pos,word y_pos,char * str,word * str_unicode,byt word input_key=0; word window_x=Window_pos_X; word window_y=Window_pos_Y; - byte offset=0; // index du premier caractère affiché + byte offset=0; // index du premier caractère affiché // Virtual keyboard byte use_virtual_keyboard=0; @@ -482,11 +482,11 @@ byte Readline_ex_unicode(word x_pos,word y_pos,char * str,word * str_unicode,byt '!','?','^','&','#','$' }; - // Si on a commencé à editer par un clic-droit, on vide la chaine. + // Si on a commencé à editer par un clic-droit, on vide la chaine. if (Mouse_K==RIGHT_SIDE) str[0]='\0'; else if (input_type==INPUT_TYPE_INTEGER && str[0]!='\0') - snprintf(str,10,"%d",atoi(str)); // On tasse la chaine à gauche + snprintf(str,10,"%d",atoi(str)); // On tasse la chaine à gauche else if (input_type==INPUT_TYPE_DECIMAL) { // Nothing. The caller should have used Sprint_double, with min_positions @@ -615,11 +615,11 @@ byte Readline_ex_unicode(word x_pos,word y_pos,char * str,word * str_unicode,byt #endif Hide_cursor(); - // Effacement de la chaîne + // Effacement de la chaîne Window_rectangle(x_pos,y_pos,visible_size<<3,8,BACKGROUND_COLOR); Update_window_area(x_pos,y_pos,visible_size<<3,8); - // Mise à jour des variables se rapportant à la chaîne en fonction de la chaîne initiale + // Mise à jour des variables se rapportant à la chaîne en fonction de la chaîne initiale strcpy(initial_string,str); if (str_unicode != NULL) { @@ -784,7 +784,7 @@ byte Readline_ex_unicode(word x_pos,word y_pos,char * str,word * str_unicode,byt Remove_character(str,position); size--; - // Effacement de la chaîne + // Effacement de la chaîne Window_rectangle(x_pos,y_pos,visible_size<<3,8,BACKGROUND_COLOR); goto affichage; } @@ -792,7 +792,7 @@ byte Readline_ex_unicode(word x_pos,word y_pos,char * str,word * str_unicode,byt case SDLK_LEFT : // Gauche if (position>0) { - // Effacement de la chaîne + // Effacement de la chaîne if (position==size) Window_rectangle(x_pos,y_pos,visible_size<<3,8,BACKGROUND_COLOR); position--; @@ -823,7 +823,7 @@ byte Readline_ex_unicode(word x_pos,word y_pos,char * str,word * str_unicode,byt case SDLK_HOME : // Home if (position) { - // Effacement de la chaîne + // Effacement de la chaîne if (position==size) Window_rectangle(x_pos,y_pos,visible_size<<3,8,BACKGROUND_COLOR); position = 0; @@ -852,7 +852,7 @@ byte Readline_ex_unicode(word x_pos,word y_pos,char * str,word * str_unicode,byt else Remove_character(str,position); size--; - // Effacement de la chaîne + // Effacement de la chaîne Window_rectangle(x_pos,y_pos,visible_size<<3,8,BACKGROUND_COLOR); goto affichage; } @@ -862,7 +862,7 @@ byte Readline_ex_unicode(word x_pos,word y_pos,char * str,word * str_unicode,byt if (str_unicode != NULL) str_unicode[0] = 0; position=offset=0; - // Effacement de la chaîne + // Effacement de la chaîne Window_rectangle(x_pos,y_pos,visible_size<<3,8,BACKGROUND_COLOR); goto affichage; case SDLK_RETURN : @@ -882,18 +882,18 @@ byte Readline_ex_unicode(word x_pos,word y_pos,char * str,word * str_unicode,byt default : if (sizeshade_processed_old) { // On commence par sauter tous les vides jusqu'au prochain shade @@ -161,7 +161,7 @@ void Tag_shades(word selection_start,word selection_end) x_pos=Window_pos_X+(Menu_factor_X*((column<<2)+8)); y_pos=Window_pos_Y+(Menu_factor_Y*((line*7)+131)); - // On regarde si la case est "disablée" + // On regarde si la case est "disablée" if (Shade_list[Shade_current].List[position]&0x8000) { if ((position>=selection_start) && (position<=selection_end)) @@ -172,7 +172,7 @@ void Tag_shades(word selection_start,word selection_end) else Block(x_pos,y_pos,Menu_factor_X<<2,Menu_factor_Y<<1,MC_White); } - else // "enablée" + else // "enablée" { if ((position>=selection_start) && (position<=selection_end)) Block(x_pos,y_pos,Menu_factor_X<<2,Menu_factor_Y<<1,MC_Black); @@ -294,8 +294,8 @@ void Insert_shade(byte first_color, byte last_color, word selection_start) first_color=temp; } - // Avant d'insérer quoi que ce soit, on efface les éventuelles couleurs que - // l'on va réinsérer: + // Avant d'insérer quoi que ce soit, on efface les éventuelles couleurs que + // l'on va réinsérer: limit=512-selection_start; for (cursor=0; cursor<512; cursor++) { @@ -305,7 +305,7 @@ void Insert_shade(byte first_color, byte last_color, word selection_start) && ((Shade_list[Shade_current].List[cursor]&0xFF)==temp) ) Shade_list[Shade_current].List[cursor]=(Shade_list[Shade_current].List[cursor]&0x8000)|0x0100; } - // Voilà... Maintenant on peut y aller peinard. + // Voilà... Maintenant on peut y aller peinard. temp=1+last_color-first_color; limit=selection_start+temp; @@ -383,7 +383,7 @@ void Swap_shade(short block_1_start,short block_2_start,short block_size) temp_shade=(word *)malloc(512*sizeof(word)); memcpy(temp_shade,Shade_list[Shade_current].List,512*sizeof(word)); - // On calcul les dernières couleurs de chaque bloc. + // On calcul les dernières couleurs de chaque bloc. end_1=block_1_start+block_size-1; end_2=block_2_start+block_size-1; @@ -394,7 +394,7 @@ void Swap_shade(short block_1_start,short block_2_start,short block_size) { // Il faut transformer la case pos_1 en pos_2: Shade_list[Shade_current].List[pos_1]=temp_shade[pos_2]; - // On gère la mise à jour de pos_2 + // On gère la mise à jour de pos_2 if (pos_2==end_2) pos_2=block_1_start; else @@ -404,12 +404,12 @@ void Swap_shade(short block_1_start,short block_2_start,short block_size) else if ((block_2_start=block_1_start)) { - // Le bloc destination déborde dans le bloc source. + // Le bloc destination déborde dans le bloc source. for (pos_1=block_2_start,pos_2=block_1_start;pos_1<=end_1;pos_1++) { // Il faut transformer la couleur pos_1 en pos_2: Shade_list[Shade_current].List[pos_1]=temp_shade[pos_2]; - // On gère la mise à jour de pos_2 + // On gère la mise à jour de pos_2 if (pos_2==end_1) pos_2=block_2_start; else @@ -421,7 +421,7 @@ void Swap_shade(short block_1_start,short block_2_start,short block_size) // Le bloc source et le bloc destination sont distincts. for (pos_1=block_1_start,pos_2=block_2_start;pos_1<=end_1;pos_1++,pos_2++) { - // On échange les cases + // On échange les cases temp =Shade_list[Shade_current].List[pos_1]; Shade_list[Shade_current].List[pos_1]=Shade_list[Shade_current].List[pos_2]; Shade_list[Shade_current].List[pos_2]=temp; @@ -434,9 +434,9 @@ void Swap_shade(short block_1_start,short block_2_start,short block_size) int Menu_shade(void) { - short clicked_button; // Numéro du bouton sur lequel l'utilisateur a clické - char str[4]; // str d'affichage du n° de shade actif et du Pas - word old_mouse_x, old_mouse_x2; // Mémo. de l'ancienne pos. du curseur + short clicked_button; // Numéro du bouton sur lequel l'utilisateur a clické + char str[4]; // str d'affichage du n° de shade actif et du Pas + word old_mouse_x, old_mouse_x2; // Mémo. de l'ancienne pos. du curseur word old_mouse_y, old_mouse_y2; byte old_mouse_k, old_mouse_k2; byte temp_color; // Variables de gestion des clicks dans la palette @@ -458,52 +458,52 @@ int Menu_shade(void) undo_buffer =(word *)malloc(512*sizeof(word)); temp_ptr=(word *)malloc(512*sizeof(word)); - // Ouverture de la fenêtre du menu + // Ouverture de la fenêtre du menu Open_window(310,190,"Shade"); - // Déclaration & tracé du bouton de palette + // Déclaration & tracé du bouton de palette Window_set_palette_button(5,16); // 1 - // Déclaration & tracé du scroller de sélection du n° de dégradé + // Déclaration & tracé du scroller de sélection du n° de dégradé Window_set_scroller_button(192,17,84,8,1,Shade_current); // 2 - // Déclaration & tracé de la zone de définition des dégradés + // Déclaration & tracé de la zone de définition des dégradés Window_set_special_button(8,127,256,53,0); // 3 - // Déclaration & tracé des boutons de sortie + // Déclaration & tracé des boutons de sortie Window_set_normal_button(207,17,51,14,"Cancel",0,1,KEY_ESC); // 4 Window_set_normal_button(261,17,43,14,"OK" ,0,1,SDLK_RETURN); // 5 - // Déclaration & tracé des boutons de copie de shade + // Déclaration & tracé des boutons de copie de shade Window_set_normal_button(206,87,27,14,"Cpy" ,1,1,SDLK_c); // 6 Window_set_normal_button(234,87,43,14,"Paste" ,1,1,SDLK_p); // 7 // On tagge le bloc Tag_color_range(Fore_color,Fore_color); - // Tracé d'un cadre creux autour du bloc dégradé + // Tracé d'un cadre creux autour du bloc dégradé Window_display_frame_in(171,26,18,66); Window_rectangle(172,27,16,64,MC_Black); - // Tracé d'un cadre creux autour de tous les dégradés + // Tracé d'un cadre creux autour de tous les dégradés Window_display_frame_in(223,34,66,50); Shade_draw_grad_ranges(); - // Tracé d'un cadre autour de la zone de définition de dégradés + // Tracé d'un cadre autour de la zone de définition de dégradés Window_display_frame(5,124,262,61); Display_all_shade(first_color,last_color,selection_start,selection_end); - // Déclaration & tracé des boutons d'édition de shade + // Déclaration & tracé des boutons d'édition de shade Window_set_normal_button( 6,107,27,14,"Ins" ,0,1,SDLK_INSERT); // 8 Window_set_normal_button( 38,107,27,14,"Del" ,0,1,SDLK_DELETE); // 9 Window_set_normal_button( 66,107,43,14,"Blank",1,1,SDLK_b); // 10 Window_set_normal_button(110,107,27,14,"Inv" ,1,1,SDLK_i); // 11 Window_set_normal_button(138,107,27,14,"Swp" ,1,1,SDLK_s); // 12 - // Déclaration & tracé des boutons de taggage + // Déclaration & tracé des boutons de taggage Print_in_window(268,123,"Disbl"/*"Dsabl"*/,MC_Dark,MC_Light); Window_set_normal_button(274,133,27,14,"Set" ,0,1,SDLK_F1); // 13 Window_set_normal_button(274,148,27,14,"Clr" ,0,1,SDLK_F2); // 14 - // Déclaration & tracé de la zone de saisie du pas + // Déclaration & tracé de la zone de saisie du pas Print_in_window(272,165,"Step",MC_Dark,MC_Light); input_button = Window_set_input_button(274,174,3); // 15 Num2str(Shade_list[Shade_current].Step,str,3); @@ -517,7 +517,7 @@ int Menu_shade(void) // Button Mode Window_set_normal_button(244,107,60,14,"",0,1,SDLK_TAB); // 18 - // Affichage du n° de shade actif + // Affichage du n° de shade actif Num2str(Shade_current+1,str,1); Print_in_window(210,55,str,MC_Black,MC_Light); @@ -550,11 +550,11 @@ int Menu_shade(void) if (!old_mouse_k) { // On vient de clicker - // On met à jour l'intervalle du Shade + // On met à jour l'intervalle du Shade first_color=last_color=temp_color; // On tagge le bloc Tag_color_range(first_color,last_color); - // Tracé du bloc dégradé: + // Tracé du bloc dégradé: Display_grad_block_in_window(172,27,16,64,first_color,last_color); } else @@ -577,7 +577,7 @@ int Menu_shade(void) } } - // On affiche le numéro de la couleur sélectionnée + // On affiche le numéro de la couleur sélectionnée Display_selected_color(first_color,last_color); Display_cursor(); @@ -587,20 +587,20 @@ int Menu_shade(void) case 2 : // Gestion du changement de Shade (scroller) Hide_cursor(); Shade_current=Window_attribute2; - // Affichade du n° de shade actif + // Affichade du n° de shade actif Num2str(Shade_current+1,str,1); Print_in_window(210,55,str,MC_Black,MC_Light); // Affichade du Pas Num2str(Shade_list[Shade_current].Step,str,3); Print_in_window(276,176,str,MC_Black,MC_Light); - // Tracé du bloc dégradé: + // Tracé du bloc dégradé: Display_all_shade(first_color,last_color,selection_start,selection_end); Display_cursor(); // On place le nouveau shade dans le buffer du Undo memcpy(undo_buffer,Shade_list[Shade_current].List,512*sizeof(word)); break; - case 3 : // Gestion de la zone de définition de shades + case 3 : // Gestion de la zone de définition de shades if (((((Mouse_Y-Window_pos_Y)/Menu_factor_Y)-127)%7)<4) if ( (Mouse_X!=old_mouse_x2) || (Mouse_Y!=old_mouse_y2) || (Mouse_K!=old_mouse_k2) ) { @@ -645,12 +645,12 @@ int Menu_shade(void) else temp=first_color-last_color; - if (selection_start==selection_end) // Une couleur sélectionnée + if (selection_start==selection_end) // Une couleur sélectionnée { if (Window_attribute1==2) Remove_shade(selection_start,selection_start+temp); } - else // Un bloc sélectionné + else // Un bloc sélectionné { Remove_shade(selection_start,selection_end); @@ -677,7 +677,7 @@ int Menu_shade(void) } Insert_shade(first_color,last_color,selection_start); - // On sélectionne la position juste après ce qu'on vient d'insérer + // On sélectionne la position juste après ce qu'on vient d'insérer selection_start+=temp+1; if (selection_start>=512) selection_start=511; @@ -782,7 +782,7 @@ int Menu_shade(void) // On place le shade dans le buffer du Undo memcpy(undo_buffer,Shade_list[Shade_current].List,512*sizeof(word)); // Et on le modifie - // On échange le bloc avec sa destination + // On échange le bloc avec sa destination if (selection_start<=selection_end) { temp=(temp_cell+selection_end-selection_start<512)?selection_end+1-selection_start:512-temp_cell; @@ -793,7 +793,7 @@ int Menu_shade(void) temp=(temp_cell+selection_start-selection_end<512)?selection_start+1-selection_end:512-temp_cell; Swap_shade(selection_end,temp_cell,temp); } - // On place la sélection sur la nouvelle position du bloc + // On place la sélection sur la nouvelle position du bloc selection_start=temp_cell; selection_end=selection_start+temp-1; // Et on raffiche tout @@ -883,8 +883,8 @@ int Menu_shade(void) if (!Mouse_K) switch (Key) { - case SDLK_LEFTBRACKET : // Décaler couleur dans palette vers la gauche - case SDLK_RIGHTBRACKET : // Décaler couleur dans palette vers la droite + case SDLK_LEFTBRACKET : // Décaler couleur dans palette vers la gauche + case SDLK_RIGHTBRACKET : // Décaler couleur dans palette vers la droite if (first_color==last_color) { if (Key==SDLK_LEFTBRACKET) @@ -902,7 +902,7 @@ int Menu_shade(void) Block(Window_pos_X+(Menu_factor_X*172), Window_pos_Y+(Menu_factor_Y*27), Menu_factor_X<<4,Menu_factor_Y*64,first_color); - // On affiche le numéro de la couleur sélectionnée + // On affiche le numéro de la couleur sélectionnée Display_selected_color(first_color,last_color); Display_cursor(); } @@ -957,7 +957,7 @@ int Menu_shade(void) Key=0; break; - case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu + case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu case SDLK_COMMA : Get_color_behind_window(&color,&click); if (click) @@ -965,14 +965,14 @@ int Menu_shade(void) Hide_cursor(); temp_color=color; - // On met à jour l'intervalle du Shade + // On met à jour l'intervalle du Shade first_color=last_color=temp_color; // On tagge le bloc Tag_color_range(first_color,last_color); - // Tracé du bloc dégradé: + // Tracé du bloc dégradé: Display_grad_block_in_window(172,27,16,64,first_color,last_color); - // On affiche le numéro de la couleur sélectionnée + // On affiche le numéro de la couleur sélectionnée Display_selected_color(first_color,last_color); Display_cursor(); @@ -1004,11 +1004,11 @@ int Menu_shade(void) /// @return true if user clicked ok, false if he cancelled int Shade_settings_menu(void) { - T_Shade * initial_shade_list; // Anciennes données des shades - byte old_shade; // old n° de shade actif + T_Shade * initial_shade_list; // Anciennes données des shades + byte old_shade; // old n° de shade actif int return_code; - // Backup des anciennes données + // Backup des anciennes données initial_shade_list=(T_Shade *)malloc(sizeof(Shade_list)); memcpy(initial_shade_list,Shade_list,sizeof(Shade_list)); old_shade=Shade_current; @@ -1052,7 +1052,7 @@ void Button_Quick_shade_menu(void) int temp; char str[4]; byte step_backup=Quick_shade_step; // Backup des - byte loop_backup=Quick_shade_loop; // anciennes données + byte loop_backup=Quick_shade_loop; // anciennes données T_Special_button * step_button; Open_window(142,56,"Quick-shade"); @@ -1062,7 +1062,7 @@ void Button_Quick_shade_menu(void) Window_set_normal_button(76,18,60,14,"",0,1,SDLK_TAB); // 3 Display_shade_mode(83,21,Quick_shade_loop); - // Déclaration & tracé de la zone de saisie du pas + // Déclaration & tracé de la zone de saisie du pas Print_in_window(5,21,"Step",MC_Dark,MC_Light); step_button = Window_set_input_button(40,19,3); // 4 Num2str(Quick_shade_step,str,3); @@ -1121,7 +1121,7 @@ void Button_Quick_shade_menu(void) } else // OK { - // Si avant de rentrer dans le menu on n'était pas en mode Quick-Shade + // Si avant de rentrer dans le menu on n'était pas en mode Quick-Shade if (!Quick_shade_mode) Button_Quick_shade_mode(); // => On y passe (cool!) } diff --git a/src/special.c b/src/special.c index bcc6424a..a3202553 100644 --- a/src/special.c +++ b/src/special.c @@ -35,7 +35,7 @@ -//---------------------- Modifier le pinceau spécial ------------------------- +//---------------------- Modifier le pinceau spécial ------------------------- void Set_paintbrush_size(int width, int height) { @@ -295,7 +295,7 @@ void Special_previous_user_backcolor(void) Display_cursor(); } -// ------------------- Scroller l'écran (pas en mode loupe) ------------------ +// ------------------- Scroller l'écran (pas en mode loupe) ------------------ void Scroll_screen(short delta_x,short delta_y) { short temp_x_offset; @@ -329,7 +329,7 @@ void Scroll_screen(short delta_x,short delta_y) } -// ---------------------- Scroller la fenêtre de la loupe -------------------- +// ---------------------- Scroller la fenêtre de la loupe -------------------- void Scroll_magnifier(short delta_x,short delta_y) { short temp_x_offset; @@ -358,7 +358,7 @@ void Scroll_magnifier(short delta_x,short delta_y) } -// -------------- Changer le Zoom (grâce aux touches [+] et [-]) ------------- +// -------------- Changer le Zoom (grâce aux touches [+] et [-]) ------------- void Zoom(short delta) { short index; diff --git a/src/struct.h b/src/struct.h index 85fec887..531456f6 100644 --- a/src/struct.h +++ b/src/struct.h @@ -3,7 +3,7 @@ /* Grafx2 - The Ultimate 256-color bitmap paint program Copyright 2014 Sergii Pylypenko - Copyright 2011 Pawel Góralski + Copyright 2011 Pawel Góralski Copyright 2008 Yves Rizoud Copyright 2007 Adrien Destugues Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud) @@ -386,11 +386,11 @@ typedef struct } T_Config; -// Structures utilisées pour les descriptions de pages et de liste de pages. -// Lorsqu'on gèrera les animations, il faudra aussi des listes de listes de +// Structures utilisées pour les descriptions de pages et de liste de pages. +// Lorsqu'on gèrera les animations, il faudra aussi des listes de listes de // pages. -// Ces structures sont manipulées à travers des fonctions de gestion du +// Ces structures sont manipulées à travers des fonctions de gestion du // backup dans "graph.c". typedef struct T_Image diff --git a/src/text.c b/src/text.c index 9ffa89eb..27f9c262 100644 --- a/src/text.c +++ b/src/text.c @@ -3,7 +3,7 @@ /* Grafx2 - The Ultimate 256-color bitmap paint program Copyright 2014 Sergii Pylypenko - Copyright 2011 Pawel Góralski + Copyright 2011 Pawel Góralski Copyright 2008 Yves Rizoud Copyright 2008 Franck Charlet Copyright 2008 Adrien Destugues @@ -23,7 +23,7 @@ along with Grafx2; if not, see */ -// Pour désactiver le support TrueType, définir NOTTF +// Pour désactiver le support TrueType, définir NOTTF // To disable TrueType support, define NOTTF #include @@ -77,15 +77,15 @@ typedef struct T_Font int Is_bitmap; char Label[22]; - // Liste chainée simple + // Liste chainée simple struct T_Font * Next; struct T_Font * Previous; } T_Font; -// Liste chainée des polices de texte +// Liste chainée des polices de texte T_Font * font_list_start; int Nb_fonts; -// Inspiré par Allegro +// Inspiré par Allegro #define EXTID(a,b,c) ((((a)&255)<<16) | (((b)&255)<<8) | (((c)&255))) #define EXTID4(a,b,c,d) ((((a)&255)<<24) | (((b)&255)<<16) | (((c)&255)<<8) | (((d)&255))) @@ -98,14 +98,14 @@ int Compare_fonts(T_Font * font_1, T_Font * font_2) return strcmp(font_1->Label, font_2->Label); } -// Ajout d'une fonte à la liste. +// Ajout d'une fonte à la liste. static void Add_font(const char *name, const char * font_name) { T_Font * font; int size=strlen(name)+1; int index; - // Détermination du type: + // Détermination du type: #if defined(__macosx__) char strFontName[512]; @@ -211,7 +211,7 @@ static void Add_font(const char *name, const char * font_name) searched_font=font_list_start; while (searched_font->Next && (compare=Compare_fonts(font, searched_font->Next))>0) searched_font=searched_font->Next; - // Après searched_font + // Après searched_font if (compare==0 && strcmp(font->Name, searched_font->Next->Name)==0) { // Doublon @@ -227,7 +227,7 @@ static void Add_font(const char *name, const char * font_name) } -// Trouve le nom d'une fonte par son numéro +// Trouve le nom d'une fonte par son numéro char * Font_name(int index) { T_Font *font = font_list_start; @@ -239,7 +239,7 @@ char * Font_name(int index) } -// Trouve le libellé d'affichage d'une fonte par son numéro +// Trouve le libellé d'affichage d'une fonte par son numéro // Renvoie un pointeur sur un buffer statique de 20 caracteres. char * Font_label(int index) { @@ -255,13 +255,13 @@ char * Font_label(int index) while (index--) font = font->Next; - // Libellé + // Libellé strcpy(label, font->Label); return label; } -// Vérifie si une fonte donnée est TrueType +// Vérifie si une fonte donnée est TrueType int TrueType_font(int index) { T_Font *font = font_list_start; @@ -274,7 +274,7 @@ int TrueType_font(int index) -// Initialisation à faire une fois au début du programme +// Initialisation à faire une fois au début du programme void Init_text(void) { char directory_name[MAX_PATH_CHARACTERS]; @@ -286,7 +286,7 @@ void Init_text(void) // Initialisation des fontes font_list_start = NULL; Nb_fonts=0; - // Parcours du répertoire "fonts" + // Parcours du répertoire "fonts" snprintf(directory_name, sizeof(directory_name), "%s%s", Data_directory,FONTS_SUBDIRECTORY); For_each_file(directory_name, Add_font); // fonts subdirectory in Config_directory @@ -294,7 +294,7 @@ void Init_text(void) For_each_file(directory_name, Add_font); #if defined(__WIN32__) - // Parcours du répertoire systeme windows "fonts" + // Parcours du répertoire systeme windows "fonts" #ifndef NOTTF { char * WindowsPath=getenv("windir"); @@ -306,7 +306,7 @@ void Init_text(void) } #endif #elif defined(__macosx__) - // Récupération de la liste des fonts avec fontconfig + // Récupération de la liste des fonts avec fontconfig #ifndef NOTTF @@ -375,7 +375,7 @@ void Init_text(void) #endif } -// Informe si texte.c a été compilé avec l'option de support TrueType ou pas. +// Informe si texte.c a été compilé avec l'option de support TrueType ou pas. int TrueType_is_supported() { #ifdef NOTTF @@ -662,8 +662,8 @@ byte *Render_text_SFont(const char *str, int font_number, int *width, int *heigh return new_brush; } -// Crée une brosse à partir des paramètres de texte demandés. -// Si cela réussit, la fonction place les dimensions dans width et height, +// Crée une brosse à partir des paramètres de texte demandés. +// Si cela réussit, la fonction place les dimensions dans width et height, // et retourne l'adresse du bloc d'octets. byte *Render_text(const char *str, int font_number, int size, int antialias, int bold, int italic, int *width, int *height, T_Palette palette) { diff --git a/src/transform.c b/src/transform.c index 09cd5f2c..e14a719a 100644 --- a/src/transform.c +++ b/src/transform.c @@ -355,13 +355,13 @@ void Button_Transform_menu(int btn) break; case 2 : // Flip X case 3 : // Flip Y - case 6 : // 180° Rotation + case 6 : // 180° Rotation new_width=Main.image_width; new_height=Main.image_height; break; - case 4 : // -90° Rotation - case 5 : // +90° Rotation + case 4 : // -90° Rotation + case 5 : // +90° Rotation new_width=Main.image_height; new_height=Main.image_width; @@ -398,19 +398,19 @@ void Button_Transform_menu(int btn) Flip_Y_lowlevel(Main.backups->Pages->Image[i].Pixels, Main.image_width, Main.image_height); } break; - case 4 : // -90° Rotation + case 4 : // -90° Rotation for (i=0; iPages->Nb_layers; i++) { Rotate_270_deg_lowlevel(Main.backups->Pages->Next->Image[i].Pixels, Main.backups->Pages->Image[i].Pixels, old_width, old_height); } break; - case 5 : // +90° Rotation + case 5 : // +90° Rotation for (i=0; iPages->Nb_layers; i++) { Rotate_90_deg_lowlevel(Main.backups->Pages->Next->Image[i].Pixels, Main.backups->Pages->Image[i].Pixels, old_width, old_height); } break; - case 6 : // 180° Rotation + case 6 : // 180° Rotation for (i=0; iPages->Nb_layers; i++) { memcpy(Main.backups->Pages->Image[i].Pixels,Main.backups->Pages->Next->Image[i].Pixels,Main.image_width*Main.image_height); diff --git a/src/windows.c b/src/windows.c index 1b13adf9..a0d576a1 100644 --- a/src/windows.c +++ b/src/windows.c @@ -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> 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>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)=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=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_widthPages->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_heightDefault_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++);