This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
sample_code:image_array [2015/09/28 15:06] stevegarman created |
sample_code:image_array [2015/09/29 17:27] (current) |
||
---|---|---|---|
Line 10: | Line 10: | ||
<code JavaScript imageArray.js> | <code JavaScript imageArray.js> | ||
- | var cellData=[]; | + | var cellData=[],img; |
// | // | ||
function OnStart() | function OnStart() | ||
Line 17: | Line 17: | ||
var lay = app.CreateLayout( " | var lay = app.CreateLayout( " | ||
- | //Create a text label and add it to layout. | + | //Create image control and add it to layout. |
- | var img = app.CreateImage( null, | + | img = app.CreateImage( null, |
- | img.SetColor("# | + | img.cellWidth=0.1; |
+ | img.cellHeight=0.1; | ||
+ | |||
+ | img.SetColor("# | ||
img.SetOnTouch(imgOnTouch); | img.SetOnTouch(imgOnTouch); | ||
lay.AddChild( img ); | lay.AddChild( img ); | ||
+ | |||
+ | // | ||
+ | var hlay=app.CreateLayout(" | ||
+ | lay.AddChild(hlay); | ||
+ | // | ||
var btnSave=app.CreateButton(" | var btnSave=app.CreateButton(" | ||
btnSave.SetOnTouch(btnSaveOnTouch); | btnSave.SetOnTouch(btnSaveOnTouch); | ||
- | lay.AddChild(btnSave); | + | hlay.AddChild(btnSave); |
+ | var btnLoad=app.CreateButton(" | ||
+ | btnLoad.SetOnTouch(btnLoadOnTouch); | ||
+ | hlay.AddChild(btnLoad); | ||
+ | var btnClear=app.CreateButton(" | ||
+ | btnClear.SetOnTouch(btnClearOnTouch); | ||
+ | hlay.AddChild(btnClear); | ||
+ | var btnFresh=app.CreateButton(" | ||
+ | btnFresh.SetOnTouch(populate); | ||
+ | hlay.AddChild(btnFresh); | ||
// | // | ||
app.AddLayout( lay ); | app.AddLayout( lay ); | ||
+ | |||
+ | // | ||
+ | btnLoadOnTouch(); | ||
} | } | ||
+ | // | ||
function imgOnTouch(ev) | function imgOnTouch(ev) | ||
{ | { | ||
- | var row, | + | var row, |
- | var cellWidth=0.1, | + | |
if(ev.action===" | if(ev.action===" | ||
{ | { | ||
- | row = Math.floor(ev.Y/ | + | row = Math.floor(ev.Y/ |
- | col = Math.floor(ev.X/ | + | col = Math.floor(ev.X/ |
- | x1 = col*cellWidth; | + | |
- | y1 = row*cellHeight; | + | |
- | x2 = x1 + cellWidth; | + | |
- | y2 = y1 + cellHeight; | + | |
val = getData(row, | val = getData(row, | ||
- | this.SetLineWidth(1); | + | val = (val+1)%2; |
- | this.SetPaintStyle(" | + | setData(row, |
- | setData(row, | + | drawCell(row,col); |
- | if(val < | + | |
- | { | + | |
- | this.SetPaintColor("# | + | |
- | this.SetPaintStyle(" | + | |
- | this.DrawRectangle(x1,y1, | + | |
- | } | + | |
- | else if(val === 0) | + | |
- | { | + | |
- | this.SetPaintColor("# | + | |
- | this.DrawRectangle(x1, | + | |
- | } | + | |
- | else if(val === 1) | + | |
- | { | + | |
- | this.SetPaintColor("# | + | |
- | this.DrawRectangle(x1, | + | |
- | } | + | |
- | app.ShowPopup(val); | + | |
} | } | ||
} | } | ||
+ | // | ||
+ | function drawCell(row, | ||
+ | { | ||
+ | var val=getData(row, | ||
+ | var x1 = col*img.cellWidth; | ||
+ | var y1 = row*img.cellHeight; | ||
+ | var x2 = x1 + img.cellWidth; | ||
+ | var y2 = y1 + img.cellHeight; | ||
+ | img.SetLineWidth(1); | ||
+ | img.SetPaintStyle(" | ||
+ | if(val < | ||
+ | { | ||
+ | img.SetPaintColor("# | ||
+ | img.SetPaintStyle(" | ||
+ | img.DrawRectangle(x1, | ||
+ | } | ||
+ | else if(val === 0) | ||
+ | { | ||
+ | img.SetPaintColor("# | ||
+ | img.DrawRectangle(x1, | ||
+ | } | ||
+ | else if(val === 1) | ||
+ | { | ||
+ | img.SetPaintColor("# | ||
+ | img.DrawRectangle(x1, | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // | ||
+ | function populate() | ||
+ | { | ||
+ | var row, | ||
+ | dataLen = cellData.length; | ||
+ | img.SetAutoUpdate(false); | ||
+ | img.Clear(); | ||
+ | img.SetColor("# | ||
+ | for(i=0; | ||
+ | { | ||
+ | row = cellData[i]; | ||
+ | rowLen = row.length; | ||
+ | if(rowLen===0) rowLen=1 ; | ||
+ | for(j=0; | ||
+ | { | ||
+ | drawCell(i, | ||
+ | } | ||
+ | } | ||
+ | img.Update(); | ||
+ | img.SetAutoUpdate(true); | ||
+ | } | ||
+ | |||
+ | // | ||
function getData(row, | function getData(row, | ||
{ | { | ||
Line 72: | Line 123: | ||
return -1; | return -1; | ||
ret = cellData[row][col]; | ret = cellData[row][col]; | ||
- | if(ret===undefined) | + | if(ret===undefined||ret===null) |
return -1; | return -1; | ||
return ret; | return ret; | ||
} | } | ||
+ | |||
+ | // | ||
function setData(row, | function setData(row, | ||
{ | { | ||
+ | // | ||
while (cellData.length < | while (cellData.length < | ||
{ | { | ||
Line 85: | Line 139: | ||
} | } | ||
+ | // | ||
function btnSaveOnTouch() | function btnSaveOnTouch() | ||
{ | { | ||
- | |||
var data = JSON.stringify(cellData); | var data = JSON.stringify(cellData); | ||
- | app.WriteFile("/ | + | app.WriteFile("/ |
+ | } | ||
+ | |||
+ | // | ||
+ | function btnLoadOnTouch() | ||
+ | { | ||
+ | var data = app.ReadFile("/ | ||
+ | cellData = JSON.parse(data); | ||
+ | populate(); | ||
+ | } | ||
+ | |||
+ | // | ||
+ | function btnClearOnTouch() | ||
+ | { | ||
+ | cellData = []; | ||
+ | populate(); | ||
} | } | ||
</ | </ |