Mail Archives: djgpp/1993/05/12/09:57:44
From djgpp-bounces AT sun DOT soe DOT clarkson DOT edu Wed May 12 06:00:10 1993
Date: Wed, 12 May 1993 09:21:24 GMT
From: gilliard AT lectra DOT fr ( Gilliard Laurent Pierre)
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: pixmap transparent en francais
Bon, je suis desole pour les anglophiles. Quelques utilisateurs francophones
m'ayant contactes, je leur envoie une copie du mail envoye a Patrick Daloze
directement sur djgpp forum.
J'affiche un ecran graphique. Sur cet ecran je veux afficher des brosses (pixmap)
en 256 couleurs. Certaines de ces brosses sont rectangulaires, donc pas de
probleme: GrBitBlt brosse rectangulaire -> ecran.
D'autres ne le sont pas et doivent etre traitees comme le curseur de la souris
(fond transparent (couleur 0)).
1/ je ne vois pas comment resoudre ce probleme avec GrBitBlt + GrNOCOLOR
2/ j'utilise des curseurs graphiques (couleur 0 non affichable) ce qui resoud
mon probleme lorsque je veux afficher cette brosse-curseur une seule fois a l'ecran
3/ lorsque je veux afficher un de ces curseurs graphiques plusieur fois sur le meme
ecran: probleme. Exemple:j'affiche le curseur1 en 100,100, il s'affiche; je veux l'affiche
r en 200,200, il s'affiche egalement, mais apres s'etre efface en 100,100. Cela semble
parfaitement logique.
4/ D'ou ce que je fait lourdement mais qui fonctionne
DisplayCursor(x,y)
BitBlt(TmpContext,0,0,NULL,x,y,x+w,y+h)
EraseCursor()
BitBlt(NULL,x,y,TmpContext,0,0,w,y)
De cette maniere je peux avoir n curseurs identiques a l'ecran.
Merci, a bientot.
LPG
I make big mistake when I said "GrNOCOLOR" in BitBlt keep original value...
Anyway, I have replay directely (in french! ;)) a solution: it is like the
older mouse driver's version:
1) Make a bitmap (GrContext or best, a matrix) who a value is reserved.
2) Pixel by pixel, or best, by run line, draw on the screen all colors
except the reserved value, where nothing append.
I don't know other method whitout manipulate directely bitmap.
Pat.
- Raw text -