home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Developer CD v1.2
/
amidev_cd_12.iso
/
inc&ad2.0
/
includes
/
intuition
/
cghooks.h
next >
Wrap
C/C++ Source or Header
|
1992-09-01
|
2KB
|
82 lines
#ifndef INTUITION_CGHOOKS_H
#define INTUITION_CGHOOKS_H 1
/*
** $Filename: intuition/cghooks.h $
** $Release: 2.04 Includes, V37.4 $
** $Revision: 36.2 $
** $Date: 91/11/08 $
**
** Custom Gadget processing
**
** (C) Copyright 1988-1991 Commodore-Amiga, Inc.
** All Rights Reserved
*/
#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef INTUITION_INTUITION_H
#include <intuition/intuition.h>
#endif
/*
* Package of information passed to custom and 'boopsi'
* gadget "hook" functions. This structure is READ ONLY.
*/
struct GadgetInfo {
struct Screen *gi_Screen;
struct Window *gi_Window; /* null for screen gadgets */
struct Requester *gi_Requester; /* null if not GTYP_REQGADGET */
/* rendering information:
* don't use these without cloning/locking.
* Official way is to call ObtainRPort()
*/
struct RastPort *gi_RastPort;
struct Layer *gi_Layer;
/* copy of dimensions of screen/window/g00/req(/group)
* that gadget resides in. Left/Top of this box is
* offset from window mouse coordinates to gadget coordinates
* screen gadgets: 0,0 (from screen coords)
* window gadgets (no g00): 0,0
* GTYP_GZZGADGETs (borderlayer): 0,0
* GZZ innerlayer gadget: borderleft, bordertop
* Requester gadgets: reqleft, reqtop
*/
struct IBox gi_Domain;
/* these are the pens for the window or screen */
struct {
UBYTE DetailPen;
UBYTE BlockPen;
} gi_Pens;
/* the Detail and Block pens in gi_DrInfo->dri_Pens[] are
* for the screen. Use the above for window-sensitive
* colors.
*/
struct DrawInfo *gi_DrInfo;
/* reserved space: this structure is extensible
* anyway, but using these saves some recompilation
*/
ULONG gi_Reserved[6];
};
/*** system private data structure for now ***/
/* prop gadget extra info */
struct PGX {
struct IBox pgx_Container;
struct IBox pgx_NewKnob;
};
/* this casts MutualExclude for easy assignment of a hook
* pointer to the unused MutualExclude field of a custom gadget
*/
#define CUSTOM_HOOK( gadget ) ( (struct Hook *) (gadget)->MutualExclude)
#endif