Less spaces in command history.
smaller save file size.
This commit is contained in:
parent
c302cb6139
commit
4bae8cde8f
2 changed files with 40 additions and 36 deletions
|
|
@ -20,7 +20,7 @@ Sub SaveBinaryPPM (imageHandle As Long, fileName As String)
|
|||
length = inPosition + w * h * 4
|
||||
head = "P6" + Chr$(10)
|
||||
head = head + "# Created with QB64" + Chr$(10)
|
||||
head = head + LTrim$(Str$(w) + Str$(h)) + Chr$(10)
|
||||
head = head + LTrim$(str$(w) + tst(h)) + Chr$(10)
|
||||
head = head + "255" + Chr$(10)
|
||||
filebuffer = _MemNew(w * h * 3)
|
||||
outPosition = filebuffer.OFFSET
|
||||
|
|
|
|||
50
pixler.bas
50
pixler.bas
|
|
@ -43,7 +43,7 @@ layers(2).ihandle=_newimage(320,320,32)
|
|||
layers(3).ihandle=_newimage(320,320,32)
|
||||
|
||||
_dest layers(0).ihandle
|
||||
addcommand "canvas ("+str$(_width)+","+str$(_height)+")"
|
||||
addcommand "canvas ("+tst(_width)+","+tst(_height)+")"
|
||||
for y = 0 to _height - 16 step 16
|
||||
for x = 0 to _width - 16 step 16
|
||||
if ((x + y) / 16 AND 1) = 0 then
|
||||
|
|
@ -137,10 +137,10 @@ canvas
|
|||
select case keyin
|
||||
case "+"
|
||||
state.brushsize=state.brushsize+1
|
||||
addcommand "brushsize ("+str$(state.brushsize)+")"
|
||||
addcommand "brushsize ("+tst(state.brushsize)+")"
|
||||
case "-"
|
||||
if state.brushsize>1 then state.brushsize=state.brushsize-1
|
||||
addcommand "brushsize ("+str$(state.brushsize)+")"
|
||||
addcommand "brushsize ("+tst(state.brushsize)+")"
|
||||
case chr$(19) ' ctrl+s
|
||||
'TODO: save logic
|
||||
case chr$(27)' esc
|
||||
|
|
@ -213,12 +213,6 @@ sub toolbox
|
|||
end if
|
||||
end sub
|
||||
|
||||
sub palettemanager(col as _unsigned long)
|
||||
line (0,0)-(_width-1,_height-1),col,bf
|
||||
_display
|
||||
sleep
|
||||
end sub
|
||||
|
||||
sub colorpicker
|
||||
dim img as long
|
||||
img=_newimage(16,16,32)
|
||||
|
|
@ -343,10 +337,10 @@ sub canvas
|
|||
_source layers(1).ihandle
|
||||
if mouseclicked then
|
||||
floodfill canX,canY,state.fcolor
|
||||
addcommand "floodfill ("+str$(canX)+","+str$(canY)+","+hex$(state.fcolor)+")"
|
||||
addcommand "floodfill ("+tst(canX)+","+tst(canY)+","+hex$(state.fcolor)+")"
|
||||
else
|
||||
floodfill canX,canY,state.bcolor
|
||||
addcommand "floodfill ("+str$(canX)+","+str$(canY)+","+hex$(state.bcolor)+")"
|
||||
addcommand "floodfill ("+tst(canX)+","+tst(canY)+","+hex$(state.bcolor)+")"
|
||||
end if
|
||||
_dest 0
|
||||
_source 0
|
||||
|
|
@ -392,10 +386,10 @@ sub canvas
|
|||
_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)+")"
|
||||
addcommand "pixel ("+tst(canX)+","+tst(canY)+","+hex$(drawCol)+")"
|
||||
else
|
||||
thickline state.startX, state.startY, canX, canY, drawCol
|
||||
addcommand "line ("+str$(state.startX)+","+str$(state.startY)+","+str$(canX)+","+str$(canY)+","+hex$(drawCol)+")"
|
||||
addcommand "line ("+tst(state.startX)+","+tst(state.startY)+","+tst(canX)+","+tst(canY)+","+hex$(drawCol)+")"
|
||||
end if
|
||||
state.startX = canX: state.startY = canY
|
||||
case 2 ' Straight Line
|
||||
|
|
@ -440,17 +434,17 @@ sub canvas
|
|||
filledPolygon finalP(), state.fcolor
|
||||
tmpstr="fpolygon ("
|
||||
for i=0 to ubound(finalP)-1
|
||||
tmpstr=tmpstr+str$(finalP(i))+","
|
||||
tmpstr=tmpstr+tst(finalP(i))+","
|
||||
next i
|
||||
tmpstr=tmpstr+str$(finalP(i))+","+hex$(state.fcolor)+")"
|
||||
tmpstr=tmpstr+tst(finalP(i))+","+hex$(state.fcolor)+")"
|
||||
addcommand tmpstr
|
||||
else
|
||||
Polygon finalP(), state.fcolor
|
||||
tmpstr="polygon ("
|
||||
for i=0 to ubound(finalP)-1
|
||||
tmpstr=tmpstr+str$(finalP(i))+","
|
||||
tmpstr=tmpstr+tst(finalP(i))+","
|
||||
next i
|
||||
tmpstr=tmpstr+str$(finalP(i))+","+hex$(state.fcolor)+")"
|
||||
tmpstr=tmpstr+tst(finalP(i))+","+hex$(state.fcolor)+")"
|
||||
addcommand tmpstr
|
||||
end if
|
||||
else
|
||||
|
|
@ -460,25 +454,25 @@ sub canvas
|
|||
case 2 ' Line
|
||||
if canX=state.startX and canY=state.startY then
|
||||
thickpixel canX,canY,drawCol
|
||||
addcommand "pixel ("+str$(canX)+","+str$(canY)+","+hex$(drawCol)+")"
|
||||
addcommand "pixel ("+tst(canX)+","+tst(canY)+","+hex$(drawCol)+")"
|
||||
else
|
||||
thickline state.startX, state.startY, canX, canY, drawCol
|
||||
addcommand "line ("+str$(state.startX)+","+str$(state.startY)+","+str$(canX)+","+str$(canY)+","+hex$(drawCol)+")"
|
||||
addcommand "line ("+tst(state.startX)+","+tst(state.startY)+","+tst(canX)+","+tst(canY)+","+hex$(drawCol)+")"
|
||||
end if
|
||||
case 3 ' Circle
|
||||
r = int(sqr((canX - state.startX)^2 + (canY - state.startY)^2))
|
||||
thickcircle state.startX, state.startY, r + 1, drawCol
|
||||
addcommand "circle ("+str$(state.startX)+","+str$(state.startY)+","+str$(int(r))+","+hex$(drawCol)+")"
|
||||
addcommand "circle ("+tst(state.startX)+","+tst(state.startY)+","+tst(int(r))+","+hex$(drawCol)+")"
|
||||
case 4
|
||||
r = int(sqr((canX - state.startX)^2 + (canY - state.startY)^2))
|
||||
filledcircle state.startX, state.startY, r + 1, drawCol
|
||||
addcommand "fcircle ("+str$(state.startX)+","+str$(state.startY)+","+str$(int(r))+","+hex$(drawCol)+")"
|
||||
addcommand "fcircle ("+tst(state.startX)+","+tst(state.startY)+","+tst(int(r))+","+hex$(drawCol)+")"
|
||||
case 5 ' Box
|
||||
line (state.startX, state.startY)-(canX, canY), drawCol, b
|
||||
addcommand "box ("+str$(state.startX)+","+str$(state.startY)+","+str$(canX)+","+str$(canY)+","+hex$(drawCol)+")"
|
||||
addcommand "box ("+tst(state.startX)+","+tst(state.startY)+","+tst(canX)+","+tst(canY)+","+hex$(drawCol)+")"
|
||||
case 6 ' Filled Box
|
||||
line (state.startX, state.startY)-(canX, canY), drawCol, bf
|
||||
addcommand "fbox ("+str$(state.startX)+","+str$(state.startY)+","+str$(canX)+","+str$(canY)+","+hex$(drawCol)+")"
|
||||
addcommand "fbox ("+tst(state.startX)+","+tst(state.startY)+","+tst(canX)+","+tst(canY)+","+hex$(drawCol)+")"
|
||||
end select
|
||||
end if
|
||||
|
||||
|
|
@ -631,6 +625,11 @@ _display
|
|||
loop
|
||||
end sub
|
||||
|
||||
sub palettemanager(col as _unsigned long)
|
||||
line (0,0)-(_width-1,_height-1),col,bf
|
||||
'TODO: build palette mamager ui
|
||||
end sub
|
||||
|
||||
FUNCTION closestcolor~& (colour AS _UNSIGNED LONG, carr() AS _UNSIGNED LONG)
|
||||
DIM r AS INTEGER
|
||||
DIM g AS INTEGER
|
||||
|
|
@ -655,3 +654,8 @@ FUNCTION closestcolor~& (colour AS _UNSIGNED LONG, carr() AS _UNSIGNED LONG)
|
|||
NEXT i
|
||||
closestcolor = carr(nearest)
|
||||
END FUNCTION
|
||||
|
||||
' trimmed str$
|
||||
function tst$(numb)
|
||||
tst=_trim$(str$(numb))
|
||||
end function
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue