'**************************************
'                                     *
'     IntuiExtend.Lib 1.4/@1995-96    *
'                                     *
'          by CIERP Philippe.         *
'                                     *
'          from AMIGAzette 83         *
'                                     *
'**************************************
'
Amos To Back 
Wb Locker 1
'
'Tableau 
Wb Wind Open SCR To 10,20,400,150,2+4
W1=Wb Wind Base : R1=Wb Wind Rastport(W1)
'
'Outils
Wb Wind Open SCR To 400,60,133,97,2+4
W=Wb Wind Base : R=Wb Wind Rastport(W)
'
Wb Gfx Ink R To 1,0
'
BOUT[R,4,11,100,2,1,"Point"]
_TOG0=Wb Init Bool Gadget(0,4,11,100,11,2) : Wb Bevel Gadget _TOG0
Wb Insert Gadget W To _TOG0 : Wb Refresh Gadget W,_TOG0
'
BOUT[R,4,23,100,2,1,"Line"]
_TOG1=Wb Init Bool Gadget(1,4,23,100,11,2) : Wb Bevel Gadget _TOG1
Wb Insert Gadget W To _TOG1 : Wb Refresh Gadget W,_TOG1
'
BOUT[R,4,35,100,2,1,"Box"]
_TOG2=Wb Init Bool Gadget(2,4,35,100,11,2) : Wb Bevel Gadget _TOG2
Wb Insert Gadget W To _TOG2 : Wb Refresh Gadget W,_TOG2
'
BOUT[R,4,47,100,2,1,"Bar"]
_TOG3=Wb Init Bool Gadget(3,4,47,100,11,2) : Wb Bevel Gadget _TOG3
Wb Insert Gadget W To _TOG3 : Wb Refresh Gadget W,_TOG3
'
BOUT[R,4,59,100,2,1,"Circle"]
_TOG4=Wb Init Bool Gadget(4,4,59,100,11,2) : Wb Bevel Gadget _TOG4
Wb Insert Gadget W To _TOG4 : Wb Refresh Gadget W,_TOG4
'
BOUT[R,4,71,100,2,1,"Ellipse"]
_TOG5=Wb Init Bool Gadget(5,4,71,100,11,2) : Wb Bevel Gadget _TOG5
Wb Insert Gadget W To _TOG5 : Wb Refresh Gadget W,_TOG5
'
Dim COUL(7)
Wb Gfx Mode R,1 : Wb Gfx Ink R To 0,1
'
BOUT[R,4,83,124,2,1,"Couleur: $000"]
COUL(0)=Wb Init Bool Gadget(6,105,11,22,8,2) : Wb Bevel Gadget COUL(0)
Wb Insert Gadget W To COUL(0) : Wb Refresh Gadget W,COUL(0)
'
Wb Gfx Ink R To 0,0 : Wb Bar R To 106,12,126,18
'
For T=1 To 7
   COUL(T)=Wb Init Bool Gadget(T+6,105,11+(T*9),22,8,2)
   Wb Bevel Gadget COUL(T)
   Wb Insert Gadget W To COUL(T) : Wb Refresh Gadget W,COUL(T)
   Wb Gfx Ink R To T,T : Wb Bar R To 106,12+(T*9),126,18+(T*9)
