(* REVISION HEADER ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××× *
 | 
 | $VER: EAGuiL.def 1.00 (02.05.95) by Stefan Schulz
 | 
 | Module          : TextField
 | Last Modified   : Thursday, 02.05.94
 | Author          : Marcel Offermans, Stefan Schulz
 | Actual Revision : 1.00
 | 
 | 
 | Description
 | -----------
 |   Example of implementing custom images using EAGUI
 | 
 | Requirements
 | ------------
 |   - EAGUI.library V2
 | 
 | Language
 | --------
 |   - M2Amiga Modula 2 Software Development System
 |     © Copyright by A+L AG, CH-2540 Grenchen
 | 
 | Revision 1.00  \01.05.94\
 |  - initial revision
 |
 * ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××× *)

DEFINITION MODULE TextField;

(*$ DEFINE	Small:= FALSE

    IF	Small
	StackChk   := FALSE
	RangeChk   := FALSE
	OverflowChk:= FALSE
	NilChk     := FALSE
	EntryClear := FALSE
	CaseChk    := FALSE
	ReturnChk  := FALSE
	LargeVars  := FALSE
    ENDIF			*)

(* IMPORTS ********************************************************************** *)

IMPORT	d	: EAGuiD;

IMPORT	gd	: GraphicsD,
	R,
	S	: SYSTEM,
	ud	: UtilityD;

(* ****************************************************************************** *)

(* GLOBALS ====================================================================== *)

(* Alternative alignment flags. If these aren't specified, the default is to
 * center the textfield both horizontally and vertically.
 *)
TYPE	CITFFlags	= (citfCenter,
			   citfAlignLeft, citfAlignRight,
			   citfAlignTop, citfAlignBottom,
			   citf5,  citf6,  citf7,  citf8,  citf9,  citf10,
			   citf11, citf12, citf13, citf14, citf15, citf16,
			   citf17, citf18, citf19, citf20, citf21, citf22,
			   citf23, citf24, citf25, citf26, citf27, citf28,
			   citf29, citf30, citf31
			  );
	CITFFlagSet	= SET OF CITFFlags;

(* Information that is needed by this object, but that isn't maintained by EAGUI
 * itself.
 *)
TYPE	ciTextFieldPtr	= POINTER TO ciTextField;
	ciTextField	= RECORD
			  string	: d.StrPtr;
			  textAttr	: gd.TextAttrPtr;
			  flags		: CITFFlagSet;
			  frontPen	: SHORTCARD;
			  END;

(* ============================================================================== *)

PROCEDURE MethMinSizeTextField
			( hook{R.A0}	: ud.HookPtr;
			  obj{R.A2}	: S.ADDRESS;
			  msg{R.A1}	: S.ADDRESS	) : S.ADDRESS;

PROCEDURE MethRenderTextField
			( hook{R.A0}	: ud.HookPtr;
			  obj{R.A2}	: S.ADDRESS;
			  msg{R.A1}	: S.ADDRESS	) : S.ADDRESS;

END TextField.def
