home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / Guide.lzx / Guide / pScreen / DrawInfo.h next >
Encoding:
C/C++ Source or Header  |  1997-03-11  |  7.6 KB  |  199 lines

  1. @DATABASE "pScreen/DrawInfo.h"
  2. @MASTER   "Work2:AD/IInc/pScreen/DrawInfo.h"
  3. @REMARK   This file was created by ADtoHT 2.0 on 11-Mär-97  13:35:24
  4. @REMARK   Do not edit
  5. @REMARK   ADtoHT is © 1993-1995 Christian Stieber
  6.  
  7. @NODE MAIN "pScreen/DrawInfo.h"
  8. @TOC "__pOS_Dev.guide/MAIN"
  9.  
  10. @{"pScreen/DrawInfo.h" LINK File}
  11.  
  12.  
  13. @{b}Structures@{ub}
  14.  
  15. @{"pOS_DrawInfo" LINK "pScreen/DrawInfo.h/File" 22}
  16.  
  17.  
  18. @{b}#defines@{ub}
  19.  
  20. @{"pOS_DRIGETSTDHEIGHT()" LINK "pScreen/DrawInfo.h/File" 55}  @{"pOS_DRIGETSTDWIDTH()" LINK "pScreen/DrawInfo.h/File" 52}  @{"pOS_DRISTDFAC" LINK "pScreen/DrawInfo.h/File" 50}
  21.  
  22. @ENDNODE
  23. @NODE File "pScreen/DrawInfo.h"
  24. #ifndef __INC_POS_PSCREEN_DRAWINFO_H
  25. #define __INC_POS_PSCREEN_DRAWINFO_H
  26. /*******************************************************************
  27.  Includes Release 24
  28.  (C) Copyright 1995-1997 proDAD
  29.      All Rights Reserved
  30.  
  31.  $AUT Holger Burkarth
  32.  $DAT >>DrawInfo.h<<   01 Mar 1997    08:00:39 - (C) ProDAD
  33. *******************************************************************/
  34. #ifndef __INC_POS_PEXEC_LIST_H
  35. #include <@{"pExec/List.h" LINK "pExec/List.h/File"}>
  36. #endif
  37. #ifndef __INC_POS_PLAYER_RECT_H
  38. #include <@{"pLayer/Rect.h" LINK "pLayer/Rect.h/File"}>
  39. #endif
  40.  
  41.  
  42.  
  43. /*----------------------------------
  44. -----------------------------------*/
  45. struct pOS_DrawInfo
  46. {
  47.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                 dri_Version;    /* 0 */
  48.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                 dri_Design;     /* 2 */
  49.   @{"UWORD" LINK "pExec/Types.h/File" 93}                 dri_NumPens;    /* ==SCRPEN_MAX  */
  50.   const @{"UWORD" LINK "pExec/Types.h/File" 93}          *dri_Pens;       /* (enum pOS_ScreenPens) pointer to pen array */
  51.   @{"UWORD" LINK "pExec/Types.h/File" 93}                 dri_NumIObjs;   /* ==SCROBJ_MAX  */
  52.   @{"__CONST__" LINK "pExec/Types.h/File" 120}
  53.    @{"struct pOS_IntuiObj" LINK "pIntui/IObj.h/File" 17}  **dri_IObjs;      /* (enum pOS_ScreenIObjs) */
  54.  
  55.   @{"struct pOS_TextFont" LINK "pGFX/Text.h/File" 30}   *dri_Font;       /* screen default font */
  56.   @{"struct pOS_Screen" LINK "pScreen/Screen.h/File" 22}     *dri_Screen;     /* for graphics datas */
  57.   struct pOS_GfxLibrary *dri_Base;
  58.   @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      dri_Resolution;  /* Viewable Resolution */
  59.   @{"ULONG" LINK "pExec/Types.h/File" 91}                 dri_Flags;       /* */
  60.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                 dri_StdWidth;
  61.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                 dri_StdHeight;
  62.   @{"__CONST__" LINK "pExec/Types.h/File" 120} @{"CHAR" LINK "pExec/Types.h/File" 100}      **dri_Names;      /* (enum pOS_ScreenINames) */
  63.   @{"UWORD" LINK "pExec/Types.h/File" 93}                 dri_NumNames;   /* ==SCRNAM_MAX  */
  64.  
  65.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                 dri_XAspect;
  66.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                 dri_YAspect;
  67.   @{"UWORD" LINK "pExec/Types.h/File" 93}                 dri_NumColorPens; /* Anzahl der Pens in der ColorMap => Register */
  68. /** SYSTEM-PRIVATE-DATAS **/
  69. };
  70.  
  71.  
  72.  
  73. #define pOS_DRISTDFAC 16
  74.  
  75. #define pOS_DRIGETSTDWIDTH(dri,width) \\
  76.   ( (@{"UWORD" LINK "pExec/Types.h/File" 93})(dri)->dri_StdWidth*(width)/@{"pOS_DRISTDFAC" LINK File 50} )
  77.  
  78. #define pOS_DRIGETSTDHEIGHT(dri,height) \\
  79.   ( (@{"UWORD" LINK "pExec/Types.h/File" 93})(dri)->dri_StdWidth*(height)/@{"pOS_DRISTDFAC" LINK File 50} )
  80.  
  81.  
  82. /*\\
  83. *** FixPoint arithmetic for Standard-Width/Height
  84. ***
  85. *** Example:
  86. ***
  87. *** Set the String-Gadget min. width:
  88. ***
  89. ***   STRGADTAG_MinStdWidth = @{"pOS_DRISTDFAC" LINK File 50} * 5;
  90. ***                                           ^
  91. ***                               5 StdWidth => 5 Chars
  92. ***
  93. ***
  94. *** The gadget-dispatcher used
  95. ***  PixelWidth = @{"pOS_DRIGETSTDWIDTH" LINK File 52}( DrawInfo , STRGADTAG_MinStdWidth )
  96. *** for calculate the pixel-width.
  97. ***
  98. \\*/
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105. enum pOS_ScreenPens
  106. {
  107.   SCRPEN_Text=0,        /* text on background  */
  108.   SCRPEN_Shine,         /* bright edge on 3D objects  */
  109.   SCRPEN_Shadow,        /* dark edge on 3D objects */
  110.   SCRPEN_Fill,          /* selected-gadget fill */
  111.   SCRPEN_FillText,      /* text over FILLPEN */
  112.   SCRPEN_Background,    /* always color 0 */
  113.   SCRPEN_HighLightText, /* special color text, on background */
  114.   SCRPEN_BarDetail,     /* text/detail in screen-bar/menus */
  115.   SCRPEN_BarBlock,      /* screen-bar/menus fill */
  116.   SCRPEN_BarTrim,       /* trim under screen-bar */
  117.   SCRPEN_SelectAble,    /* Feld kann angewält werden */
  118.   SCRPEN_IsSelected,    /* Feld das ausgewählt ist (schwarz) */
  119.   SCRPEN_IsSelected2,   /* Feld das ausgewählt ist (~schwarz) für scrollers */
  120.   SCRPEN_Border,        /* Umrandung (schwarz) */
  121.   SCRPEN_SelectAbleTxt, /* Text auf einem Select-Feld*/
  122.   SCRPEN_BubbleText,    /* Text im Bubble */
  123.   SCRPEN_BubbleBorder,  /* Bubble Rahmen */
  124.   SCRPEN_BubbleFill,    /* Bubble Inhalt */
  125.   SCRPEN_DirNameSA,     /* SelectAble: Directory-Entry on background SCRPEN_Background */
  126.   SCRPEN_FileNameSA,    /* SelectAble: Directory-Entry on background SCRPEN_Background */
  127.   SCRPEN_DirNameIS,     /* IsSelect: Directory-Entry on background SCRPEN_Background */
  128.   SCRPEN_FileNameIS,    /* IsSelect: Directory-Entry on background SCRPEN_Background */
  129.   SCRPEN_Black,         /* always black */
  130.   SCRPEN_White,         /* always white */
  131.   SCRPEN_HalfShine,     /* bright edge on 3D objects */
  132.   SCRPEN_HalfShadow,    /* dark edge on 3D objects */
  133.   SCRPEN_ActiveWindow,
  134.   SCRPEN_InactiveWindow,
  135.   SCRPEN_WindowBackground,
  136.   SCRPEN_ActiveWindowGround, /* z.B. Schieber Hintergrund bei aktivem Window */
  137.   SCRPEN_GadgetGround,  /* Gadget-Hintergrund */
  138.   SCRPEN_TxtBoxGround,  /* TextBox-Gadget-Hintergrund */
  139.   SCRPEN_MenuGround,
  140.   SCRPEN_LdBackground,    /* Load-Req-Background */
  141.   SCRPEN_LdDirNameSA,     /* SelectAble: Directory-Entry on background SCRPEN_LdBackground */
  142.   SCRPEN_LdFileNameSA,    /* SelectAble: Directory-Entry on background SCRPEN_LdBackground */
  143.   SCRPEN_LdDirNameIS,     /* IsSelect: Directory-Entry on background SCRPEN_LdBackground */
  144.   SCRPEN_LdFileNameIS,    /* IsSelect: Directory-Entry on background SCRPEN_LdBackground */
  145.   SCRPEN_SvBackground,    /* Save-Req-Background */
  146.   SCRPEN_SvDirNameSA,     /* SelectAble: Directory-Entry on background SCRPEN_SvBackground */
  147.   SCRPEN_SvFileNameSA,    /* SelectAble: Directory-Entry on background SCRPEN_SvBackground */
  148.   SCRPEN_SvDirNameIS,     /* IsSelect: Directory-Entry on background SCRPEN_SvBackground */
  149.   SCRPEN_SvFileNameIS,    /* IsSelect: Directory-Entry on background SCRPEN_SvBackground */
  150.   SCRPEN_GadgetFocus,     /* Highlight-Pen for Gadget-Focus */
  151.  
  152.   SCRPEN_MAX
  153. };
  154.  
  155.  
  156. enum pOS_ScreenIObjs
  157. {
  158.   SCROBJ_CloseImg=0,        /* Window-CloseImage */
  159.   SCROBJ_ZipImg,            /* */
  160.   SCROBJ_WDepthImg,         /* */
  161.   SCROBJ_WSizeImg,          /* */
  162.   SCROBJ_MenuHook,          /* */
  163.   SCROBJ_SubMenuIdent,      /* */
  164.   SCROBJ_CheckBox,          /* */
  165.   SCROBJ_MX,                /* */
  166.  
  167.  
  168.   SCROBJ_MAX
  169. };
  170.  
  171. enum pOS_ScreenINames
  172. {
  173.   SCRNAM_IObjClass=0,           /* Image-Class for (enum pOS_ScreenIObjs)-Objects (@{"iimage.class" LINK "IObjClassD/iimage.class"}) */
  174.   SCRNAM_BrdGadClass,           /* Gadget-Class for create the Border-Gadgets (sysgad.class) */
  175.   SCRNAM_MenuClass,             /*  */
  176.   SCRNAM_GGroupClass,           /* Gadget-Group */
  177.   SCRNAM_GPropClass,            /*  */
  178.   SCRNAM_GButtonClass,          /*  */
  179.   SCRNAM_GTxtBoxClass,          /*  */
  180.   SCRNAM_GStrClass,             /*  */
  181.   SCRNAM_GCheckBoxClass,        /*  */
  182.   SCRNAM_GLVClass,              /*  */
  183.   SCRNAM_GPathClass,            /*  */
  184.   SCRNAM_GFVClass,              /*  */
  185.   SCRNAM_GPopupClass,           /*  */
  186.   SCRNAM_GMXClass,              /*  */
  187.   SCRNAM_GBarClass,             /*  */
  188.   SCRNAM_IGfxClass,             /*  */
  189.   SCRNAM_GGfxClass,             /*  */
  190.   SCRNAM_GSwitchClass,          /*  */
  191.  
  192.  
  193.   SCRNAM_MAX
  194. };
  195.  
  196.  
  197. #endif
  198. @ENDNODE
  199.