From 6b4a8f674e54d96ccaeab895b9b2e59041d048a5 Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Fri, 27 Mar 2009 02:56:01 +0000 Subject: [PATCH] Cleaned up the layout of Save/Load screen. (issue 92, issue 84#4) git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@696 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- boutons.c | 48 ++++++------- files.c | 142 ++++++++++++++++++-------------------- input.c | 16 ----- input.h | 1 - loadsave.c | 57 +++++++-------- struct.h | 2 +- translat/translations.xls | Bin 279552 -> 279552 bytes windows.c | 8 ++- windows.h | 3 +- 9 files changed, 125 insertions(+), 152 deletions(-) diff --git a/boutons.c b/boutons.c index 02f97fe6..239141cf 100644 --- a/boutons.c +++ b/boutons.c @@ -52,8 +52,6 @@ #include "brush.h" #include "input.h" -#define FILENAMESPACE 13 - extern short Old_MX; extern short Old_MY; @@ -69,7 +67,7 @@ void Bouton_***(void) Fenetre_Definir_bouton_normal(103,137,80,14,"OK",0,1,SDLK_RETURN); // 1 Fenetre_Definir_bouton_scroller(18,44,88,16,4,0); // 2 - Display_Window(310,190); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); @@ -98,7 +96,7 @@ void Message_Non_disponible(void) Print_dans_fenetre(12,28,"be implemented in",CM_Noir,CM_Clair); Print_dans_fenetre(16,36,"a later version.",CM_Noir,CM_Clair); Fenetre_Definir_bouton_normal(60,53,40,14,"OK",1,1,SDLK_RETURN); // 1 - Display_Window(160,76); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); do @@ -130,7 +128,7 @@ void Message_Memoire_insuffisante(void) Print_dans_fenetre(24,28,"to know how to obtain",CM_Noir,CM_Clair); Print_dans_fenetre(36,36,"more memory space.",CM_Noir,CM_Clair); Fenetre_Definir_bouton_normal(60,53,40,14,"OK",1,1,SDLK_RETURN); // 1 - Display_Window(216,76); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); do @@ -166,7 +164,7 @@ void Bouton_Message_initial(void) //Print_dans_fenetre( 120-4*13,128,"(placeholder)",CM_Fonce,CM_Clair); Print_dans_fenetre(130-4*28,136,"http://grafx2.googlecode.com",CM_Fonce,CM_Clair); - Display_Window(260,172); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); @@ -424,7 +422,7 @@ byte Bouton_Quitter_Routine_locale(void) Fenetre_Definir_bouton_normal(20,20,120,14,"Stay",0,1,TOUCHE_ESC); // 1 Fenetre_Definir_bouton_normal(20,40,120,14,"Save & quit",1,1,SDLK_s); // 2 Fenetre_Definir_bouton_normal(20,60,120,14,"Discard (Quit)",1,1,SDLK_d);// 3 - Display_Window(160,84); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); do @@ -559,7 +557,7 @@ void Menu_Tag_couleurs(char * En_tete, byte * table, byte * mode, byte can_cance for (Indice=0; Indice<=255; Indice++) Stencil_Tagger_couleur(Indice, (table[Indice])?CM_Noir:CM_Clair); - Display_Window(176,150); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); do @@ -592,14 +590,14 @@ void Menu_Tag_couleurs(char * En_tete, byte * table, byte * mode, byte can_cance for (Indice=0; Indice<=255; Indice++) Stencil_Tagger_couleur(Indice,CM_Clair); Afficher_curseur(); - Display_Window(Fenetre_Largeur, Fenetre_Hauteur); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); break; case 3 : // Invert Effacer_curseur(); for (Indice=0; Indice<=255; Indice++) Stencil_Tagger_couleur(Indice,(table[Indice]^=1)?CM_Noir:CM_Clair); Afficher_curseur(); - Display_Window(Fenetre_Largeur, Fenetre_Hauteur); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); } if (!Mouse_K) @@ -849,7 +847,7 @@ void Bouton_Settings(void) // Zone de saisie du nb de pages de Undo Fenetre_Definir_bouton_saisie(140,50,2); // 22 - Display_Window(307,182); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); @@ -1176,7 +1174,7 @@ void Bouton_Copy_page(void) Fenetre_Definir_bouton_normal(10, 71,148,14,"Some colors only" , 6,1,SDLK_c); // 4 Fenetre_Definir_bouton_normal(10, 88,148,14,"Palette and remap",13,1,SDLK_r); // 5 Fenetre_Definir_bouton_normal(44,114, 80,14,"Cancel" , 0,1,TOUCHE_ESC); // 6 - Display_Window(168,137); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); @@ -1437,7 +1435,7 @@ void Bouton_Resol(void) Afficher_liste_modes(Debut_liste,Position_curseur); - Display_Window(299,190); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); @@ -1924,7 +1922,7 @@ void Bouton_Degrades(void) Degrade_Dessiner_preview(8,112,108,14,Degrade_Courant); Premiere_couleur=Derniere_couleur=(Degrade_Tableau[Degrade_Courant].Inverse)?Degrade_Tableau[Degrade_Courant].Fin:Degrade_Tableau[Degrade_Courant].Debut; - Display_Window(237,133); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); @@ -2185,7 +2183,7 @@ void Bouton_Menu_pinceaux(void) Fenetre_Definir_bouton_normal(x_pos ,y_pos ,20,20,"",0,1,SDLK_LAST); Afficher_pinceau_dans_fenetre(x_pos+2,y_pos+2,Indice); } - Display_Window(310,155); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); @@ -3009,7 +3007,7 @@ void Bouton_Menu_Loupe(void) Fenetre_Definir_bouton_normal( 41,65,27,14,"x16",0,Loupe_Facteur!=16,SDLK_F10); // 11 Fenetre_Definir_bouton_normal( 73,65,27,14,"x18",0,Loupe_Facteur!=18,SDLK_F11); // 12 Fenetre_Definir_bouton_normal(105,65,27,14,"x20",0,Loupe_Facteur!=20,SDLK_F12); // 13 - Display_Window(141,114); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); @@ -3141,7 +3139,7 @@ void Bouton_Menu_Grille(void) Bouton_saisie_dY = Fenetre_Definir_bouton_saisie(95,45,2); // 6 Num2str(dY_choisi,Chaine,2); Fenetre_Contenu_bouton_saisie(Bouton_saisie_dY,Chaine); - Display_Window(133,98); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); @@ -3319,7 +3317,7 @@ void Bouton_Brush_FX(void) Block(Fenetre_Pos_X+(Menu_Facteur_X*105),Fenetre_Pos_Y+(Menu_Facteur_Y*126),Menu_Facteur_X*7,Menu_Facteur_Y,CM_Noir); Block(Fenetre_Pos_X+(Menu_Facteur_X*111),Fenetre_Pos_Y+(Menu_Facteur_Y*120),Menu_Facteur_X,Menu_Facteur_Y*7,CM_Noir); - Display_Window(310,162); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); @@ -3477,7 +3475,7 @@ void Bouton_Smooth_Menu(void) Num2str(Matrice_choisie[i][j]=Smooth_Matrice[i][j],Chaine,2); Fenetre_Contenu_bouton_saisie(Matrice_Zone_saisie[i][j],Chaine); } - Display_Window(142,109); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); @@ -3646,7 +3644,7 @@ void Bouton_Colorize_Menu(void) Opacite_choisie=Colorize_Opacite; Mode_choisi =Colorize_Mode_en_cours; - Display_Window(140,118); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); do @@ -3737,7 +3735,7 @@ void Bouton_Tiling_Menu(void) Num2str(Tiling_Decalage_Y,Chaine,4); Fenetre_Contenu_bouton_saisie(Bouton_saisie_Decalage_Y,Chaine); - Display_Window(138,79); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); do @@ -3923,7 +3921,7 @@ void Bouton_Spray_Menu(void) Stencil_Tagger_couleur(Couleur_selectionnee,CM_Blanc); Spray_Rafficher_infos(Couleur_selectionnee,0); - Display_Window(226,170); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); Stencil_Actualiser_couleur(Couleur_selectionnee); @@ -4359,7 +4357,7 @@ void Bouton_Trame_Menu(void) Print_dans_fenetre(71,136,Chaine,CM_Noir,CM_Clair); Dessiner_trame_zoomee(Orig_X,Orig_Y); - Display_Window(290,179); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); @@ -4759,7 +4757,7 @@ void Bouton_Effets(void) Print_dans_fenetre(12,117,"click: Left:Switch / Right:Edit",CM_Fonce,CM_Clair); - Display_Window(270,152); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); do @@ -5078,7 +5076,7 @@ void Bouton_Texte() Fenetre_Definir_bouton_normal(8,160,40,14,"OK",0,1,SDLK_RETURN); // 11 Fenetre_Definir_bouton_normal(54,160,60,14,"Cancel",0,1,TOUCHE_ESC); // 12 - Display_Window(288,180); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); // Chaine texte Fenetre_Contenu_bouton_saisie(Bouton_texte,Chaine); diff --git a/files.c b/files.c index da919f1e..bb8fe1c8 100644 --- a/files.c +++ b/files.c @@ -64,8 +64,6 @@ #define COULEUR_REPERTOIRE_SELECT CM_Clair // Couleur du texte pour une ligne de repértoire sélectionnée #define COULEUR_FOND_SELECT CM_Fonce // Couleur du fond pour une ligne sélectionnée -#define FILENAMESPACE 13 - // Conventions: // // * Le fileselect modifie le répertoire courant. Ceci permet de n'avoir @@ -96,37 +94,37 @@ void Detruire_liste_du_fileselect(void) // -- Formatage graphique des noms de fichier / répertoire ------------------ char * Nom_formate(char * fname, int type) { - static char Resultat[13]; + static char Resultat[19]; int c; int Autre_curseur; int Pos_DernierPoint; if (strcmp(fname,PARENT_DIR)==0) { - strcpy(Resultat,"<-PARENT DIR"); + strcpy(Resultat,"<-PARENT DIRECTORY"); } else if (fname[0]=='.' || type==2) { - // Fichiers ".quelquechose" ou lecteurs: Calé à gauche sur 12 caractères maximum. + // Fichiers ".quelquechose" ou lecteurs: Calé à gauche sur 18 caractères maximum. strcpy(Resultat," "); - for (c=0;fname[c]!='\0' && c < 12;c++) + for (c=0;fname[c]!='\0' && c < 18;c++) Resultat[c]=fname[c]; // Un caractère spécial pour indiquer que l'affichage est tronqué - if (c >= 12) - Resultat[11]=CARACTERE_SUSPENSION; + if (c >= 18) + Resultat[17]=CARACTERE_SUSPENSION; } else { - strcpy(Resultat," . "); + strcpy(Resultat," . "); // On commence par recopier la partie précédent le point: for (c=0;( (fname[c]!='.') && (fname[c]!='\0') );c++) { - if (c < 8) + if (c < 14) Resultat[c]=fname[c]; } // Un caractère spécial pour indiquer que l'affichage est tronqué - if (c > 8) - Resultat[7]=CARACTERE_SUSPENSION; + if (c > 14) + Resultat[13]=CARACTERE_SUSPENSION; // On recherche le dernier point dans le reste du nom for (Pos_DernierPoint = c; fname[c]!='\0'; c++) if (fname[c]=='.') @@ -135,7 +133,7 @@ char * Nom_formate(char * fname, int type) // Ensuite on recopie la partie qui suit le point (si nécessaire): if (fname[Pos_DernierPoint]) { - for (c = Pos_DernierPoint+1,Autre_curseur=9;fname[c]!='\0' && Autre_curseur < 12;c++,Autre_curseur++) + for (c = Pos_DernierPoint+1,Autre_curseur=15;fname[c]!='\0' && Autre_curseur < 18;c++,Autre_curseur++) Resultat[Autre_curseur]=fname[c]; } } @@ -544,7 +542,7 @@ void Afficher_la_liste_des_fichiers(short Decalage_premier,short Decalage_select } // On affiche l'élément - Print_dans_fenetre(9,90+FILENAMESPACE+(Indice<<3),Element_courant->NomAbrege,Couleur_texte,Couleur_fond); + Print_dans_fenetre(8,95+Indice*8,Element_courant->NomAbrege,Couleur_texte,Couleur_fond); // On passe à la ligne suivante Decalage_select--; @@ -699,7 +697,7 @@ short Calculer_decalage_click_dans_fileselector(void) { short Decalage_calcule; - Decalage_calcule=(((Mouse_Y-Fenetre_Pos_Y)/Menu_Facteur_Y)-(90+FILENAMESPACE))>>3; + Decalage_calcule=(((Mouse_Y-Fenetre_Pos_Y)/Menu_Facteur_Y)-95)>>3; if (Decalage_calcule>=Liste_Nb_elements) Decalage_calcule=Liste_Nb_elements-1; @@ -715,7 +713,7 @@ void Afficher_bookmark(T_Bouton_dropdown * Bouton, int Numero_bookmark) Print_dans_fenetre_limite(Bouton->Pos_X+3+10,Bouton->Pos_Y+2,Config.Bookmark_label[Numero_bookmark],8,CM_Noir,CM_Clair); label_size=strlen(Config.Bookmark_label[Numero_bookmark]); if (label_size<8) - Block(Fenetre_Pos_X+(Menu_Facteur_X*(Bouton->Pos_X+3+10+label_size*8)),Fenetre_Pos_Y+(Menu_Facteur_Y*(Bouton->Pos_Y+2)),Menu_Facteur_X*(8-label_size)*8,Menu_Facteur_Y*8,CM_Clair); + Window_rectangle(Bouton->Pos_X+3+10+label_size*8,Bouton->Pos_Y+2,(8-label_size)*8,8,CM_Clair); // Menu apparait sur clic droit Bouton->Bouton_actif=A_DROITE; // Choix actifs @@ -747,7 +745,7 @@ void Print_repertoire_courant(void) int length; // length du répertoire courant int Indice; // Indice de parcours de la chaine complète - Block(Fenetre_Pos_X+(Menu_Facteur_X*7),Fenetre_Pos_Y+(Menu_Facteur_Y*43),Menu_Facteur_X*37*8,Menu_Facteur_Y<<3,CM_Clair); + Window_rectangle(10,84,37*8,8,CM_Clair); length=strlen(Principal_Repertoire_courant); if (length>TAILLE_MAXI_PATH) @@ -773,12 +771,12 @@ void Print_repertoire_courant(void) } // Enfin, on peut afficher la chaîne tronquée - Print_dans_fenetre(7,43,Nom_temporaire,CM_Noir,CM_Clair); + Print_dans_fenetre(10,84,Nom_temporaire,CM_Noir,CM_Clair); } else // Ahhh! La chaîne peut loger tranquillement dans la fenêtre - Print_dans_fenetre(7,43,Principal_Repertoire_courant,CM_Noir,CM_Clair); + Print_dans_fenetre(10,84,Principal_Repertoire_courant,CM_Noir,CM_Clair); - UpdateRect(Fenetre_Pos_X+(Menu_Facteur_X*7),Fenetre_Pos_Y+(Menu_Facteur_Y*43),Menu_Facteur_X*37*8,Menu_Facteur_Y<<3); + Display_Window(10,84,37*8,8); } @@ -787,9 +785,9 @@ void Print_Nom_fichier_dans_selecteur(void) // Affiche Principal_Nom_fichier dans le Fileselect // { - Block(Fenetre_Pos_X+(Menu_Facteur_X*(13+9*8)),Fenetre_Pos_Y+(Menu_Facteur_Y*90),Menu_Facteur_X*(27*8),Menu_Facteur_Y<<3,CM_Clair); - Print_dans_fenetre_limite(13+9*8,90,Principal_Nom_fichier,27,CM_Noir,CM_Clair); - UpdateRect(Fenetre_Pos_X+(Menu_Facteur_X*(13+9*8)),Fenetre_Pos_Y+(Menu_Facteur_Y*90),Menu_Facteur_X*(27*8),Menu_Facteur_Y<<3); + Window_rectangle(82,48,27*8,8,CM_Clair); + Print_dans_fenetre_limite(82,48,Principal_Nom_fichier,27,CM_Noir,CM_Clair); + Display_Window(82,48,27*8,8); } int Type_selectionne; // Utilisé pour mémoriser le type d'entrée choisi @@ -803,11 +801,11 @@ void Preparer_et_afficher_liste_fichiers(short Position, short offset, Calculer_hauteur_curseur_jauge(button); Fenetre_Dessiner_jauge(button); // On efface les anciens noms de fichier: - Block(Fenetre_Pos_X+(Menu_Facteur_X<<3),Fenetre_Pos_Y+(Menu_Facteur_Y*(89+FILENAMESPACE)),Menu_Facteur_X*98,Menu_Facteur_Y*82,CM_Noir); + Window_rectangle(8-1,95-1,144+2,80+2,CM_Noir); // On affiche les nouveaux: Afficher_la_liste_des_fichiers(Position,offset); - UpdateRect(Fenetre_Pos_X+(Menu_Facteur_X<<3),Fenetre_Pos_Y+(Menu_Facteur_Y*(89+FILENAMESPACE)),Menu_Facteur_X*98,Menu_Facteur_Y*82); + Display_Window(8-1,95-1,144+2,80+2); // On récupère le nom du schmilblick à "accéder" Determiner_element_de_la_liste(Position,offset,Principal_Nom_fichier,&Type_selectionne); @@ -957,18 +955,18 @@ byte Bouton_Load_ou_Save(byte load, byte image) if (load) { if (image) - Ouvrir_fenetre(310,187+FILENAMESPACE,"Load picture"); + Ouvrir_fenetre(310,200,"Load picture"); else - Ouvrir_fenetre(310,187+FILENAMESPACE,"Load brush"); - Fenetre_Definir_bouton_normal(125,157+FILENAMESPACE,51,14,"Load",0,1,SDLK_RETURN); // 1 + Ouvrir_fenetre(310,200,"Load brush"); + Fenetre_Definir_bouton_normal(198,180,51,14,"Load",0,1,SDLK_RETURN); // 1 } else { if (image) - Ouvrir_fenetre(310,187+FILENAMESPACE,"Save picture"); + Ouvrir_fenetre(310,200,"Save picture"); else - Ouvrir_fenetre(310,187+FILENAMESPACE,"Save brush"); - Fenetre_Definir_bouton_normal(125,157+FILENAMESPACE,51,14,"Save",0,1,SDLK_RETURN); // 1 + Ouvrir_fenetre(310,200,"Save brush"); + Fenetre_Definir_bouton_normal(198,180,51,14,"Save",0,1,SDLK_RETURN); // 1 if (Principal_Format==0) // Correction du *.* { Principal_Format=Principal_Format_fichier; @@ -984,29 +982,28 @@ byte Bouton_Load_ou_Save(byte load, byte image) } // Affichage du commentaire if (FormatFichier[Principal_Format-1].Commentaire) - Print_dans_fenetre(46,175+FILENAMESPACE,Principal_Commentaire,CM_Noir,CM_Clair); + Print_dans_fenetre(47,70,Principal_Commentaire,CM_Noir,CM_Clair); } - Fenetre_Definir_bouton_normal(125,139+FILENAMESPACE,51,14,"Cancel",0,1,TOUCHE_ESC); // 2 - Fenetre_Definir_bouton_normal(125, 89+FILENAMESPACE,51,14,"Delete",0,1,SDLK_DELETE); // 3 + Fenetre_Definir_bouton_normal(253,180,51,14,"Cancel",0,1,TOUCHE_ESC); // 2 + Fenetre_Definir_bouton_normal(7,180,51,14,"Delete",0,1,SDLK_DELETE); // 3 - // Cadre autour des formats - Fenetre_Afficher_cadre( 7, 51,104, 35); // Cadre autour des infos sur le fichier de dessin - Fenetre_Afficher_cadre(116, 51,187, 35); + Fenetre_Afficher_cadre_creux(6, 44,299, 37); // Cadre autour de la preview - Fenetre_Afficher_cadre_creux(179,88+FILENAMESPACE,124,84); + Fenetre_Afficher_cadre_creux(181,93,124,84); // Cadre autour du fileselector - Fenetre_Afficher_cadre_creux( 7,88+FILENAMESPACE,100,84); + Fenetre_Afficher_cadre_creux(6,93,148,84); - Fenetre_Definir_bouton_special(9,90+FILENAMESPACE,96,80); // 4 + // Fileselector + Fenetre_Definir_bouton_special(9,95,144,80); // 4 // Scroller du fileselector - Scroller_de_fichiers = Fenetre_Definir_bouton_scroller(110,89+FILENAMESPACE,82,1,10,0); // 5 + Scroller_de_fichiers = Fenetre_Definir_bouton_scroller(160,94,82,1,10,0); // 5 // Dropdown pour les formats de fichier Dropdown_des_formats= - Fenetre_Definir_bouton_dropdown(70,56,36,16,0, + Fenetre_Definir_bouton_dropdown(69,28,49,11,0, (Principal_Format==0)?"*.*":FormatFichier[Principal_Format-1].Extension, 1,0,1,A_DROITE|A_GAUCHE); // 6 if (load) @@ -1017,30 +1014,31 @@ byte Bouton_Load_ou_Save(byte load, byte image) (!load && FormatFichier[Temp].Save)) Fenetre_Dropdown_choix(Dropdown_des_formats,Temp+1,FormatFichier[Temp].Extension); } - Print_dans_fenetre(12,61,"Format:",CM_Fonce,CM_Clair); + Print_dans_fenetre(70,18,"Format",CM_Fonce,CM_Clair); // Texte de commentaire des dessins - Print_dans_fenetre(7,174+FILENAMESPACE,"Txt:",CM_Fonce,CM_Clair); - Fenetre_Definir_bouton_saisie(44,173+FILENAMESPACE,TAILLE_COMMENTAIRE); // 7 + Print_dans_fenetre(9,70,"Txt:",CM_Fonce,CM_Clair); + Fenetre_Definir_bouton_saisie(43,68,TAILLE_COMMENTAIRE); // 7 - // Cadre autour du nom de fichier - //Fenetre_Afficher_cadre_creux( 7,87,296,15); - Print_dans_fenetre(9,90,"Filename:",CM_Fonce,CM_Clair); // Saisie du nom de fichier - Fenetre_Definir_bouton_saisie(11+9*8,88,27); // 8 + Fenetre_Definir_bouton_saisie(80,46,27); // 8 - Print_dans_fenetre(120,55,"Image size :",CM_Fonce,CM_Clair); - Print_dans_fenetre(120,63,"File size :",CM_Fonce,CM_Clair); - Print_dans_fenetre(120,72,"Format :",CM_Fonce,CM_Clair); + Print_dans_fenetre(9,47,"Filename",CM_Fonce,CM_Clair); + Print_dans_fenetre(9,59,"Image:",CM_Fonce,CM_Clair); + Print_dans_fenetre(101,59,"Size:",CM_Fonce,CM_Clair); + Print_dans_fenetre(228,59,"(",CM_Fonce,CM_Clair); + Print_dans_fenetre(292,59,")",CM_Fonce,CM_Clair); // Selecteur de Lecteur / Volume - Fenetre_Definir_bouton_normal(8,17,117,23,"Select drive",0,1,SDLK_LAST); // 9 - + Fenetre_Definir_bouton_normal(7,18,53,23,"",0,1,SDLK_LAST); // 9 + Print_dans_fenetre(10,22,"Select",CM_Noir,CM_Clair); + Print_dans_fenetre(14,30,"drive",CM_Noir,CM_Clair); + // Bookmarks for (Temp=0;TempPos_X+3,Dropdown_bookmark[Temp]->Pos_Y+2,5); Afficher_bookmark(Dropdown_bookmark[Temp],Temp); } @@ -1070,7 +1068,7 @@ byte Bouton_Load_ou_Save(byte load, byte image) Pixel_de_chargement=Pixel_Chargement_dans_preview; Nouvelle_preview=1; - Display_Window(310,(187+FILENAMESPACE)); + Display_Window(0,0,Fenetre_Largeur, Fenetre_Hauteur); Afficher_curseur(); @@ -1243,7 +1241,7 @@ byte Bouton_Load_ou_Save(byte load, byte image) case 7 : // Saisie d'un commentaire pour la sauvegarde if ( (!load) && (FormatFichier[Principal_Format-1].Commentaire) ) { - Readline(46,175+FILENAMESPACE,Principal_Commentaire,32,0); + Readline(45,70,Principal_Commentaire,32,0); Afficher_curseur(); } break; @@ -1252,7 +1250,7 @@ byte Bouton_Load_ou_Save(byte load, byte image) // Save the filename strcpy(Nom_fichier_Save, Principal_Nom_fichier); - if (Readline(13+9*8,90,Principal_Nom_fichier,27,2)) + if (Readline(82,48,Principal_Nom_fichier,27,2)) { // On regarde s'il faut rajouter une extension. C'est-à-dire s'il // n'y a pas de '.' dans le nom du fichier. @@ -1552,30 +1550,25 @@ byte Bouton_Load_ou_Save(byte load, byte image) { Effacer_curseur(); // On efface le commentaire précédent - Block(Fenetre_Pos_X+ 46*Menu_Facteur_X,Fenetre_Pos_Y+(175+FILENAMESPACE)*Menu_Facteur_Y, - Menu_Facteur_X<<8,Menu_Facteur_Y<<3,CM_Clair); + Window_rectangle(45,70,32*8,8,CM_Clair); // On nettoie la zone où va s'afficher la preview: - Block(Fenetre_Pos_X+180*Menu_Facteur_X,Fenetre_Pos_Y+ (89+FILENAMESPACE)*Menu_Facteur_Y, - Menu_Facteur_X*122,Menu_Facteur_Y*82,CM_Clair); + Window_rectangle(183,95,120,80,CM_Clair); // On efface les dimensions de l'image - Block(Fenetre_Pos_X+226*Menu_Facteur_X,Fenetre_Pos_Y+ 55*Menu_Facteur_Y, - Menu_Facteur_X*72,Menu_Facteur_Y<<3,CM_Clair); + Window_rectangle(143,59,72,8,CM_Clair); // On efface la taille du fichier - Block(Fenetre_Pos_X+226*Menu_Facteur_X,Fenetre_Pos_Y+ 63*Menu_Facteur_Y, - Menu_Facteur_X*72,Menu_Facteur_Y<<3,CM_Clair); + Window_rectangle(236,59,56,8,CM_Clair); // On efface le format du fichier - Block(Fenetre_Pos_X+226*Menu_Facteur_X,Fenetre_Pos_Y+ 72*Menu_Facteur_Y, - Menu_Facteur_X*72,Menu_Facteur_Y<<3,CM_Clair); + Window_rectangle(59,59,3*8,8,CM_Clair); // Affichage du commentaire if ( (!load) && (FormatFichier[Principal_Format-1].Commentaire) ) { - Print_dans_fenetre(46,175+FILENAMESPACE,Principal_Commentaire,CM_Noir,CM_Clair); + Print_dans_fenetre(45,70,Principal_Commentaire,CM_Noir,CM_Clair); } Afficher_curseur(); - // Un update pour couvrir les 4 zones: 3 libellés plus la zone de preview - UpdateRect(Fenetre_Pos_X+180*Menu_Facteur_X,Fenetre_Pos_Y+55*Menu_Facteur_Y,Menu_Facteur_X*122,Menu_Facteur_Y*(116+FILENAMESPACE)); - // Zone de commentaire - UpdateRect(Fenetre_Pos_X+46*Menu_Facteur_X,Fenetre_Pos_Y+(175+FILENAMESPACE)*Menu_Facteur_Y,Menu_Facteur_X*32*8,Menu_Facteur_Y*8); + // Un update pour couvrir les 4 zones: 3 libellés plus le commentaire + Display_Window(45,48,256,30); + // Zone de preview + Display_Window(183,95,120,80); } Nouvelle_preview=0; @@ -1595,7 +1588,8 @@ byte Bouton_Load_ou_Save(byte load, byte image) Effacer_curseur(); Charger_image(image); - UpdateRect(ToWinX(179),ToWinY(88+FILENAMESPACE),ToWinL(124),ToWinH(84)); + //Display_Window(183,95,120,80); + Display_Window(0,0,Fenetre_Largeur,Fenetre_Hauteur); Afficher_curseur(); // Après le chargement de la preview, on restaure tout ce qui aurait diff --git a/input.c b/input.c index 20ef503e..55ba3393 100644 --- a/input.c +++ b/input.c @@ -152,22 +152,6 @@ int Move_cursor_with_constraints() return feedback; } -// Fonction qui filtre les evenements génériques. -void Gere_Evenement_SDL(SDL_Event * event) -{ - // Redimensionnement fenetre - if (event->type == SDL_VIDEORESIZE ) - { - Handle_Window_Resize(event->resize); - } - // Fermeture - if (event->type == SDL_QUIT ) - { - Handle_Window_Exit(event->quit); - } -} - - // WM events management void Handle_Window_Resize(SDL_ResizeEvent event) diff --git a/input.h b/input.h index f8451d44..033a6a22 100644 --- a/input.h +++ b/input.h @@ -19,6 +19,5 @@ 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -void Gere_Evenement_SDL(SDL_Event * event); int Get_input(void); int Est_Raccourci(word Touche, word function); diff --git a/loadsave.c b/loadsave.c index a6a7d2d9..d22152c5 100644 --- a/loadsave.c +++ b/loadsave.c @@ -45,8 +45,6 @@ #include "windows.h" #include "loadsave.h" -#define FILENAMESPACE 13 - // -- PKM ------------------------------------------------------------------- void Test_PKM(void); void Load_PKM(void); @@ -330,7 +328,7 @@ void Initialiser_preview(short width,short height,long size,int format) // premier point. // { - char Chaine[256]; + char Chaine[10]; int Image_en_24b; Image_en_24b=format & FORMAT_24B; @@ -346,46 +344,44 @@ void Initialiser_preview(short width,short height,long size,int format) Num2str(width,Chaine,4); Num2str(height,Chaine+5,4); Chaine[4]='x'; - Print_dans_fenetre(226,55,Chaine,CM_Noir,CM_Clair); + Print_dans_fenetre(143,59,Chaine,CM_Noir,CM_Clair); } else { - Print_dans_fenetre(226,55,"VERY BIG!",CM_Noir,CM_Clair); + Print_dans_fenetre(143,59,"VERY BIG!",CM_Noir,CM_Clair); } // Affichage de la taille du fichier if (size<1048576) { // Le fichier fait moins d'un Mega, on affiche sa taille direct - Num2str(size,Chaine,9); - Print_dans_fenetre(226,63,Chaine,CM_Noir,CM_Clair); + Num2str(size,Chaine,7); + Print_dans_fenetre(236,59,Chaine,CM_Noir,CM_Clair); } - else if ((size/1024)<10000000) + else if ((size/1024)<100000) { // Le fichier fait plus d'un Mega, on peut afficher sa taille en Ko - Num2str(size/1024,Chaine,7); - Chaine[7]='K'; - Chaine[8]='b'; - Print_dans_fenetre(226,63,Chaine,CM_Noir,CM_Clair); + Num2str(size/1024,Chaine,5); + strcpy(Chaine+5,"Kb"); + Print_dans_fenetre(236,59,Chaine,CM_Noir,CM_Clair); } else { - // Le fichier fait plus de 10 Giga octets (cas très rare :)) - Print_dans_fenetre(226,63,"TOO BIG!!",CM_Noir,CM_Clair); + // Le fichier fait plus de 100 Mega octets (cas très rare :)) + Print_dans_fenetre(236,59,"LARGE!!",CM_Noir,CM_Clair); } // Affichage du vrai format if (format!=Principal_Format) { - Print_dans_fenetre( 274,72,FormatFichier[format-1].Extension,CM_Noir,CM_Clair); + Print_dans_fenetre( 59,59,FormatFichier[format-1].Extension,CM_Noir,CM_Clair); } // On efface le commentaire précédent - Block(Fenetre_Pos_X+46*Menu_Facteur_X,Fenetre_Pos_Y+(175+FILENAMESPACE)*Menu_Facteur_Y, - Menu_Facteur_X<<8,Menu_Facteur_Y<<3,CM_Clair); + Window_rectangle(45,70,32*8,8,CM_Clair); // Affichage du commentaire if (FormatFichier[format-1].Commentaire) - Print_dans_fenetre(46,175+FILENAMESPACE,Principal_Commentaire,CM_Noir,CM_Clair); + Print_dans_fenetre(45,70,Principal_Commentaire,CM_Noir,CM_Clair); // Calculs des données nécessaires à l'affichage de la preview: Preview_Facteur_X=Round_div_max(width,122*Menu_Facteur_X); @@ -399,14 +395,16 @@ void Initialiser_preview(short width,short height,long size,int format) Preview_Facteur_X=Preview_Facteur_Y; } - Preview_Pos_X=Fenetre_Pos_X+180*Menu_Facteur_X; - Preview_Pos_Y=Fenetre_Pos_Y+ (89+FILENAMESPACE)*Menu_Facteur_Y; + Preview_Pos_X=Fenetre_Pos_X+183*Menu_Facteur_X; + Preview_Pos_Y=Fenetre_Pos_Y+ 95*Menu_Facteur_Y; // On nettoie la zone où va s'afficher la preview: - Block(Preview_Pos_X,Preview_Pos_Y, - Round_div_max(width,Preview_Facteur_X), - Round_div_max(height,Preview_Facteur_Y), - CM_Noir); + Window_rectangle(183,95,120,80,CM_Clair); + + // Un update pour couvrir les 4 zones: 3 libellés plus le commentaire + Display_Window(45,48,256,30); + // Zone de preview + Display_Window(183,95,120,80); } else { @@ -456,19 +454,12 @@ void Initialiser_preview(short width,short height,long size,int format) void Dessiner_preview_palette(void) { short Indice; - short Preview_Pos_X=Fenetre_Pos_X+186*Menu_Facteur_X; - short Preview_Pos_Y=Fenetre_Pos_Y+ (90+FILENAMESPACE)*Menu_Facteur_Y; if (Pixel_de_chargement==Pixel_Chargement_dans_preview) for (Indice=0; Indice<256; Indice++) - Block(Preview_Pos_X+(((Indice>>4)*7)*Menu_Facteur_X), - Preview_Pos_Y+(((Indice&15)*5)*Menu_Facteur_Y), - 5*Menu_Facteur_X,5*Menu_Facteur_Y,Indice); + Window_rectangle(183+(Indice/16)*7,95+(Indice&15)*5,5,5,Indice); - UpdateRect( - Preview_Pos_X*Menu_Facteur_X, - Preview_Pos_Y*Menu_Facteur_Y, - 5*Menu_Facteur_X*256,5*Menu_Facteur_Y*256); + Display_Window(183,95,120,80); } diff --git a/struct.h b/struct.h index 464aee67..a02a9e2e 100644 --- a/struct.h +++ b/struct.h @@ -132,7 +132,7 @@ typedef struct T_Bouton_dropdown // Déclaration du type d'élément qu'on va mémoriser dans la liste: typedef struct Element_de_liste_de_fileselect { - char NomAbrege[13]; // Le nom tel qu'affiché dans le fileselector + char NomAbrege[19]; // Le nom tel qu'affiché dans le fileselector char NomComplet[256]; // Le nom du fichier ou du répertoire byte Type; // Type d'élément : 0 = Fichier, 1 = Répertoire, 2 = Lecteur diff --git a/translat/translations.xls b/translat/translations.xls index df70a090c92933853951e24457fc60d779a03720..aed395074891eb87d8be77c905df8fdd5a5767c2 100644 GIT binary patch delta 32 mcmZqZ5NrUV7RDB)7UnH1IZhl2u~`p8)}3VBUgE^k!w3MqNehJl delta 28 icmZqZ5NrUV7RDB)7UnH1IZo4iCopnsFL7e&VFUn=BMD{z diff --git a/windows.c b/windows.c index b61613ae..9280264f 100644 --- a/windows.c +++ b/windows.c @@ -55,13 +55,19 @@ void Pixel_dans_barre_d_outil(word x,word y,byte Couleur) Block(x*Menu_Facteur_X,(y*Menu_Facteur_Y)+Menu_Ordonnee,Menu_Facteur_X,Menu_Facteur_Y,Couleur); } - // 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_dans_fenetre(word x,word y,byte Couleur) { Block((x*Menu_Facteur_X)+Fenetre_Pos_X,(y*Menu_Facteur_Y)+Fenetre_Pos_Y,Menu_Facteur_X,Menu_Facteur_Y,Couleur); } +// 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_Facteur_X)+Fenetre_Pos_X,(y_pos*Menu_Facteur_Y)+Fenetre_Pos_Y,width*Menu_Facteur_X,height*Menu_Facteur_Y,color); +} + // -- Affichages de différents cadres dans une fenêtre ----------------------- diff --git a/windows.h b/windows.h index c80bce4f..44dfc74e 100644 --- a/windows.h +++ b/windows.h @@ -29,7 +29,7 @@ #define ToWinL(l) ((l)*Menu_Facteur_X) #define ToWinH(h) ((h)*Menu_Facteur_Y) -#define Display_Window(x,y) UpdateRect(Fenetre_Pos_X,Fenetre_Pos_Y,(x)*Menu_Facteur_X,(y)*Menu_Facteur_Y); +#define Display_Window(x,y,w,h) UpdateRect(Fenetre_Pos_X+(x)*Menu_Facteur_X,Fenetre_Pos_Y+(y)*Menu_Facteur_Y,(w)*Menu_Facteur_X,(h)*Menu_Facteur_Y); void Afficher_curseur(void); void Effacer_curseur(void); @@ -69,6 +69,7 @@ void Warning_message(char * Message); void Afficher_limites_de_l_image(void); void Afficher_ecran(void); +void Window_rectangle(word x_pos,word y_pos,word width,word height,byte color); void Fenetre_Afficher_cadre_general(word x_pos,word y_pos,word width,word height, byte Couleur_HG,byte Couleur_BD,byte Couleur_S,byte Couleur_CHG,byte Couleur_CBD); void Fenetre_Afficher_cadre_mono(word x_pos,word y_pos,word width,word height,byte Couleur);