home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
594b.lha
/
Precognition_rel1
/
Precognition3D.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-12-12
|
3KB
|
102 lines
#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