mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2025-12-20 19:19:21 +01:00
62 lines
2.4 KiB
Lua
62 lines
2.4 KiB
Lua
local c = require("component")
|
|
local gpu = c.gpu
|
|
|
|
---------------------------------------------------------------------------
|
|
|
|
local colors = {
|
|
usualButton = 0xeeeeee,
|
|
actionButton = 0xF69332,
|
|
usualButtonText = 0x262626,
|
|
actionButtonText = 0xffffff,
|
|
equal = 0x363636,
|
|
equalText = 0xffffff,
|
|
}
|
|
|
|
local buttons = {
|
|
{{"C", colors.usualButton, colors.usualButtonText}, {"sin", colors.usualButton, colors.usualButtonText}, {"cos", colors.usualButton, colors.usualButtonText}, {"/", colors.actionButton, colors.actionButtonText}},
|
|
{{"7", colors.usualButton, colors.usualButtonText}, {"8", colors.usualButton, colors.usualButtonText}, {"9", colors.usualButton, colors.usualButtonText}, {"*", colors.actionButton, colors.actionButtonText}},
|
|
{{"4", colors.usualButton, colors.usualButtonText}, {"5", colors.usualButton, colors.usualButtonText}, {"6", colors.usualButton, colors.usualButtonText}, {"-", colors.actionButton, colors.actionButtonText}},
|
|
{{"1", colors.usualButton, colors.usualButtonText}, {"2", colors.usualButton, colors.usualButtonText}, {"3", colors.usualButton, colors.usualButtonText}, {"+", colors.actionButton, colors.actionButtonText}},
|
|
{{"0", colors.usualButton, colors.usualButtonText}, {".", colors.usualButton, colors.usualButtonText}, {"rnd", colors.usualButton, colors.usualButtonText}, {"=", colors.actionButton, colors.actionButtonText}},
|
|
}
|
|
|
|
local buttonWidth, buttonHeight, equalHeight = 7, 3, 3
|
|
local calcWidth = #buttons[1] * buttonWidth
|
|
local calcHeight = #buttons * buttonHeight + equalHeight
|
|
|
|
local equal, number1, number2 = 0, 0, 0
|
|
|
|
local function drawButtons(x, y)
|
|
local yPos, xPos = y, x
|
|
for i = 1, #buttons do
|
|
xPos = x
|
|
for j = 1, #buttons[i] do
|
|
ecs.drawButton(xPos, yPos, buttonWidth, buttonHeight, buttons[i][j][1], buttons[i][j][2], buttons[i][j][3])
|
|
xPos = xPos + buttonWidth
|
|
end
|
|
yPos = yPos + buttonHeight
|
|
end
|
|
end
|
|
|
|
local function drawEqual(x, y)
|
|
ecs.square(x, y, calcWidth, equalHeight, colors.equal)
|
|
ecs.colorText(x + 1, y, ecs.colors.red, "⬤")
|
|
ecs.colorText(x + 3, y, ecs.colors.orange, "⬤")
|
|
ecs.colorText(x + 5, y, ecs.colors.green, "⬤")
|
|
--
|
|
local limit = calcWidth - 4
|
|
local strEqual = ecs.stringLimit("start", tostring(equal), limit)
|
|
local sEqual = #strEqual
|
|
local xPos, yPos = x + calcWidth - sEqual - 3, y + 1
|
|
ecs.colorText(xPos, yPos, colors.equalText, strEqual)
|
|
end
|
|
|
|
local function drawCalc(x, y)
|
|
drawEqual(x, y)
|
|
drawButtons(x, y + equalHeight)
|
|
end
|
|
|
|
--ecs.prepareToExit()
|
|
drawCalc(2, 2)
|
|
ecs.waitForTouchOrClick()
|