option explicit
dim obj
set obj = CreateObject("SeraphyScriptTools.Instance")

' xRg[
dim lbl

'------------------
' FƐ}`̊Ǘ
dim mode,sx,sy,col
mode = 0
col  = 0

'-----------------
' Ǝs
WScript.ConnectObject obj.mainframe , "event_"
with obj.mainframe
	with .form
		set lbl = .label("x").SetPlacement(,,50,20)
	end with
	with .canvas
		.layer(0).Color = "&H000000"
		.layer(1).Color = "&H0000FF"
		.layer(2).Color = "&H00FF00"
		.layer(3).Color = "&HFF0000"
	end with
	.SetMenu "/t@C(&F),I/}`(&D),~(&C),(&L)/J[(&C),(&B),(&R),(&G),(&B)"
	.CheckMenu 300,true
	.open "}EXCxgAj[ƃC[̃Tv"
	.domodal
end with
WScript.DisconnectObject obj.mainframe

'----------------
' nh

sub event_OnClick
	with obj.mainframe
		dim x,y
		with .event
			x = .posx
			y = .posy
			select case mode
				case 0
					obj.mainframe.canvas.layer(col).circle x,y,3
				case 1
					sx = x
					sy = y
					mode = 2
			end select
		end with
		.draw
	end with
end sub

sub event_OnMouseMove
	with obj.mainframe
		dim x,y,dx,dy
		with .event
			x = .posx
			y = .posy
			dx = .dposx
			dy = .dposy
		end with
		with .canvas.layer(10)
			.clear
			.SetMappingMode 1
			.FontSize = 20
			.text 0, 0, "LOCAL " & x & " / " & y
			.text 0,20, "PIX " & dx & " / ," & dy
		end with
		select case mode
			case 2
				.canvas.layer(col).line sx,sy,x,y
				sx = x
				sy = y
		end select
		.draw
	end with
end sub

sub event_OnClickOut
	if(mode = 2) then
		mode = 1
	end if
end sub

sub event_OnCommand
	select case obj.mainframe.event.parameter
		case 200 mode = 0
		case 201 mode = 1
		case 300 col  = 0
		case 301 col  = 1
		case 302 col  = 2
		case 303 col  = 3
		case 100 obj.mainframe.close
	end select
	dim i
	for i = 0 to 3
		obj.mainframe.CheckMenu 300+i , false
	next
	obj.mainframe.CheckMenu 300+col,true
end sub

sub event_OnSize
	call window_resize
end sub

sub window_resize
	dim x,y
	if(not (lbl is nothing)) then
		x = (obj.mainframe.clientwidth / 2) - (lbl.width / 2)
		y = (obj.mainframe.clientheight / 2) - (lbl.height / 2)
		lbl.SetPlacement x,y
	end if
end sub
