ftp.nice.ch/peanuts/GeneralData/Documents/multimedia/hypersense/ExplodingMenusXModule.tar.gz#/ExplodingMenusXModule/XModule/XModule_defs.h

This is XModule_defs.h in view mode; [Download] [Up]

// XModule_defs.h		Wed Feb 17 16:28:41 MST 1993
/*  ----------------------------------------------------------------------
    $Id: XModule_defs.h,v 1.1.1.1 1993/05/04 17:59:53 jeremy Exp $
    
    Description:
    
    Notes:
    ----------------------------------------------------------------------
*/

#ifndef XModule_defs_h
#define XModule_defs_h


/*
 * Element Types --
 *	These constants are for the elType parameter of methods such as
 *	-elementNamed:ofType:inPageOrLayer: .
 *	To request an element in a particular type of layer (shared or unique)
 *	the element type may be OR'ed with a layer type (domain). 
 *	For example, to specify a shared field, you would use
 *		(XM_TYPE_FIELD | XM_SHAREDDOMAIN)
 *	So, the following call would return the third shared field on the
 *	current page (on any shared layer):
 *		[elementNumbered:3
 *			ofType:(XM_TYPE_FIELD | XM_SHAREDDOMAIN)
 *			inPageOrLayer:nil]
 */

// Is it an element ( can be on a Page or Layer ) or not?
#define XM_TYPE_ELEM		(0x1000)
#define XM_TYPE_NONELEM		(0x0800)

// define 4 mutually-exclusive classes of Elements:
#define XM_TYPE_CONTROL		(0x0500 | XM_TYPE_ELEM)
#define XM_TYPE_GRAPHIC		(0x0300 | XM_TYPE_ELEM)
#define XM_TYPE_VIEWER		(0x0480 | XM_TYPE_ELEM)
#define XM_TYPE_MISC		(0x0280 | XM_TYPE_ELEM)

// Different types of Control objects
#define XM_TYPE_BUTTON		(0x0001 | XM_TYPE_CONTROL)

// Different types of Graphics
#define XM_TYPE_RECTANGLE	(0x0001 | XM_TYPE_GRAPHIC)
#define XM_TYPE_OVAL		(0x0002 | XM_TYPE_GRAPHIC)
#define XM_TYPE_LINE		(0x0003 | XM_TYPE_GRAPHIC)
#define XM_TYPE_FREEHAND	(0x0004 | XM_TYPE_GRAPHIC)

// Different types of Viewers
#define XM_TYPE_STKVWR		(0x0001 | XM_TYPE_VIEWER)

// Miscellaneous elements
#define XM_TYPE_FIELD		(0x0001 | XM_TYPE_MISC)
#define XM_TYPE_IMAGE		(0x0002 | XM_TYPE_MISC)
#define XM_TYPE_LABEL		(0x0004 | XM_TYPE_MISC)

// Non-Element objects:
#define XM_TYPE_DOCUMENT	(0x0200 | XM_TYPE_NONELEM)
#define XM_TYPE_STACK		(0x0100 | XM_TYPE_NONELEM)
#define XM_TYPE_PAGE		(0x0080 | XM_TYPE_NONELEM)
#define XM_TYPE_WNDWFRM		(0x0040 | XM_TYPE_NONELEM)
#define XM_TYPE_LAYER		(0x0020 | XM_TYPE_NONELEM)


/*
 * Layer Types / Domains --
 *	These constants are for the layerType parameter of methods
 *	such as -layerNamed:ofType:inPage:.
 *
 *	They are also OR'ed with the Element Types to specify Elements
 *	in a particular type of layer.
 */
#define	XM_UNIQUEDOMAIN		(0x4000)
#define XM_SHAREDDOMAIN		(0x8000)
#define XM_ANYDOMAIN		(0x0000)


/*
 * Marked flags --
 *	These constants are for the markFlag parametor of methods such
 *	as -pageNamed:inStack:marked:.
 */
#define XM_ANYPAGE		(0)
#define XM_MARKED		(1)


/*
 * Object special ordinals --
 *	These constants (actually constant strings) may be used in place of
 * a name when accessing most types of objects with methods such as
 * - pageNamed:inStack:marked: .  Use these "names" to access the current,
 * previous, next, last, middle, or any (random) page.  They also work for
 * accessing windowFrames, stacks, and layers.
 * Last, mid, and any also work for any type of element.
 */
extern const char *XM_ORD_THIS;
extern const char *XM_ORD_PREV;
extern const char *XM_ORD_NEXT;

extern const char *XM_ORD_LAST;
extern const char *XM_ORD_MID;
extern const char *XM_ORD_ANY;

/*
 * Standard resource types --
 *	These are the built-in resource types that you may access
 *	through XModules.  These are for the resType parameter of
 *	the various resource management methods
 */
extern const char *XM_RES_IMAGES;
extern const char *XM_RES_SOUNDS;


#endif // XModule_defs_h

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.