Command Image
 
Description Draw or update an Image. Source has several techniques.
If an image is pre-stored in the library, it’s entity name is used for Source.
If it is to be directly loaded from the SDHC card or NAND flash, the path is the Source.
Scaling and rotation can also be specified in the LIB command.
The system does not recognize directory structures in the SDHC card.
Please put all active files in the root. All file names are 8 characters maximum length.
LIB can be used with BMP and JPG although due to the lossy nature of jpeg, it is used for non transparency images like backgrounds
 
Syntax/Parameters IMG(Name,Source,Style)
IMG
(Name,Source,Style,PosX,PosY);
 
Style Image Styles
The image may be larger than the size specified so it is necessary to define how it will be scaled.
Support for accepting both "centre" and "center" in parameters - v49.16.
STYLE(MyImage,Image)
   {
   scale=100;         // The image is scaled down or up by a percentage.
                             //Supports 5% steps below 100 and 100% steps above 100. 
   maxX=160;         // Not required except for dynamic rotation where the maximum width is declared
   maxY=40;           // Not required except for dynamic rotation where the maximum height is declared
   rotate=0;            // Specify the rotation of the shape with respect to the screen. 0,90,180,270
   action =i;           // defines the way in which an image is presented on screen
   step=20;            //sets the number of pixels an image moves when the action is a moving. 1-minimum of TFT screen's x or y.
   opacity = n;       // n = 0..100 where 0=transparent..100=opaque (default=100)
   curRel=CC;         // specify placement relative to cursor. CC Centre Centre , TC Top Centre,
   }                       // BC Bottom Centre, LC Left Centre, RC Right Centre, TL Top Left,
                            // BL Bottom Left, TR Top Right, BR Bottom Right

If maxX and maxY are the same size as the loaded file or unspecified, the library image is used rather than a copy created which saves memory space. 24 bit images are stored as 32 bit data. 16 bit images are stored as 16 bit and only expanded to 32 bit during page refresh so optimizing memory usage.
 
Options Actions - v47.12
The way in which an image is displayed can be changed for slideshows.
STYLE(imgSt,Image){ action=type; step=pixels; }
> action type options are:
- i or instant = Instant (default);
- u or up = Move Up;
- d or down = Move Down;
- l or left = Move Left;
- r or right = Move Right;
- ur or ru or upright = Move Diagonal Up-Right
- dr or rd or downright = Move Diagonal Down-Right
- ul or lu or upleft = Move Diagonal Up-Left
- dl or ld or downleft = Move Diagonal Down-Left
- a or all = Sequence through all (except instant);

Image scaling - v48.24 and rotation - v38.00 for LIB()
Support for image scalling for LIB() command using bilinear scaling algorithm.
LIB( name, "SDHC/file.ext?scale=x&width=w&height=h&back=c&col=c&rotate=r&bits=b" );
> 'scale'
number => percentage 1%, 2%, ..., 100%, ..., 120%, ... etc in 1% steps.
fit => non-proportional fit into the width and height specified (else panel size is assumed)
min => proportional fit into width and height specified (minimum fit - gaps top/bottom or left/right) (default, if not specified = 100%)
> 'col' = colour If specified, the destination area not containing the image is filled with the colour (height and/or width required).
> 'back' = colour If specified, then this is the transparent colour in the image.
> 'width' and 'height'
These are the destination sizes before any rotation is performed.
If width and height are not specified then the result transformation are used or if not possible then the screen size is used.
> 'rotate' = 0, 90, 180, 270 in degrees (default, if not specified = 0 degrees)
> 'bits' = 16, 32 Specifies the destination image pixel depth, either 16 bpp or 32 bpp. Jpegs default to 16 bpp (1555 ARGB), bitmaps to 32 bit (8888 ARGB).

