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

    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'

    XREF    _GadToolsBase
    XREF    _IntuitionBase
    XREF    _GfxBase
    XREF    _SysBase

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_NumStars                            EQU    0
GD_SpeedStar                           EQU    1
GD_StarBlankSave                       EQU    2
GD_StarBlankUse                        EQU    3

StarBlanker_CNT    EQU    4

    XDEF    Scr
    XDEF    VisualInfo
    XDEF    PubScreenName
    XDEF    StarBlankerWnd
    XDEF    StarBlankerGList
    XDEF    StarBlankerGadgets
    XDEF    StarBlankerLeft
    XDEF    StarBlankerTop
    XDEF    StarBlankerWidth
    XDEF    StarBlankerHeight

Scr:
    DC.L    0
VisualInfo:
    DC.L    0
PubScreenName:
    DC.L    WBName
WBName:
    DC.B    'Workbench',0
    CNOP  0,2
StarBlankerWnd:
    DC.L    0
StarBlankerGList:
    DC.L    0
StarBlankerGadgets:
    DCB.L    4,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
StarBlankerLeft:
    DC.W    10
StarBlankerTop:
    DC.W    15
StarBlankerWidth:
    DC.W    389
StarBlankerHeight:
    DC.W    46

StarBlankerGTypes:
    DC.W    INTEGER_KIND
    DC.W    INTEGER_KIND
    DC.W    BUTTON_KIND
    DC.W    BUTTON_KIND

StarBlankerNGads:
    DC.W    137,14,56,14
    DC.L    NumStarsText,0
    DC.W    GD_NumStars
    DC.L    PLACETEXT_LEFT,0,0
    DC.W    333,14,39,14
    DC.L    SpeedStarText,0
    DC.W    GD_SpeedStar
    DC.L    PLACETEXT_LEFT,0,0
    DC.W    3,30,185,13
    DC.L    StarBlankSaveText,0
    DC.W    GD_StarBlankSave
    DC.L    PLACETEXT_IN,0,0
    DC.W    193,30,185,13
    DC.L    StarBlankUseText,0
    DC.W    GD_StarBlankUse
    DC.L    PLACETEXT_IN,0,0

StarBlankerGTags:
    DC.L    GTIN_Number,200
    DC.L    GTIN_MaxChars,4
    DC.L    TAG_DONE
    DC.L    GTIN_Number,8
    DC.L    GTIN_MaxChars,2
    DC.L    TAG_DONE
    DC.L    TAG_DONE
    DC.L    TAG_DONE


NumStarsText:
    DC.B    'Number Of Stars',0

SpeedStarText:
    DC.B    'Speed Of Stars',0

StarBlankSaveText:
    DC.B    'Save',0

StarBlankUseText:
    DC.B    'Use',0

    CNOP    0,2

    XDEF    topaz8

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

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

    XDEF    StarBlankerWindowTags

StarBlankerWindowTags:
StarBlankerL:
    DC.L    WA_Left,0
StarBlankerT:
    DC.L    WA_Top,0
StarBlankerW:
    DC.L    WA_Width,0
StarBlankerH:
    DC.L    WA_Height,0
    DC.L    WA_IDCMP,INTEGERIDCMP!BUTTONIDCMP!IDCMP_CLOSEWINDOW!IDCMP_REFRESHWINDOW
    DC.L    WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
StarBlankerWG:
    DC.L    WA_Gadgets,0
    DC.L    WA_Title,StarBlankerWTitle
    DC.L    WA_ScreenTitle,StarBlankerSTitle
    DC.L    TAG_DONE

StarBlankerWTitle:
    DC.B    'StarBlank Prefs',0
    CNOP    0,2

StarBlankerSTitle:
    DC.B    'PowerManager Blank Module',0
    CNOP    0,2

    XDEF    StarBlankerText0

StarBlankerText0:
    DC.B    1,0
    DC.B    RP_JAM1
    DC.B    0
    DC.W    118,2
    DC.L    topaz8
    DC.L    StarBlankerIText0
    DC.L    StarBlankerText1

StarBlankerText1:
    DC.B    2,0
    DC.B    RP_JAM1
    DC.B    0
    DC.W    117,1
    DC.L    topaz8
    DC.L    StarBlankerIText1
    DC.L    0

