Storyboard Engine

Storyboard Engine was the main focus of this release and the goal was to provide our customers with more choice in their hardware and OS platforms. Hopefully the list below will meet your requirements, but Storyboard is very portable so don't hesitate to contact us if there is a different platform you are looking for.

Major Changes

WinCE 6.0 Support for ARMLE

Support for Microsoft's WinCE 6.0 has been added to the this release for X86 and ARM architectures.

Linux DirectFB Support

Support for DirectFB 1.4 is now supported on all Linux platforms. Many hardware vendors provide an accelerated DirectFB driver for their hardware significantly improving the performance over using fbdev only.

Linux OpenVG Support (Beagleboard)

Support for the Khronos Group's OpenVG is introduced in this version of Storyboard Engine. As a first introduction we have selected TI's Beagleboard as the currently only supported platform (PowerVR SDK version OMAP35x_Graphics_SDK_3_00_00_09 ), with other platforms to follow. Give us a call if you require an OpenVG support on a different platform.

SH4 Support for Linux and QNX6

Support for Renesas' SH4 processors has been added in this version. The Linux and QNX6 Operating Systems are supported.

PPC Support for QNX6

Support for PPC BE processors has been added in this version for the QNX6 Operating System.

Polygon Render Extension

A polygon render extension is now part of you render extension choices. The biggest use for this will be for our customers who wish to have a dial on their system. Rotating a polygon it provides an easy and effective method to smoothly move a dial on an embedded system.

Minor Changes

liblua.so / dll

In Storyboard 1.0 the Lua library was statically into the Lua plugin. This was limiting since it made extending Lua with additional plugins or extensions impossible on some platforms. Now a dynamic Lua library liblua.so is provided to enable extending Lua with your own plugins or extensions. The Lua library is provided in the lib directory of your selected target. One caveat with this is now you need to make sure that liblua.so is in your library load path if you are intending to use the Lua plugin.

Version information

Now if you pass a "-i" to sbengine when launching the version information of sbengine and all plugins loaded will be dumped to the console. It will also report the version of the gapp file. (The current gapp file version is 2.0)

Deployment Bundle (*.gapp) changes

The layout of the deployment bundle xml file has changed which should have no effect but opens up possibilities for future functionality. For example one of the changes is that the gapp file is now consistantly ordered on export which makes merging of gapp files more straightforward.

Lua function to calculate string width

This new Lua function, gre.get_string_size(), enables you to determine if a text string is bigger than the control you plan to display it in and make the appropriate accommodations.

Lua function to globally set layer attributes

This new Lua function, gre.set_layer_attr_global(), enables you to change layers attributes on a every instance of a specific layer, and not only the one on the current screen as in version 1.0. This will easily enable concepts like modal dialogs and alerts.

Lua events

Target other Storyboard IO channels with last parameter.

Access control width and height

You are now not only able to access a controls x and y position but also the width and height. To do this from Lua you can use gre.set_control_attrs(). You can use the control's variable grd.width and grd.height.

Move control Z-order

Functionality has been added to adjust the z order of a control. This means you can move a control in front of or behind another control as long as it's within the same layer by using the action "Control Z Order".

Arbitrary rotation

No longer are you limited by orthogonal rotation, you can now rotate images, rectangles and polygons by any angle....with the exception of text (sorry, but we can't give you everything in one release).

Screen manager option for available hardware layers

If your target platform has multiple hardware layers and you don't want sbengine to use certain ones you can now define a list of the hardware layers that can be used. Look at the screen manager option "dl" for more information.

Software cursor support

Mouse users no longer need to navigate blindly when a hardware cursor isn't available. All platforms now support a software mouse cursor by passing sbengine the option "-oscreen_mgr,sw_cursor=1"

Layer can now contain variable

This was omitteed in Storyboard Engine 1.0, however after some discussion there was no actual reason why a data variable couldn't have a layer as it's context, so now you can.

Alpha blending for fbdev

This was a bug that is now fixed. If you didn't notice then just pretend you never read this :)

Motion events moved to higher verbosity level

Small change to decrease the amount of verbosity in the console when running sbengine with many v's. This is mainly for anyone using a mouse since you don't get as many motion events with a touch screen.

Storyboard IO support for Win32

The Storyboard IO API can now be used on a Win32 platform using windows mailslots as the transport.

Storyboard IO Channel name option

You can now set your Storyboard IO channel using a Storyboard Engine option. Useful on system without environment variables and also if you are using Storyboard IO with the simulator.

Load scaled images

If you are loading a large image that will be scaled down for display, such as for a thumbnails screen, this option will only load the smaller scaled version of the image and help save memory. If you are planning to use the image full size or dynamically scale it on the same screen, you shouldn't use this option since it will degrade the image quality and could result in performance issues.

Known Issues

  • Text render extension currently only rotates orthogonally (0,90,270)

  • WinCE does not support any text rotation at this time.

  • Using a 1.1 version of the Storyboard Deployment bundle (.gapp) with 1.0 version of the Storyboard Engine will give unexpected results. If you have not yet updated the Storyboard Engine on your target you must check the "Export as 1.0 GAPP file format" check box before exporting.