Raw Image Files - v49.16
Support for new TFT raw image file (*.tri) format.
A converted library BMP/JPG can be stored as .tri format using FILE("SAVE") command.
Raw image files are loaded using LIB() command directly into the library entities memory, thus greatly speeding up loading.
File Format:
Offset Size Description
\\00 8 bytes Identifier (IUK_TRIF)
\\08 4 bytes size of image (N) in bytes (LSB first)
\\0C 4 bytes width of image in pixels (LSB first)
\\10 4 bytes height of image in pixels (LSB first)
\\14 1 byte number of bytes per pixel
\\15 3 bytes unused

Displaying .PNG image files - v49.42
* PNG images can now be displayed on the TFT module.
* The following formats are supported: 24-bit RGB, 48-bit RGB, 32-bit RGBA, 64-bit RGBA, 8-bit Greyscale, 8-bit Greyscale with 8-bit
Alpha
* The less common formats of interlaced images, paletted images, and fixed-transparency are not supported.

IMG() Source Filename in a Text Var - v49.42
* IMG now supports source image filename in a text var.
eg
LOAD( varFilePath, "SDHC/dir1/", varFileName );
IMG( imN, varFilePath, stImg );

Using PAGE STYLE  Update=Changed
To gain the faster refreshing, a few rules apply.
1/ Only the screen area where the changed entity is located is redrawn.
2/ The entity is redrawn on top of any existing pixels being displayed in that area.
3/ Entities with transparent backgrounds will show all previous rendering at that location in the transparent area.
4/ Hiding an entity will not produce any visible difference until a full page refresh is performed.

To support the “update=changed;” method.
1/ Do not use images with transparent backgrounds
2/ Specify the “back” colour in the style for text.
3/ To hide an entity, a “masking” image will need to be placed over the entity.
4/ To refresh only the entities on a page that have been modified, use the double semi-colon “;;” refresh method after the last update object, e.g. IMG(imgt1,myimg );;.
5/ To refresh the whole page, use the SHOW( page ); method.
 
Example IMG(MyPic,TopBtn,MyImage);          //previously stored as TopBtn using LIB command
IMG(MyPic,"sdhc/TopBtn.bmp",90,60,MyImage);  //stored on SDHC card
 
Update Information

 Version

 Title

Date  

 Details

49.52

 Built-In Styles - Parameters Are Optional

25 Feb 14 

Show

Modified "built-in" styles to make parameters optional. Simply miss out the parameter between the underscores.

TEXT(txt4,"",DST___128__CC); // Create Text with only maxLen and curRel changed from defaults
PAGE(pg3,DSP__libBg){...} // Create Page with only image changed from defaults;
DRAW(dr4,40,40,DSD_B__RED__BR); // Create Draw, type = box; only specifiying some parameters
KEY(key2,func,100,100,DSK_C____TL); // Create Key, action = change; curRel = TL

49.51

 Built-In TEXT, PAGE, DRAW, and IMAGE Styles

10 Feb 14 

Show

A larger range of "default" styles has been added.

The built-in styles are prefixed by four characters as follows:
* Text Styles are prefixed by "DST_"
* Page Styles are prefixed by "DSP_"
* Draw Styles are prefixed by "DSD_"
* Image Styles are prefixed by "DSI_"

The styles are not created at start up. The style is only created the first time it is referenced from the users' project.

The style are created from the parameters within the style name itself, ie the colour black is taken from the actual name DSP_BLACK, so DSP_PINK would create a colour pink. These colours are from the colour table on the website.

Here are the rules/examples for each

