// TU800 Text Align Demo
// Mike Keeble
// Last Updated: 13/12/2013

SETUP( RS2 ) { set="1152ND"; encode=sr; }
SETUP( SYSTEM ) { rotate=0; }

LIB( libFntAsc16, "NAND/asc_16b.fnt" );

STYLE( stPg, PAGE ) { back=\\000055; update=all; }
STYLE( stLn, DRAW ) { type=line; col=\\ff8888; }
STYLE( stTxtInfo, TEXT ) { font=Ascii8; col=white; maxLen=32; maxRows=16; yspace=1; curRel=TL; }

STYLE( stBoxBtn, DRAW ) { type=box; back=\\000088; }
STYLE( stTxtBtn, TEXT ) { font=libFntAsc16; }
STYLE( stTxtLbl, TEXT ) { font=libFntAsc16; curRel=RC; }

STYLE( stTxtD, TEXT )
{
font=libFntAsc16;
col=white;
bcol=blue;
maxLen=12;
maxRows=4;
maxX=300;
maxY=300;
}

//////////  Highlight box styles and variable //////////
STYLE( stBoxSel, DRAW) {type=box; col=\\ff0000;}
VAR(Sel1V,0,U8E);    
VAR(Sel2V,0,U8E);    
VAR(Sel3V,0,U8E);    
VAR(Sel4V,0,U8E);    
VAR(Sel5V,0,U8E);    
VAR(Sel6V,0,U8E);    
VAR(Sel7V,0,U8E);    
VAR(Sel8V,0,U8E);    
VAR(Sel9V,0,U8E);    
VAR(Sel10V,0,U8E);   
VAR(Sel11V,0,U8E);
/////////////////////////////////////////////////////

VAR( varTxtBack, "none", TXTE ); // none, black
VAR( varTxtJustify, "cur", TXTE ); // cur, l, c, r
VAR( varTxtYAlign, "cur", TXTE ); // cur, t, c, b
VAR( varTxtType, "a", TXTE ); // a, r, f, m
VAR( varTxtWrap, "n", TXTE ); // n, cc, wc, cb, wb
VAR( varTxtBorder, 0, S8E ); // width
VAR( varTxtPadding, 0, S8E ); // padding
VAR( varTxtSizeX, -1, S16E ); // sizeX
VAR( varTxtSizeY, -1, S16E ); // sizeY
VAR( varTxtSpacingY, 0, S8E ); // line spacing
VAR( varTxtSpacingX, 0, S8E ); // char spacing

LOAD( stTxtD.back, varTxtBack );
LOAD( stTxtD.justify, varTxtJustify );
LOAD( stTxtD.yalign, varTxtYAlign );
LOAD( stTxtD.type, varTxtType );
LOAD( stTxtD.wrap, varTxtWrap );
LOAD( stTxtD.width, varTxtBorder );
LOAD( stTxtD.padding, varTxtPadding );
LOAD( stTxtD.xSpace, varTxtSpacingX );
LOAD( stTxtD.ySpace, varTxtSpacingY );

// 0 degrees
STYLE( stTxtTL000D, stTxtD ) { curRel=TL; rotate=0; }
STYLE( stTxtTC000D, stTxtD ) { curRel=TC; rotate=0; }
STYLE( stTxtTR000D, stTxtD ) { curRel=TR; rotate=0; }
STYLE( stTxtCL000D, stTxtD ) { curRel=CL; rotate=0; }
STYLE( stTxtCC000D, stTxtD ) { curRel=CC; rotate=0; }
STYLE( stTxtCR000D, stTxtD ) { curRel=CR; rotate=0; }
STYLE( stTxtBL000D, stTxtD ) { curRel=BL; rotate=0; }
STYLE( stTxtBC000D, stTxtD ) { curRel=BC; rotate=0; }
STYLE( stTxtBR000D, stTxtD ) { curRel=BR; rotate=0; }

// 90 degrees
STYLE( stTxtTL090D, stTxtD ) { curRel=TL; rotate=90; }
STYLE( stTxtTC090D, stTxtD ) { curRel=TC; rotate=90; }
STYLE( stTxtTR090D, stTxtD ) { curRel=TR; rotate=90; }
STYLE( stTxtCL090D, stTxtD ) { curRel=CL; rotate=90; }
STYLE( stTxtCC090D, stTxtD ) { curRel=CC; rotate=90; }
STYLE( stTxtCR090D, stTxtD ) { curRel=CR; rotate=90; }
STYLE( stTxtBL090D, stTxtD ) { curRel=BL; rotate=90; }
STYLE( stTxtBC090D, stTxtD ) { curRel=BC; rotate=90; }
STYLE( stTxtBR090D, stTxtD ) { curRel=BR; rotate=90; }

