From POPmail Tue Dec  2 14:13:39 1997
Received: from cirrostratus.netaccess.co.nz by hermes.rus.uni-stuttgart.de with SMTP id AA23338
  (5.67a8/IDA-1.5 for <tabt@studbox.uni-stuttgart.de>); Tue, 2 Dec 1997 14:01:59 +0100
Received: from usa.net (pppd014.netaccess.co.nz [202.27.186.14])
	by cirrostratus.netaccess.co.nz (8.8.7/8.8.6) with SMTP id CAA26317
	for <tabt@studbox.uni-stuttgart.de>; Wed, 3 Dec 1997 02:04:07 +1300 (NZDT)
From: Belxjander Serechai <belxjander@usa.net>
Reply-To: belxjander@usa.net
To: tabt@studbox.uni-stuttgart.de
Date: Mon, 01 Dec 1997 22:34:43 +1200
Message-Id: <yam7274.2169.132058648@smtp.netaccess.co.nz>
X-Mailer: YAM 1.3.5 [020] - Amiga Mailer by Marcel Beck
Subject: AmigaE-Picasso96 Developer Support
Mime-Version: 1.0
Content-Type: text/plain
Status: RO

Heya there...

Ive put together an Emodule for Supporting AmigaE Developers
to use Picasso96...I hope this helps...

I have included it within this message in Source form

Thanks for such Easy to use Developer Info
  Belxjander Serechai

--cut here--begin--Emodules:Libraries/Picasso96.e--
/***********************************************************************
*  Picasso96.e -- include File
*  (C) Copyright 1996 Alexander Kneer & Tobias Abt
*  All Rights Reserved.
*
*  AmigaE Version by Belxjander Serechai
*
***********************************************************************/

OPT PREPROCESS
OPT MODULE
OPT EXPORT

/***********************************************************************
*/
MODULE  'exec/types',
        'exec/nodes',
        'utility/tagitem'

/***********************************************************************
* This is the name of the library
*/

#define P96NAME 'Picasso96API.library'

/***********************************************************************
* Types for RGBFormat used
*/
ENUM  RGBFB_NONE,     -> no valid RGB format (should not happen)
      RGBFB_CLUT,     -> palette mode, set colors with LeadRGB32, etc.
      RGBFB_R8G8B8,   -> TrueColor RGB (8 bit each)
      RGBFB_B8G8R8,   -> TrueColor BGR (8 bit each)
      RGBFB_R5G6B5PC, -> HiColor16 (5 bit R, 6 bit G, 5 bit B), format:
gggbbbbbrrrrrggg
      RGBFB_R5G5B5PC, -> HiColor15 (5 bit each), format: gggbbbbb0rrrrrgg
      RGBFB_A8R8G8B8, -> 4 Byte TrueColor ARGB (A unused alpha channel)
      RGBFB_A8B8G8R8, -> 4 Byte TrueColor ABGR (A unused alpha channel)
      RGBFB_R8G8B8A8, -> 4 Byte TrueColor RGBA (A unused alpha channel)
      RGBFB_B8G8R8A8, -> 4 Byte TrueColor BGRA (A unused alpha channel)
      RGBFB_R5G6B5,   -> HiColor16 (5 bit R, 6 bit G, 5 bit B), format:
rrrrrggggggbbbbb
      RGBFB_R5G5B5,   -> HiColor15 (5 bit each), format: 0rrrrrgggggbbbbb
      RGBFB_B5G6R5PC, -> HiColor16 (5 bit R, 6 bit G, 5 bit B), format:
gggrrrrrbbbbbggg
      RGBFB_B5G5R5PC, -> HiColor15 (5 bit each), format: gggrrrrr0bbbbbbgg
                      -> By now, the following formats are for use with a
hardware window only
                      -> (bitmap operations may be implemented incompletely)
      RGBFB_Y4U2V2,   -> 2 Byte TrueColor YUV (CCIR recommendation CCIR601).
                      -> Each two-pixel unit is stored as one longword
                      -> containing luminance (Y) for each of the two pixels,
                      -> and chrominance (U,V) for alternate pixels.
                      -> The missing chrominance values are generated by
                      -> interpolation. (Y1-U0-Y0-V0)
      RGBFB_Y4U1V1,   -> 1 Byte TrueColor ACCUPAK. Four adjacent pixels form
                      -> a packet of 5 bits Y (luminance) each pixel and 6
bits
                      -> U and V (chrominance) shared by the four pixels

      RGBFB_MaxFormats