Add a default TEXT style
DST_
DST_col
DST_col_fnt
DST_col_fnt_len
DST_col_fnt_len_row
DST_col_fnt_len_row_cur
Where
col = 'col' name or 3-digit hex or 6-digit hex (see "Colours" below)
fnt = 'font' 8, 16, 32 for Ascii8, Ascii16, Ascii32 or font name (see "Fonts" below)
len = 'maxLen'
row = 'maxRows'
cur = 'curRel'
Examples
TEXT(txt1,"Hello",DST_BLACK_16); // Create Text, colour = black; font = built-in Ascii16;
TEXT(txt2,"",DST_F30_fnt32_8_4); // Create Text, colour = \\FF3300, font = fnt32; maxLen = 8; maxRows = 4
TEXT(txt3,"",DST_RED_F32_8_4_TL); // Create Text, colour = \\FF3300, font = F32; maxLen = 12; maxRows = 4; curRel = TL

Add a default PAGE style
DSP_
DSP_col
DSP_col_img
Where
col = 'col' name or 3-digit hex or 6-digit hex (see "Colours" below)
img = 'image' image name
Examples
PAGE(pg1,DSP_BLACK){…} // Create Page, back = black;
PAGE(pg2,DSP_AB0056_libBg){…} // Create Page, back = \\AB0056, image = libBg;

Add a default DRAW style
DSD_
DSD_typ
DSD_typ_wid
DSD_typ_wid_col
DSD_typ_wid_col_fil
DSD_typ_wid_col_fil_cur
Where
typ = 'type' of shape (best to use the single letter here)
wid = 'width' of border
col = 'col' colour of border (see "Colours" below)
fil = 'back' colour of fill (see "Colours" below)
cur = 'curRel'
Examples
DRAW(dr1,100,20,DSD_BOX); // Create Draw, type = box;
DRAW(dr2,120,DSD_C_2_RED); // Create Draw, type = circle; width = 2; border colour = red;
DRAW(dr3,60,40,DSD_B_1_RED_FD0_TL,20,40); // Create Draw, type = box; width = 1; border = red; back = \\FFDD00; curRel = TL;

Add a default IMAGE style
DSI_
DSI_cur
Where
cur = 'curRel'
Examples
IMG(img1,libImg1,DSI_TL); // Create Image, curRel = TL;


The only limitations to this method is that the style name needs to fit within the 18 character entity name limit.

Colours
Where the styles take a colour for a parameter, then the value can be represented in one of three ways.
* The name of the colour can be specified as in the colour chart on the website, eg BLACK, BLUE, GOLD etc
* A 6 digit hexadecimal number can be used, eg 123ABC which converts to \\123ABC
* A 3 digit hexadecimal number can be used, eg FD0 which converts to \\FFDD00

Fonts
Where the style takes a font for a parameter, then one of two options are assumed.
* If the value is either 8, 16, or 32 then the built-in fonts Ascii8, Ascii16 or Ascii32 are used
* Otherwise the value is assumed to be the name of a font loaded by the LIB command, eg fnt64 from LIB(fnt64,"SDHC/name.fnt");


Examples from testing:

PAGE(p1,DSP_){}
STYLE(DSP_,PAGE){}

PAGE(p2,DSP_BLACK){}
STYLE(DSP_BLACK,PAGE){back=BLACK;}

PAGE(p3,DSP_FD0){}
STYLE(DSP_FD0,PAGE){back=\\FFDD00;}

PAGE(p4,DSP_ABC123){}
STYLE(DSP_ABC123,PAGE){back=\\ABC123;}

LIB(Im1,"SDHC/page/pgMain_1.bmp");
PAGE(p5,DSP_000_Im1){}
STYLE(DSP_000_Im1,PAGE){back=\\000000;image=Im1;}

PAGE(p6,DSP_blue_Im1){}
STYLE(DSP_blue_Im1,PAGE){back=blue;image=Im1;}


IMG(i1,Im1,DSI_);
STYLE(DSI_,IMAGE){}


TEXT(t1,"",DST_);
STYLE(DST_,TEXT){}

TEXT(t2,"",DST_BLACK);
STYLE(DST_BLACK,TEXT){col=BLACK;}

TEXT(t3,"",DST_blue_32);
STYLE(DST_blue_32,TEXT){col=blue;font=Ascii32;}

