@DATABASE "pScreen/DrawInfo.h"
@MASTER   "Work2:AD/IInc/pScreen/DrawInfo.h"
@REMARK   This file was created by ADtoHT 2.0 on 11-Mär-97  13:35:24
@REMARK   Do not edit
@REMARK   ADtoHT is © 1993-1995 Christian Stieber

@NODE MAIN "pScreen/DrawInfo.h"
@TOC "__pOS_Dev.guide/MAIN"

@{"pScreen/DrawInfo.h" LINK File}


@{b}Structures@{ub}

@{"pOS_DrawInfo" LINK "pScreen/DrawInfo.h/File" 22}


@{b}#defines@{ub}

@{"pOS_DRIGETSTDHEIGHT()" LINK "pScreen/DrawInfo.h/File" 55}  @{"pOS_DRIGETSTDWIDTH()" LINK "pScreen/DrawInfo.h/File" 52}  @{"pOS_DRISTDFAC" LINK "pScreen/DrawInfo.h/File" 50}

@ENDNODE
@NODE File "pScreen/DrawInfo.h"
#ifndef __INC_POS_PSCREEN_DRAWINFO_H
#define __INC_POS_PSCREEN_DRAWINFO_H
/*******************************************************************
 Includes Release 24
 (C) Copyright 1995-1997 proDAD
     All Rights Reserved

 $AUT Holger Burkarth
 $DAT >>DrawInfo.h<<   01 Mar 1997    08:00:39 - (C) ProDAD
*******************************************************************/
#ifndef __INC_POS_PEXEC_LIST_H
#include <@{"pExec/List.h" LINK "pExec/List.h/File"}>
#endif
#ifndef __INC_POS_PLAYER_RECT_H
#include <@{"pLayer/Rect.h" LINK "pLayer/Rect.h/File"}>
#endif



/*----------------------------------
-----------------------------------*/
struct pOS_DrawInfo
{
  @{"UBYTE" LINK "pExec/Types.h/File" 95}                 dri_Version;    /* 0 */
  @{"UBYTE" LINK "pExec/Types.h/File" 95}                 dri_Design;     /* 2 */
  @{"UWORD" LINK "pExec/Types.h/File" 93}                 dri_NumPens;    /* ==SCRPEN_MAX  */
  const @{"UWORD" LINK "pExec/Types.h/File" 93}          *dri_Pens;       /* (enum pOS_ScreenPens) pointer to pen array */
  @{"UWORD" LINK "pExec/Types.h/File" 93}                 dri_NumIObjs;   /* ==SCROBJ_MAX  */
  @{"__CONST__" LINK "pExec/Types.h/File" 120}
   @{"struct pOS_IntuiObj" LINK "pIntui/IObj.h/File" 17}  **dri_IObjs;      /* (enum pOS_ScreenIObjs) */

  @{"struct pOS_TextFont" LINK "pGFX/Text.h/File" 30}   *dri_Font;       /* screen default font */
  @{"struct pOS_Screen" LINK "pScreen/Screen.h/File" 22}     *dri_Screen;     /* for graphics datas */
  struct pOS_GfxLibrary *dri_Base;
  @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      dri_Resolution;  /* Viewable Resolution */
  @{"ULONG" LINK "pExec/Types.h/File" 91}                 dri_Flags;       /* */
  @{"UBYTE" LINK "pExec/Types.h/File" 95}                 dri_StdWidth;
  @{"UBYTE" LINK "pExec/Types.h/File" 95}                 dri_StdHeight;
  @{"__CONST__" LINK "pExec/Types.h/File" 120} @{"CHAR" LINK "pExec/Types.h/File" 100}      **dri_Names;      /* (enum pOS_ScreenINames) */
  @{"UWORD" LINK "pExec/Types.h/File" 93}                 dri_NumNames;   /* ==SCRNAM_MAX  */

  @{"UBYTE" LINK "pExec/Types.h/File" 95}                 dri_XAspect;
  @{"UBYTE" LINK "pExec/Types.h/File" 95}                 dri_YAspect;
  @{"UWORD" LINK "pExec/Types.h/File" 93}                 dri_NumColorPens; /* Anzahl der Pens in der ColorMap => Register */
/** SYSTEM-PRIVATE-DATAS **/
};



#define pOS_DRISTDFAC 16

#define pOS_DRIGETSTDWIDTH(dri,width) \\
  ( (@{"UWORD" LINK "pExec/Types.h/File" 93})(dri)->dri_StdWidth*(width)/@{"pOS_DRISTDFAC" LINK File 50} )

#define pOS_DRIGETSTDHEIGHT(dri,height) \\
  ( (@{"UWORD" LINK "pExec/Types.h/File" 93})(dri)->dri_StdWidth*(height)/@{"pOS_DRISTDFAC" LINK File 50} )


/*\\
*** FixPoint arithmetic for Standard-Width/Height
***
*** Example:
***
*** Set the String-Gadget min. width:
***
***   STRGADTAG_MinStdWidth = @{"pOS_DRISTDFAC" LINK File 50} * 5;
***                                           ^
***                               5 StdWidth => 5 Chars
***
***
*** The gadget-dispatcher used
***  PixelWidth = @{"pOS_DRIGETSTDWIDTH" LINK File 52}( DrawInfo , STRGADTAG_MinStdWidth )
*** for calculate the pixel-width.
***
\\*/






enum pOS_ScreenPens
{
  SCRPEN_Text=0,        /* text on background  */
  SCRPEN_Shine,         /* bright edge on 3D objects  */
  SCRPEN_Shadow,        /* dark edge on 3D objects */
  SCRPEN_Fill,          /* selected-gadget fill */
  SCRPEN_FillText,      /* text over FILLPEN */
  SCRPEN_Background,    /* always color 0 */
  SCRPEN_HighLightText, /* special color text, on background */
  SCRPEN_BarDetail,     /* text/detail in screen-bar/menus */
  SCRPEN_BarBlock,      /* screen-bar/menus fill */
  SCRPEN_BarTrim,       /* trim under screen-bar */
  SCRPEN_SelectAble,    /* Feld kann angewält werden */
  SCRPEN_IsSelected,    /* Feld das ausgewählt ist (schwarz) */
  SCRPEN_IsSelected2,   /* Feld das ausgewählt ist (~schwarz) für scrollers */
  SCRPEN_Border,        /* Umrandung (schwarz) */
  SCRPEN_SelectAbleTxt, /* Text auf einem Select-Feld*/
  SCRPEN_BubbleText,    /* Text im Bubble */
  SCRPEN_BubbleBorder,  /* Bubble Rahmen */
  SCRPEN_BubbleFill,    /* Bubble Inhalt */
  SCRPEN_DirNameSA,     /* SelectAble: Directory-Entry on background SCRPEN_Background */
  SCRPEN_FileNameSA,    /* SelectAble: Directory-Entry on background SCRPEN_Background */
  SCRPEN_DirNameIS,     /* IsSelect: Directory-Entry on background SCRPEN_Background */
  SCRPEN_FileNameIS,    /* IsSelect: Directory-Entry on background SCRPEN_Background */
  SCRPEN_Black,         /* always black */
  SCRPEN_White,         /* always white */
  SCRPEN_HalfShine,     /* bright edge on 3D objects */
  SCRPEN_HalfShadow,    /* dark edge on 3D objects */
  SCRPEN_ActiveWindow,
  SCRPEN_InactiveWindow,
  SCRPEN_WindowBackground,
  SCRPEN_ActiveWindowGround, /* z.B. Schieber Hintergrund bei aktivem Window */
  SCRPEN_GadgetGround,  /* Gadget-Hintergrund */
  SCRPEN_TxtBoxGround,  /* TextBox-Gadget-Hintergrund */
  SCRPEN_MenuGround,
  SCRPEN_LdBackground,    /* Load-Req-Background */
  SCRPEN_LdDirNameSA,     /* SelectAble: Directory-Entry on background SCRPEN_LdBackground */
  SCRPEN_LdFileNameSA,    /* SelectAble: Directory-Entry on background SCRPEN_LdBackground */
  SCRPEN_LdDirNameIS,     /* IsSelect: Directory-Entry on background SCRPEN_LdBackground */
  SCRPEN_LdFileNameIS,    /* IsSelect: Directory-Entry on background SCRPEN_LdBackground */
  SCRPEN_SvBackground,    /* Save-Req-Background */
  SCRPEN_SvDirNameSA,     /* SelectAble: Directory-Entry on background SCRPEN_SvBackground */
  SCRPEN_SvFileNameSA,    /* SelectAble: Directory-Entry on background SCRPEN_SvBackground */
  SCRPEN_SvDirNameIS,     /* IsSelect: Directory-Entry on background SCRPEN_SvBackground */
  SCRPEN_SvFileNameIS,    /* IsSelect: Directory-Entry on background SCRPEN_SvBackground */
  SCRPEN_GadgetFocus,     /* Highlight-Pen for Gadget-Focus */

  SCRPEN_MAX
};


enum pOS_ScreenIObjs
{
  SCROBJ_CloseImg=0,        /* Window-CloseImage */
  SCROBJ_ZipImg,            /* */
  SCROBJ_WDepthImg,         /* */
  SCROBJ_WSizeImg,          /* */
  SCROBJ_MenuHook,          /* */
  SCROBJ_SubMenuIdent,      /* */
  SCROBJ_CheckBox,          /* */
  SCROBJ_MX,                /* */


  SCROBJ_MAX
};

enum pOS_ScreenINames
{
  SCRNAM_IObjClass=0,           /* Image-Class for (enum pOS_ScreenIObjs)-Objects (@{"iimage.class" LINK "IObjClassD/iimage.class"}) */
  SCRNAM_BrdGadClass,           /* Gadget-Class for create the Border-Gadgets (sysgad.class) */
  SCRNAM_MenuClass,             /*  */
  SCRNAM_GGroupClass,           /* Gadget-Group */
  SCRNAM_GPropClass,            /*  */
  SCRNAM_GButtonClass,          /*  */
  SCRNAM_GTxtBoxClass,          /*  */
  SCRNAM_GStrClass,             /*  */
  SCRNAM_GCheckBoxClass,        /*  */
  SCRNAM_GLVClass,              /*  */
  SCRNAM_GPathClass,            /*  */
  SCRNAM_GFVClass,              /*  */
  SCRNAM_GPopupClass,           /*  */
  SCRNAM_GMXClass,              /*  */
  SCRNAM_GBarClass,             /*  */
  SCRNAM_IGfxClass,             /*  */
  SCRNAM_GGfxClass,             /*  */
  SCRNAM_GSwitchClass,          /*  */


  SCRNAM_MAX
};


#endif
@ENDNODE
