I made this version of the GUI when I was first starting programming (probably 2013/2014).
It draws a group of Win 3.x lookalike windows on screen. There is no input functionality included.
Obligatory screenshot:
Installation:
1) Copy Win31.bas and Clouds.bmp into your qb64 folder
2) Compile and run Win31.bas
Clouds.bmp:
Win31.bas:
It draws a group of Win 3.x lookalike windows on screen. There is no input functionality included.
Obligatory screenshot:
Installation:
1) Copy Win31.bas and Clouds.bmp into your qb64 folder
2) Compile and run Win31.bas
Clouds.bmp:
Win31.bas:
Code: (Select All)
Type window
windowStartX As _Unsigned Integer
windowStartY As _Unsigned Integer
windowSize As _Unsigned Integer
windowAspectSelector As _Unsigned _Byte
windowTypeSelector As _Unsigned _Byte
windowParent As _Unsigned _Byte
windowActive As _Unsigned _Byte
End Type
Type button
buttonStartX As _Unsigned Integer
buttonStartY As _Unsigned Integer
buttonSize As _Unsigned Integer
buttonAspectSelector As _Unsigned _Byte
buttonTypeSelector As _Unsigned _Byte
buttonPressed As _Unsigned _Byte
End Type
Dim Shared blackColor As _Unsigned Long
blackColor = _RGBA32(0, 0, 0, 255)
Dim Shared shadowColor As _Unsigned Long
shadowColor = _RGBA32(100, 100, 100, 255)
Dim Shared faceColor As _Unsigned Long
faceColor = _RGBA32(150, 150, 150, 255)
Dim Shared highlightColor As _Unsigned Long
highlightColor = _RGBA32(190, 190, 190, 255)
Dim Shared whiteColor As _Unsigned Long
whiteColor = _RGBA32(255, 255, 255, 255)
Dim Shared activeTitlebarColor As _Unsigned Long
activeTitlebarColor = _RGBA32(0, 0, 255, 255)
Dim Shared inactiveTitlebarColor As _Unsigned Long
inactiveTitlebarColor = _RGBA32(0, 0, 255, 255)
Dim Shared borderColor As _Unsigned Long
borderColor = _RGBA32(0, 127, 63, 255)
Dim Shared windowForegroundColor As _Unsigned Long
windowForegroundColor = _RGBA32(0, 127, 255, 255)
Dim Shared windowBackgroundColor As _Unsigned Long
windowBackgroundColor = _RGBA32(192, 192, 192, 255)
Dim Shared windowFrameColor As _Unsigned Long
windowFrameColor = _RGBA32(0, 255, 255, 255)
Dim Shared desktopColor As _Unsigned Long
desktopColor = _RGBA32(0, 0, 0, 255)
Screen _NewImage(800, 600, 32)
_PrintMode _KeepBackground
'_FullScreen
Dim Shared wallpaper As String
Dim Shared wallpaperUsed As _Bit
wallpaper = "Clouds.bmp"
wallpaperUsed = -1
Dim Shared maxWindow
maxWindow = 25
Dim Shared windows(maxWindow) As window
Dim Shared maxButton
maxButton = 500
Dim Shared buttons(maxButton) As button
Dim Shared currentWindows
Dim Shared currentButtons
Dim Shared firstAvailableWindow
Dim Shared firstAvailableButton
Dim Shared wSX: Dim Shared bSX
Dim Shared wSY: Dim Shared bSY
Dim Shared wS: Dim Shared bS
Dim Shared wAS: Dim Shared bAS
Dim Shared wT: Dim Shared bT
Dim Shared wA: Dim Shared bP
Dim Shared wP
'
' User Code Below
'
desktopDraw
Call putWindow(100, 100, 480, 1, 0, 1, 0)
Call putWindow(400, 200, 320, 0, 0, 0, 0)
Call putWindow(800, 384, 240, 1, 1, 0, 1)
Call putButton(150, 150, 30, 1, 0, 0)
Call putButton(150, 190, 30, 1, 0, 0)
Call putButton(520, 475, 30, 1, 0, 0)
Call getWindow(0)
Call windowDraw
Call getWindow(1)
Call windowDraw
Call getWindow(2)
Call windowDraw
Call getButton(0)
Call buttonDraw
Call getButton(1)
Call buttonDraw
Call getButton(2)
Call buttonDraw
Sleep
'
' User Code Above
'
Sub desktopDraw
If wallpaperUsed = -1 Then
image& = _LoadImage(wallpaper)
_PutImage , image&
Else
Line (0, 0)-(1365, 767), desktopColor, BF
End If
End Sub
Sub windowDraw
Call displayWindow(wSX, wSY, wS, wAS, wT, wP, wA)
End Sub
Sub buttonDraw
Call displayButton(bSX, bSY, bS, bAS, bT, bP)
End Sub
Sub putWindow (windowStartX, windowStartY, windowSize, windowAspectSelector, windowTypeSelector, windowParent, windowActive)
If firstAvailableWindow <= maxWindow Then
windows(firstAvailableWindow).windowStartX = windowStartX
windows(firstAvailableWindow).windowStartY = windowStartY
windows(firstAvailableWindow).windowSize = windowSize
windows(firstAvailableWindow).windowAspectSelector = windowAspectSelector
windows(firstAvailableWindow).windowTypeSelector = windowTypeSelector
windows(firstAvailableWindow).windowParent = windowParent
windows(firstAvailableWindow).windowActive = windowActive
If firstAvailableWindow < maxWindow Then firstAvailableWindow = firstAvailableWindow + 1
If firstAvailableWindow < maxWindow Then currentWindows = currentWindows + 1
Else
Rem Abort
End If
End Sub
Sub putButton (buttonStartX, buttonStartY, buttonSize, buttonAspectSelector, buttonTypeSelector, buttonPressed)
If firstAvailableButton <= maxButton Then
buttons(firstAvailableButton).buttonStartX = buttonStartX
buttons(firstAvailableButton).buttonStartY = buttonStartY
buttons(firstAvailableButton).buttonSize = buttonSize
buttons(firstAvailableButton).buttonAspectSelector = buttonAspectSelector
buttons(firstAvailableButton).buttonTypeSelector = buttonTypeSelector
buttons(firstAvailableButton).buttonPressed = buttonPressed
If firstAvailableButton < maxButton Then firstAvailableButton = firstAvailableButton + 1
If firstAvailableButton < maxButton Then currentButtons = currentButtons + 1
Else
Rem Abort
End If
End Sub
Sub removeWindow (windowNumber)
windows(windowNumber).windowStartX = 0
windows(windowNumber).windowStartY = 0
windows(windowNumber).windowSize = 0
windows(windowNumber).windowAspectSelector = 0
windows(windowNumber).windowTypeSelector = 0
windows(windowNumber).windowParent = 0
windows(windowNumber).windowActive = 0
End Sub
Sub removeButton (buttonNumber)
buttons(buttonNumber).buttonStartX = 0
buttons(buttonNumber).buttonStartY = 0
buttons(buttonNumber).buttonSize = 0
buttons(buttonNumber).buttonAspectSelector = 0
buttons(buttonNumber).buttonTypeSelector = 0
buttons(buttonNumber).buttonPressed = 0
End Sub
Sub getWindow (windowNumber)
wSX = windows(windowNumber).windowStartX
wSY = windows(windowNumber).windowStartY
wS = windows(windowNumber).windowSize
wAS = windows(windowNumber).windowAspectSelector
wT = windows(windowNumber).windowTypeSelector
wP = windows(windowNumber).windowParent
wA = windows(windowNumber).windowActive
End Sub
Sub getButton (buttonNumber)
bSX = buttons(buttonNumber).buttonStartX
bSY = buttons(buttonNumber).buttonStartY
bS = buttons(buttonNumber).buttonSize
bAS = buttons(buttonNumber).buttonAspectSelector
bT = buttons(buttonNumber).buttonTypeSelector
bA = buttons(buttonNumber).buttonPressed
End Sub
Sub displayWindow (windowStartX, windowStartY, windowSize, windowAspectSelector, windowType, windowParent, windowActive)
Dim windowAspect As _Float
If windowAspectSelector = 0 Then
windowAspect = 1 / 1
Else If windowAspectSelector = 1 Then
windowAspect = 4 / 3
Else If windowAspectSelector = 2 Then
windowAspect = 16 / 9
End If
End If
End If
windowEndX = windowStartX + (windowAspect * windowSize)
windowEndY = windowStartY + windowSize
Dim shadowDepth As _Unsigned Integer
shadowDepth = 7
If windowType = 0 Then
If windowParent = 0 Then
If windowActive = 0 Then
Line (windowStartX + shadowDepth, windowStartY + shadowDepth)-(windowEndX + shadowDepth, windowEndY + shadowDepth), blackColor, BF
Line (windowStartX, windowStartY)-(windowEndX, windowEndY), windowFrameColor, B
Line (windowStartX + 1, windowStartY + 1)-(windowEndX - 1, windowEndY - 1), borderColor, BF
Line (windowStartX + 3, windowStartY + 3)-(windowEndX - 3, windowEndY - 3), windowFrameColor, B
Line (windowStartX + 22, windowStartY)-(windowEndX - 22, windowEndY), windowFrameColor, B
Line (windowStartX, windowStartY + 22)-(windowEndX, windowEndY - 22), windowFrameColor, B
Line (windowEndX - 41, windowStartY + 3)-(windowEndX - 41, windowStartY + 22), windowFrameColor
Call displayButton(windowStartX + 4, windowStartY + 4, 17, 0, 4, 0)
Call displayButton(windowEndX - 40, windowStartY + 4, 17, 0, 1, 0)
Call displayButton(windowEndX - 21, windowStartY + 4, 17, 0, 2, 0)
Line (windowStartX + 23, windowStartY + 4)-(windowEndX - 42, windowStartY + 21), inactiveTitlebarColor, BF
Line (windowStartX + 4, windowStartY + 23)-(windowEndX - 4, windowEndY - 4), windowBackgroundColor, BF
Else
Line (windowStartX + shadowDepth, windowStartY + shadowDepth)-(windowEndX + shadowDepth, windowEndY + shadowDepth), blackColor, BF
Line (windowStartX, windowStartY)-(windowEndX, windowEndY), windowFrameColor, B
Line (windowStartX + 1, windowStartY + 1)-(windowEndX - 1, windowEndY - 1), borderColor, BF
Line (windowStartX + 3, windowStartY + 3)-(windowEndX - 3, windowEndY - 3), windowFrameColor, B
Line (windowStartX + 22, windowStartY)-(windowEndX - 22, windowEndY), windowFrameColor, B
Line (windowStartX, windowStartY + 22)-(windowEndX, windowEndY - 22), windowFrameColor, B
Line (windowEndX - 41, windowStartY + 3)-(windowEndX - 41, windowStartY + 22), windowFrameColor
Call displayButton(windowStartX + 4, windowStartY + 4, 17, 0, 4, 0)
Call displayButton(windowEndX - 40, windowStartY + 4, 17, 0, 1, 0)
Call displayButton(windowEndX - 21, windowStartY + 4, 17, 0, 2, 0)
Line (windowStartX + 23, windowStartY + 4)-(windowEndX - 42, windowStartY + 21), activeTitlebarColor, BF
Line (windowStartX + 4, windowStartY + 23)-(windowEndX - 4, windowEndY - 4), windowBackgroundColor, BF
End If
Else
If windowActive = 0 Then
Line (windowStartX + shadowDepth, windowStartY + shadowDepth)-(windowEndX + shadowDepth, windowEndY + shadowDepth), blackColor, BF
Line (windowStartX, windowStartY)-(windowEndX, windowEndY), windowFrameColor, B
Line (windowStartX + 1, windowStartY + 1)-(windowEndX - 1, windowEndY - 1), borderColor, BF
Line (windowStartX + 3, windowStartY + 3)-(windowEndX - 3, windowEndY - 3), windowFrameColor, B
Line (windowStartX + 22, windowStartY)-(windowEndX - 22, windowEndY), windowFrameColor, B
Line (windowStartX, windowStartY + 22)-(windowEndX, windowEndY - 22), windowFrameColor, B
Line (windowEndX - 41, windowStartY + 3)-(windowEndX - 41, windowStartY + 22), windowFrameColor
Call displayButton(windowStartX + 4, windowStartY + 4, 17, 0, 3, 0)
Call displayButton(windowEndX - 40, windowStartY + 4, 17, 0, 1, 0)
Call displayButton(windowEndX - 21, windowStartY + 4, 17, 0, 2, 0)
Line (windowStartX + 23, windowStartY + 4)-(windowEndX - 42, windowStartY + 21), inactiveTitlebarColor, BF
Line (windowStartX + 4, windowStartY + 23)-(windowEndX - 4, windowEndY - 4), windowBackgroundColor, BF
Else
Line (windowStartX + shadowDepth, windowStartY + shadowDepth)-(windowEndX + shadowDepth, windowEndY + shadowDepth), blackColor, BF
Line (windowStartX, windowStartY)-(windowEndX, windowEndY), windowFrameColor, B
Line (windowStartX + 1, windowStartY + 1)-(windowEndX - 1, windowEndY - 1), borderColor, BF
Line (windowStartX + 3, windowStartY + 3)-(windowEndX - 3, windowEndY - 3), windowFrameColor, B
Line (windowStartX + 22, windowStartY)-(windowEndX - 22, windowEndY), windowFrameColor, B
Line (windowStartX, windowStartY + 22)-(windowEndX, windowEndY - 22), windowFrameColor, B
Line (windowEndX - 41, windowStartY + 3)-(windowEndX - 41, windowStartY + 22), windowFrameColor
Call displayButton(windowStartX + 4, windowStartY + 4, 17, 0, 3, 0)
Call displayButton(windowEndX - 40, windowStartY + 4, 17, 0, 1, 0)
Call displayButton(windowEndX - 21, windowStartY + 4, 17, 0, 2, 0)
Line (windowStartX + 23, windowStartY + 4)-(windowEndX - 42, windowStartY + 21), activeTitlebarColor, BF
Line (windowStartX + 4, windowStartY + 23)-(windowEndX - 4, windowEndY - 4), windowBackgroundColor, BF
End If
End If
Else
If windowType = 1 Then
If windowParent = 1 Then
If windowActive = 0 Then
Line (windowStartX + shadowDepth, windowStartY + shadowDepth)-(windowEndX + shadowDepth, windowEndY + shadowDepth), blackColor, BF
Line (windowStartX, windowStartY)-(windowEndX, windowEndY), windowFrameColor, B
Line (windowStartX + 1, windowStartY + 1)-(windowEndX - 1, windowEndY - 1), inactiveTitlebarColor, B
Line (windowStartX + 2, windowStartY + 2)-(windowEndX - 2, windowEndY - 2), inactiveTitlebarColor, B
Line (windowStartX + 3, windowStartY + 3)-(windowEndX - 3, windowEndY - 3), inactiveTitlebarColor, B
Line (windowStartX + 4, windowStartY + 3)-(windowEndX - 4, windowEndY - 4), inactiveTitlebarColor, B
Line (windowStartX + 5, windowStartY + 4)-(windowEndX - 5, windowEndY - 5), windowFrameColor, B
Line (windowStartX + 6, windowStartY + 5)-(windowEndX - 6, windowStartY + 23), inactiveTitlebarColor, BF
Line (windowStartX + 6, windowStartY + 23)-(windowEndX - 6, windowStartY + 23), windowFrameColor
Line (windowStartX + 24, windowStartY + 5)-(windowStartX + 24, windowStartY + 23), windowFrameColor
Line (windowStartX + 6, windowStartY + 5)-(windowStartX + 23, windowStartY + 22), faceColor, BF
Call displayButton(windowStartX + 6, windowStartY + 5, 17, 0, 4, 0)
Line (windowStartX + 6, windowStartY + 24)-(windowEndX - 6, windowEndY - 6), windowBackgroundColor, BF
Else
Line (windowStartX + shadowDepth, windowStartY + shadowDepth)-(windowEndX + shadowDepth, windowEndY + shadowDepth), blackColor, BF
Line (windowStartX, windowStartY)-(windowEndX, windowEndY), windowFrameColor, B
Line (windowStartX + 1, windowStartY + 1)-(windowEndX - 1, windowEndY - 1), activeTitlebarColor, B
Line (windowStartX + 2, windowStartY + 2)-(windowEndX - 2, windowEndY - 2), activeTitlebarColor, B
Line (windowStartX + 3, windowStartY + 3)-(windowEndX - 3, windowEndY - 3), activeTitlebarColor, B
Line (windowStartX + 4, windowStartY + 3)-(windowEndX - 4, windowEndY - 4), activeTitlebarColor, B
Line (windowStartX + 5, windowStartY + 4)-(windowEndX - 5, windowEndY - 5), windowFrameColor, B
Line (windowStartX + 6, windowStartY + 5)-(windowEndX - 6, windowStartY + 23), activeTitlebarColor, BF
Line (windowStartX + 6, windowStartY + 23)-(windowEndX - 6, windowStartY + 23), windowFrameColor
Line (windowStartX + 24, windowStartY + 5)-(windowStartX + 24, windowStartY + 23), windowFrameColor
Line (windowStartX + 6, windowStartY + 5)-(windowStartX + 23, windowStartY + 22), faceColor, BF
Call displayButton(windowStartX + 6, windowStartY + 5, 17, 0, 4, 0)
Line (windowStartX + 6, windowStartY + 24)-(windowEndX - 6, windowEndY - 6), windowBackgroundColor, BF
End If
Else
If windowActive = 0 Then
Line (windowStartX + shadowDepth, windowStartY + shadowDepth)-(windowEndX + shadowDepth, windowEndY + shadowDepth), blackColor, BF
Line (windowStartX, windowStartY)-(windowEndX, windowEndY), windowFrameColor, B
Line (windowStartX + 1, windowStartY + 1)-(windowEndX - 1, windowEndY - 1), inactiveTitlebarColor, B
Line (windowStartX + 2, windowStartY + 2)-(windowEndX - 2, windowEndY - 2), inactiveTitlebarColor, B
Line (windowStartX + 3, windowStartY + 3)-(windowEndX - 3, windowEndY - 3), inactiveTitlebarColor, B
Line (windowStartX + 4, windowStartY + 3)-(windowEndX - 4, windowEndY - 4), inactiveTitlebarColor, B
Line (windowStartX + 5, windowStartY + 4)-(windowEndX - 5, windowEndY - 5), windowFrameColor, B
Line (windowStartX + 6, windowStartY + 5)-(windowEndX - 6, windowStartY + 23), inactiveTitlebarColor, BF
Line (windowStartX + 6, windowStartY + 23)-(windowEndX - 6, windowStartY + 23), windowFrameColor
Line (windowStartX + 24, windowStartY + 5)-(windowStartX + 24, windowStartY + 23), windowFrameColor
Line (windowStartX + 6, windowStartY + 5)-(windowStartX + 23, windowStartY + 22), faceColor, BF
Call displayButton(windowStartX + 6, windowStartY + 5, 17, 0, 3, 0)
Line (windowStartX + 6, windowStartY + 24)-(windowEndX - 6, windowEndY - 6), windowBackgroundColor, BF
Else
Line (windowStartX + shadowDepth, windowStartY + shadowDepth)-(windowEndX + shadowDepth, windowEndY + shadowDepth), blackColor, BF
Line (windowStartX, windowStartY)-(windowEndX, windowEndY), windowFrameColor, B
Line (windowStartX + 1, windowStartY + 1)-(windowEndX - 1, windowEndY - 1), activeTitlebarColor, B
Line (windowStartX + 2, windowStartY + 2)-(windowEndX - 2, windowEndY - 2), activeTitlebarColor, B
Line (windowStartX + 3, windowStartY + 3)-(windowEndX - 3, windowEndY - 3), activeTitlebarColor, B
Line (windowStartX + 4, windowStartY + 3)-(windowEndX - 4, windowEndY - 4), activeTitlebarColor, B
Line (windowStartX + 5, windowStartY + 4)-(windowEndX - 5, windowEndY - 5), windowFrameColor, B
Line (windowStartX + 6, windowStartY + 5)-(windowEndX - 6, windowStartY + 23), activeTitlebarColor, BF
Line (windowStartX + 6, windowStartY + 23)-(windowEndX - 6, windowStartY + 23), windowFrameColor
Line (windowStartX + 24, windowStartY + 5)-(windowStartX + 24, windowStartY + 23), windowFrameColor
Line (windowStartX + 6, windowStartY + 5)-(windowStartX + 23, windowStartY + 22), faceColor, BF
Call displayButton(windowStartX + 6, windowStartY + 5, 17, 0, 3, 0)
Line (windowStartX + 6, windowStartY + 24)-(windowEndX - 6, windowEndY - 6), windowBackgroundColor, BF
End If
End If
End If
End If
End Sub
Sub displayButton (buttonStartX, buttonStartY, buttonSize, buttonAspectSelector, buttonType, buttonPressed)
Dim buttonAspect As _Float
If buttonAspectSelector = 0 Then
buttonAspect = 1 / 1
Else If buttonAspectSelector = 1 Then
buttonAspect = 70 / 23
End If
End If
buttonEndX = buttonStartX + (buttonAspect * buttonSize)
buttonEndY = buttonStartY + buttonSize
If buttonType = 0 Then
If buttonPressed = 0 Then
Line (buttonStartX, buttonStartY)-(buttonEndX, buttonEndY), shadowColor, B
Line (buttonStartX, buttonStartY)-(buttonEndX - 1, buttonEndY - 1), highlightColor, B
Line (buttonStartX + 1, buttonStartY + 1)-(buttonEndX - 1, buttonEndY - 1), shadowColor, B
Line (buttonStartX + 1, buttonStartY + 1)-(buttonEndX - 2, buttonEndY - 2), highlightColor, B
Line (buttonStartX + 2, buttonStartY + 2)-(buttonEndX - 2, buttonEndY - 2), faceColor, BF
End If
If buttonPressed = 1 Then
Line (buttonStartX, buttonStartY)-(buttonEndX, buttonEndY), highlightColor, B
Line (buttonStartX, buttonStartY)-(buttonEndX - 1, buttonEndY - 1), shadowColor, B
Line (buttonStartX + 1, buttonStartY + 1)-(buttonEndX - 1, buttonEndY - 1), highlightColor, B
Line (buttonStartX + 1, buttonStartY + 1)-(buttonEndX - 2, buttonEndY - 2), shadowColor, B
Line (buttonStartX + 2, buttonStartY + 2)-(buttonEndX - 2, buttonEndY - 2), faceColor, BF
End If
End If
If buttonType = 1 Then
If buttonPressed = 0 Then
Line (buttonStartX, buttonStartY)-(buttonEndX, buttonEndY), shadowColor, B
Line (buttonStartX, buttonStartY)-(buttonEndX - 1, buttonEndY - 1), highlightColor, B
Line (buttonStartX + 1, buttonStartY + 1)-(buttonEndX - 1, buttonEndY - 1), shadowColor, B
Line (buttonStartX + 1, buttonStartY + 1)-(buttonEndX - 2, buttonEndY - 2), highlightColor, B
Line (buttonStartX + 2, buttonStartY + 2)-(buttonEndX - 2, buttonEndY - 2), faceColor, BF
End If
If buttonPressed = 1 Then
Line (buttonStartX, buttonStartY)-(buttonEndX, buttonEndY), highlightColor, B
Line (buttonStartX, buttonStartY)-(buttonEndX - 1, buttonEndY - 1), shadowColor, B
Line (buttonStartX + 1, buttonStartY + 1)-(buttonEndX - 1, buttonEndY - 1), highlightColor, B
Line (buttonStartX + 1, buttonStartY + 1)-(buttonEndX - 2, buttonEndY - 2), shadowColor, B
Line (buttonStartX + 2, buttonStartY + 2)-(buttonEndX - 2, buttonEndY - 2), faceColor, BF
End If
Line (buttonStartX + 5, buttonStartY + 7)-(buttonStartX + 11, buttonStartY + 7), blackColor
Line (buttonStartX + 6, buttonStartY + 8)-(buttonStartX + 10, buttonStartY + 8), blackColor
Line (buttonStartX + 7, buttonStartY + 9)-(buttonStartX + 9, buttonStartY + 9), blackColor
Line (buttonStartX + 8, buttonStartY + 10)-(buttonStartX + 8, buttonStartY + 10), blackColor
End If
If buttonType = 2 Then
If buttonPressed = 0 Then
Line (buttonStartX, buttonStartY)-(buttonEndX, buttonEndY), shadowColor, B
Line (buttonStartX, buttonStartY)-(buttonEndX - 1, buttonEndY - 1), highlightColor, B
Line (buttonStartX + 1, buttonStartY + 1)-(buttonEndX - 1, buttonEndY - 1), shadowColor, B
Line (buttonStartX + 1, buttonStartY + 1)-(buttonEndX - 2, buttonEndY - 2), highlightColor, B
Line (buttonStartX + 2, buttonStartY + 2)-(buttonEndX - 2, buttonEndY - 2), faceColor, BF
End If
If buttonPressed = 1 Then
Line (buttonStartX, buttonStartY)-(buttonEndX, buttonEndY), highlightColor, B
Line (buttonStartX, buttonStartY)-(buttonEndX - 1, buttonEndY - 1), shadowColor, B
Line (buttonStartX + 1, buttonStartY + 1)-(buttonEndX - 1, buttonEndY - 1), highlightColor, B
Line (buttonStartX + 1, buttonStartY + 1)-(buttonEndX - 2, buttonEndY - 2), shadowColor, B
Line (buttonStartX + 2, buttonStartY + 2)-(buttonEndX - 2, buttonEndY - 2), faceColor, BF
End If
Line (buttonStartX + 8, buttonStartY + 6)-(buttonStartX + 8, buttonStartY + 6), blackColor
Line (buttonStartX + 7, buttonStartY + 7)-(buttonStartX + 9, buttonStartY + 7), blackColor
Line (buttonStartX + 6, buttonStartY + 8)-(buttonStartX + 10, buttonStartY + 8), blackColor
Line (buttonStartX + 5, buttonStartY + 9)-(buttonStartX + 11, buttonStartY + 9), blackColor
End If
If buttonType = 3 Then
Line (buttonStartX, buttonStartY)-(buttonEndX, buttonEndY), faceColor, BF
Line (buttonStartX + 1, buttonStartY + 1)-(buttonStartX + 18, buttonStartY + 18), surfColor, BF
Line (buttonStartX + 3, buttonStartY + 9)-(buttonStartX + 16, buttonStartY + 11), shadColor, B
Line (buttonStartX + 2, buttonStartY + 8)-(buttonStartX + 15, buttonStartY + 10), blackColor, B
Line (buttonStartX + 3, buttonStartY + 9)-(buttonStartX + 14, buttonStartY + 9), whiteColor
End If
If buttonType = 4 Then
Line (buttonStartX, buttonStartY)-(buttonEndX, buttonEndY), faceColor, BF
Line (buttonStartX + 1, buttonStartY + 1)-(buttonStartX + 18, buttonStartY + 18), surfColor, BF
Line (buttonStartX + 6, buttonStartY + 9)-(buttonStartX + 11, buttonStartY + 11), shadColor, B
Line (buttonStartX + 5, buttonStartY + 8)-(buttonStartX + 12, buttonStartY + 10), blackColor, B
Line (buttonStartX + 6, buttonStartY + 9)-(buttonStartX + 11, buttonStartY + 9), whiteColor
End If
End Sub
Sub displayIcon (iconImagePath$, iconTitle$, iconStartX, iconStartY, iconSize, iconAspect, iconSelected)
Print "icon"
End Sub