Fixes the missing color remapping of windows background (and status bar) when palette remapping occurs.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@257 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2008-10-14 22:46:51 +00:00
parent 584c4696c1
commit 9fb162e748
4 changed files with 33 additions and 5 deletions

View File

@ -364,7 +364,9 @@ 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);
}
}

View File

@ -1947,8 +1947,31 @@ short Fenetre_Bouton_clicke(void)
return 0;
}
//int Moteur_Dernier_bouton_clicke;
//int Moteur_Type_dernier_bouton_clicke;
// 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)
{
int Indice_fenetre;
byte* EDI;
int dx,cx;
for (Indice_fenetre=0; Indice_fenetre<Fenetre; Indice_fenetre++)
{
EDI = Fond_fenetre[Indice_fenetre];
// Pour chaque ligne
for(dx=Pile_Fenetre_Hauteur[Indice_fenetre];dx>0;dx--)
{
// Pour chaque pixel
for(cx=Pile_Fenetre_Largeur[Indice_fenetre];cx>0;cx--)
{
*EDI = Table_de_conversion[*EDI];
EDI ++;
}
}
}
}

View File

@ -65,3 +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);

View File

@ -199,10 +199,11 @@ void Remap_image_HIGH(byte * Table_de_conversion)
(Principal_Split+(LARGEUR_BARRE_SPLIT*Menu_Facteur_X)),
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);
}
void Swap(int X_Swap,short Debut_Bloc_1,short Debut_Bloc_2,short Taille_du_bloc,T_Palette Palette, dword * Utilisation_couleur)
{
short Pos_1;
@ -314,7 +315,9 @@ void Swap(int X_Swap,short Debut_Bloc_1,short Debut_Bloc_2,short Taille_du_bloc,
Set_palette(Palette);
if (X_Swap)
{
Remap_image_HIGH(Table_de_conversion);
}
}
@ -381,7 +384,6 @@ void Remettre_proprement_les_couleurs_du_menu(dword * Utilisation_couleur)
// On fait un changement des couleurs visibles à l'écran et dans l'image
Remap_image_HIGH(Table_de_remplacement);
Afficher_curseur();
}