From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,b17b79e9bf0269ea X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-02-19 11:43:17 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!nx02.iad01.newshosting.com!newshosting.com!newsfeed1.easynews.com!newsfeed2.easynews.com!easynews.com!easynews!newsfeed.news2me.com!wn54feed!worldnet.att.net!attbi_s51.POSTED!not-for-mail From: tmoran@acm.org Newsgroups: comp.lang.ada Subject: Re: BMP/JPG/GIF library in Ada? References: X-Newsreader: Tom's custom newsreader Message-ID: NNTP-Posting-Host: 67.161.24.134 X-Complaints-To: abuse@comcast.net X-Trace: attbi_s51 1077219795 67.161.24.134 (Thu, 19 Feb 2004 19:43:15 GMT) NNTP-Posting-Date: Thu, 19 Feb 2004 19:43:15 GMT Organization: Comcast Online Date: Thu, 19 Feb 2004 19:43:15 GMT Xref: archiver1.google.com comp.lang.ada:5670 Date: 2004-02-19T19:43:15+00:00 List-Id: >> type Triple_DIBitmap_Type (Height, Width : Claw.Int) is ... >Similar. I've chosen a constrained representation inheriting from Controlled. Interesting. Claw's DIBitmap types start at Root_DIBitmap_Type, which is abstract tagged, but not Controlled. Why do you inherit from Controlled? Is there something special you do for initialization or finalization? > procedure Create ( > This : out Object; Width : in Positive; Height : in Positive); Why a Create procedure instead of just a declaration (as above)? This implies you must be using heap allocation since you don't know the Height or Width when you declare an instance of Object, right? > procedure Triple_DIBitmap_Type_Output ( > Stream : access Ada.Streams.Root_Stream_Type'class; > Item : in Triple_DIBitmap_Type); > for Triple_DIBitmap_Type'Write use Triple_DIBitmap_Type_Write; > function Get_stream (This : in Object) > return Ada.Streams.Stream_element_array; Why this instead of the 'Output mechanism plus a predefined "new Ada.Streams.Root_Stream_Type" that marshalls into an array? >Claw is Windows specific, it isn't? Yes. Claw.Bitmaps includes calls to Windows' routines for painting etc as well as just the data structure handling. If this is for web serving, I'm guessing you intend to dynamically draw on a bmp internally, since that's simple, and then convert to gif or jpg to transmit more reasonably sized data, right?