Next T
'
Wb Gfx Ink R1 To 0,0
T1=0 : _TOOL=1
'
Do 
   X=X Wind(W) : Y=Y Wind(W)
   X2=X Wind(W1) : Y2=Y Wind(W1)
   '
   If WIND=1
      Wb Wind Title W1 To "  X:"+Str$(X2)+"  Y:"+Str$(Y2)+"    "+Chr$(0),""
   End If 
   '
   HMK=Hard Mouse Key
   If WIND=0 : Z=Get Msg(W) : End If 
   If WIND=1 : Z=Get Msg(W1) : End If 
   '
   Z1=Get Msg Iadr
   '
   If Wb Current Window=W and WIND<>0 : WIND=0 : End If 
   If Wb Current Window=W1 and WIND<>1 : WIND=1 : End If 
   '
   OP=-1
   '
   For U=0 To 7
      If Z1=COUL(U)
         OP=U
         U=7
      End If 
   Next U
   '
   'Point 
   If Z1=_TOG0 and _TOOL<>_TOG0 and WIND=0 : _TOOL=_TOG0 : Goto FIN : End If 
   If _TOOL=_TOG0 and WIND=1 and HMK=1
      While Hard Mouse Key=1
         X3=X Wind(W1) : Y3=Y Wind(W1)
         Wb Draw R1 To X2,Y2,X3,Y3
         Swap X2,X3 : Swap Y2,Y3
      Wend 
   End If 
   '
   'Line
   If Z1=_TOG1 and _TOOL<>_TOG1 and WIND=0 : _TOOL=_TOG1 : Goto FIN : End If 
   If _TOOL=_TOG1 and WIND=1 and HMK=1
      Wb Gfx Mode R1,2
      While Hard Mouse Key=1
         X3=X Wind(W1)
         Y3=Y Wind(W1)
         Wb Draw R1 To X2,Y2,X3,Y3
         Wb Draw R1 To X2,Y2,X3,Y3
      Wend 
      Wb Gfx Mode R1,1
      Wb Draw R1 To X2,Y2,X3,Y3
   End If 
   '
   'Box 
   If Z1=_TOG2 and _TOOL<>_TOG2 and WIND=0 : _TOOL=_TOG2 : Goto FIN : End If 
   If _TOOL=_TOG2 and WIND=1 and HMK=1
      Wb Gfx Mode R1,2
      While Hard Mouse Key=1
         X3=X Wind(W1)
         Y3=Y Wind(W1)
         Wb Box R1 To X2,Y2,X3,Y3
         Wb Box R1 To X2,Y2,X3,Y3
      Wend 
      Wb Gfx Mode R1,1
      Wb Box R1 To X2,Y2,X3,Y3
   End If 
   '
   'Bar 
   If Z1=_TOG3 and _TOOL<>_TOG3 and WIND=0 : _TOOL=_TOG3 : Goto FIN : End If 
   If _TOOL=_TOG3 and WIND=1 and HMK=1
      Wb Gfx Mode R1,2
      While Hard Mouse Key=1
         X3=X Wind(W1)
         Y3=Y Wind(W1)
         Wb Box R1 To X2,Y2,X3,Y3
         Wb Box R1 To X2,Y2,X3,Y3
      Wend 
      Wb Gfx Mode R1,1
      If X2>X3 : Swap X2,X3 : End If 
      If Y2>Y3 : Swap Y2,Y3 : End If 
      Wb Bar R1 To X2,Y2,X3,Y3
   End If 
   '
   'Circle
   If Z1=_TOG4 and _TOOL<>_TOG4 and WIND=0 : _TOOL=_TOG4 : Goto FIN : End If 
   If _TOOL=_TOG4 and WIND=1 and HMK=1
      Wb Gfx Mode R1,2
      While Hard Mouse Key=1
         X3=X2-X Wind(W1)
         Y3=Y2-Y Wind(W1)
         X4=(X3+Y3)/2
         Wb Circle R1 To X2,Y2,X4
         Wb Circle R1 To X2,Y2,X4
      Wend 
      Wb Gfx Mode R1,1
      Wb Circle R1 To X2,Y2,X4
   End If 
   '
   'Ellipse 
   If Z1=_TOG5 and _TOOL<>_TOG5 and WIND=0 : _TOOL=_TOG5 : Goto FIN : End If 
   '
   'Palette 
   If OP>=0 and OP<=7 and WIND=0
      T=(Y-15)/8
      If T<8 and T<>T1
         FF=Wb Get Colour(W,T)
         Wb Gfx Mode R,1
         If T=0
      Wb Gfx Ink R To T,1 Else Wb Gfx Ink R To T,0 : End If 
         Wb Gfx Text "Couleur: "+Hex$(FF,3)+" ",14,91 To R
         Wb Gfx Ink R1 To T,0
         T1=T
      End If 
   End If 
   '
   FIN:
   Exit If Hard Mouse Key=2
   '
Loop 
'
While Hard Mouse Key=2 : Wend 
Wait Vbl 
'
Print DEMANDE
'Wb Locker 0 
Amos To Front 
'
Wb Wind Close W
Wb Wind Close W1
'
Procedure BOUT[R,X,Y,W,C0,C1,T$]
   X1=(X+(W/2))-(Len(T$)*4)
   Wb Gfx Text T$,X1,Y+8 To R
End Proc
