Hasassin
 
 
 
    
		 | 
		
		
			
				  Posted: Mon May 25, 2009 9:44 pm    Post subject: Paint Program Issue.  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				Hello everyone. 
 
 
I'm having an issue with my paint program i'm doing for a class assignment. I'm trying to get the pencil or freedraw tool to work, however, it only draws dots, and if I hold the mouse down, it doesn't draw lines, freely.
 
 
Can anyone help me out? Thanks
 
 
And here is the code:
 
 
 
%screen size
 
setscreen ("graphics:800;600")
 
 
 
%procedure drawbutton down
 
procedure buttonDraw (coordx, coordy, coordx2, coordy2, black : int)
 
    drawbox (coordx, coordy, coordx2, coordy2, black)
 
    drawfill (coordx + 1, coordy + 1, 8, black)
 
end buttonDraw
 
 
 
%procedure colour button
 
procedure colourbutton (coordone, coordtwo, cordx2, cordy2, clr : int)
 
    drawbox (coordone, coordtwo, cordx2, cordy2, black)
 
    drawfill (coordone + 1, coordtwo + 1, 8, black)
 
end colourbutton
 
 
 
% declare variables
 
var colournum, buttonnumber, buttonupdown : int
 
var objectype, mousego : int
 
var button : int
 
var x, y, y2, x2 : int
 
% Draw the main screen
 
drawfillbox (0, 0, maxx, maxy, 100) % grey background
 
drawfillbox (150, 80, maxx, 575, white) % white canvas
 
% drawbox (150, 80, maxx, 50, black) % under the canvas
 
 
 
%draw the buttons up, drawing a line function
 
buttonDraw (0, 535, 130, 575, black)
 
drawline (5, 540, 125, 570, black)
 
buttonDraw (0, 490, 130, 530, black)
 
drawoval (65, 510, 15, 15, black)
 
buttonDraw (0, 445, 130, 485, black)
 
drawbox (15, 450, 115, 480, black)
 
buttonDraw (0, 400, 130, 440, black)
 
drawmapleleaf (40, 405, 90, 435, black)
 
buttonDraw (0, 355, 130, 395, black)
 
Draw.Text ("Fill", 45, 360, Font.New ("serif:20:bold"), black)
 
buttonDraw (0, 305, 130, 350, black)
 
Draw.Text ("Pencil", 30, 315, Font.New ("serif:20:bold"), black)
 
buttonDraw (0, 255, 130, 300, black)
 
Draw.Text ("Erase", 30, 259, Font.New ("serif:20:bold"), black)
 
buttonDraw (0, 205, 130, 250, black)
 
Draw.Text ("Close", 30, 215, Font.New ("serif:20:bold"), black)
 
 
 
% the colour buttons
 
colourbutton (150, 50, 190, 80, black)
 
drawfill (152, 52, red, black)
 
colourbutton (195, 50, 240, 80, black)
 
drawfill (202, 52, blue, black)
 
colourbutton (245, 50, 285, 80, black)
 
drawfill (257, 52, white, black)
 
colourbutton (290, 50, 340, 80, black)
 
drawfill (292, 52, grey, black)
 
colourbutton (345, 50, 395, 80, black)
 
drawfill (357, 52, purple, black)
 
colourbutton (400, 50, 450, 80, black)
 
drawfill (402, 52, yellow, black)
 
colourbutton (455, 50, 505, 80, black)
 
drawfill (457, 52, green, black)
 
colourbutton (510, 50, 560, 80, black)
 
drawfill (512, 52, 43, black)
 
 
 
% LOOP
 
 
View.Update
 
loop
 
    % IF user clicks on one of the drawing tools THEN
 
    if Mouse.ButtonMoved ("down") then
 
        Mouse.ButtonChoose ("singlebutton")
 
        Mouse.ButtonWait ("down", x, y, x2, y2)
 
        if (x > 1 and x2 < 574) and (y > 536 and y2 < 574) then
 
            drawline (0, 575, 130, 575, black)
 
            drawline (0, 535, 0, 575, black)
 
            drawline (130, 535, 130, 575, white)
 
            drawline (0, 535, 130, 535, white)
 
            objectype := 1
 
        elsif (x > 150 and x2 < maxx) and (y > 80 and y2 < 575) then
 
            View.ClipSet (150, 80, maxx, 575)
 
            mousewhere (x, y, button)
 
            Draw.Dot (x, y, black)
 
        end if
 
    end if
 
end loop | 
			 
			
				 | 
			 
		  |