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
This commit is contained in:
parent
fa71dea18d
commit
6b4a8f674e
48
boutons.c
48
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);
|
||||
|
||||
142
files.c
142
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;Temp<NB_BOOKMARKS;Temp++)
|
||||
{
|
||||
Dropdown_bookmark[Temp]=
|
||||
Fenetre_Definir_bouton_dropdown(126+(88+1)*(Temp%2),17+(Temp/2)*12,88,11,56,"",0,0,1,A_DROITE); // 10-13
|
||||
Fenetre_Definir_bouton_dropdown(127+(88+1)*(Temp%2),18+(Temp/2)*12,88,11,56,"",0,0,1,A_DROITE); // 10-13
|
||||
Fenetre_Afficher_sprite_drive(Dropdown_bookmark[Temp]->Pos_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
|
||||
|
||||
16
input.c
16
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)
|
||||
|
||||
1
input.h
1
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);
|
||||
|
||||
57
loadsave.c
57
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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
2
struct.h
2
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
|
||||
|
||||
|
||||
Binary file not shown.
@ -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 -----------------------
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user