LIB(Fnt16,"SDHC/asc_16b.fnt");
TEXT(t4,"Hello",DST_red_Fnt16);
STYLE(DST_red_Fnt16,TEXT){col=red;font=Fnt16;}

TEXT(t5,"Hi",DST_fd0_Fnt16,4,5);
STYLE(DST_fd0_Fnt16,TEXT){col=\\ffdd00;font=Fnt16;}


DRAW(d1,100,DSD_);
STYLE(DSD_,DRAW){}

DRAW(d2,200,DSD_C);
STYLE(DSD_C,DRAW){type=C;}

DRAW(d3,100,50,DSD_B);
STYLE(DSD_B,DRAW){type=B;}

DRAW(d4,30,40,DSD_B_2);
STYLE(DSD_B_2,DRAW){type=B;width=2;}

DRAW(d5,120,DSD_C_1_red);
STYLE(DSD_C_1_red,DRAW){type=C;width=1;col=red;}

DRAW(d6,30,40,DSD_B_2_Red_Blue);
STYLE(DSD_B_2_Red_Blue,DRAW){type=B;width=2;col=Red;back=Blue;}

DRAW(d7,10,30,0,140,DSD_E_20_FD0_FFF,30,30);
STYLE(DSD_E_20_FD0_FFF,DRAW){type=E;width=20;col=\\FFDD00;back=\\FFFFFF;}

49.49

 Alpha Blending in Scaled Images

20 Dec 13 

Show

Alpha blending was only supported on images scaled to 100%. The alpha values were lost when an image was scaled to greater than or less than 100%.

An algorithm has now been added to calculate the new alpha value the image when it is scaled.

49.46

 Style switching LOAD(text.style,newstyle);

21 Oct 13 

Show

* Added functionality to allow the style of an entity to be changed to another.
LOAD(entName.style,newStyle);

eg
STYLE(stText1,TEXT){ font=Ascii16; col=blue; back=dimgrey; }
STYLE(stText2,TEXT){ font=Ascii8; col=green; back=mistyrose; }
...
TEXT(txtTest,"This is a test",stText1);
...
LOAD(txtTest.style,stText2);;

* Works with STYLES: TEXT, DRAW, IMAGE, PAGE, KEY.


Test Example:

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

LIB(libImg1,"SDHC/sunflower120x122-4.png");

STYLE(stPage1,PAGE){}
STYLE(stPage2,PAGE){ back=pink; }
STYLE(stText1,TEXT){ font=Ascii16; col=blue; back=dimgrey; maxLen=128; padding=8; width=4; bcol=aqua; }
STYLE(stText2,TEXT){ font=Ascii8; col=green; back=mistyrose; maxLen=128; padding=2; width=1; bcol=red; }
STYLE(stDraw1,DRAW){ type=box; col=aqua; back=dimgrey; width=4; maxX=200; maxY=200; }
STYLE(stDraw2,DRAW){ type=circle; col=red; back=mistyrose; width=1; maxX=200; maxY=200; }
STYLE(stImg1,IMAGE){ curRel=TL; rotate=0; }
STYLE(stImg2,IMAGE){ curRel=CC; rotate=180; }
STYLE(stTouch1,KEY){type=touch; action=c; repeat=100; evfunc=fnKey1; }
STYLE(stTouch2,KEY){type=touch; action=c; repeat=1000; evfunc=fnKey2; }

STYLE(stBtnTxt,TEXT){ font=Ascii16; col=white; }
STYLE(stBtnBox,DRAW){ type=box; col=silver; back=grey; width=2; }

VAR(vSw,0,U8);

