init
This commit is contained in:
commit
ecfaf41f91
5 changed files with 783 additions and 0 deletions
135
pixler.bas
Normal file
135
pixler.bas
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
type statetype
|
||||
tool as long
|
||||
fcolor as long
|
||||
bcolor as long
|
||||
end type
|
||||
|
||||
type layertype
|
||||
ihandle as long
|
||||
blendmode as long
|
||||
filter as long
|
||||
end type
|
||||
|
||||
dim shared layers(0) as layertype
|
||||
dim shared state as statetype
|
||||
|
||||
|
||||
|
||||
dim shared mouseclicked as integer
|
||||
dim shared mousedown as integer
|
||||
screen _newimage(640,480,32)
|
||||
redim pal(0) as _unsigned long
|
||||
dim as integer ch1,ch2,ch3,bt
|
||||
loadpalette "slso8",pal()
|
||||
|
||||
do
|
||||
line (0,0)-(_width-1,_height-1),backgroundcolor1,bf
|
||||
while _mouseinput:wend
|
||||
mouseclicked=0
|
||||
if mousedown=-1 and _mousebutton(1)=0 then mouseclicked=-1
|
||||
mousedown=_mousebutton(1)
|
||||
toolbox
|
||||
colorpicker
|
||||
canvas
|
||||
locate 10,10: print state.tool
|
||||
_limit 30
|
||||
_display
|
||||
loop
|
||||
|
||||
sub toolbox
|
||||
dim x,y
|
||||
if imagebutton(0,0,32,32,icon(0)) then state.tool=1
|
||||
if imagebutton(32,0,32,32,icon(1)) then state.tool=2
|
||||
end sub
|
||||
|
||||
sub colorpicker
|
||||
|
||||
end sub
|
||||
|
||||
sub canvas
|
||||
|
||||
end sub
|
||||
|
||||
function icon(index as long)
|
||||
static init as integer
|
||||
static icons() as long
|
||||
if not init then
|
||||
dim icons(5) as long
|
||||
icons(0)=_newimage(32,32,32)
|
||||
_dest icons(0)
|
||||
line (5,27)-(27,5)
|
||||
icons(1)=_newimage(32,32,32)
|
||||
_dest icons(1)
|
||||
circle (15,15),13
|
||||
icons(2)=_newimage(32,32,32)
|
||||
_dest icons(2)
|
||||
|
||||
_dest 0
|
||||
init = -1
|
||||
end if
|
||||
if (index>=lbound(icons)) and (index<=ubound(icons)) then
|
||||
icon=icons(index)
|
||||
end if
|
||||
end function
|
||||
|
||||
'$include: 'include/ui.bm'
|
||||
|
||||
'$include: 'include/imgout.bm'
|
||||
'$include: 'include/palette.bm'
|
||||
|
||||
function adduiicon(imagehandle as long)
|
||||
dim unknown as long
|
||||
adduiicon=__internaluiicon(unknown,imagehandle,1)
|
||||
end function
|
||||
|
||||
function adduiiconfromfile(filename as string)
|
||||
dim unknown as long
|
||||
adduiiconfromfile=__internaluiicon(unknown,_loadimage(filename),1)
|
||||
end function
|
||||
|
||||
function uiicon(index)
|
||||
dim unknown as long
|
||||
uiicon=internaluiicon(index,unknown,2)
|
||||
end function
|
||||
|
||||
function __internaluiicon&(index as long,imagehandle as long,mode as integer)
|
||||
static init as integer
|
||||
static icons() as long
|
||||
if not init or mode=3 then
|
||||
if mode<3 then
|
||||
redim icons(3) as long
|
||||
else
|
||||
_freeimage icons(0)
|
||||
_freeimage icons(1)
|
||||
_freeimage icons(2)
|
||||
_freeimage icons(3)
|
||||
end if
|
||||
icons(0)=_newimage(23,23,32) 'Up arrow'
|
||||
_dest icons(0)
|
||||
color textcolor
|
||||
|
||||
icons(1)=_newimage(23,23,32) 'Down arrow'
|
||||
_dest icons(1)
|
||||
color textcolor
|
||||
|
||||
icons(2)=_newimage(23,23,32) 'Left arrow'
|
||||
_dest icons(2)
|
||||
color textcolor
|
||||
|
||||
icons(3)=_newimage(23,23,32) 'Right arrow'
|
||||
_dest icons(3)
|
||||
color textcolor
|
||||
|
||||
_dest 0
|
||||
init=-1
|
||||
end if
|
||||
|
||||
select case mode
|
||||
case 1
|
||||
redim _preserve icons(ubound(icons)+1)
|
||||
icons(ubound(icons))=imagehandle
|
||||
__internaluiicon=ubound(icons)
|
||||
case 2
|
||||
__internaluiicon=icons(index)
|
||||
end select
|
||||
end function
|
||||
Loading…
Add table
Add a link
Reference in a new issue