[Oberon] FPGA - Bitmaps.Mod
Tomas Kral
thomas.kral at email.cz
Wed Apr 5 11:26:28 CEST 2017
Hi,
As part of my exercise I have converted ETH `Bitmaps.Mod' to V07. It
should be the basis for a bit map editor - `Paint.Mod' - next exercise
of mine.
It is far from perfect, just made it to compile under V07, without
much thoughts.
Few notes>>>
[a] Bitmaps.DisplayBlock* is just copied from Display.CopyBlock*
with source and destination addresses modified as thus:
sa := B.address + u0*4 + sy*128; da := Display.Base + v0*4 + dy*128;
I am looking for a better idea, as I believe bitmap needs to be clipped
to fit into a visible area of a target frame.
[b] New bitmap is allocated as a constant buffer
CONST
BufSize = 10000H;
...
BEGIN
NEW(buffer)
END Bitmaps.
I am looking for a better way, as I believe the size needed can be
calculated from Width, Height of the bitmap.
TYPE
Bitmap* = POINTER TO BitmapDesc;
BitmapDesc* = RECORD (* cf. Display.DisplayBlock *)
width*, height*, depth*: INTEGER; (* offset 0, 2, 4 *)
wth*, address*: LONGINT; (* offset 8, 12 *)
size: LONGINT
END;
[c] Bitmaps are allocated as an array of CHAR's. Is it a good idea to
use BYTE's instead?
P.S. I could enclose the whole module, but I am not sure if it is
allowed by the list server.
Many thanks
Tomas
More information about the Oberon
mailing list