*  Source machine generated by GadToolsBox V2.0b
*  which is (c) Copyright 1991-1993 Jaba Development
*
*  GUI Designed by : Jesper Skov
*

	incdir	include:
    include 'exec/types.i'
    include 'intuition/intuition.i'
    include 'intuition/classes.i'
    include 'intuition/classusr.i'
    include 'intuition/imageclass.i'
    include 'intuition/gadgetclass.i'
    include 'libraries/gadtools.i'
    include 'graphics/displayinfo.i'
    include 'graphics/gfxbase.i'


OpenScreenTagList    EQU    -612
OpenWindowTagList    EQU    -606
CloseScreen          EQU    -66
CloseWindow          EQU    -72
PrintIText           EQU    -216
LockPubScreen        EQU    -510
UnlockPubScreen      EQU    -516
SetMenuStrip         EQU    -264
ClearMenuStrip       EQU    -54
GetVisualInfoA       EQU    -126
FreeVisualInfo       EQU    -132
CreateContext        EQU    -114
CreateGadgetA        EQU    -30
GT_RefreshWindow     EQU    -84
FreeGadgets          EQU    -36
CreateMenusA         EQU    -48
LayoutMenusA         EQU    -66
FreeMenus            EQU    -54
OpenDiskFont         EQU    -30
CloseFont            EQU    -78
DrawBevelBoxA        EQU    -120
FreeClass            EQU    -714
NewObjectA           EQU    -636
DisposeObject        EQU    -642
TextLength           EQU    -54
CopyMem              EQU    -624
FindTagItem          EQU    -30
IntuiTextLength      EQU    -330
Forbid               EQU    -132
Permit               EQU    -138

GD_LibsGadget                          EQU    0
GD_PatchButton                         EQU    1
GD_UpdateButtonS                       EQU    2

GD_TimeTable                           EQU    0
GD_SaveButton                          EQU    1
GD_UpdateButton                        EQU    2
GD_FreeButton                          EQU    3
GD_ClearButton                         EQU    4

Project0_CNT    EQU    3
Project2_CNT    EQU    5

    XDEF    Scr
    XDEF    VisualInfo
    XDEF    PubScreenName
    XDEF    Project0Wnd
    XDEF    Project2Wnd
    XDEF    Project0GList
    XDEF    Project2GList
    XDEF    Project0Gadgets
    XDEF    Project2Gadgets
    XDEF    Project0Left
    XDEF    Project0Top
    XDEF    Project0Width
    XDEF    Project0Height
    XDEF    Project2Left
    XDEF    Project2Top
    XDEF    Project2Width
    XDEF    Project2Height

Scr:
    DC.L    0
VisualInfo:
    DC.L    0
PubScreenName:
    DC.L    0
Project0Wnd:
    DC.L    0
Project2Wnd:
    DC.L    0
Project0GList:
    DC.L    0
Project2GList:
    DC.L    0
Project0Gadgets:
    DCB.L    3,0
Project2Gadgets:
    DCB.L    5,0
BufNewGad:
    DC.W    0,0,0,0
    DC.L    0,0
    DC.W    0
    DC.L    0,0,0
TD:
    DC.L    TAG_DONE
NR:
    DC.L    GT_VisualInfo,$00000000,TAG_DONE
IR:
    DC.L    GT_VisualInfo,$00000000,GTBB_Recessed,1,TAG_DONE
Project0Left:
    DC.W    0
Project0Top:
    DC.W    11
Project0Width:
    DC.W    488
Project0Height:
    DC.W    132
Project2Left:
    DC.W    0
Project2Top:
    DC.W    11
Project2Width:
    DC.W    576
Project2Height:
    DC.W    133

Project0GTypes:
    DC.W    LISTVIEW_KIND
    DC.W    BUTTON_KIND
    DC.W    BUTTON_KIND

Project2GTypes:
    DC.W    LISTVIEW_KIND
    DC.W    BUTTON_KIND
    DC.W    BUTTON_KIND
    DC.W    BUTTON_KIND
    DC.W    BUTTON_KIND

