Corrected Memoire_libre to take account of mem_unit in the sysinfo

struct


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@55 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Adrien Destugues 2008-07-22 08:25:39 +00:00
parent 272506e850
commit 4ba7550bfc
6 changed files with 59 additions and 32 deletions

14
aide.c
View File

@ -213,14 +213,22 @@ void Bouton_Stats(void)
Fenetre_Definir_bouton_normal(120,153,70,14,"OK",0,1,0x0001); // 1 Fenetre_Definir_bouton_normal(120,153,70,14,"OK",0,1,0x0001); // 1
// Affichage du numro de version // Affichage du numéro de version
Print_dans_fenetre(10,19,"Version:",STATS_COULEUR_TITRES,CM_Noir); Print_dans_fenetre(10,19,"Version:",STATS_COULEUR_TITRES,CM_Noir);
sprintf(Buffer,"GrafX 2.00 %s%s",ALPHA_BETA,POURCENTAGE_VERSION); sprintf(Buffer,"GrafX 2.00 %s%s",ALPHA_BETA,POURCENTAGE_VERSION);
Print_dans_fenetre(82,19,Buffer,STATS_COULEUR_DONNEES,CM_Noir); Print_dans_fenetre(82,19,Buffer,STATS_COULEUR_DONNEES,CM_Noir);
// Affichage de la mmoire restante // Affichage de la mémoire restante
Print_dans_fenetre(10,35,"Free memory:",STATS_COULEUR_TITRES,CM_Noir); Print_dans_fenetre(10,35,"Free memory:",STATS_COULEUR_TITRES,CM_Noir);
sprintf(Buffer,"%d bytes",Memoire_libre()); unsigned long freeRam = Memoire_libre();
if(freeRam > (1024*1024*1024))
sprintf(Buffer,"%ld Gigabytes",freeRam/(1024*1024*1024));
else if(freeRam > (1024*1024))
sprintf(Buffer,"%ld Megabytes",freeRam/(1024*1024));
else if(freeRam > 1024)
sprintf(Buffer,"%ld Kilobytes",freeRam/1024);
else
sprintf(Buffer,"%ld bytes",freeRam);
Print_dans_fenetre(114,35,Buffer,STATS_COULEUR_DONNEES,CM_Noir); Print_dans_fenetre(114,35,Buffer,STATS_COULEUR_DONNEES,CM_Noir);
// Affichage de l'espace disque libre // Affichage de l'espace disque libre

View File

@ -18,6 +18,7 @@
#include <ctype.h> #include <ctype.h>
#include "boutons.h" #include "boutons.h"
#include "operatio.h" #include "operatio.h"
#include "pages.h"
// On déclare méchamment le prototype de Erreur pour éviter de faire un // On déclare méchamment le prototype de Erreur pour éviter de faire un
// fichier "main.h": // fichier "main.h":

View File

@ -62,7 +62,7 @@
; 1: Solid ³ 1: Solide ; 1: Solid ³ 1: Solide
; 2: Transparent ³ 2: Transparent ; 2: Transparent ³ 2: Transparent
; 3: Thin (solid) ³ 3: Fin (solide) ; 3: Thin (solid) ³ 3: Fin (solide)
Cursor_aspect = 2 ; (default 1) Cursor_aspect = 1 ; (default 1)
@ -102,7 +102,7 @@
; Font: ³ Police de caractères (fonte): ; Font: ³ Police de caractères (fonte):
; 1: Classic ³ 1: Classique ; 1: Classic ³ 1: Classique
; 2: Fun ³ 2: Fun ; 2: Fun ³ 2: Fun
Font = 2 ; (default 1) Font = 1 ; (default 1)
@ -158,7 +158,7 @@
; modes that are not supported by ³ 'yes' après avoir inhibé les modes ; modes that are not supported by ³ 'yes' après avoir inhibé les modes
; your video card or monitor. ³ vidéo qui ne sont pas supportés par ; your video card or monitor. ³ vidéo qui ne sont pas supportés par
; ³ votre matériel. ; ³ votre matériel.
Auto_set_resolution = no ; (default 'no') Auto_set_resolution = yes ; (default 'no')
; If the variable above is set to ³ Si la variable ci-dessus est à 'yes', ; If the variable above is set to ³ Si la variable ci-dessus est à 'yes',
; 'yes', this one tells if you want ³ celle-ci indique si vous voulez ; 'yes', this one tells if you want ³ celle-ci indique si vous voulez
@ -198,7 +198,7 @@
; Coordinates: ³ Coordonnées: ; Coordinates: ³ Coordonnées:
; 1: Relative ³ 1: Relatives ; 1: Relative ³ 1: Relatives
; 2: Absolute ³ 2: Absolues ; 2: Absolute ³ 2: Absolues
Coordinates = 1 ; (default 1) Coordinates = 2 ; (default 1)
; Create a backup file when saving. ³ Créer un fichier backup lors des ; Create a backup file when saving. ³ Créer un fichier backup lors des
; ³ sauvegardes. ; ³ sauvegardes.
@ -237,7 +237,7 @@
; Separate the colors in the tool- ³ Séparer les couleurs dans la barre ; Separate the colors in the tool- ³ Séparer les couleurs dans la barre
; bar by a black squaring. ³ d'outils par un quadrillage noir. ; bar by a black squaring. ³ d'outils par un quadrillage noir.
Separate_colors = yes ; (default 'yes') Separate_colors = no ; (default 'yes')
; Initial value of the feedback for ³ Valeur initiale du "feedback" pour les ; Initial value of the feedback for ³ Valeur initiale du "feedback" pour les
; the drawing modes (cf. docs). ³ modes de dessin (cf. docs). ; the drawing modes (cf. docs). ³ modes de dessin (cf. docs).
@ -252,7 +252,7 @@
; the menu if there are less than 4 ³ de 4 couleurs après une "réduction" ou ; the menu if there are less than 4 ³ de 4 couleurs après une "réduction" ou
; colors left after "reducing" or ³ un "zapping". ; colors left after "reducing" or ³ un "zapping".
; "zapping". ³ ; "zapping". ³
Safety_colors = yes ; (default 'yes') Safety_colors = no ; (default 'yes')
; Display a message at startup ³ Afficher un message au démarrage ; Display a message at startup ³ Afficher un message au démarrage
; telling the version number of the ³ indiquant le numéro de version du ; telling the version number of the ³ indiquant le numéro de version du

