home *** CD-ROM | disk | FTP | other *** search
- #ifndef PRECOGNITION3D_H
- #define PRECOGNITION3D_H
-
- #include "intuition_typedefs.h"
-
-
- typedef struct pcg_3DPens
- {
- UBYTE FrontPen, BackPen; /* Foreground Pen, Background Pen */
- UBYTE BrightPen, DarkPen; /* 3D Highlight, shadow. */
- } pcg_3DPens;
-
-
- /* ==================== pcg_3DBox ============================
- ** This type is compatible with a 'Border' structure.
- ** It is used to create a 3D looking box, like under
- ** Workbench 2.0. It consists of 2 Border structures linked
- ** together.
- ** ===========================================================
- */
-
- typedef struct pcg_3DBox
- {
- Border TopLeft; /* Top & Left edge of box. */
- Border BottomRight; /* Bottom & right edge of box. */
- SHORT Points[20]; /* Box outline. */
- } pcg_3DBox;
-
- /* ======================= pcg_3DBevel ========================
- ** This type is compatible with a 'Border' structure.
- ** It is used to create a 3D looking Bevel, like the string
- ** gadgets under Workbench 2.0.
- ** ============================================================
- */
-
- typedef struct pcg_3DBevel
- {
- pcg_3DBox Outer, Inner;
- } pcg_3DBevel;
-
-
- typedef struct pcg_3DThinBevel
- {
- Border b[4];
- SHORT Points[20];
- } pcg_3DThinBevel;
- /*
- ** ThinBevels are 2 pixels along the X axis, they're used for
- ** embossed outline boxes.
- */
-
-
- pcg_3DPens StandardPens( void );
- /*
- ** Returns the standard color pens. This works for both
- ** Workbench 1.2/3 and Workbench 2.0.
- */
-
-
- void pcg_Init3DBox( pcg_3DBox *Box,
- SHORT LeftEdge,
- SHORT TopEdge,
- USHORT Width,
- USHORT Height,
- UBYTE TopLeftPen,
- UBYTE BottomRightPen,
- Border *NextBorder );
-
-
- void pcg_Init3DBevel( pcg_3DBevel *Bevel,
- SHORT LeftEdge,
- SHORT TopEdge,
- USHORT Width,
- USHORT Height,
- USHORT BevelWidth,
- UBYTE TopLeftPen,
- UBYTE BottomRightPen,
- Border *NextBorder );
- /* LeftEdge, TopEdge, Width, Height refer to the _outer_ box.
- **
- ** 'BevelWidth' is the amount of blankspace between the inner and
- ** outer border. This number corrected for aspect ratio. (0 is
- ** an ok value.)
- **
- ** If 'TopLeftPen' is bright, and 'BottomRightPen' is dark, the bevel
- ** will appear to stand out. If 'TopLeftPen' is dark, the bevel will
- ** appear recessed.
- */
-
- void pcg_Init3DThinBevel( pcg_3DThinBevel *Bevel,
- SHORT LeftEdge,
- SHORT TopEdge,
- USHORT Width,
- USHORT Height,
- USHORT BevelWidth,
- UBYTE TopLeftPen,
- UBYTE BottomRightPen,
- Border *NextBorder );
-
-
- #endif
-