Project0NGads:
    DC.W    12,19,454,88
    DC.L    LibsGadgetText,0
    DC.W    GD_LibsGadget
    DC.L    PLACETEXT_ABOVE,0,0
    DC.W    265,109,201,16
    DC.L    PatchButtonText,0
    DC.W    GD_PatchButton
    DC.L    PLACETEXT_IN,0,0
    DC.W    12,109,201,16
    DC.L    UpdateButtonSText,0
    DC.W    GD_UpdateButtonS
    DC.L    PLACETEXT_IN,0,0

Project2NGads:
    DC.W    4,17,561,96
    DC.L    TimeTableText,0
    DC.W    GD_TimeTable
    DC.L    0,0,0
    DC.W    16,113,129,16
    DC.L    SaveButtonText,0
    DC.W    GD_SaveButton
    DC.L    PLACETEXT_IN,0,0
    DC.W    149,113,129,16
    DC.L    UpdateButtonText,0
    DC.W    GD_UpdateButton
    DC.L    PLACETEXT_IN,0,0
    DC.W    415,113,129,16
    DC.L    FreeButtonText,0
    DC.W    GD_FreeButton
    DC.L    PLACETEXT_IN,0,0
    DC.W    282,113,129,16
    DC.L    ClearButtonText,0
    DC.W    GD_ClearButton
    DC.L    PLACETEXT_IN,0,0

Project0GTags:
    DC.L    GTLV_ShowSelected,0
    DC.L    TAG_DONE
    DC.L    TAG_DONE
    DC.L    TAG_DONE


Project2GTags:
    DC.L    LAYOUTA_Spacing,2
    DC.L    TAG_DONE
    DC.L    TAG_DONE
    DC.L    TAG_DONE
    DC.L    TAG_DONE
    DC.L    TAG_DONE


LibsGadgetText:
    DC.B    'Libraries in memory',0

PatchButtonText:
    DC.B    'Patch Library',0

UpdateButtonSText:
    DC.B    'Update',0

    CNOP    0,2

TimeTableText:
    DC.B    '',0

SaveButtonText:
    DC.B    'Save',0

UpdateButtonText:
    DC.B    'Update',0

FreeButtonText:
    DC.B    'Free Library',0

ClearButtonText:
    DC.B    'Clear',0

    CNOP    0,2

    XDEF    topaz8

topaz8:
    DC.L    topazFName8
    DC.W    8
    DC.B    $00,$01

topazFName8:
    DC.B    'topaz.font',0
    CNOP    0,2

    XDEF    Project0WindowTags

Project0WindowTags:
Project0L:
    DC.L    WA_Left,0
Project0T:
    DC.L    WA_Top,0
Project0W:
    DC.L    WA_Width,0
Project0H:
    DC.L    WA_Height,0
    DC.L    WA_IDCMP,LISTVIEWIDCMP!BUTTONIDCMP!IDCMP_CLOSEWINDOW!IDCMP_REFRESHWINDOW
    DC.L    WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
Project0WG:
    DC.L    WA_Gadgets,0
    DC.L    WA_Title,Project0WTitle
Project0SC:
    DC.L    WA_PubScreen,0
    DC.L    TAG_DONE

Project0WTitle:
    DC.B    'LibraryTimer V1.1 © 1993 by Jesper Skov.',0
    CNOP    0,2

    XDEF    Project2WindowTags

Project2WindowTags:
Project2L:
    DC.L    WA_Left,0
Project2T:
    DC.L    WA_Top,0
Project2W:
    DC.L    WA_Width,0
Project2H:
    DC.L    WA_Height,0
    DC.L    WA_IDCMP,LISTVIEWIDCMP!BUTTONIDCMP!IDCMP_CLOSEWINDOW!IDCMP_REFRESHWINDOW
    DC.L    WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
Project2WG:
    DC.L    WA_Gadgets,0
    DC.L    WA_Title,Project2WTitle
Project2SC:
    DC.L    WA_PubScreen,0
    DC.L    TAG_DONE

Project2WTitle:
    DC.B    'LibraryTimer V1.1 © 1993 by Jesper Skov.',0
    CNOP    0,2

    XDEF    Project2Text0

Project2Text0:
    DC.B    1,0
    DC.B    RP_JAM1
    DC.B    0
    DC.W    80,6
    DC.L    topaz8
    DC.L    Project2IText0
    DC.L    Project2Text1

