pencil tool (thickpixel)
This commit is contained in:
parent
6435128e22
commit
c7c145f0b1
2 changed files with 29 additions and 9 deletions
|
|
@ -42,13 +42,21 @@ sub filledPolygon (Points() as long, col as long)
|
||||||
next y
|
next y
|
||||||
end sub
|
end sub
|
||||||
|
|
||||||
|
sub thickpixel(x,y,col as long)
|
||||||
|
if state.brushsize=1 then
|
||||||
|
pset(x,y),col
|
||||||
|
else
|
||||||
|
line(x-0.5 * state.brushsize,y-0.5 * state.brushsize)-(x+0.5 * state.brushsize,y+0.5 * state.brushsize),col,bf
|
||||||
|
end if
|
||||||
|
end sub
|
||||||
|
|
||||||
sub thickline(x1,y1,x2,y2, col as long)
|
sub thickline(x1,y1,x2,y2, col as long)
|
||||||
if state.brushsize=1 then
|
if state.brushsize=1 then
|
||||||
line(x1,y1)-(x2,y2),col
|
line(x1,y1)-(x2,y2),col
|
||||||
else
|
else
|
||||||
dim tempimg as long
|
dim tempimg as long
|
||||||
dim od as long
|
dim od as long
|
||||||
tempimg=_newimage(10,10,32)
|
tempimg=_newimage(1,1,32)
|
||||||
od =_dest
|
od =_dest
|
||||||
_dest tempimg
|
_dest tempimg
|
||||||
pset(0,0),col
|
pset(0,0),col
|
||||||
|
|
|
||||||
22
pixler.bas
22
pixler.bas
|
|
@ -6,8 +6,8 @@ type statetype
|
||||||
offsetY as long
|
offsetY as long
|
||||||
zoom as single
|
zoom as single
|
||||||
brushsize as integer
|
brushsize as integer
|
||||||
startX as integer
|
startX as long
|
||||||
startY as integer
|
startY as long
|
||||||
isDrawing as integer
|
isDrawing as integer
|
||||||
end type
|
end type
|
||||||
|
|
||||||
|
|
@ -303,8 +303,8 @@ sub canvas
|
||||||
dim r as integer
|
dim r as integer
|
||||||
|
|
||||||
' 3. Calculate Canvas Coordinates
|
' 3. Calculate Canvas Coordinates
|
||||||
dim canX as integer
|
dim canX as long
|
||||||
dim canY as integer
|
dim canY as long
|
||||||
canX = int((_mousex - state.offsetX) / state.zoom)
|
canX = int((_mousex - state.offsetX) / state.zoom)
|
||||||
canY = int((_mousey - state.offsetY) / state.zoom)
|
canY = int((_mousey - state.offsetY) / state.zoom)
|
||||||
|
|
||||||
|
|
@ -370,8 +370,15 @@ sub canvas
|
||||||
select case state.tool
|
select case state.tool
|
||||||
case 1 ' Pencil
|
case 1 ' Pencil
|
||||||
_dest layers(1).ihandle
|
_dest layers(1).ihandle
|
||||||
|
if canX=state.startX and canY=state.startY then
|
||||||
|
thickpixel canX,canY,drawCol
|
||||||
|
addcommand "pixel ("+str$(canX)+","+str$(canY)+","+hex$(drawCol)+")"
|
||||||
|
else
|
||||||
thickline state.startX, state.startY, canX, canY, drawCol
|
thickline state.startX, state.startY, canX, canY, drawCol
|
||||||
addcommand "line ("+str$(state.startX)+","+ str$(state.startY)+","+str$(canX)+","+str$(canY)+","+hex$(drawCol)+")"
|
addcommand "line ("+str$(state.startX)+","+str$(state.startY)+","+str$(canX)+","+str$(canY)+","+hex$(drawCol)+")"
|
||||||
|
end if
|
||||||
|
'thickline state.startX, state.startY, canX, canY, drawCol
|
||||||
|
'addcommand "line ("+str$(state.startX)+","+ str$(state.startY)+","+str$(canX)+","+str$(canY)+","+hex$(drawCol)+")"
|
||||||
state.startX = canX: state.startY = canY
|
state.startX = canX: state.startY = canY
|
||||||
case 2 ' Straight Line
|
case 2 ' Straight Line
|
||||||
thickline state.startX, state.startY, canX, canY, drawCol
|
thickline state.startX, state.startY, canX, canY, drawCol
|
||||||
|
|
@ -433,8 +440,13 @@ sub canvas
|
||||||
'_putimage , layers(2).ihandle, layers(1).ihandle
|
'_putimage , layers(2).ihandle, layers(1).ihandle
|
||||||
select case state.tool
|
select case state.tool
|
||||||
case 2 ' Line
|
case 2 ' Line
|
||||||
|
if canX=state.startX and canY=state.startY then
|
||||||
|
thickpixel canX,canY,drawCol
|
||||||
|
addcommand "pixel ("+str$(canX)+","+str$(canY)+","+hex$(drawCol)+")"
|
||||||
|
else
|
||||||
thickline state.startX, state.startY, canX, canY, drawCol
|
thickline state.startX, state.startY, canX, canY, drawCol
|
||||||
addcommand "line ("+str$(state.startX)+","+str$(state.startY)+","+str$(canX)+","+str$(canY)+","+hex$(drawCol)+")"
|
addcommand "line ("+str$(state.startX)+","+str$(state.startY)+","+str$(canX)+","+str$(canY)+","+hex$(drawCol)+")"
|
||||||
|
end if
|
||||||
case 3 ' Circle
|
case 3 ' Circle
|
||||||
r = int(sqr((canX - state.startX)^2 + (canY - state.startY)^2))
|
r = int(sqr((canX - state.startX)^2 + (canY - state.startY)^2))
|
||||||
thickcircle state.startX, state.startY, r + 1, drawCol
|
thickcircle state.startX, state.startY, r + 1, drawCol
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue