[Oberon] System-V - Frame Clipping
Tomas Kral
thomas.kral at email.cz
Mon Mar 4 15:39:39 CET 2019
On Mon, 4 Mar 2019 11:28:31 +0100
Andreas Pirklbauer <andreas_pirklbauer at yahoo.com> wrote:
> mask := SYSTEM.VAL(SET, ASR(7FFFFFFFH, 31-x));
Hi Andreas,
Thank you, will toy with your line code.
The mask above is interesting, not sure I get the idea yet, as I still
use older version of D.CopyPattern();
Only thinking about complement 31-x, if could be coded as -x?
mask := SYSTEM.VAL(SET, ASR(7FFFFFFFH, -(x) ));
As display buffer is reversed like in the mirror, so
shift right is visually moving pixels left on the screen and vice versa.
7FFFFFFFH = binary all ones, except MSB, are shifted left, x, 31
complement times.
As LSL, ASR, ROR, are allowed on SETs, I am thinking of an
equivalent.
mask := ASR(-{31}, -(x)); but I do fear is not the same thing.
Apologies for analysing too much :-)
Thank you.
--
Tomas Kral <thomas.kral at email.cz>
More information about the Oberon
mailing list