Project2Text1:
    DC.B    1,0
    DC.B    RP_JAM1
    DC.B    0
    DC.W    320,6
    DC.L    topaz8
    DC.L    Project2IText1
    DC.L    Project2Text2

Project2Text2:
    DC.B    1,0
    DC.B    RP_JAM1
    DC.B    0
    DC.W    408,6
    DC.L    topaz8
    DC.L    Project2IText2
    DC.L    Project2Text3

Project2Text3:
    DC.B    1,0
    DC.B    RP_JAM1
    DC.B    0
    DC.W    16,6
    DC.L    topaz8
    DC.L    Project2IText3
    DC.L    0

Project2IText0:
    DC.B    'Function',0

Project2IText1:
    DC.B    'Calls',0

Project2IText2:
    DC.B    'Time ticks',0

Project2IText3:
    DC.B    'Offset',0

    CNOP    0,2

    XDEF    SetupScreen

SetupScreen
    movem.l d1-d3/a0-a2/a6,-(sp)
    move.l  _IntuitionBase,a6
    move.l  PubScreenName,a0
    jsr     LockPubScreen(a6)
    move.l  d0,Scr
    tst.l   d0
    beq     SError
    move.l  Scr,a0
    move.l  _GadToolsBase,a6
    lea.l   TD,a1
    jsr     GetVisualInfoA(a6)
    move.l  d0,VisualInfo
    tst.l   d0
    beq     VError
    moveq   #0,d0
SDone:
    movem.l (sp)+,d1-d3/a0-a2/a6
    rts
SError:
    moveq   #1,d0
    bra.s   SDone
VError:
    moveq   #2,d0
    bra.s   SDone

    XDEF    CloseDownScreen

CloseDownScreen:
    movem.l d0-d1/a0-a1/a6,-(sp)
    move.l  _GadToolsBase,a6
    move.l  VisualInfo,a0
    cmpa.l  #0,a0
    beq.s   NoVis
    jsr     FreeVisualInfo(a6)
    move.l  #0,VisualInfo
NoVis:
    move.l  _IntuitionBase,a6
    suba.l  a0,a0
    move.l  Scr,a1
    cmpa.l  #0,a1
    beq.s   NoScr
    jsr     UnlockPubScreen(a6)
    move.l  #0,Scr
NoScr:
    movem.l (sp)+,d0-d1/a0-a1/a6
    rts

    XDEF    OpenProject0Window

OpenProject0Window:
    movem.l d1-d4/a0-a4/a6,-(sp)
    move.l  Scr,a0
    moveq   #0,d3
    moveq   #0,d2
    move.b  sc_WBorLeft(a0),d2
    move.l  sc_Font(a0),a1
    move.w  ta_YSize(a1),d3
    addq.w  #1,d3
    move.b  sc_WBorTop(a0),d0
    ext.w   d0
    add.w   d0,d3
    move.l  _GadToolsBase,a6
    lea.l   Project0GList,a0
    jsr     CreateContext(a6)
    move.l  d0,a3
    tst.l   d0
    beq     Project0CError
    movem.w d2-d3,-(sp)
    moveq   #0,d3
    lea.l   Project0GTags,a4
Project0GL:
    move.l  _SysBase,a6
    lea.l   Project0NGads,a0
    move.l  d3,d0
    mulu    #gng_SIZEOF,d0
    add.l   d0,a0
    lea.l   BufNewGad,a1
    moveq   #gng_SIZEOF,d0
    jsr     CopyMem(a6)
    lea.l   BufNewGad,a0
    move.l  VisualInfo,gng_VisualInfo(a0)
    move.l  #topaz8,gng_TextAttr(a0)
    move.w  gng_LeftEdge(a0),d0
    add.w   (sp),d0
    move.w  d0,gng_LeftEdge(a0)
    move.w  gng_TopEdge(a0),d0
    add.w   2(sp),d0
    move.w  d0,gng_TopEdge(a0)
    move.l  _GadToolsBase,a6
    lea.l   Project0GTypes,a0
    moveq   #0,d0
    move.l  d3,d1
    asl.l   #1,d1
    add.l   d1,a0
    move.w  (a0),d0
    move.l  a3,a0
    lea.l   BufNewGad,a1
    move.l  a4,a2
    jsr     CreateGadgetA(a6)
    tst.l   d0
    bne.s    Project0COK
    movem.w (sp)+,d2-d3
    bra     Project0GError
