class Picture
export initialize, box_outline, box_fill
var x_box_pos, y_box_pos, x_size, y_size, pic_colour : int
proc initialize (x_box_pos_, y_box_pos_, x_size_, y_size_, pic_colour_ : int)
x_box_pos := x_box_pos_
y_box_pos := y_box_pos_
x_size := x_size_
y_size := y_size_
pic_colour := pic_colour_
end initialize
proc box_outline
drawbox (x_box_pos, y_box_pos, x_size, y_size, pic_colour)
end box_outline
proc box_fill
drawfillbox (x_box_pos, y_box_pos, x_size, y_size, pic_colour)
end box_fill
end Picture
var rect : ^Picture
new Picture, rect
class New_Mouse
import Mouse, Picture, rect
export mouse_where
var x_mouse_pos, y_mouse_pos, mouse_click, start, finish : int
proc mouse_where
loop
drawfillbox (0, 0, maxx, maxy, black)
Mouse.Where (x_mouse_pos, y_mouse_pos, mouse_click)
if (mouse_click = 0) then
start := x_mouse_pos
finish := y_mouse_pos
end if
Picture (rect).initialize (x_mouse_pos, y_mouse_pos, start, finish, red)
Picture (rect).box_fill
View.Update
end loop
end mouse_where
end New_Mouse
var loc : ^New_Mouse
new New_Mouse, loc
View.Set ("offscreenonly")
New_Mouse (loc).mouse_where
|