[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
|