12
graph.c
View File

@ -393,12 +393,12 @@ void Calculer_couleurs_menu_optimales(struct Composantes * Palette)
// Indique quelle est la mémoire disponible // Indique quelle est la mémoire disponible
dword Memoire_libre(void) unsigned long Memoire_libre(void)
{ {
// On appelle la fonction qui optimise la mémoire libre afin d'en regagner // On appelle la fonction qui optimise la mémoire libre afin d'en
// un maximum. Sinon, tous les "free" libèrent une mémoire qui n'est pas // regagner un maximum. Sinon, tous les "free" libèrent une mémoire qui
// prise en compte par la fonction, et on se retrouve avec un manque // n'est pas prise en compte par la fonction, et on se retrouve avec un
// alarmant de mémoire. // manque alarmant de mémoire.
/* /*
A revoir, mais est-ce vraiment utile? A revoir, mais est-ce vraiment utile?
_heapmin(); _heapmin();
@ -406,7 +406,7 @@ dword Memoire_libre(void)
struct sysinfo info; struct sysinfo info;
sysinfo(&info); sysinfo(&info);
return info.freeram; return info.freeram*info.mem_unit;
} }

View File

@ -5,9 +5,11 @@
void Remapper_ecran_apres_changement_couleurs_menu(void); void Remapper_ecran_apres_changement_couleurs_menu(void);
void Calculer_couleurs_menu_optimales(struct Composantes * Palette); void Calculer_couleurs_menu_optimales(struct Composantes * Palette);
dword Memoire_libre(void); unsigned long Memoire_libre(void);
void Liste2tables(word * Liste,short Pas,byte Mode,byte * Table_inc,byte * Table_dec); void Liste2tables(word * Liste, short Pas, byte Mode, byte * Table_inc,
byte * Table_dec
);
void Num2str(dword Nombre,char * Chaine,byte Taille); void Num2str(dword Nombre,char * Chaine,byte Taille);
int Str2num(char * Chaine); int Str2num(char * Chaine);
@ -138,11 +140,8 @@ void Capturer_brosse_au_lasso(int Vertices, short * Points,short Effacement);
// Gestion des backups: // Gestion des backups:
void Download_infos_page_principal(S_Page * Page); void Download_infos_page_principal(S_Page * Page);
void Upload_infos_page_principal(S_Page * Page);
void Download_infos_page_brouillon(S_Page * Page); void Download_infos_page_brouillon(S_Page * Page);
void Upload_infos_page_brouillon(S_Page * Page);
void Download_infos_backup(S_Liste_de_pages * Liste); void Download_infos_backup(S_Liste_de_pages * Liste);
// int Initialiser_les_listes_de_backups_en_debut_de_programme(int Taille,int Largeur,int Hauteur); // pages.h
void Detruire_les_listes_de_backups_en_fin_de_programme(void); void Detruire_les_listes_de_backups_en_fin_de_programme(void);
void Nouveau_nombre_de_backups(int Nouveau); void Nouveau_nombre_de_backups(int Nouveau);
int Backup_avec_nouvelles_dimensions(int Upload,int Largeur,int Hauteur); int Backup_avec_nouvelles_dimensions(int Upload,int Largeur,int Hauteur);

41
pages.c
View File

@ -414,26 +414,41 @@ void Avancer_dans_une_liste_de_pages(S_Liste_de_pages * Liste)
} }
} }
int Nouvelle_page_possible(S_Page * Nouvelle_page,S_Liste_de_pages * Liste_courante,S_Liste_de_pages * Liste_secondaire) int Nouvelle_page_possible(
S_Page * Nouvelle_page,
S_Liste_de_pages * Liste_courante,
S_Liste_de_pages * Liste_secondaire
)
{ {
unsigned int Taille_immediatement_disponible; unsigned long Taille_immediatement_disponible;
unsigned int Taille_liste_courante; unsigned long Taille_liste_courante;
unsigned int Taille_liste_brouillon; unsigned long Taille_liste_brouillon;
unsigned int Taille_page_courante; unsigned long Taille_page_courante;
unsigned int Taille_page_brouillon; unsigned long Taille_page_brouillon;
unsigned int Taille_nouvelle_page; unsigned long Taille_nouvelle_page;
Taille_immediatement_disponible=Memoire_libre()-QUANTITE_MINIMALE_DE_MEMOIRE_A_CONSERVER; Taille_immediatement_disponible = Memoire_libre()
- QUANTITE_MINIMALE_DE_MEMOIRE_A_CONSERVER;
Taille_liste_courante =Taille_d_une_liste_de_pages(Liste_courante); Taille_liste_courante =Taille_d_une_liste_de_pages(Liste_courante);
Taille_liste_brouillon=Taille_d_une_liste_de_pages(Liste_secondaire); Taille_liste_brouillon=Taille_d_une_liste_de_pages(Liste_secondaire);
Taille_page_courante =Taille_d_une_page(Liste_courante->Pages); Taille_page_courante =Taille_d_une_page(Liste_courante->Pages);
Taille_page_brouillon =Taille_d_une_page(Liste_secondaire->Pages); Taille_page_brouillon =Taille_d_une_page(Liste_secondaire->Pages);
Taille_nouvelle_page =Taille_d_une_page(Nouvelle_page); Taille_nouvelle_page =Taille_d_une_page(Nouvelle_page);
printf("Memoire libre : %ld\n",Memoire_libre());
DEBUG("QMin",QUANTITE_MINIMALE_DE_MEMOIRE_A_CONSERVER);
DEBUG("Taille_immediatement_disponible",Taille_immediatement_disponible);
DEBUG("Taille_liste_courante",Taille_immediatement_disponible);
DEBUG("Taille_liste_brouillon",Taille_liste_brouillon);
DEBUG("Taille_page_brouillon",Taille_page_brouillon);
DEBUG("Taille_nouvelle_page",Taille_nouvelle_page);
// Il faut pouvoir loger la nouvelle page et son backup dans la page // Il faut pouvoir loger la nouvelle page et son backup dans la page
// courante, en conservant au pire la 1ère page de brouillon. // courante, en conservant au pire la 1ère page de brouillon.
if ( (Taille_immediatement_disponible + Taille_liste_courante + if ( (Taille_immediatement_disponible + Taille_liste_courante +
Taille_liste_brouillon-Taille_page_brouillon)<(2*Taille_nouvelle_page)) Taille_liste_brouillon - Taille_page_brouillon)
< (2*Taille_nouvelle_page) )
{ {
DEBUG("A",0); DEBUG("A",0);
return 0; return 0;
@ -683,12 +698,16 @@ int Initialiser_les_listes_de_backups_en_debut_de_programme(int Taille,int Large
Retour=1; Retour=1;
} }
else else
{DEBUG("Il n'est pas possible de démarrer le programme avec la page principale et la page de brouillon aux dimensions demandée par l'utilisateur. ==> On l'envoie ballader",0); {DEBUG("Il n'est pas possible de démarrer le programme avec la page \
principale et la page de brouillon aux dimensions demandée par \
l'utilisateur. ==> On l'envoie ballader",0);
Retour=0; Retour=0;
} }
} }
else else
{DEBUG("On ne peut pas démarrer le programme avec ne serait-ce qu'une page de la dimension souhaitée, donc on laisse tout tomber et on le renvoie chier.",0); {DEBUG("On ne peut pas démarrer le programme avec ne serait-ce qu'une\
page de la dimension souhaitée, donc on laisse tout tomber et on le \
renvoie chier.",0);
Retour=0; Retour=0;
} }
} }