    IFND GTLAYOUT_I
GTLAYOUT_I equ 1

*
**      GadTools layout toolkit
**
**      Copyright + 1993-1995 by Olaf `Olsen' Barthel
**      Freely distributable.
**
**      Assembler-Include file by Clemens Resanka
**      Email: Clemens.Resanka@310-72-26.st.co.at
**      I deleted all typedefs and protos....
**
*/


*****************************************************************************/

    incdir include:

    IFND EXEC_TYPES_I
    INCLUDE exec/types.i
    ENDC

    IFND INTUITION_INTUITION_I
    INCLUDE intuition/intuition.i
    ENDC

    IFND UTILITY_TAGITEM_I
    INCLUDE utility/tagitem.i
    ENDC

    IFND INTUITION_GADGETCLASS_I
    INCLUDE intuition/gadgetclass.i
    ENDC

*****************************************************************************/


*PlacementTypes
PLACE_RIGHT     EQU  $0002
PLACE_LEFT      EQU  $0001
PLACE_ABOVE     EQU  $0004
PLACE_IN        EQU  $0008
PLACE_BELOW     EQU  $0010


*AlignmentTypes
ALIGNTEXT_LEFT      EQU   $0000
ALIGNTEXT_CENTERED  EQU   $0001
ALIGNTEXT_RIGHT     EQU   $0002
ALIGNTEXT_PAD       EQU   $0003

*TapeDeckButtonTypes
TDBT_BACKWARD       EQU   $0001
TDBT_FORWARD        EQU   $0002
TDBT_PREVIOUS       EQU   $0004
TDBT_NEXT           EQU   $0008
TDBT_STOP           EQU   $0010
TDBT_PAUSE          EQU   $0020
TDBT_RECORD         EQU   $0030
TDBT_REWIND         EQU   $0040
TDBT_EJECT          EQU   $0080
TDBT_PLAY           EQU   $0100
TDBTLAST            EQU   $0200


    BITDEF ALIGNF,RIGHT,0
    BITDEF ALIGNF,LEFT,1
    BITDEF ALIGNF,TOP,2
    BITDEF ALIGNF,BOTTOM,3
    BITDEF ALIGNF,EXTRA_RIGHT,4
    BITDEF ALIGNF,EXTRA_LEFT,5
    BITDEF ALIGNF,EXTRA_TOP,6
    BITDEF ALIGNF,EXTRA_BOTTOM,7


*****************************************************************************/

* Generic tags, applicable for several object types */
LA_Chars                equ             TAG_USER+2
LA_LabelPlace           equ             TAG_USER+3
LA_ExtraSpace           equ             TAG_USER+4
LA_NoKey                equ             TAG_USER+30
LA_HighLabel            equ             TAG_USER+31
LA_LabelText            equ             TAG_USER+37
LA_LabelID              equ             TAG_USER+38
LA_ID                   equ             TAG_USER+39
LA_Type                 equ             TAG_USER+40
LA_PageSelector         equ             TAG_USER+79
LA_LabelChars           equ             TAG_USER+107

* Storage type tags */
STORE_BYTE              equ             TAG_USER+63
LA_BYTE                 equ             TAG_USER+63
STORE_UBYTE             equ             TAG_USER+64
LA_UBYTE                equ             TAG_USER+64
STORE_WORD              equ             TAG_USER+65
LA_WORD                 equ             TAG_USER+65
STORE_BOOL              equ             TAG_USER+65
LA_BOOL                 equ             TAG_USER+65
STORE_UWORD             equ             TAG_USER+66
LA_UWORD                equ             TAG_USER+66
STORE_LONG              equ             TAG_USER+67
LA_LONG                 equ             TAG_USER+67
STORE_ULONG             equ             TAG_USER+68
LA_ULONG                equ             TAG_USER+68
STORE_STRPTR            equ             TAG_USER+69
LA_STRPTR               equ             TAG_USER+69
STORE_FRACTION          equ             TAG_USER+68
LA_FRACTION             equ             TAG_USER+68

* for use with LT_GetAttributes() only */
LA_Left                 equ             TAG_USER+16
LA_Top                  equ             TAG_USER+17
LA_Width                equ             TAG_USER+18
LA_Height               equ             TAG_USER+19
LA_LabelLeft            equ             TAG_USER+114
LA_LabelTop             equ             TAG_USER+115

* TEXT_KIND */
LATX_Picker             equ             TAG_USER+5
LATX_UsePicker          equ             TAG_USER+5
LATX_LockSize           equ             TAG_USER+106

* VERTICAL_KIND, HORIZONTAL_KIND */
LAGR_Spread             equ             TAG_USER+6
LAGR_SameSize           equ             TAG_USER+8
LAGR_LastAttributes     equ             TAG_USER+46
LAGR_ActivePage         equ             TAG_USER+58
LAGR_Frame              equ             TAG_USER+104
LAGR_IndentX            equ             TAG_USER+130
LAGR_IndentY            equ             TAG_USER+134
LT_BuildA
* FRAME_KIND */
LAFR_InnerWidth         equ             TAG_USER+9
LAFR_InnerHeight        equ             TAG_USER+10
LAFR_DrawBox            equ             TAG_USER+11
LAFR_RefreshHook        equ             TAG_USER+117

* BOX_KIND */
LABX_Labels             equ             TAG_USER+12
LABX_Lines              equ             TAG_USER+13
LABX_Rows               equ             TAG_USER+1
LABX_Index              equ             TAG_USER+14
LABX_Text               equ             TAG_USER+15
LABX_AlignText          equ             TAG_USER+27
LABX_DrawBox            equ             TAG_USER+11
LABX_FirstLabel         equ             TAG_USER+44
LABX_LastLabel          equ             TAG_USER+45
LABX_ReserveSpace       equ             TAG_USER+72
LABX_LabelTable         equ             TAG_USER+98

* FRACTION_KIND */
LAFC_MaxChars           equ             TAG_USER+20
LAFC_Number             equ             TAG_USER+21
LAFC_LastGadget         equ             TAG_USER+28
LAFC_Min                equ             TAG_USER+23
LAFC_Max                equ             TAG_USER+24
LAFC_HistoryLines       equ             TAG_USER+59
LAFC_HistoryHook        equ             TAG_USER+80

* SLIDER_KIND */
LASL_FullCheck          equ             TAG_USER+22

* LISTVIEW_KIND */
LALV_ExtraLabels        equ             TAG_USER+26
LALV_Labels             equ             TAG_USER+33
LALV_CursorKey          equ             TAG_USER+35
LALV_Lines              equ             TAG_USER+1
LALV_Link               equ             TAG_USER+7
LALV_FirstLabel         equ             TAG_USER+44
LALV_LastLabel          equ             TAG_USER+45
LALV_MaxGrowX           equ             TAG_USER+77
LALV_MaxGrowY           equ             TAG_USER+78
LALV_LabelTable         equ             TAG_USER+98
LALV_LockSize           equ             TAG_USER+106
LALV_ResizeX            equ             TAG_USER+109
LALV_ResizeY            equ             TAG_USER+110
LALV_MinChars           equ             TAG_USER+111
LALV_MinLines           equ             TAG_USER+112
LALV_FlushLabelLeft     equ             TAG_USER+113
LALV_TextAttr           equ             TAG_USER+138

* INTEGER_KIND */
LAIN_LastGadget         equ             TAG_USER+28
LAIN_Min                equ             TAG_USER+23
LAIN_Max                equ             TAG_USER+24
LAIN_UseIncrementers    equ             TAG_USER+57
LAIN_Incrementers       equ             TAG_USER+57
LAIN_HistoryLines       equ             TAG_USER+59
LAIN_HistoryHook        equ             TAG_USER+80
LAIN_IncrementerHook    equ             TAG_USER+85

* STRING_KIND */
LAST_LastGadget         equ             TAG_USER+28
LAST_Link               equ             TAG_USER+7
LAST_Picker             equ             TAG_USER+5
LAST_UsePicker          equ             TAG_USER+5
LAST_HistoryLines       equ             TAG_USER+59
LAST_HistoryHook        equ             TAG_USER+80
LAST_CursorPosition     equ             TAG_USER+105

* PASSWORD_KIND */
;LAPW_String             equ             GTST_String ;I don+t know how to
translate these
LAPW_LastGadget         equ             TAG_USER+28  ;my assembler does not
like them!
LAPW_HistoryLines       equ             TAG_USER+59
LAPW_HistoryHook        equ             TAG_USER+80

* PALETTE_KIND */
LAPA_SmallPalette       equ             TAG_USER+32
;LAPA_Lines              equ             LA_Lines
LAPA_UsePicker          equ             TAG_USER+137
LAPA_Picker             equ             TAG_USER+137

* BUTTON_KIND */
LABT_ReturnKey          equ             TAG_USER+34
LABT_EscKey             equ             TAG_USER+56
LABT_ExtraFat           equ             TAG_USER+29
LABT_Lines              equ             TAG_USER+140
LABT_FirstLine          equ             TAG_USER+44
LABT_LastLine           equ             TAG_USER+45

* GAUGE_KIND */
LAGA_Percent            equ             TAG_USER+36
LAGA_InfoLength         equ             TAG_USER+70
LAGA_InfoText           equ             TAG_USER+71
LAGA_NoTicks            equ             TAG_USER+143

* CYCLE_KIND */
LACY_FirstLabel         equ             TAG_USER+44
LACY_LastLabel          equ             TAG_USER+45
LACY_LabelTable         equ             TAG_USER+98
LACY_AutoPageID         equ             TAG_USER+103
LACY_TabKey             equ             TAG_USER+118

* LEVEL_KIND */
;LAVL_Min                equ             GTSL_Min
;LAVL_Max                equ             GTSL_Max
;LAVL_Level              equ             GTSL_Level
;LAVL_LevelFormat        equ             GTSL_LevelFormat
;LAVL_LevelPlace         equ             GTSL_LevelPlace
;LAVL_DispFunc           equ             GTSL_DispFunc
;LAVL_FullCheck          equ             LASL_FullCheck

* MX_KIND */
LAMX_FirstLabel         equ             TAG_USER+44
LAMX_LastLabel          equ             TAG_USER+45
LAMX_LabelTable         equ             TAG_USER+98
LAMX_TabKey             equ             TAG_USER+118

* SCROLLER_KIND */
LASC_Thin               equ             TAG_USER+62

* XBAR_KIND */
LAXB_FullSize           equ             TAG_USER+50

* TAPEDECK_KIND */
LATD_ButtonType         equ             TAG_USER+86
LATD_Toggle             equ             TAG_USER+87
LATD_Pressed            equ             TAG_USER+88
LATD_Smaller            equ             TAG_USER+89
LATD_Tick               equ             TAG_USER+139

* MX_KIND */
LAMX_AutoPageID         equ             TAG_USER+103

* BOOPSI_KIND */
LABO_TagCurrent         equ             TAG_USER+119
LABO_TagTextAttr        equ             TAG_USER+120
LABO_TagDrawInfo        equ             TAG_USER+121
LABO_TagLink            equ             TAG_USER+129
LABO_TagScreen          equ             TAG_USER+132
LABO_Link               equ             LALV_Link
LABO_ClassInstance      equ             TAG_USER+122
LABO_ClassName          equ             TAG_USER+123
LABO_ClassLibraryName   equ             TAG_USER+124
LABO_ExactWidth         equ             TAG_USER+127
LABO_ExactHeight        equ             TAG_USER+128
LABO_RelFontHeight      equ             TAG_USER+131
LABO_Object             equ             TAG_USER+133
LABO_FullWidth          equ             TAG_USER+135
LABO_FullHeight         equ             TAG_USER+136
LABO_ActivateHook       equ             TAG_USER+141

* Applicable for window only */
LAWN_Menu               equ             TAG_USER+25
LAWN_UserPort           equ             TAG_USER+47
LAWN_Left               equ             TAG_USER+48
LAWN_Top                equ             TAG_USER+49
LAWN_Zoom               equ             TAG_USER+50
LAWN_MaxPen             equ             TAG_USER+52
LAWN_BelowMouse         equ             TAG_USER+53
LAWN_MoveToWindow       equ             TAG_USER+54
LAWN_AutoRefresh        equ             TAG_USER+55
LAWN_HelpHook           equ             TAG_USER+73
LAWN_Parent             equ             TAG_USER+81
LAWN_BlockParent        equ             TAG_USER+82
LAWN_SmartZoom          equ             TAG_USER+91
LAWN_Title              equ             TAG_USER+92
LAWN_TitleText          equ             TAG_USER+92
LAWN_Bounds             equ             TAG_USER+93
LAWN_ExtraWidth         equ             TAG_USER+94
LAWN_ExtraHeight        equ             TAG_USER+95
LAWN_IDCMP              equ             TAG_USER+96
LAWN_AlignWindow        equ             TAG_USER+97
LAWN_TitleID            equ             TAG_USER+99
LAWN_FlushLeft          equ             TAG_USER+14000  ;// NOTEZ-BIEN:
TAG_USER+99 = WA_Dummy and can clash
LAWN_FlushTop           equ             TAG_USER+14001  ;//             with
Intuition!
LAWN_Show               equ             TAG_USER+14002
LAWN_MenuTemplate       equ             TAG_USER+14003
LAWN_MenuTags           equ             TAG_USER+14004

* Applicable for menus only. */
LAMN_FirstLabel         equ             LABX_FirstLabel
LAMN_LastLabel          equ             LABX_LastLabel
LAMN_LabelTable         equ             TAG_USER+98

LAMN_TitleText          equ             TAG_USER+17000
LAMN_TitleID            equ             TAG_USER+17001
LAMN_ItemText           equ             TAG_USER+17002
LAMN_ItemID             equ             TAG_USER+17003
LAMN_SubText            equ             TAG_USER+17004
LAMN_SubID              equ             TAG_USER+17005
LAMN_KeyText            equ             TAG_USER+17006
LAMN_KeyID              equ             TAG_USER+17007
LAMN_CommandText        equ             TAG_USER+17008
LAMN_CommandID          equ             TAG_USER+17009
LAMN_MutualExclude      equ             TAG_USER+17010
LAMN_UserData           equ             TAG_USER+17011
LAMN_Disabled           equ             TAG_USER+17012
LAMN_CheckIt            equ             TAG_USER+17013
LAMN_Checked            equ             TAG_USER+17014
LAMN_Toggle             equ             TAG_USER+17015
LAMN_Code               equ             TAG_USER+17016
LAMN_Qualifier          equ             TAG_USER+17017
LAMN_Char               equ             TAG_USER+17018
LAMN_ID                 equ             TAG_USER+17019
LAMN_AmigaGlyph         equ             TAG_USER+17020
LAMN_CheckmarkGlyph     equ             TAG_USER+17021
LAMN_Error              equ             TAG_USER+17022
LAMN_Screen             equ             TAG_USER+17023
LAMN_TextAttr           equ             TAG_USER+17024
LAMN_LayoutHandle       equ             TAG_USER+17025
LAMN_Handle             equ             TAG_USER+17025

* Applicable for layout handle only */
LH_Font                 equ             TAG_USER+41
LH_AutoActivate         equ             TAG_USER+42
LH_LocaleHook           equ             TAG_USER+4
LH_CloningPermitted     equ             TAG_USER+61
LH_EditHook             equ             TAG_USER+74
LH_ExactClone           equ             TAG_USER+75
LH_MenuGlyphs           equ             TAG_USER+76
LH_Parent               equ             TAG_USER+83
LH_BlockParent          equ             TAG_USER+84
LH_SimpleClone          equ             TAG_USER+90
LH_ExitFlush            equ             TAG_USER+108
LH_UserData             equ             TAG_USER+116
LH_RawKeyFilter         equ             TAG_USER+142

* Private tags; do not use, or you'll run into trouble! */
LA_Private1             equ             TAG_USER+100
LA_Private2             equ             TAG_USER+101

* Last tag item value used */
LAST_TAG                equ             TAG_USER+143

*****************************************************************************/


* Identifies the absence of a link for a listview or a string gadget */
NIL_LINK                equ            -2


*****************************************************************************/



* String gadget type history hook support: you will either get
* the following value passed as the message parameter to your
* hook function, or a pointer to a null-terminated string you should
* copy and create a Node from, which you should then add to the tail
* of your history list. Place a pointer to your history list in the
* Hook.h_Data entry.
*/

HISTORYHOOK_DISCARD_OLDEST      equ     0       ; Discard oldest entry


*****************************************************************************/


* Incrementer hook support: you will get the current value
* passed as the object and one of the following values as
* the message. Return the number to be used.
*/

*IncrementerMsgTypes
INCREMENTERMSG_DECREMENT EQU -1 ;Decrement value
INCREMENTERMSG_INITIAL   EQU  0 ;Initial value passed upon gadget creation
INCREMENTERMSG_INCREMENT EQU  1 ;Increment value


*****************************************************************************/

* Help key hook support: the hook will be called with a "STRUCTURE IBox *"
* as the object and a "STRUCTURE HelpMsg *". The IBox describes the object
* the mouse was positioned over, such as a button, a listview, etc.
* The "ObjectID" will indicate the ID of the object the mouse was
* positioned over. The ID will be -1 if no object was to be found.
*/


 STRUCTURE HelpMsg,0
        APTR    Handle;        ;// Window layout handle
        LONG    ObjectID;      ;// ID of the object, -1 for full window
 LABEL HelpMsg_SIZEOF


 STRUCTURE RefreshMsg,0
        LONG    ID
        WORD    Left,Top,Width,Height
 LABEL RefreshMsg_SIZEOF


*****************************************************************************/

* Obsolete tags, don't use in new code */
LA_Lines              equ               LABX_Rows
LA_Spread             equ               LAGR_Spread
LA_SameSize           equ               LAGR_SameSize
LA_FullCheck          equ               LASL_FullCheck
LA_ExtraLabels        equ               LALV_ExtraLabels
LA_LastGadget         equ               LAFC_LastGadget
LA_SmallPalette       equ               LAPA_SmallPalette
LA_Labels             equ               LALV_Labels
LA_Picker             equ               LATX_Picker
LA_DrawBox            equ               LAFR_DrawBox
LA_FirstLabel         equ               LABX_FirstLabel
LA_LastLabel          equ               LABX_LastLabel
LA_LabelTable         equ               LABX_LabelTable
LA_Min                equ               LAFC_Min
LA_Max                equ               LAFC_Max
LA_Link               equ               LALV_Link
LA_Menu               equ               LAWN_Menu
LA_HistoryLines       equ               LAST_HistoryLines
LA_HistoryHook        equ               LAST_HistoryHook
LA_ReturnKey          equ               LABT_ReturnKey
LA_ExtraFat           equ               LABT_ExtraFat
LA_CursorKey          equ               LALV_CursorKey


*****************************************************************************/


* kinds of objects supported in addition to the normal GadTools kinds */
HORIZONTAL_KIND       equ               45
VERTICAL_KIND         equ               46
END_KIND              equ               47
FRAME_KIND            equ               48
BOX_KIND              equ               49
FRACTION_KIND         equ               50
XBAR_KIND             equ               51
YBAR_KIND             equ               52
PASSWORD_KIND         equ               53
GAUGE_KIND            equ               54
TAPEDECK_KIND         equ               55
LEVEL_KIND            equ               56
BOOPSI_KIND           equ               57

*****************************************************************************/


* in support of FRACTION_KIND gadgets */

FIXED_UNITY             equ             10000

*****************************************************************************/


    IFND _GTLAYOUT_C
 STRUCTURE LayoutHandle,0
        APTR  LH_Screen;
        APTR  LH_DrawInfo;
        APTR  LH_Window;
        APTR  LH_VisualInfo;
        APTR  LH_AmigaGlyph,
        APTR  LH_CheckGlyph;
        APTR  LaH_UserData
        APTR  LH_Menu
        * private fields follow.... */
 LABEL LayoutHandle_SIZEOF;
    ENDC


*****************************************************************************/

    ENDC       * _GTLAYOUT_I */