Project0COK:
    move.l  d0,a3
    move.l  d3,d0
    asl.l   #2,d0
    lea.l   Project0Gadgets,a0
    add.l   d0,a0
    move.l  a3,(a0)
Project0TL:
    tst.l   (a4)
    beq.s   Project0DN
    addq.w  #8,a4
    bra.s   Project0TL
Project0DN:
    addq.w  #4,a4
    addq.w  #1,d3
    cmp.w   #Project0_CNT,d3
    bmi     Project0GL
    movem.w (sp)+,d2-d3
    move.l  Project0GList,Project0WG+4
    move.l  Scr,Project0SC+4
    moveq   #0,d0
;    move.w  Project0Left,d0
	GTBCenterW Project0Width
    move.l  d0,Project0L+4
;    move.w  Project0Top,d0
	GTBCenterH Project0Height
    move.l  d0,Project0T+4
    move.w  Project0Width,d0
    move.l  d0,Project0W+4
    move.w  Project0Height,d0
    add.w   d3,d0
    move.l  d0,Project0H+4
    move.l  _IntuitionBase,a6
    suba.l  a0,a0
    lea.l   Project0WindowTags,a1
    jsr     OpenWindowTagList(a6)
    move.l  d0,Project0Wnd
    tst.l   d0
    beq     Project0WError
    move.l  _GadToolsBase,a6
    move.l  Project0Wnd,a0
    suba.l  a1,a1
    jsr     GT_RefreshWindow(a6)
    moveq   #0,d0
Project0Done:
    movem.l (sp)+,d1-d4/a0-a4/a6
    rts
Project0CError:
    moveq   #1,d0
    bra.s   Project0Done
Project0GError:
    moveq   #2,d0
    bra.s   Project0Done
Project0WError:
    moveq   #4,d0
    bra.s   Project0Done

    XDEF    CloseProject0Window

CloseProject0Window:
    movem.l d0-d1/a0-a2/a6,-(sp)
    move.l  _IntuitionBase,a6
    move.l  Project0Wnd,a0
    cmpa.l  #0,a0
    beq     Project0NWnd
    jsr     CloseWindow(a6)
    move.l  #0,Project0Wnd
Project0NWnd:
    move.l  _GadToolsBase,a6
    move.l  Project0GList,a0
    cmpa.l  #0,a0
    beq     Project0NGad
    jsr     FreeGadgets(a6)
    move.l  #0,Project0GList
Project0NGad:
    movem.l (sp)+,d0-d1/a0-a2/a6
    rts

    XDEF    Project2Render

Project2Render:
    movem.l d0-d5/a0-a2/a6,-(sp)
    move.l  Project2Wnd,a0
    move.b  wd_BorderLeft(a0),d4
    ext.w   d4
    move.b  wd_BorderTop(a0),d5
    ext.w   d5
    move.l  VisualInfo,NR+4
    move.l  VisualInfo,IR+4
    move.l  _GadToolsBase,a6
    move.l  Project2Wnd,a0
    move.l  wd_RPort(a0),a2
    move.l  a2,a0
    lea.l   NR,a1
    move.w  #4,d0
    add.w   d4,d0
    move.w  #4,d1
    add.w   d5,d1
    move.w  #545,d2
    move.w  #11,d3
    jsr     DrawBevelBoxA(a6)
    move.l  _IntuitionBase,a6
    move.l  Project2Wnd,a0
    move.l  wd_RPort(a0),a0
    lea.l   Project2Text0,a1
    move.l  d4,d0
    move.l  d5,d1
    jsr     PrintIText(a6)
    movem.l (sp)+,d0-d5/a0-a2/a6
    rts

    XDEF    OpenProject2Window

