70 lines
1.7 KiB
Plaintext
70 lines
1.7 KiB
Plaintext
fn drawBarRow _bmp _row _width _number _inverse=
|
|
(
|
|
local dir = if _inverse then 1 else -1
|
|
if not _inverse then
|
|
(
|
|
setpixels _bmp [0,_row] (for i in 1 to (_width/_number) collect (black))
|
|
for i = (_width/_number) to _width by (_width/_number) do
|
|
(
|
|
local loopPosition = i/(_width-(_width/_number)) as float
|
|
local colorsArr = for c in 1 to (_width/_number) collect (white*loopPosition)
|
|
setpixels _bmp [i,_row] colorsArr
|
|
)
|
|
return _bmp
|
|
)
|
|
else
|
|
(
|
|
setpixels _bmp [0,_row] (for i in 1 to (_width/_number) collect (white))
|
|
for i = _width to (_width/_number) by ((_width/_number)*-1) do
|
|
(
|
|
local loopPosition = 1.0-(i/(_width-(_width/_number))) as float
|
|
local colorsArr = for c in 1 to (_width/_number) collect (white*loopPosition)
|
|
setpixels _bmp [i,_row] colorsArr
|
|
)
|
|
return _bmp
|
|
)
|
|
|
|
)
|
|
|
|
fn bitmap_verticalBars =
|
|
(
|
|
local width = (sysinfo.desktopsize).x
|
|
local height = (sysinfo.desktopsize).y
|
|
local theBitmap = bitmap width height color:white
|
|
|
|
local row = 0
|
|
while row <= (height-1) do
|
|
(
|
|
local barNumber = 0
|
|
case of
|
|
(
|
|
(row < (height/4)): (barNumber = 1)
|
|
(row >= (height/4) and row < (height/2)): (barNumber = 2)
|
|
(row >= (height/2) and row < (height-(height/4))): (barNumber = 3)
|
|
(row >= (height-(height/4))): (barNumber = 4)
|
|
default: return theBitmap
|
|
)
|
|
case barNumber of
|
|
(
|
|
1: (
|
|
theBitmap = drawBarRow theBitmap row width 8 false
|
|
)
|
|
2: (
|
|
theBitmap = drawBarRow theBitmap row width 16 true
|
|
)
|
|
3: (
|
|
theBitmap = drawBarRow theBitmap row width 32 false
|
|
)
|
|
4: (
|
|
theBitmap = drawBarRow theBitmap row width 64 true
|
|
)
|
|
)
|
|
row += 1
|
|
--
|
|
)
|
|
return theBitmap
|
|
)
|
|
|
|
b = bitmap_verticalBars()
|
|
display b
|