PAGE(pgMain,stPage1)
{
POSN(59, 25);
DRAW(drwBtn1,100,30,stBtnBox);
TEXT(txtBtn1,"Next Style",stBtnTxt);
KEY(keyBtn1,[IF(vSw==0?fnSw0:fnSw1);;],100,30,TOUCH);

POSN(109,175); TEXT(txtSam1,"ABCDEFGHIJ",stText1);
POSN(109,215); TEXT(txtSam2,"ABCDEFGHIJ",stText2);

POSN(239,55); DRAW(drwShp1,100,80,stDraw1);
POSN(239,155); DRAW(drwShp2,100,80,stDraw2);

POSN(369,99); IMG(imgFlw1,libImg1,stImg1);
POSN(369,171); IMG(imgFlw2,libImg1,stImg2);

POSN(59,125);
DRAW(drwBtn2,100,30,stBtnBox);
TEXT(txtBtn2,"Test",stBtnTxt);
KEY(keyBtn2,[LOAD(RS2,"D");],[LOAD(RS2,"U");],[LOAD(RS2,"R");],100,30,stTouch1);

}
SHOW(pgMain);

FUNC(fnSw0)
{
LOAD(pgMain.style,stPage2);
LOAD(txtSam1.style,stText2); LOAD(txtSam2.style,stText1);
LOAD(drwShp1.style,stDraw2); LOAD(drwShp2.style,stDraw1);
LOAD(imgFlw1.style,stImg2); LOAD(imgFlw2.style,stImg1);
LOAD(keyBtn2.style,stTouch2);
LOAD(vSw,1);
}

FUNC(fnSw1)
{
LOAD(pgMain.style,stPage1);
LOAD(txtSam1.style,stText1); LOAD(txtSam2.style,stText2);
LOAD(drwShp1.style,stDraw1); LOAD(drwShp2.style,stDraw2);
LOAD(imgFlw1.style,stImg1); LOAD(imgFlw2.style,stImg2);
LOAD(keyBtn2.style,stTouch1);
LOAD(vSw,0);
}

FUNC(fnKey1)
{
LOAD(RS2,"1");
}

FUNC(fnKey2)
{
LOAD(RS2,"2");
}

VAR(vCal,0,U8); LOAD(vCal,TCH_CAL); IF( vCal==0?[LOAD(SYSTEM.calibrate,y);]);

49.42

 IMG() Source Filename in a Text Var

06 Sep 13 

Show

* IMG now supports source image filename in a text var.
eg
LOAD( varFilePath, "SDHC/dir1/", varFileName );
IMG( imN, varFilePath, stImg );

49.42

 LIB() image and IMG() rotate 90 deg pixel error

06 Sep 13 

Show

* Rotation of 90 degrees fixed - pixel misalignment was causing overflow.

49.42

 Displaying .PNG image files

06 Sep 13 

Show

* PNG images can now be displayed on the TFT module.
* The following formats are supported: 24-bit RGB, 48-bit RGB, 32-bit RGBA, 64-bit RGBA, 8-bit Greyscale, 8-bit Greyscale with 8-bit Alpha
* The less common formats of interlaced images, paletted images, and fixed-transparency are not supported.

49.42

 Image Rotation (90 degree steps) in STYLE

06 Sep 13 

Show

* Images can now be rotated using the style parameter:
STYLE(stImg,IMAGE){rotate=90;} and
LOAD(stImg.rotate,90);
* Supported angles: 0, 90, 180, 270. Image is rotated clockwise.
* Transparency is set with the back=colour property.

49.42

 Image Scaling in STYLE

06 Sep 13 

Show

* Images can now be scaled using the style parameter:
STYLE(stImg,IMAGE){scale=75;} and
LOAD(stImg.scale,75);
* Supported scaling in 1% steps.
* PNG Alpha Transparency is only supported with 100% scaled images.
* Transparency is set with the back=colour property.

49.37

 POSN in DRAW, IMG, TEXT and KEY Commands

10 Jun 13 

Show

