From 0c26dc6459295bf98eb999a42e3b1d4ee3c5dd46 Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Tue, 3 Feb 2009 21:58:25 +0000 Subject: [PATCH] Contourfill now uses a kind of 'additive XOR' lines : Pixels stay marked even if you pass over them several times. git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@588 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- graph.c | 22 ++++++++++++++++++++++ graph.h | 2 ++ operatio.c | 12 ++++++++++-- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/graph.c b/graph.c index 00496cb7..e08ffc6a 100644 --- a/graph.c +++ b/graph.c @@ -855,6 +855,18 @@ void Remplir(byte Couleur_de_remplissage) Pixel_Preview(Pos_X,Pos_Y,~Lit_pixel(Pos_X-Principal_Decalage_X, Pos_Y-Principal_Decalage_Y)); } + + // Affichage d'un point pour une preview en xor additif + // (Il lit la couleur depuis la page backup) + void Pixel_figure_Preview_xorback(word Pos_X,word Pos_Y,__attribute__((unused)) byte Couleur) + { + if ( (Pos_X>=Limite_Gauche) && + (Pos_X<=Limite_Droite) && + (Pos_Y>=Limite_Haut) && + (Pos_Y<=Limite_Bas) ) + Pixel_Preview(Pos_X,Pos_Y,~Ecran_backup[Pos_X+Pos_Y*Principal_Largeur_image]); + } + // Effacement d'un point de preview void Pixel_figure_Effacer_preview(word Pos_X,word Pos_Y,__attribute__((unused)) byte Couleur) @@ -1294,6 +1306,16 @@ void Tracer_ligne_Preview_xor(short Debut_X,short Debut_Y,short Fin_X,short Fin_ Mettre_Ecran_A_Jour((Debut_X