// 180 degrees
STYLE( stTxtTL180D, stTxtD ) { curRel=TL; rotate=180; }
STYLE( stTxtTC180D, stTxtD ) { curRel=TC; rotate=180; }
STYLE( stTxtTR180D, stTxtD ) { curRel=TR; rotate=180; }
STYLE( stTxtCL180D, stTxtD ) { curRel=CL; rotate=180; }
STYLE( stTxtCC180D, stTxtD ) { curRel=CC; rotate=180; }
STYLE( stTxtCR180D, stTxtD ) { curRel=CR; rotate=180; }
STYLE( stTxtBL180D, stTxtD ) { curRel=BL; rotate=180; }
STYLE( stTxtBC180D, stTxtD ) { curRel=BC; rotate=180; }
STYLE( stTxtBR180D, stTxtD ) { curRel=BR; rotate=180; }

// 270 degrees
STYLE( stTxtTL270D, stTxtD ) { curRel=TL; rotate=270; }
STYLE( stTxtTC270D, stTxtD ) { curRel=TC; rotate=270; }
STYLE( stTxtTR270D, stTxtD ) { curRel=TR; rotate=270; }
STYLE( stTxtCL270D, stTxtD ) { curRel=CL; rotate=270; }
STYLE( stTxtCC270D, stTxtD ) { curRel=CC; rotate=270; }
STYLE( stTxtCR270D, stTxtD ) { curRel=CR; rotate=270; }
STYLE( stTxtBL270D, stTxtD ) { curRel=BL; rotate=270; }
STYLE( stTxtBC270D, stTxtD ) { curRel=BC; rotate=270; }
STYLE( stTxtBR270D, stTxtD ) { curRel=BR; rotate=270; }


