Scroll_picture
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@84 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
7e48434e19
commit
14191db899
38
divers.c
38
divers.c
@ -384,7 +384,14 @@ void Pixel_dans_ecran_courant (word X,word Y,byte Couleur)
|
||||
|
||||
void Remplacer_une_couleur(byte Ancienne_couleur, byte Nouvelle_couleur)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
byte* edi;
|
||||
|
||||
// pour chaque pixel :
|
||||
for(edi = Principal_Ecran;edi < Principal_Ecran + Principal_Hauteur_image * Principal_Largeur_image;edi++)
|
||||
if (*edi == Ancienne_couleur)
|
||||
*edi = Nouvelle_couleur;
|
||||
SDL_UpdateRect(Ecran_SDL,0,0,0,0); // On pet TOUT a jour
|
||||
// C'est pas un problème car il n'y a pas de preview
|
||||
}
|
||||
|
||||
void Ellipse_Calculer_limites(short Rayon_horizontal,short Rayon_vertical)
|
||||
@ -651,7 +658,34 @@ void Set_color(byte Couleur, byte Rouge, byte Vert, byte Bleu)
|
||||
|
||||
void Scroll_picture(short Decalage_X,short Decalage_Y)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
byte* esi = Ecran_backup; //Source de la copie
|
||||
byte* edi = Principal_Ecran + Decalage_Y * Principal_Largeur_image + Decalage_X;
|
||||
const word ax = Principal_Largeur_image - Decalage_X; // Nombre de pixels à copier à droite
|
||||
word dx;
|
||||
for(dx = Principal_Hauteur_image - Decalage_Y;dx>0;dx--)
|
||||
{
|
||||
// Pour chaque ligne
|
||||
memcpy(edi,esi,ax);
|
||||
memcpy(edi - Decalage_X,esi+ax,Decalage_X);
|
||||
|
||||
// On passe à la ligne suivante
|
||||
edi += Principal_Largeur_image;
|
||||
esi += Principal_Largeur_image;
|
||||
}
|
||||
|
||||
// On vient de faire le traitement pour otutes les lignes au-dessous de Decalage_Y
|
||||
// Maintenant on traite celles au dessus
|
||||
edi = Decalage_X + Principal_Ecran;
|
||||
for(dx = Decalage_Y;dx>0;dx--)
|
||||
{
|
||||
memcpy(edi,esi,ax);
|
||||
memcpy(edi - Decalage_X,esi+ax,Decalage_X);
|
||||
|
||||
edi += Principal_Largeur_image;
|
||||
esi += Principal_Largeur_image;
|
||||
}
|
||||
|
||||
SDL_UpdateRect(Ecran_SDL,0,0,0,0);
|
||||
}
|
||||
|
||||
word Get_key(void)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user