Move to image elements rather than full screen pictures, thanks to @Mhotar

This commit is contained in:
3djc
2017-01-05 07:29:36 +01:00
parent fa5e5d670b
commit 540c56d8ab
28 changed files with 113 additions and 50 deletions
View File

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

+113 -50
View File
@@ -6,20 +6,14 @@ local page = 1
local current = 1
local pages = {}
local fields = {}
local AilCfgBg = {}
local FlapsCfgBg = {}
local TailCfgBg = {}
local SummaryBackground
-- Release memory
local function clean()
print("FREE MEMORY CALLED")
MotorConfigBackground = nil
AilCfgBg = nil
FlapsCfgBg = nil
TailCfgBg = nil
SummaryBackground = nil
end
-- load common Bitmaps
local ImgMarkBg = Bitmap.open("img/mark_bg.png")
local BackgroundImg = Bitmap.open("img/background.png")
local ImgPlane = Bitmap.open("img/plane.png")
local ImgPageUp = Bitmap.open("img/pageup.png")
local ImgPageDn = Bitmap.open("img/pagedn.png")
-- Change display attribute to current field
local function addField(step)
@@ -117,22 +111,31 @@ local function setFieldsVisible(...)
end
end
-- on demand load of bitmaps
local function loadIndexedBitmap(bitmap, index, name)
if bitmap[index] == nil then
bitmap[index] = Bitmap.open(name..index..".gif")
end
-- draws one letter mark
local function drawMark(x, y, name)
lcd.drawBitmap(ImgMarkBg, x, y)
lcd.drawText(x+8, y+3, name, TEXT_COLOR)
end
local MotorConfigBackground = Bitmap.open("img/bg_engine.gif")
local MotorFields = {
{50, 50, COMBO, 1, 1, { "No", "Yes"} },
{50, 127, COMBO, 1, 2, { "CH1", "CH2", "CH3", "CH4", "CH5", "CH6", "CH7", "CH8" } },
}
local ImgEngineEl
local ImgEngineCom
local function runMotorConfig(event)
lcd.clear()
lcd.drawBitmap(MotorConfigBackground, 0, 0)
if ImgEngineEl == nil then
ImgEngineEl = Bitmap.open("img/eng_electric.png")
ImgEngineCom = Bitmap.open("img/eng_comb.png")
end
lcd.drawBitmap(BackgroundImg, 0, 0)
lcd.drawBitmap(ImgPageDn, 455, 95)
lcd.drawBitmap(ImgEngineEl, 310, 50)
lcd.drawBitmap(ImgEngineCom, 180, 150)
lcd.setColor(CUSTOM_COLOR, lcd.RGB(255, 255, 255))
fields = MotorFields
lcd.drawText(40, 20, "Does your model have a motor ?", TEXT_COLOR)
@@ -143,7 +146,6 @@ local function runMotorConfig(event)
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
fields[2][4]=1
end
loadIndexedBitmap(AilCfgBg, 2, "img/bg_ail")
local result = runFieldsPage(event)
return result
end
@@ -156,28 +158,43 @@ local AilFields = {
{50, 167, COMBO, 1, 4, { "CH1", "CH2", "CH3", "CH4", "CH5", "CH6", "CH7", "CH8" } }, -- Ail2 chan
}
local ImgAilR
local ImgAilL
local function runAilConfig(event)
lcd.clear()
if ImgAilR == nil then
ImgAilR = Bitmap.open("img/rail.png")
ImgAilL = Bitmap.open("img/lail.png")
end
lcd.drawBitmap(BackgroundImg, 0, 0)
lcd.drawBitmap(ImgPageUp, 0, 95)
lcd.drawBitmap(ImgPageDn, 455, 95)
lcd.drawBitmap(ImgPlane, 252, 100)
fields = AilFields
if fields[1][5] == 1 then
loadIndexedBitmap(AilCfgBg, 1, "img/bg_ail")
lcd.drawBitmap(AilCfgBg[1], 0, 0)
lcd.drawBitmap(ImgAilR, 324, 123)
lcd.drawBitmap(ImgAilL, 275, 210)
drawMark(362, 132, "A")
drawMark(302, 227, "A")
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
drawMark(152, 124, "A")
setFieldsVisible(1, 0)
elseif fields[1][5] == 2 then
loadIndexedBitmap(AilCfgBg, 2, "img/bg_ail")
lcd.drawBitmap(AilCfgBg[2], 0, 0)
lcd.drawBitmap(ImgAilR, 324, 123)
lcd.drawBitmap(ImgAilL, 275, 210)
drawMark(362, 132, "A")
drawMark(302, 227, "B")
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
drawMark(152, 124, "A")
lcd.drawFilledRectangle(40, 162, 100, 30, CUSTOM_COLOR)
drawMark(152, 164, "B")
setFieldsVisible(1, 1)
else
loadIndexedBitmap(AilCfgBg, 0, "img/bg_ail")
lcd.drawBitmap(AilCfgBg[0], 0, 0)
setFieldsVisible(0, 0)
end
lcd.drawText(40, 20, "Number of ailerons on your model ?", TEXT_COLOR)
lcd.drawFilledRectangle(40, 45, 400, 30, CUSTOM_COLOR)
loadIndexedBitmap(FlapsCfgBg, 1, "img/bg_flaps")
local result = runFieldsPage(event)
return result
end
@@ -188,28 +205,41 @@ local FlapsFields = {
{50, 167, COMBO, 1, 7, { "CH1", "CH2", "CH3", "CH4", "CH5", "CH6", "CH7", "CH8" } },
}
local ImgFlp
local function runFlapsConfig(event)
lcd.clear()
if ImgFlp == nil then
ImgFlp = Bitmap.open("img/flap.png")
end
lcd.drawBitmap(BackgroundImg, 0, 0)
lcd.drawBitmap(ImgPageUp, 0, 95)
lcd.drawBitmap(ImgPageDn, 455, 95)
lcd.drawBitmap(ImgPlane, 252, 100)
fields = FlapsFields
if fields[1][5] == 1 then
loadIndexedBitmap(FlapsCfgBg, 1, "img/bg_flaps")
lcd.drawBitmap(FlapsCfgBg[1], 0, 0)
lcd.drawBitmap(ImgFlp, 315, 143)
lcd.drawBitmap(ImgFlp, 285, 191)
drawMark(362, 132, "A")
drawMark(302, 227, "A")
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
drawMark(152, 124, "A")
setFieldsVisible(1, 0)
elseif fields[1][5] == 2 then
loadIndexedBitmap(FlapsCfgBg, 2, "img/bg_flaps")
lcd.drawBitmap(FlapsCfgBg[2], 0, 0)
lcd.drawBitmap(ImgFlp, 315, 143)
lcd.drawBitmap(ImgFlp, 285, 191)
drawMark(362, 132, "A")
drawMark(302, 227, "B")
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
drawMark(152, 124, "A")
lcd.drawFilledRectangle(40, 162, 100, 30, CUSTOM_COLOR)
drawMark(152, 164, "B")
setFieldsVisible(1, 1)
else
loadIndexedBitmap(FlapsCfgBg, 0, "img/bg_flaps")
lcd.drawBitmap(FlapsCfgBg[0], 0, 0)
setFieldsVisible(0, 0)
end
lcd.drawText(40, 20, "Does your model have flaps ?", TEXT_COLOR)
lcd.drawFilledRectangle(40, 45, 400, 30, CUSTOM_COLOR)
loadIndexedBitmap(TailCfgBg, 1, "img/bg_tail")
local result = runFieldsPage(event)
return result
end
@@ -221,42 +251,67 @@ local TailFields = {
{50, 207, COMBO, 0, 5, { "CH1", "CH2", "CH3", "CH4", "CH5", "CH6", "CH7", "CH8" } }, --ele2
}
local ImgTail
local ImgVTail
local ImgTailRud
local function runTailConfig(event)
lcd.clear()
if ImgTail == nil then
ImgTail = Bitmap.open("img/tail.png")
ImgVTail = Bitmap.open("img/vtail.png")
ImgTailRud = Bitmap.open("img/tailrud.png")
end
lcd.drawBitmap(BackgroundImg, 0, 0)
lcd.drawBitmap(ImgPageUp, 0, 95)
lcd.drawBitmap(ImgPageDn, 455, 95)
fields = TailFields
if fields[1][5] == 0 then
loadIndexedBitmap(TailCfgBg, 0, "img/bg_tail")
lcd.drawBitmap(TailCfgBg[0], 0, 0)
lcd.drawBitmap(ImgTail, 252, 100)
drawMark(275, 120, "A")
drawMark(390, 155, "A")
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
drawMark(152, 124, "A")
setFieldsVisible(1, 0, 0)
end
if fields[1][5] == 1 then
loadIndexedBitmap(TailCfgBg, 1, "img/bg_tail")
lcd.drawBitmap(TailCfgBg[1], 0, 0)
lcd.drawBitmap(ImgTail, 252, 100)
lcd.drawBitmap(ImgTailRud, 340, 100)
drawMark(275, 120, "A")
drawMark(390, 155, "A")
drawMark(370, 112, "B")
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
drawMark(152, 124, "A")
lcd.drawFilledRectangle(40, 162, 100, 30, CUSTOM_COLOR)
drawMark(152, 164, "B")
setFieldsVisible(1, 1, 0)
end
if fields[1][5] == 2 then
loadIndexedBitmap(TailCfgBg, 2, "img/bg_tail")
lcd.drawBitmap(TailCfgBg[2], 0, 0)
lcd.drawBitmap(ImgTail, 252, 100)
lcd.drawBitmap(ImgTailRud, 340, 100)
drawMark(275, 120, "A")
drawMark(390, 155, "C")
drawMark(370, 112, "B")
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
drawMark(152, 124, "A")
lcd.drawFilledRectangle(40, 162, 100, 30, CUSTOM_COLOR)
drawMark(152, 164, "B")
lcd.drawFilledRectangle(40, 202, 100, 30, CUSTOM_COLOR)
drawMark(152, 204, "C")
setFieldsVisible(1, 1, 1)
end
if fields[1][5] == 3 then
loadIndexedBitmap(TailCfgBg, 3, "img/bg_tail")
lcd.drawBitmap(TailCfgBg[3], 0, 0)
lcd.drawBitmap(ImgVTail, 252, 100)
drawMark(315, 110, "A")
drawMark(382, 120, "B")
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
drawMark(152, 124, "A")
lcd.drawFilledRectangle(40, 162, 100, 30, CUSTOM_COLOR)
drawMark(152, 164, "B")
setFieldsVisible(1, 1, 0)
end
lcd.drawText(40, 20, "Pick the tail config of your model", TEXT_COLOR)
lcd.drawFilledRectangle(40, 45, 400, 30, CUSTOM_COLOR)
if SummaryBackground == nil then
SummaryBackground = Bitmap.open("img/bg_sum.gif")
end
local result = runFieldsPage(event)
return result
end
@@ -272,10 +327,17 @@ local ConfigSummaryFields = {
{110, 250, COMBO, 1, 0, { "No, I need to change something", "Yes, all is well, create the plane !"} },
}
local ImgSummary
local function runConfigSummary(event)
lcd.clear()
if ImgSummary == nil then
ImgSummary = Bitmap.open("img/summary.png")
end
fields = ConfigSummaryFields
lcd.drawBitmap(SummaryBackground, 0, 0)
lcd.drawBitmap(BackgroundImg, 0, 0)
lcd.drawBitmap(ImgPageUp, 0, 95)
lcd.drawBitmap(ImgSummary, 300, 60)
lineIndex = 40
-- motors
if(MotorFields[1][5] == 1) then
@@ -332,7 +394,8 @@ end
local function createModel(event)
lcd.clear()
lcd.drawBitmap(SummaryBackground, 0, 0)
lcd.drawBitmap(BackgroundImg, 0, 0)
lcd.drawBitmap(ImgSummary, 300, 60)
model.defaultInputs()
model.deleteMixes()
-- motor
@@ -372,8 +435,8 @@ local function createModel(event)
addMix(TailFields[3][5], MIXSRC_FIRST_INPUT+defaultChannel(1), "VTailE", 50)
addMix(TailFields[3][5], MIXSRC_FIRST_INPUT+defaultChannel(0), "VTailR", -50, 1)
end
lcd.drawText(70, 140, "Model successfully created !", TEXT_COLOR)
lcd.drawText(100, 180, "Press RTN to exit", TEXT_COLOR)
lcd.drawText(70, 90, "Model successfully created !", TEXT_COLOR)
lcd.drawText(100, 130, "Press RTN to exit", TEXT_COLOR)
return 2
end