Brush menu displays with wide/tall aspect ratio if needed

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@388 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2008-12-15 22:28:32 +00:00
parent 383bb56366
commit b6d18a012b

19
graph.c
View File

@ -3564,13 +3564,22 @@ void Afficher_pinceau_dans_fenetre(word X,word Y,int Numero)
word Pos_Y; word Pos_Y;
word Pos_fenetre_X; word Pos_fenetre_X;
word Pos_fenetre_Y; word Pos_fenetre_Y;
int Taille_X;
int Taille_Y;
word Orig_X;
word Orig_Y;
word Orig_X = X + 8 - Pinceau_predefini_Decalage_X[Numero]; Taille_X=Menu_Facteur_X/Pixel_height;
word Orig_Y = Y + 8 - Pinceau_predefini_Decalage_Y[Numero]; Taille_Y=Menu_Facteur_Y/Pixel_width;
for (Pos_fenetre_Y=Orig_Y,Pos_Y=0; Pos_Y<Pinceau_predefini_Hauteur[Numero]; Pos_fenetre_Y++,Pos_Y++) Orig_X = (X + 8)*Menu_Facteur_X - (Pinceau_predefini_Decalage_X[Numero])*Taille_X+Fenetre_Pos_X;
for (Pos_fenetre_X=Orig_X,Pos_X=0; Pos_X<Pinceau_predefini_Largeur[Numero]; Pos_fenetre_X++,Pos_X++) Orig_Y = (Y + 8)*Menu_Facteur_Y - (Pinceau_predefini_Decalage_Y[Numero])*Taille_Y+Fenetre_Pos_Y;
Pixel_dans_fenetre(Pos_fenetre_X,Pos_fenetre_Y,(SPRITE_PINCEAU[Numero][Pos_Y][Pos_X])?CM_Noir:CM_Clair);
for (Pos_fenetre_Y=0,Pos_Y=0; Pos_Y<Pinceau_predefini_Hauteur[Numero]; Pos_fenetre_Y++,Pos_Y++)
for (Pos_fenetre_X=0,Pos_X=0; Pos_X<Pinceau_predefini_Largeur[Numero]; Pos_fenetre_X++,Pos_X++)
Block(Orig_X+Pos_fenetre_X*Taille_X,Orig_Y+Pos_fenetre_Y*Taille_Y,Taille_X,Taille_Y,(SPRITE_PINCEAU[Numero][Pos_Y][Pos_X])?CM_Noir:CM_Clair);
// On n'utilise pas Pixel_dans_fenetre() car on ne dessine pas
// forcément avec la même taille de pixel.
UpdateRect( ToWinX(Orig_X), ToWinY(Orig_Y), UpdateRect( ToWinX(Orig_X), ToWinY(Orig_Y),
ToWinL(Pinceau_predefini_Largeur[Numero]), ToWinL(Pinceau_predefini_Largeur[Numero]),