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:
parent
584c4696c1
commit
9fb162e748
2
graph.c
2
graph.c
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
29
moteur.c
29
moteur.c
@ -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 ++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1
moteur.h
1
moteur.h
@ -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);
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user