SET   RGBFF_NONE,
      RGBFF_CLUT,
      RGBFF_R8G8B8,
      RGBFF_B8G8R8,
      RGBFF_R5G6B5PC,
      RGBFF_R5G5B5PC,
      RGBFF_A8R8G8B8,
      RGBFF_A8B8G8R8,
      RGBFF_R8G8B8A8,
      RGBFF_B8G8R8A8,
      RGBFF_R5G6B5,
      RGBFF_R5G5B5,
      RGBFF_B5G6R5PC,
      RGBFF_B5G5R5PC,
      RGBFF_Y4U2V2,
      RGBFF_Y4U1V1

/***********************************************************************
* Attributes for p96GetBitMapAttr
*/
ENUM  P96BMA_WIDTH,
      P96BMA_HEIGHT,
      P96BMA_DEPTH,
      P96BMA_MEMORY,
      P96BMA_BYTESPERROW,
      P96BMA_BYTESPERPIXEL,
      P96BMA_BITSPERPIXEL,
      P96BMA_RGBFORMAT,
      P96BMA_ISP96

/************************************************************************
* Attributes for p96GetModeIDAttr
*/
ENUM  P96IDA_WIDTH,
      P96IDA_HEIGHT,
      P96IDA_DEPTH,
      P96IDA_BYTESPERPIXEL,
      P96IDA_BITSPERPIXEL,
      P96IDA_RGBFORMAT,
      P96IDA_ISP96,
      P96IDA_BOARDNUMBER,
      P96IDA_STDBYTESPERROW

/***********************************************************************
* Tags for p96BestModeIDTagList
*/
ENUM  P96BIDTAG_Dummy = $80000096,
      P96BIDTAG_FormatsAllowed,
      P96BIDTAG_FormatsForbidden,
      P96BIDTAG_NominalWidth,
      P96BIDTAG_NominalHeight,
      P96BIDTAG_Depth

/***********************************************************************
* Tags for p96RequestModeIDTagList
*/
ENUM  P96MA_Dummy = $80010096,
      P96MA_MinWidth,
      P96MA_MinHeight,
      P96MA_MinDepth,
      P96MA_MaxWidth,
      P96MA_MaxHeight,
      P96MA_MaxDepth,
      P96MA_DisplayID,
      P96MA_FormatsAllowed,
      P96MA_FormatsForbidden,
      P96MA_WindowTitle,
      P96MA_OKText,
      P96MA_CancelText,
      P96MA_Window,
      P96MA_PubScreenName,
      P96MA_Screen

/***********************************************************************
* Tags for p96OpenScreenTagList
*/
ENUM  P96SA_Dummy = $80020096,
      P96SA_Left,
      P96SA_Top,
      P96SA_Width,
      P96SA_Height,
      P96SA_Depth,
      P96SA_DetailPen,
      P96SA_BlockPen,
      P96SA_Title,
      P96SA_Colors,
      P96SA_ErrorCode,
      P96SA_Font,
      P96SA_SysFont,
      P96SA_Type,
      P96SA_BitMap,
      P96SA_PubName,
      P96SA_PubSig,
      P96SA_PubTask,
      P96SA_DisplayID,
      P96SA_DClip,
      P96SA_ShowTitle,
      P96SA_Behind,
      P96SA_Quiet,
      P96SA_AutoScroll,
      P96SA_Pens,
      P96SA_SharePens,
      P96SA_BackFill,
      P96SA_Colors32,
      P96SA_VideoControl,
      P96SA_RGBFormat,
      P96SA_NoSprite,
      P96SA_NoMemory,
      P96SA_RenderFunc,
      P96SA_SaveFunc,
      P96SA_UserData,
      P96SA_Alignment,
      P96SA_FixedScreen,
      P96SA_Exclusive

/**********************************************************************/

CONST MODENAMELENGTH = 48

  OBJECT  p96mode
    ln:ln
    description[ MODENAMELENGTH ]:ARRAY OF CHAR
    width:INT
    height:INT
    depth:INT
    displayid:LONG
  ENDOBJECT

/**********************************************************************/

  OBJECT  p96RenderInfo
    memory:LONG
    bytesperrow:INT
    pad:INT
    rgbformat:LONG
  ENDOBJECT

/**********************************************************************/

  OBJECT  p96TrueColorInfo
    pixeldistance:LONG
    bytesperrow:LONG
    reddata:LONG
    greendata:LONG
    bluedata:LONG
  ENDOBJECT

/***********************************************************************
* Tags for p96OpenScreenTagList
*/

ENUM  P96PIP_Dummy = $80030096,
      P96PIP_SourceFormat,
      P96PIP_SourceBitMap,
      P96PIP_SourceRPort,
      P96PIP_SourceWidth,
      P96PIP_SourceHeight

/***********************************************************************
*/
--cut here--end--Emodules:Libraries/Picasso96.e--