StarBlankerIText0:
    DC.B    'StarBlank Preferences',0

StarBlankerIText1:
    DC.B    'StarBlank Preferences',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    StarBlankerRender

StarBlankerRender:
    movem.l d0-d5/a0-a2/a6,-(sp)
    move.l  StarBlankerWnd,a0
    move.b  wd_BorderLeft(a0),d4
    ext.w   d4
    move.b  wd_BorderTop(a0),d5
    ext.w   d5
    move.l  _IntuitionBase,a6
    move.l  StarBlankerWnd,a0
    move.l  wd_RPort(a0),a0
    lea.l   StarBlankerText0,a1
    move.l  d4,d0
    move.l  d5,d1
    jsr     PrintIText(a6)
    movem.l (sp)+,d0-d5/a0-a2/a6
    rts

    XDEF    OpenStarBlankerWindow

OpenStarBlankerWindow:
    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   StarBlankerGList,a0
    jsr     CreateContext(a6)
    move.l  d0,a3
    tst.l   d0
    beq     StarBlankerCError
    movem.w d2-d3,-(sp)
    moveq   #0,d3
    lea.l   StarBlankerGTags,a4
StarBlankerGL:
    move.l  _SysBase,a6
    lea.l   StarBlankerNGads,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   StarBlankerGTypes,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    StarBlankerCOK
    movem.w (sp)+,d2-d3
    bra     StarBlankerGError
StarBlankerCOK:
    move.l  d0,a3
    move.l  d3,d0
    asl.l   #2,d0
    lea.l   StarBlankerGadgets,a0
    add.l   d0,a0
    move.l  a3,(a0)
StarBlankerTL:
    tst.l   (a4)
    beq.s   StarBlankerDN
    addq.w  #8,a4
    bra.s   StarBlankerTL
StarBlankerDN:
    addq.w  #4,a4
    addq.w  #1,d3
    cmp.w   #StarBlanker_CNT,d3
    bmi     StarBlankerGL
    movem.w (sp)+,d2-d3
    move.l  StarBlankerGList,StarBlankerWG+4
    moveq   #0,d0
    move.w  StarBlankerLeft,d0
    move.l  d0,StarBlankerL+4
    move.w  StarBlankerTop,d0
    move.l  d0,StarBlankerT+4
    move.w  StarBlankerWidth,d0
    move.l  d0,StarBlankerW+4
    move.w  StarBlankerHeight,d0
    add.w   d3,d0
    move.l  d0,StarBlankerH+4
    move.l  _IntuitionBase,a6
    suba.l  a0,a0
    lea.l   StarBlankerWindowTags,a1
    jsr     OpenWindowTagList(a6)
    move.l  d0,StarBlankerWnd
    tst.l   d0
    beq     StarBlankerWError
    move.l  _GadToolsBase,a6
    move.l  StarBlankerWnd,a0
    suba.l  a1,a1
    jsr     GT_RefreshWindow(a6)
    jsr     StarBlankerRender
    moveq   #0,d0
StarBlankerDone:
    movem.l (sp)+,d1-d4/a0-a4/a6
    rts
StarBlankerCError:
    moveq   #1,d0
    bra.s   StarBlankerDone
StarBlankerGError:
    moveq   #2,d0
    bra.s   StarBlankerDone
StarBlankerWError:
    moveq   #4,d0
    bra.s   StarBlankerDone

    XDEF    CloseStarBlankerWindow

CloseStarBlankerWindow:
    movem.l d0-d1/a0-a2/a6,-(sp)
    move.l  _IntuitionBase,a6
    move.l  StarBlankerWnd,a0
    cmpa.l  #0,a0
    beq     StarBlankerNWnd
    jsr     CloseWindow(a6)
    move.l  #0,StarBlankerWnd
StarBlankerNWnd:
    move.l  _GadToolsBase,a6
    move.l  StarBlankerGList,a0
    cmpa.l  #0,a0
    beq     StarBlankerNGad
    jsr     FreeGadgets(a6)
    move.l  #0,StarBlankerGList
StarBlankerNGad:
    movem.l (sp)+,d0-d1/a0-a2/a6
    rts


    end