PAGE( pgTest, stPg )
{
POSN( 119, 119 ); DRAW( lnCx000D, 200, 0, stLn );
POSN( +0, +0); DRAW( lnxC000D, 0, 200, stLn );
POSN( +50, +0 ); DRAW( lnxR000D, 0, 200, stLn );
POSN( -100, +0 ); DRAW( lnxL000D, 0, 200, stLn );
POSN( +50, -50); DRAW( lnTx000D, 200, 0, stLn );
POSN( +0, +100); DRAW( lnBx000D, 200, 0, stLn );
POSN( +0, -50 ); TEXT( txtCC000D, "CC", varTxtSizeX, varTxtSizeY, stTxtCC000D );
POSN( -50, -50 ); TEXT( txtBR000D, "BR", varTxtSizeX, varTxtSizeY, stTxtBR000D );
POSN( +50, +0 ); TEXT( txtBC000D, "BC", varTxtSizeX, varTxtSizeY, stTxtBC000D );
POSN( +50, +0 ); TEXT( txtBL000D, "BL", varTxtSizeX, varTxtSizeY, stTxtBL000D );
POSN( +0, +50 ); TEXT( txtCL000D, "CL", varTxtSizeX, varTxtSizeY, stTxtCL000D );
POSN( +0, +50 ); TEXT( txtTL000D, "TL", varTxtSizeX, varTxtSizeY, stTxtTL000D );
POSN( -50, +0 ); TEXT( txtTC000D, "TC", varTxtSizeX, varTxtSizeY, stTxtTC000D );
POSN( -50, +0 ); TEXT( txtTR000D, "TR", varTxtSizeX, varTxtSizeY, stTxtTR000D );
POSN( +0, -50 ); TEXT( txtCR000D, "CR", varTxtSizeX, varTxtSizeY, stTxtCR000D );

POSN( 359, 119 ); DRAW( lnCx090D, 200, 0, stLn );
POSN( +0, +0); DRAW( lnxC090D, 0, 200, stLn );
POSN( +50, +0 ); DRAW( lnxR090D, 0, 200, stLn );
POSN( -100, +0 ); DRAW( lnxL090D, 0, 200, stLn );
POSN( +50, -50); DRAW( lnTx090D, 200, 0, stLn );
POSN( +0, +100); DRAW( lnBx090D, 200, 0, stLn );
POSN( +0, -50 ); TEXT( txtCC090D, "CC", varTxtSizeX, varTxtSizeY, stTxtCC090D );
POSN( -50, -50 ); TEXT( txtBR090D, "BR", varTxtSizeX, varTxtSizeY, stTxtBR090D );
POSN( +50, +0 ); TEXT( txtBC090D, "BC", varTxtSizeX, varTxtSizeY, stTxtBC090D );
POSN( +50, +0 ); TEXT( txtBL090D, "BL", varTxtSizeX, varTxtSizeY, stTxtBL090D );
POSN( +0, +50 ); TEXT( txtCL090D, "CL", varTxtSizeX, varTxtSizeY, stTxtCL090D );
POSN( +0, +50 ); TEXT( txtTL090D, "TL", varTxtSizeX, varTxtSizeY, stTxtTL090D );
POSN( -50, +0 ); TEXT( txtTC090D, "TC", varTxtSizeX, varTxtSizeY, stTxtTC090D );
POSN( -50, +0 ); TEXT( txtTR090D, "TR", varTxtSizeX, varTxtSizeY, stTxtTR090D );
POSN( +0, -50 ); TEXT( txtCR090D, "CR", varTxtSizeX, varTxtSizeY, stTxtCR090D );

POSN( 359, 359 ); DRAW( lnCx180D, 200, 0, stLn );
POSN( +0, +0); DRAW( lnxC180D, 0, 200, stLn );
POSN( +50, +0 ); DRAW( lnxR180D, 0, 200, stLn );
POSN( -100, +0 ); DRAW( lnxL180D, 0, 200, stLn );
POSN( +50, -50); DRAW( lnTx180D, 200, 0, stLn );
POSN( +0, +100); DRAW( lnBx180D, 200, 0, stLn );
POSN( +0, -50 ); TEXT( txtCC180D, "CC", varTxtSizeX, varTxtSizeY, stTxtCC180D );
POSN( -50, -50 ); TEXT( txtBR180D, "BR", varTxtSizeX, varTxtSizeY, stTxtBR180D );
POSN( +50, +0 ); TEXT( txtBC180D, "BC", varTxtSizeX, varTxtSizeY, stTxtBC180D );
POSN( +50, +0 ); TEXT( txtBL180D, "BL", varTxtSizeX, varTxtSizeY, stTxtBL180D );
POSN( +0, +50 ); TEXT( txtCL180D, "CL", varTxtSizeX, varTxtSizeY, stTxtCL180D );
POSN( +0, +50 ); TEXT( txtTL180D, "TL", varTxtSizeX, varTxtSizeY, stTxtTL180D );
POSN( -50, +0 ); TEXT( txtTC180D, "TC", varTxtSizeX, varTxtSizeY, stTxtTC180D );
POSN( -50, +0 ); TEXT( txtTR180D, "TR", varTxtSizeX, varTxtSizeY, stTxtTR180D );
POSN( +0, -50 ); TEXT( txtCR180D, "CR", varTxtSizeX, varTxtSizeY, stTxtCR180D );

POSN( 119, 359 ); DRAW( lnCx270D, 200, 0, stLn );
POSN( +0, +0); DRAW( lnxC270D, 0, 200, stLn );
POSN( +50, +0 ); DRAW( lnxR270D, 0, 200, stLn );
POSN( -100, +0 ); DRAW( lnxL270D, 0, 200, stLn );
POSN( +50, -50); DRAW( lnTx270D, 200, 0, stLn );
POSN( +0, +100); DRAW( lnBx270D, 200, 0, stLn );
POSN( +0, -50 ); TEXT( txtCC270D, "CC", varTxtSizeX, varTxtSizeY, stTxtCC270D );
POSN( -50, -50 ); TEXT( txtBR270D, "BR", varTxtSizeX, varTxtSizeY, stTxtBR270D );
POSN( +50, +0 ); TEXT( txtBC270D, "BC", varTxtSizeX, varTxtSizeY, stTxtBC270D );
POSN( +50, +0 ); TEXT( txtBL270D, "BL", varTxtSizeX, varTxtSizeY, stTxtBL270D );
POSN( +0, +50 ); TEXT( txtCL270D, "CL", varTxtSizeX, varTxtSizeY, stTxtCL270D );
POSN( +0, +50 ); TEXT( txtTL270D, "TL", varTxtSizeX, varTxtSizeY, stTxtTL270D );
POSN( -50, +0 ); TEXT( txtTC270D, "TC", varTxtSizeX, varTxtSizeY, stTxtTC270D );
POSN( -50, +0 ); TEXT( txtTR270D, "TR", varTxtSizeX, varTxtSizeY, stTxtTR270D );
POSN( +0, -50 ); TEXT( txtCR270D, "CR", varTxtSizeX, varTxtSizeY, stTxtCR270D );


POSN( 535, 20 ); TEXT( txtTypeLbl, "Type:", stTxtLbl );
POSN( +28, +0 ); DRAW( boxType0, 44, 20, stBoxBtn ); TEXT( txtType0, "Auto", stTxtBtn ); KEY( keyType0, [ LOAD(Sel1V,0); RUN(Sel1P); LOAD( varTxtType, "a" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxType1, 44, 20, stBoxBtn ); TEXT( txtType1, "Resz", stTxtBtn ); KEY( keyType1, [ LOAD(Sel1V,1); RUN(Sel1P); LOAD( varTxtType, "r" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxType2, 44, 20, stBoxBtn ); TEXT( txtType2, "Fixd", stTxtBtn ); KEY( keyType2, [ LOAD(Sel1V,2); RUN(Sel1P); LOAD( varTxtType, "f" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxType3, 44, 20, stBoxBtn ); TEXT( txtType3, "Max", stTxtBtn ); KEY( keyType3, [ LOAD(Sel1V,3); RUN(Sel1P); LOAD( varTxtType, "m" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );

POSN( 535, +30 ); TEXT( txtSizeXLbl, "SizeX:", stTxtLbl );
POSN( +28, +0 ); DRAW( boxSizeX0, 44, 20, stBoxBtn ); TEXT( txtSizeX0, "-1", stTxtBtn ); KEY( keySizeX0, [ LOAD(Sel2V,0); RUN(Sel2P); LOAD( varTxtSizeX, -1 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxSizeX1, 44, 20, stBoxBtn ); TEXT( txtSizeX1, "0", stTxtBtn ); KEY( keySizeX1, [ LOAD(Sel2V,1); RUN(Sel2P); LOAD( varTxtSizeX, 0 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxSizeX2, 44, 20, stBoxBtn ); TEXT( txtSizeX2, "40", stTxtBtn ); KEY( keySizeX2, [ LOAD(Sel2V,2); RUN(Sel2P); LOAD( varTxtSizeX, 40 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxSizeX3, 44, 20, stBoxBtn ); TEXT( txtSizeX3, "150", stTxtBtn ); KEY( keySizeX3, [ LOAD(Sel2V,3); RUN(Sel2P); LOAD( varTxtSizeX, 150 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );

POSN( 535, +30 ); TEXT( txtSizeYLbl, "SizeY:", stTxtLbl );
POSN( +28, +0 ); DRAW( boxSizeY0, 44, 20, stBoxBtn ); TEXT( txtSizeY0, "-1", stTxtBtn ); KEY( keySizeY0, [ LOAD(Sel3V,0); RUN(Sel3P); LOAD( varTxtSizeY, -1 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxSizeY1, 44, 20, stBoxBtn ); TEXT( txtSizeY1, "0", stTxtBtn ); KEY( keySizeY1, [ LOAD(Sel3V,1); RUN(Sel3P); LOAD( varTxtSizeY, 0 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxSizeY2, 44, 20, stBoxBtn ); TEXT( txtSizeY2, "40", stTxtBtn ); KEY( keySizeY2, [ LOAD(Sel3V,2); RUN(Sel3P); LOAD( varTxtSizeY, 40 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxSizeY3, 44, 20, stBoxBtn ); TEXT( txtSizeY3, "150", stTxtBtn ); KEY( keySizeY3, [ LOAD(Sel3V,3); RUN(Sel3P); LOAD( varTxtSizeY, 150 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );

POSN( 535, +30 ); TEXT( txtBackLbl, "Back:", stTxtLbl );
POSN( +28, +0 ); DRAW( boxBack0, 44, 20, stBoxBtn ); TEXT( txtBack0, "None", stTxtBtn ); KEY( keyBack0, [ LOAD(Sel4V,0); RUN(Sel4P); LOAD( varTxtBack, "none" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxBack1, 44, 20, stBoxBtn ); TEXT( txtBack1, "Blck", stTxtBtn ); KEY( keyBack1, [ LOAD(Sel4V,1); RUN(Sel4P); LOAD( varTxtBack, "black" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxBack2, 44, 20, stBoxBtn ); TEXT( txtBack2, "25%", stTxtBtn ); KEY( keyBack2, [ LOAD(Sel4V,2); RUN(Sel4P); LOAD( varTxtBack, "\\5C\\5C44000000" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );

POSN( 535, +30 ); TEXT( txtJustLbl, "Justify:", stTxtLbl );
POSN( +28, +0 ); DRAW( boxJust0, 44, 20, stBoxBtn ); TEXT( txtJust0, "Cur", stTxtBtn ); KEY( keyJust0, [ LOAD(Sel5V,0); RUN(Sel5P); LOAD( varTxtJustify, "cur" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxJust1, 44, 20, stBoxBtn ); TEXT( txtJust1, "L", stTxtBtn ); KEY( keyJust1, [ LOAD(Sel5V,1); RUN(Sel5P); LOAD( varTxtJustify, "l" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxJust2, 44, 20, stBoxBtn ); TEXT( txtJust2, "C", stTxtBtn ); KEY( keyJust2, [ LOAD(Sel5V,2); RUN(Sel5P); LOAD( varTxtJustify, "c" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxJust3, 44, 20, stBoxBtn ); TEXT( txtJust3, "R", stTxtBtn ); KEY( keyJust3, [ LOAD(Sel5V,3); RUN(Sel5P); LOAD( varTxtJustify, "r" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );

POSN( 535, +30 ); TEXT( txtVertLbl, "Vertical:", stTxtLbl );
POSN( +28, +0 ); DRAW( boxVert0, 44, 20, stBoxBtn ); TEXT( txtVert0, "Cur", stTxtBtn ); KEY( keyVert0, [ LOAD(Sel6V,0); RUN(Sel6P); LOAD( varTxtYAlign, "cur" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxVert1, 44, 20, stBoxBtn ); TEXT( txtVert1, "T", stTxtBtn ); KEY( keyVert1, [ LOAD(Sel6V,1); RUN(Sel6P); LOAD( varTxtYAlign, "t" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxVert2, 44, 20, stBoxBtn ); TEXT( txtVert2, "C", stTxtBtn ); KEY( keyVert2, [ LOAD(Sel6V,2); RUN(Sel6P); LOAD( varTxtYAlign, "c" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxVert3, 44, 20, stBoxBtn ); TEXT( txtVert3, "B", stTxtBtn ); KEY( keyVert3, [ LOAD(Sel6V,3); RUN(Sel6P); LOAD( varTxtYAlign, "b" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );

POSN( 535, +30 ); TEXT( txtWrapLbl, "Wrap:", stTxtLbl );
POSN( +28, +0 ); DRAW( boxWrap0, 44, 20, stBoxBtn ); TEXT( txtWrap0, "None", stTxtBtn ); KEY( keyWrap0, [ LOAD(Sel7V,0); RUN(Sel7P); LOAD( varTxtWrap, "n" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxWrap1, 44, 20, stBoxBtn ); TEXT( txtWrap1, "CC", stTxtBtn ); KEY( keyWrap1, [ LOAD(Sel7V,1); RUN(Sel7P); LOAD( varTxtWrap, "cc" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxWrap2, 44, 20, stBoxBtn ); TEXT( txtWrap2, "WC", stTxtBtn ); KEY( keyWrap2, [ LOAD(Sel7V,2); RUN(Sel7P); LOAD( varTxtWrap, "wc" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxWrap3, 44, 20, stBoxBtn ); TEXT( txtWrap3, "CB", stTxtBtn ); KEY( keyWrap3, [ LOAD(Sel7V,3); RUN(Sel7P); LOAD( varTxtWrap, "cb" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxWrap4, 44, 20, stBoxBtn ); TEXT( txtWrap4, "WB", stTxtBtn ); KEY( keyWrap4, [ LOAD(Sel7V,4); RUN(Sel7P); LOAD( varTxtWrap, "wb" ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );

POSN( 535, +30 ); TEXT( txtBordLbl, "Border:", stTxtLbl );
POSN( +28, +0 ); DRAW( boxBord0, 44, 20, stBoxBtn ); TEXT( txtBord0, "0", stTxtBtn ); KEY( keyBord0, [ LOAD(Sel8V,0); RUN(Sel8P); LOAD( varTxtBorder, 0 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxBord1, 44, 20, stBoxBtn ); TEXT( txtBord1, "1", stTxtBtn ); KEY( keyBord1, [ LOAD(Sel8V,1); RUN(Sel8P); LOAD( varTxtBorder, 1 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxBord2, 44, 20, stBoxBtn ); TEXT( txtBord2, "4", stTxtBtn ); KEY( keyBord2, [ LOAD(Sel8V,2); RUN(Sel8P); LOAD( varTxtBorder, 4 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );

POSN( 535, +30 ); TEXT( txtPaddLbl, "Padding:", stTxtLbl );
POSN( +28, +0 ); DRAW( boxPadd0, 44, 20, stBoxBtn ); TEXT( txtPadd0, "0", stTxtBtn ); KEY( keyPadd0, [ LOAD(Sel9V,0); RUN(Sel9P); LOAD( varTxtPadding, 0 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxPadd1, 44, 20, stBoxBtn ); TEXT( txtPadd1, "2", stTxtBtn ); KEY( keyPadd1, [ LOAD(Sel9V,1); RUN(Sel9P); LOAD( varTxtPadding, 2 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxPadd2, 44, 20, stBoxBtn ); TEXT( txtPadd2, "10", stTxtBtn ); KEY( keyPadd2, [ LOAD(Sel9V,2); RUN(Sel9P); LOAD( varTxtPadding, 10 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );

POSN( 535, +30 ); TEXT( txtSpaceXLbl, "X Space:", stTxtLbl );
POSN( +28, +0 ); DRAW( boxSpaceX0, 44, 20, stBoxBtn ); TEXT( txtSpaceX0, "0", stTxtBtn ); KEY( keySpaceX0, [ LOAD(Sel10V,0); RUN(Sel10P); LOAD( varTxtSpacingX, 0 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxSpaceX1, 44, 20, stBoxBtn ); TEXT( txtSpaceX1, "2", stTxtBtn ); KEY( keySpaceX1, [ LOAD(Sel10V,1); RUN(Sel10P); LOAD( varTxtSpacingX, 2 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxSpaceX2, 44, 20, stBoxBtn ); TEXT( txtSpaceX2, "5", stTxtBtn ); KEY( keySpaceX2, [ LOAD(Sel10V,2); RUN(Sel10P); LOAD( varTxtSpacingX, 5 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );

POSN( 535, +30 ); TEXT( txtSpaceYLbl, "Y Space:", stTxtLbl );
POSN( +28, +0 ); DRAW( boxSpaceY0, 44, 20, stBoxBtn ); TEXT( txtSpaceY0, "0", stTxtBtn ); KEY( keySpaceY0, [ LOAD(Sel11V,0); RUN(Sel11P); LOAD( varTxtSpacingY, 0 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxSpaceY1, 44, 20, stBoxBtn ); TEXT( txtSpaceY1, "2", stTxtBtn ); KEY( keySpaceY1, [ LOAD(Sel11V,1); RUN(Sel11P); LOAD( varTxtSpacingY, 2 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );
POSN( +50, +0 ); DRAW( boxSpaceY2, 44, 20, stBoxBtn ); TEXT( txtSpaceY2, "5", stTxtBtn ); KEY( keySpaceY2, [ LOAD(Sel11V,2); RUN(Sel11P); LOAD( varTxtSpacingY, 5 ); SHOW( txtApplyLbl, boxApply, txtApply, keyApply );; ], 44, 20, TOUCH );

POSN( 535, +30 ); TEXT( txtApplyLbl, "Apply:", stTxtLbl );
POSN( +28, +0 ); DRAW( boxApply, 44, 20, stBoxBtn ); TEXT( txtApply, "OK", stTxtBtn ); KEY( keyApply, [ WAIT( 200 ); RESET( START ); ], 46, 20, TOUCH );
HIDE( txtApplyLbl, boxApply, txtApply, keyApply ); 

POSN( 535, +50 ); TEXT( txtNextLbl, "Next:", stTxtLbl );
POSN( +50, +0 ); DRAW( boxNext, 90, 60, stBoxBtn ); TEXT( txtNext, "Go", stTxtBtn ); KEY( keyNext, [ RUN( fncUpdate );; ], 90, 60, TOUCHR );

POSN( +50, -50 ); TEXT( txtMsg, "", stTxtInfo ); 

POSN( 563, 20 );  DRAW( Sel1, 44, 20, stBoxSel );
POSN( 563, +30 ); DRAW( Sel2, 44, 20, stBoxSel );
POSN( 563, +30 ); DRAW( Sel3, 44, 20, stBoxSel );
POSN( 563, +30 ); DRAW( Sel4, 44, 20, stBoxSel );
POSN( 563, +30 ); DRAW( Sel5, 44, 20, stBoxSel );
POSN( 563, +30 ); DRAW( Sel6, 44, 20, stBoxSel );
POSN( 563, +30 ); DRAW( Sel7, 44, 20, stBoxSel );
POSN( 563, +30 ); DRAW( Sel8, 44, 20, stBoxSel );
POSN( 563, +30 ); DRAW( Sel9, 44, 20, stBoxSel );
POSN( 563, +30 ); DRAW( Sel10, 44, 20, stBoxSel );
POSN( 563, +30 ); DRAW( Sel11, 44, 20, stBoxSel );
}

//////////  Highlight box functions //////////
FUNC(Sel1P)
{IF(Sel1V=0?[POSN(563,20,Sel1);]); IF(Sel1V=1?[POSN(613,20,Sel1);]); IF(Sel1V=2?[POSN(663,20,Sel1);]); IF(Sel1V=3?[POSN(713,20,Sel1);]);}
FUNC(Sel2P)
{IF(Sel2V=0?[POSN(563,50,Sel2);]); IF(Sel2V=1?[POSN(613,50,Sel2);]); IF(Sel2V=2?[POSN(663,50,Sel2);]); IF(Sel2V=3?[POSN(713,50,Sel2);]);}
FUNC(Sel3P)
{IF(Sel3V=0?[POSN(563,80,Sel3);]); IF(Sel3V=1?[POSN(613,80,Sel3);]); IF(Sel3V=2?[POSN(663,80,Sel3);]); IF(Sel3V=3?[POSN(713,80,Sel3);]);}
FUNC(Sel4P)
{IF(Sel4V=0?[POSN(563,110,Sel4);]); IF(Sel4V=1?[POSN(613,110,Sel4);]); IF(Sel4V=2?[POSN(663,110,Sel4);]);}    
FUNC(Sel5P)
{IF(Sel5V=0?[POSN(563,140,Sel5);]); IF(Sel5V=1?[POSN(613,140,Sel5);]); IF(Sel5V=2?[POSN(663,140,Sel5);]); IF(Sel5V=3?[POSN(713,140,Sel5);]);}
FUNC(Sel6P)
{IF(Sel6V=0?[POSN(563,170,Sel6);]); IF(Sel6V=1?[POSN(613,170,Sel6);]); IF(Sel6V=2?[POSN(663,170,Sel6);]); IF(Sel6V=3?[POSN(713,170,Sel6);]);}    
FUNC(Sel7P)
{IF(Sel7V=0?[POSN(563,200,Sel7);]); IF(Sel7V=1?[POSN(613,200,Sel7);]); IF(Sel7V=2?[POSN(663,200,Sel7);]); IF(Sel7V=3?[POSN(713,200,Sel7);]); IF(Sel7V=4?[POSN(763,200,Sel7);]);}     
FUNC(Sel8P)
{IF(Sel8V=0?[POSN(563,230,Sel8);]); IF(Sel8V=1?[POSN(613,230,Sel8);]); IF(Sel8V=2?[POSN(663,230,Sel8);]);}    
FUNC(Sel9P)
{IF(Sel9V=0?[POSN(563,260,Sel9);]); IF(Sel9V=1?[POSN(613,260,Sel9);]); IF(Sel9V=2?[POSN(663,260,Sel9);]);}    
FUNC(Sel10P)
{IF(Sel10V=0?[POSN(563,290,Sel10);]); IF(Sel10V=1?[POSN(613,290,Sel10);]); IF(Sel10V=2?[POSN(663,290,Sel10);]);}    
FUNC(Sel11P)
{IF(Sel11V=0?[POSN(563,320,Sel11);]); IF(Sel11V=1?[POSN(613,320,Sel11);]); IF(Sel11V=2?[POSN(663,320,Sel11);]);}        
///////////////////////////////////////////////

LOAD( txtMsg, "Current Text Style:\\0d\\0a" );
LOAD( txtMsg, txtMsg, " type = \\22", varTxtType, "\\22\\0d\\0a" );
LOAD( txtMsg, txtMsg, " sizeX = \\22", varTxtSizeX, "\\22\\0d\\0a" );
LOAD( txtMsg, txtMsg, " sizeY = \\22", varTxtSizeY, "\\22\\0d\\0a" );
LOAD( txtMsg, txtMsg, " back = \\22", varTxtBack, "\\22\\0d\\0a" );
LOAD( txtMsg, txtMsg, " justify = \\22", varTxtJustify, "\\22\\0d\\0a" );
LOAD( txtMsg, txtMsg, " yAlign = \\22", varTxtYAlign, "\\22\\0d\\0a" );
LOAD( txtMsg, txtMsg, " wrap = \\22", varTxtWrap, "\\22\\0d\\0a" );
LOAD( txtMsg, txtMsg, " border = \\22", varTxtBorder, "\\22\\0d\\0a" );
LOAD( txtMsg, txtMsg, " padding = \\22", varTxtPadding, "\\22\\0d\\0a" );
LOAD( txtMsg, txtMsg, " xSpace = \\22", varTxtSpacingX, "\\22\\0d\\0a" );
LOAD( txtMsg, txtMsg, " ySpace = \\22", varTxtSpacingY, "\\22\\0d\\0a" );
LOAD( txtMsg, txtMsg, "\\0a\\0d\\0aitronOS+ ", VERS_IAPP );

//////////  Run Highlight box functions //////////
RUN(Sel1P,Sel2P,Sel3P,Sel4P,Sel5P,Sel6P,Sel7P,Sel8P,Sel9P,Sel10P,Sel11P);
//////////////////////////////////////////////////
SHOW( pgTest );

VAR( t, "", TXT );
VAR( c, 0, U8 );

FUNC( fncUpdate )
{
IF( c == 0 ? [ LOAD( t, "Test" ); ] );
IF( c == 1 ? [ LOAD( t, "XXXXX" ); ] );
IF( c == 2 ? [ LOAD( t, "UP" ); ] );
IF( c == 3 ? [ LOAD( t, "T\\0d\\0aB" ); ] );
IF( c == 4 ? [ LOAD( t, "A\\0d\\0aBCD" ); ] );
IF( c == 5 ? [ LOAD( t, "EFG\\0d\\0aH" ); ] );
IF( c == 6 ? [ LOAD( t, "ABCDEFG\\0d\\0aHIJKL\\0d\\0aMNOPQRSTU\\0d\\0aVWXYZ" ); ] );
IF( c == 7 ? [ LOAD( t, "The Quick Brown Foxes Jumping Over The Dogs" ); ] );
CALC( c, c, 1, "+" ); IF( c > 7 ? [ LOAD( c, 0 ); ] );

TEXT( txtTL000D, t ); TEXT( txtTC000D, t ); TEXT( txtTR000D, t );
TEXT( txtCL000D, t ); TEXT( txtCC000D, t ); TEXT( txtCR000D, t );
TEXT( txtBL000D, t ); TEXT( txtBC000D, t ); TEXT( txtBR000D, t );
TEXT( txtTL090D, t ); TEXT( txtTC090D, t ); TEXT( txtTR090D, t );
TEXT( txtCL090D, t ); TEXT( txtCC090D, t ); TEXT( txtCR090D, t );
TEXT( txtBL090D, t ); TEXT( txtBC090D, t ); TEXT( txtBR090D, t );
TEXT( txtTL180D, t ); TEXT( txtTC180D, t ); TEXT( txtTR180D, t );
TEXT( txtCL180D, t ); TEXT( txtCC180D, t ); TEXT( txtCR180D, t );
TEXT( txtBL180D, t ); TEXT( txtBC180D, t ); TEXT( txtBR180D, t );
TEXT( txtTL270D, t ); TEXT( txtTC270D, t ); TEXT( txtTR270D, t );
TEXT( txtCL270D, t ); TEXT( txtCC270D, t ); TEXT( txtCR270D, t );
TEXT( txtBL270D, t ); TEXT( txtBC270D, t ); TEXT( txtBR270D, t );
}

VAR( varCal, 0, S32 );
LOAD( varCal, TCH_CAL );
IF( varCal != 1 ? [ LOAD( SYSTEM.calibrate, y ); ] );