* Added initial positioning to commands:
a) DRAW(name,width,style,x,y);
DRAW(name,width,height,style,x,y);
DRAW(name,width,height,start,arc,style,x,y);
b) IMG(name,src,style,x,y);
c) TEXT(name,text,style,x,y);
d) KEY(name,func,width,height,style,x,y);
KEY(name,downFunc,upFunc,width,height,style,x,y);
KEY(name,downFunc,upFunc,repFunc,width,height,style,x,y);

49.37

 TRI File Error

10 Jun 13 

Show

Fixed problem with entity name allocation to raw image files.

49.25

 Splash Image - Modified software to stop splash image being displayed when debug port linked at startup.

01 Nov 12 

Show

* Modified software to stop splash image being displayed when debug port linked at startup.

49.16

 Raw Image Files - Added support for new TFT raw image file (*.tri) format.

14 Sep 12 

Show

Added support for new TFT raw image file (*.tri) format.
* A converted library BMP/JPG can be stored as .tri format using FILE("SAVE") command
* Raw image files are loaded using LIB() command directly into the library entities memory, thus greatly speeding up loading.
* File Format:
Offset Size Description
\\00 8 bytes Identifier (IUK_TRIF)
\\08 4 bytes size of image (N) in bytes (LSB first)
\\0C 4 bytes width of image in pixels (LSB first)
\\10 4 bytes height of image in pixels (LSB first)
\\14 1 byte number of bytes per pixel
\\15 3 bytes unused
\\18 4 bytes starting address (XX) of data (LSB first)
\\XX N bytes pixel data

49.16

 Centre/Center - Added support for accepting both ''centre'' and ''center'' in parameters.

14 Sep 12 

Show

* Added support for accepting both "centre" and "center" in parameters.
style image action
style text justify

49.14

 Page Backgrounds - Fixed problem rendering page background images not equal to screen size.

27 Jul 12 

Show

* Fixed problem rendering page background images not equal to screen size.

49.14

 Opacity - Corrected problem with assigning initial opacity value to text, images, draw, pages.

27 Jul 12 

Show

* Corrected problem with assigning initial opacity value to text, images, draw, pages.

49.00

 Splash Images

22 Mar 12 

Show

A splash image can now be automatically displayed when the module powers up and is loading in the users code.
* Simply place a tu320a.bmp, tu480a.bmp, tu640a.bmp or tu800a.bmp in the root directory of your SDcard or NAND.

49.00

 Opacity - Added opacity to images, drawing objects and text.

22 Mar 12 

Show

Added opacity to images, drawing objects and text
STYLE( st, image | draw | text )
{
......
opacity = n; // n = 0..100 where 0=transparent..100=opaque (default=100)
.......
}

LOAD( st.opacity, num ); // Dot operator also supported.
Restrictions: Not supported for library images with bits=16.

49.00

 Image Copying - Fixed bug related to copying image from library causing image corruption.

22 Mar 12 

Show

Fixed bug related to copying image from library causing image corruption (introduced in V00.48.03).

48.24

 Images - Added image scaling for LIB() command using bilinear scaling algorithm.

10 Mar 12 

Show

Added image scaling for LIB() command using bilinear scaling algorithm.
Rotation of 0, 90, 180, 270 degrees corrected in LIB() command.
Images now correctly redrawn when page has been set up for update=changed.
Fixed problem with watchdog timeout when processing large JPEGs.

Note: Progressive JPEG's are not supported - error message now provides more accurate information.

LIB() Image
LIB( name, "SDHC/file.ext?scale=x&width=w&height=h&back=c&col=c&rotate=r&bits=b" );
> 'scale'
number => percentage 1%, 2%, ..., 100%, ..., 120%, ... etc in 1% steps.
fit => non-proportional fit into the width and height specified (else panel size is assumed)
min => proportional fit into width and height specified (minimum fit - gaps top/bottom or left/right) (default, if not specified = 100%)
> 'col' = colour If specified, the destination area not containing the image is filled with the colour (height and/or width required).
> 'back' = colour If specified, then this is the transparent colour in the image.
> 'width' and 'height'
These are the destination sizes before any rotation is performed.
If width and height are not specified then the result transformation are used or if not possible then the screen size is used.
> 'rotate' = 0, 90, 180, 270 in degrees (default, if not specified = 0 degrees)
> 'bits' = 16, 32 Specifies the destination image pixel depth, either 16 bpp or 32 bpp. Jpegs default to 16 bpp (1555 ARGB), bitmaps to 32 bit (8888 ARGB).

