/* superview/svinfo.h   	    */
/* Version    : 11.1        	    */
/* Date       : 19.02.1995	    */
/* Written by : Andreas R. Kleinert */

#ifndef SUPERVIEW_SVINFO_H
#define SUPERVIEW_SVINFO_H

#ifndef SUPERVIEW_SUPERVIEW_H
#include <superview/superview.h>
#endif /* SUPERVIEW_SUPERVIEW_H */


/* *************************************************** */
/* *						     * */
/* * Information structures                          * */
/* *						     * */
/* *************************************************** */

   /* the following have been introduced with V6 : */

struct SVObjectInfo
{
 ULONG                 soi_Type;      /* valid SubTypeCode value       */
 ULONG                 soi_Flags;     /* Copy of Flags from svo_Flags  */
 UBYTE                *soi_TypeName;  /* Copy of svo_TypeID and        */
                                      /* svo_SubTypeID[x]              */

 struct SVObjectInfo *soi_NextEntry; /* Pointer to next entry or NULL */
};

struct SVDriverInfo
{
 ULONG                 sdi_Flags;     /* Copy of Flags from svd_Flags  */
 UBYTE                *sdi_Name;      /* Pointer to svd_ID             */

 struct SVDriverInfo *sdi_NextEntry; /* Pointer to next entry or NULL */
};

   /* the following has been introduced with V9 : */

struct SVOperatorInfo
{
 ULONG                  spi_Flags;     /* Copy of Flags from svp_Flags  */
 UBYTE                 *spi_Desc;      /* Pointer to svd_Description    */
 UBYTE                 *spi_Author;    /* Pointer to svd_Author         */

 struct SVOperatorInfo *spi_NextEntry; /* Pointer to next entry or NULL */
};

struct SVModeList
{
 struct List svm_EntryList;    /* List of struct SVModeEntry       */
 ULONG	     svm_NumEntries;   /* Number of List-Entries	   */
};


struct SVModeEntry
{
 struct Node ModeNode;

 ULONG       Version;         /* 0 yet                             */

 UBYTE	     ModeName [80];   /* ScreenMode-Name                   */

 ULONG	     StandardWidth;   /* standard Screen-Width  (no Over-  */
 ULONG	     StandardHeight;  /* standard Screen-Height     scan)  */

 ULONG	     MinWidth;	      /* minimum  Screen-Width             */
 ULONG	     MinHeight;       /* minimum  Screen-Height            */
 ULONG	     MinDepth;	      /* minimum  Screen-Depth		   */

 ULONG	     MaxWidth;	      /* maximum  Screen-Width             */
 ULONG	     MaxHeight;       /* maximum  Screen-Height            */
 ULONG	     MaxDepth;	      /* maximum  Screen-Depth		   */

 ULONG	     ModeID;	      /* ScreenMode-ID                     */
 APTR	     ModeHandle;      /* ScreenMode-Handle                 */
};

 /* explanation: some GfxCards may have ScreenModes, which
                 will only be available with special ColorDepths
                 (e.g. min=max=24 Bit) and/or dimensions
                 (minw=maxw, minh=maxh).
                 If there aren't any restrictions, all "Min" values
                 should be set to NULL.

    ModeID     - is a 32 Bit ViewMode value
    ModeHandle - is a handle as returned by FindDisplayInfo(ModeID)
 */

#endif /* SUPERVIEW_SVINFO_H */
