[squeak-dev] ColorForm with transparency not working properly

karl ramberg karlramberg at gmail.com
Mon Sep 21 20:32:28 UTC 2020


Class comment for VMMaker-Interpreter/BitBltSimulation

 has some information. This information is not in the image currently.



This class implements BitBlt, much as specified in the Blue Book spec.

Performance has been enhanced through the use of pointer variables
such as sourceIndex and destIndex, and by separating several special
cases of the inner loop.

Operation has been extended to color, with support for 1, 2, 4, 8, 16,
and 32-bit pixel sizes.  Conversion between different pixel sizes is
facilitated by accepting an optional color map.

In addition to the original 16 combination rules, this BitBlt supports
	16	fail (for old paint mode)
	17	fail (for old mask mode)
	18	sourceWord + destinationWord
	19	sourceWord - destinationWord
	20	rgbAdd: sourceWord with: destinationWord
	21	rgbSub: sourceWord with: destinationWord
	22	OLDrgbDiff: sourceWord with: destinationWord
	23	OLDtallyIntoMap: destinationWord -- old vers doesn't clip to bit boundary
	24	alphaBlend: sourceWord with: destinationWord
	25	pixPaint: sourceWord with: destinationWord
	26	pixMask: sourceWord with: destinationWord
	27	rgbMax: sourceWord with: destinationWord
	28	rgbMin: sourceWord with: destinationWord
	29	rgbMin: sourceWord bitInvert32 with: destinationWord
	30	alphaBlendConst: sourceWord with: destinationWord -- alpha passed as an arg
	31	alphaPaintConst: sourceWord with: destinationWord -- alpha passed as an arg
	32	rgbDiff: sourceWord with: destinationWord
	33	tallyIntoMap: destinationWord
	34	alphaBlendScaled: sourceWord with: destinationWord
	35 alphaBlendScaled: sourceWord with:	"unused here - only used by FXBlt"
	36 alphaBlendScaled: sourceWord with:	"unused here - only used by FXBlt"
	37 rgbMul: sourceWord with: destinationWord
	38 pixSwap: sourceWord with: destinationWord
	39 pixClear: sourceWord with: destinationWord
	40 fixAlpha: sourceWord with: destinationWord
	41 rgbComponentAlpha: sourceWord with: destinationWord

This implementation has also been fitted with an experimental "warp
drive" that allows abritrary scaling and rotation (and even limited
affine deformations) with all BitBlt storage modes supported.

To add a new rule to BitBlt...
	1.  add the new rule method or methods in the category 'combination
rules' of BBSim
	2.  describe it in the class comment  of BBSim and in the class
comment for BitBlt
	3.  add refs to initializeRuleTable in proper positions
	4.  add refs to initBBOpTable, following the pattern

XHTML <http://validator.w3.org/check/referer> | CSS
<http://jigsaw.w3.org/css-validator/check/referer> | RSS
<http://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fsource.squeak.org%2Ffeed.rss>

On Mon, Sep 21, 2020 at 9:31 PM Thiede, Christoph <
Christoph.Thiede at student.hpi.uni-potsdam.de> wrote:

> Thanks for the pointer, Stef. I think we really need some kind of
> documentation of the form rules to decide whether we can apply Marcel's
> solution. Did anyone ever read something about it?
>
>
> Best,
>
> Christoph
> <http://www.hpi.de/>
> ------------------------------
> *Von:* Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im
> Auftrag von Stéphane Rollandin <lecteur at zogotounga.net>
> *Gesendet:* Samstag, 19. September 2020 22:34:21
> *An:* squeak-dev at lists.squeakfoundation.org
> *Betreff:* Re: [squeak-dev] ColorForm with transparency not working
> properly
>
> > But unfortunately, I could not find any documentation about the
> > different Form rules such as #blend, #over, #paint etc. Can you give me
> > some pointers?
> Related thread:
> http://forum.world.st/ImageForm-color-with-alpha-td5090574.html
>
> Stef
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200921/0c7bd843/attachment.html>


More information about the Squeak-dev mailing list