Variable Names
Entities can now be created with either an immediate name, a pointer to an entity name or a name from the contents of a text variable, eg.
LOAD( name, "My", "Img", 1 );
IMG( name, imgSource, imgStyle ); // Creates an image called MyImg1

47.24

 Text, Draw and Image Entity Information

31 Oct 11 

Show

More Calc commands added to obtain entity information
> CALC(var,ename,"ESIZE"); -> returns allocated display size in bytes
> CALC(var,ename,"EDEL"); -> returns 1 if entity has been deleted, else 0
> CALC(var,ename,"EVIS"); -> returns 1 if entity is visible, else 0
> CALC(var,ename,"EALIGN"); -> returns value representing alignment:
0 = Top Left, 1 = Top Centre, 2 = Top Right,
3 = Centre Left, 4 = Centre Centre, 5 = Centre Right,
6 = Bottom Left, 7 = Bottom Centre, 8 = Bottom Right

47.12

 LIB image reloading

09 Sep 11 

Show

LIB images can now be replaced without further allocation of memory being made unless new image is larger than original.

47.12

 JPG image handling - Added jpg file decode into raw RGB.

09 Sep 11 

Show

* Added jpg file decode into raw RGB.
> LIB(libImg1, "SDHC/image.jpg");
> NOTE: Use of JPEG files instead of bitmaps can significantly decrease load time. However the lossy nature
of jpeg may not provide accurate transparency capability and is therefore most suitable for backgrounds.
> Fast start can be achieved by only loading the main menu images at start up then loading other images on demand and setting a flag to indicate they have been loaded.

47.12

 Image Actions - The way in which an image is displayed can be changed for slideshows.

09 Sep 11 

Show

The way in which an image is displayed can be changed for slideshows.
STYLE(imgSt,Image){ action=type; step=pixels; }
> action type options are:
- i or instant = Instant (default);
- u or up = Move Up;
- d or down = Move Down;
- l or left = Move Left;
- r or right = Move Right;
- ur or ru or upright = Move Diagonal Up-Right
- dr or rd or downright = Move Diagonal Down-Right
- ul or lu or upleft = Move Diagonal Up-Left
- dl or ld or downleft = Move Diagonal Down-Left
- a or all = Sequence through all (except instant);
> step pixels defaults to 20 pixels (value 1 to minimum of lcd width or lcd height)

44.00

 Images - Style for images now accepts sizeX and maxX for maximum width; sizeY and maxY for maximum height.

20 May 11 

Show

Style for images now accepts sizeX and maxX for maximum width; sizeY and
maxY for maximum height.
When an image is added to a page, if the maxX and maxY parameters are
equal to the width and height of the image and scaling is 100% and rotation
0, then a copy of the image is not made - just a pointer to it created (this
saves memory space).

· When a library image is specified as the background to a page and the image
dimensions are the same as the page size, then just a pointer to the library image is used rather than a copy.
Bit map images using 16bits are retained in memory as 16bit until refreshed on screen. This extends image storage by ~ 40%. Bit map images using 24bits are converted to 32bit on loading into the library as in previous releases.