OpenProject2Window:
    movem.l d1-d4/a0-a4/a6,-(sp)
    move.l  Scr,a0
    moveq   #0,d3
    moveq   #0,d2
    move.b  sc_WBorLeft(a0),d2
    move.l  sc_Font(a0),a1
    move.w  ta_YSize(a1),d3
    addq.w  #1,d3
    move.b  sc_WBorTop(a0),d0
    ext.w   d0
    add.w   d0,d3
    move.l  _GadToolsBase,a6
    lea.l   Project2GList,a0
    jsr     CreateContext(a6)
    move.l  d0,a3
    tst.l   d0
    beq     Project2CError
    movem.w d2-d3,-(sp)
    moveq   #0,d3
    lea.l   Project2GTags,a4
Project2GL:
    move.l  _SysBase,a6
    lea.l   Project2NGads,a0
    move.l  d3,d0
    mulu    #gng_SIZEOF,d0
    add.l   d0,a0
    lea.l   BufNewGad,a1
    moveq   #gng_SIZEOF,d0
    jsr     CopyMem(a6)
    lea.l   BufNewGad,a0
    move.l  VisualInfo,gng_VisualInfo(a0)
    move.l  #topaz8,gng_TextAttr(a0)
    move.w  gng_LeftEdge(a0),d0
    add.w   (sp),d0
    move.w  d0,gng_LeftEdge(a0)
    move.w  gng_TopEdge(a0),d0
    add.w   2(sp),d0
    move.w  d0,gng_TopEdge(a0)
    move.l  _GadToolsBase,a6
    lea.l   Project2GTypes,a0
    moveq   #0,d0
    move.l  d3,d1
    asl.l   #1,d1
    add.l   d1,a0
    move.w  (a0),d0
    move.l  a3,a0
    lea.l   BufNewGad,a1
    move.l  a4,a2
    jsr     CreateGadgetA(a6)
    tst.l   d0
    bne.s    Project2COK
    movem.w (sp)+,d2-d3
    bra     Project2GError
Project2COK:
    move.l  d0,a3
    move.l  d3,d0
    asl.l   #2,d0
    lea.l   Project2Gadgets,a0
    add.l   d0,a0
    move.l  a3,(a0)
Project2TL:
    tst.l   (a4)
    beq.s   Project2DN
    addq.w  #8,a4
    bra.s   Project2TL
Project2DN:
    addq.w  #4,a4
    addq.w  #1,d3
    cmp.w   #Project2_CNT,d3
    bmi     Project2GL
    movem.w (sp)+,d2-d3
    move.l  Project2GList,Project2WG+4
    move.l  Scr,Project2SC+4
    moveq   #0,d0
;    move.w  Project2Left,d0
	GTBCenterW Project2Width
    move.l  d0,Project2L+4
;    move.w  Project2Top,d0
	GTBCenterH Project2Height
    move.l  d0,Project2T+4
    move.w  Project2Width,d0
    move.l  d0,Project2W+4
    move.w  Project2Height,d0
    add.w   d3,d0
    move.l  d0,Project2H+4
    move.l  _IntuitionBase,a6
    suba.l  a0,a0
    lea.l   Project2WindowTags,a1
    jsr     OpenWindowTagList(a6)
    move.l  d0,Project2Wnd
    tst.l   d0
    beq     Project2WError
    move.l  _GadToolsBase,a6
    move.l  Project2Wnd,a0
    suba.l  a1,a1
    jsr     GT_RefreshWindow(a6)
    jsr     Project2Render
    moveq   #0,d0
Project2Done:
    movem.l (sp)+,d1-d4/a0-a4/a6
    rts
Project2CError:
    moveq   #1,d0
    bra.s   Project2Done
Project2GError:
    moveq   #2,d0
    bra.s   Project2Done
Project2WError:
    moveq   #4,d0
    bra.s   Project2Done

    XDEF    CloseProject2Window

CloseProject2Window:
    movem.l d0-d1/a0-a2/a6,-(sp)
    move.l  _IntuitionBase,a6
    move.l  Project2Wnd,a0
    cmpa.l  #0,a0
    beq     Project2NWnd
    jsr     CloseWindow(a6)
    move.l  #0,Project2Wnd
Project2NWnd:
    move.l  _GadToolsBase,a6
    move.l  Project2GList,a0
    cmpa.l  #0,a0
    beq     Project2NGad
    jsr     FreeGadgets(a6)
    move.l  #0,Project2GList
Project2NGad:
    movem.l (sp)+,d0-d1/a0-a2/a6
    rts


