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
This commit is contained in:
parent
9fb162e748
commit
9434f76dfd
3
graph.c
3
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
11
moteur.c
11
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; dx<Pile_Fenetre_Hauteur[Indice_fenetre];dx++)
|
||||
{
|
||||
if (dx+Pile_Fenetre_Pos_Y[Indice_fenetre]>Max_Y)
|
||||
return;
|
||||
if (dx+Pile_Fenetre_Pos_Y[Indice_fenetre]<Min_Y)
|
||||
{
|
||||
EDI += Pile_Fenetre_Largeur[Indice_fenetre];
|
||||
}
|
||||
else
|
||||
// Pour chaque pixel
|
||||
for(cx=Pile_Fenetre_Largeur[Indice_fenetre];cx>0;cx--)
|
||||
{
|
||||
|
||||
2
moteur.h
2
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);
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user