Style Updating using Dot Operator
· Style parameters can now be updated by using the dot operator.
· Usage: LOAD(stylename.prop,val);
· Some parameters are not adjustable after the initial style setup as they require a change in memory allocation.
· The following style properties can be modified:
DATA: decimal
PAGE: posX, posY, back, image
TEXT: font, size, col, rotate, curRel
DRAW(box): col, width, back, rotate, curRel
DRAW(circle): col, width, back, curRel
DRAW(line): col, width, rotate, curRel
DRAW(graph): col, width, back, curRel
IMAGE: curRel
KEY: curRel

· When setting a non-adjustable parameter an error is no longer generated if the new value is the same as the current value.

42.00

 Images - The x,y parameters are not used, therefore new format is IMG(name,src,style);

09 Mar 11 

Show

The x,y parameters are not used, therefore new format is IMG(name,src,style);
· Note: Old format of IMG(name,src,x,y,style); still supported

38.00

 Images - Image rotation of 0, 90, 180 and 270 degrees now supported.

13 Jan 11 

Show

Image rotation of 0, 90, 180 and 270 degrees now supported.
When loading file into library use LIB( img, "SDHC/filename.bmp?back=black&rotate=180" );
When using an image from the library use STYLE( imgStyle, image ) { rotate=180; }

Image scaling now supported on image files loaded into library (with restrictions)
Scaling value is a percentage.
For rotate=0,90,180,270, scale=100,200,300,400,500 etc..
For rotate=0, scale=5 to 100 in 5% steps also supported. (eg scale=75)
Example: LIB( img, "SDHC/filename.bmp?back=black&rotate=180&scale=200" )
Example: LIB( img, "SDHC/filename.bmp?back=blue&scale=60" );
(Still need to add scale to style for IMG and support for other rotations for LIB.)

32.00

 VAR - VAR(Name,Style); changes to VAR(Name, default Value, Style);.

14 Oct 10 

Show

Due to customer request, including the default value reduces the lines of code and matches other command types like TEXT, IMG, DRAW.
VAR(Name,Style); changes to VAR(Name, default Value, Style);
Example1: VAR( MyVarU8, 0, U8 );
Example2: VAR( MyVarTxt, "Hello", TXT );
Example3: VAR( MyVarPtr > "ImgABC", PTR );
A new built in style TXT can be used for text variables with default 32 characters length

27.00

 Entity Pointers - Entity pointers have been added.

10 Sep 10 

Show

Entity pointers have been added.
STYLE( PtrData, DATA ) { type = pointer; }
VAR( EntPtr1, PtrData );

To set/change which entity the entity pointer is pointing to you enclose its name in quotes.
LOAD( "EntPtr1", "Var1" ); // Set EntPtr1 to point to "Var1"

To access the entity pointed to by the entity pointer, do not enclose is quotes.
LOAD( EntPtr1, "ABC" ); // Load the Entity pointed to
by EntPtr1 with "ABC"

The following commands now support entity pointers:
> LOAD(name|ptr|"ptr",num|"txt"|var|ptr,...);
> CALC(var|ptr,var|ptr,num|var|ptr,"op");
> TEXT(name|ptr,"txt"|var|ptr,...);
> IF(var|ptr op num|"txt"|var|ptr ? func|func_ptr : func|func_ptr);
> KEY(name,func|func_ptr,...);
> INT(name,buf,func|func_ptr,...);
> SHOW(name|ptr,...);
> HIDE(name|ptr,...);
> RUN(name|func_ptr,...);
> IMG(name|img_ptr,lib|img_ptr,...);

See the tu480.mnu file for an example of using pointers to update images representing CNTSECS.

21.00

 STYLE - Fixed error with default style initialization.

30 Jul 10 

Show

Fixed error with default style initialization. Style parameter names for POSN, PAGE, TEXT, DRAW, IMAGE, KEY set up

21.00

 LIB Transparency - Specify a background transparency colour for an image.

30 Jul 10 

Show

Specify a background transparency colour for an image.
Added '?back=\\rrggbb' parameter for bitmaps using the LIB command

e.g. LIB( StartImage, "SDHC/start.bmp?back=\\76bbfe" );