From 46439007cf417cbd9ac8049bb4122c890097a0fa Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Fri, 22 Dec 2006 20:52:35 +0000 Subject: 20060303-partial --- module/imagefile.m | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 module/imagefile.m (limited to 'module/imagefile.m') diff --git a/module/imagefile.m b/module/imagefile.m new file mode 100644 index 00000000..2e386aa7 --- /dev/null +++ b/module/imagefile.m @@ -0,0 +1,48 @@ +RImagefile: module +{ + READGIFPATH: con "/dis/lib/readgif.dis"; + READJPGPATH: con "/dis/lib/readjpg.dis"; + READXBMPATH: con "/dis/lib/readxbitmap.dis"; + READPICPATH: con "/dis/lib/readpicfile.dis"; + READPNGPATH: con "/dis/lib/readpng.dis"; + + Rawimage: adt + { + r: Draw->Rect; + cmap: array of byte; + transp: int; # transparency flag (only for nchans=1) + trindex: byte; # transparency index + nchans: int; + chans: array of array of byte; + chandesc:int; + + fields: int; # defined by format + }; + + # chandesc + CRGB: con 0; # three channels, no map + CY: con 1; # one channel, luminance + CRGB1: con 2; # one channel, map present + + init: fn(bufio: Bufio); + read: fn(fd: ref Bufio->Iobuf): (ref Rawimage, string); + readmulti: fn(fd: ref Bufio->Iobuf): (array of ref Rawimage, string); +}; + +WImagefile: module +{ + WRITEGIFPATH: con "/dis/lib/writegif.dis"; + + init: fn(bufio: Bufio); +# write: fn(fd: ref Bufio->Iobuf, ref RImagefile->Rawimage): string; + writeimage: fn(fd: ref Bufio->Iobuf, image: ref Draw->Image): string; +}; + + +Imageremap: module +{ + PATH: con "/dis/lib/imageremap.dis"; + + init: fn(d: ref Draw->Display); + remap: fn(i: ref RImagefile->Rawimage, d: ref Draw->Display, errdiff: int): (ref Draw->Image, string); +}; -- cgit v1.2.3