From 9434f76dfdcb1c1c8730fd7fcc68bac8a2668375 Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Wed, 15 Oct 2008 00:04:15 +0000 Subject: [PATCH] More fixes of palette remapping. Todo: Button Swap needs a refresh, button Cancel requires a toolbar redraw. git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@258 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- graph.c | 3 ++- moteur.c | 11 +++++++++-- moteur.h | 2 +- palette.c | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/graph.c b/graph.c index 9371cdcd..87c357f8 100644 --- a/graph.c +++ b/graph.c @@ -364,7 +364,8 @@ void Remapper_ecran_apres_changement_couleurs_menu(void) Mais ça va être chiant parce qu'ils peuvent être affichés en mode Loupe. Mais de toutes façons, c'est franchement facultatif... */ - Remappe_fond_fenetres(Table_de_conversion); + // Remappage de la partie du fond de la fenetre qui cacherait le menu... + Remappe_fond_fenetres(Table_de_conversion, Hauteur_ecran-HAUTEUR_MENU*Menu_Facteur_Y, Hauteur_ecran); } } diff --git a/moteur.c b/moteur.c index 1e0b11f3..5930a490 100644 --- a/moteur.c +++ b/moteur.c @@ -1953,7 +1953,7 @@ short Fenetre_Bouton_clicke(void) // 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 Remappe_fond_fenetres(byte * Table_de_conversion) +void Remappe_fond_fenetres(byte * Table_de_conversion, int Min_Y, int Max_Y) { int Indice_fenetre; byte* EDI; @@ -1964,8 +1964,15 @@ void Remappe_fond_fenetres(byte * Table_de_conversion) EDI = Fond_fenetre[Indice_fenetre]; // Pour chaque ligne - for(dx=Pile_Fenetre_Hauteur[Indice_fenetre];dx>0;dx--) + for(dx=0; dxMax_Y) + return; + if (dx+Pile_Fenetre_Pos_Y[Indice_fenetre]0;cx--) { diff --git a/moteur.h b/moteur.h index 2c35ba56..4112f50b 100644 --- a/moteur.h +++ b/moteur.h @@ -65,4 +65,4 @@ void Recuperer_couleur_derriere_fenetre(byte * Couleur, byte * Click); short Fenetre_Bouton_clicke(void); int Numero_bouton_sous_souris(void); short Fenetre_Numero_bouton_clicke(void); -void Remappe_fond_fenetres(byte * Table_de_conversion); +void Remappe_fond_fenetres(byte * Table_de_conversion, int Min_Y, int Max_Y); diff --git a/palette.c b/palette.c index 8c3f342c..dd761eaa 100644 --- a/palette.c +++ b/palette.c @@ -200,7 +200,7 @@ void Remap_image_HIGH(byte * Table_de_conversion) Menu_Ordonnee_avant_fenetre,Table_de_conversion); } // Remappe tous les fonds de fenetre (qui doivent contenir un bout d'écran) - Remappe_fond_fenetres(Table_de_conversion); + Remappe_fond_fenetres(Table_de_conversion, 0, Hauteur_ecran-HAUTEUR_MENU*Menu_Facteur_Y); }