Table of Contents
Storyboard supports a list of standard events. These events are all prefixed
with gre.
and can be used by your application.
The system has been initialized and is ready. This is the first event set in the system.
Data:
No data payload
An area of the screen has been damaged (visible data has changed). A redraw event may not cause actual screen drawing if the control which has changed is hidden or offscreen.
Data:
int32_t x int32_t y int32_t width int32_t height
If the values are all 0 then the entire screen has been damaged
This event will be generated when an error has occurred with a OpenGL ES 2.0 runtime using the "error_event" option.
Format:
4s1 code 1s0 msg
code
:The code is the error code that is returned from the GL framework on the API call glGetError()
msg
:The msg is a human readable diagnostic message about the context of the error and any associated resources involved. For example: problems loading font or image resource textures will identify the image and font related to the error, other API calls will be identified by context of execution (ie GL function name, shader compilation).
The following events are generated in response to a device such as a mouse or a touchscreen. These events are targeted at specific controls based upon the controls location and sensitivity.
A mouse/touchscreen has been pressed.
Data
uint32_t button uint32_t timestamp int16_t subtype int16_t x int16_t y int16_t z int16_t id int16_t spare
Where:
GR_EVENT_BTN_LEFT - 0x0001: if this is a touchscreen then the button is always left |
GR_EVENT_BTN_MIDDLE - 0x0002 |
GR_EVENT_BTN_RIGHT - 0x0004 |
This is an event timestamp in milliseconds since application start
GR_EVENT_RELEASE_IN |
GR_EVENT_RELEASE_OUT |
This parameter is dependent on the availability of z- co-ordinate information
This parameter is used to track multi-touch presses as they come in
This is padding and should be 0
A touch contact has moved.
Data
uint32_t button uint32_t timestamp int16_t subtype int16_t x int16_t y int16_t z int16_t id int16_t spare
Where:
GR_EVENT_BTN_LEFT - 0x0001: if this is a touchscreen then the button is always left |
GR_EVENT_BTN_MIDDLE - 0x0002 |
GR_EVENT_BTN_RIGHT - 0x0004 |
This is an event timestamp in milliseconds since application start
GR_EVENT_RELEASE_IN |
GR_EVENT_RELEASE_OUT |
This parameter is dependent on the availability of z- co-ordinate information
This parameter is used to track multi-touch presses as they come in
This is padding and should be 0
A mouse/touchscreen has been released.
Data
uint32_t button uint32_t timestamp int16_t subtype int16_t x int16_t y int16_t z int16_t id int16_t spare
Where:
GR_EVENT_BTN_LEFT - 0x0001: if this is a touchscreen then the button is always left |
GR_EVENT_BTN_MIDDLE - 0x0002 |
GR_EVENT_BTN_RIGHT - 0x0004 |
This is an event timestamp in milliseconds since application start
GR_EVENT_RELEASE_IN |
GR_EVENT_RELEASE_OUT |
This parameter is dependent on the availability of z- co-ordinate information
This parameter is used to track multi-touch presses as they come in
This is padding and should be 0
If a mouse/touchscreen presses and then releases on the same control then a touch event will be generated. This is useful for activating button style elements. If the release is found to intersect a different control then a touch event is not generated.
This event is synthetically generated by the framework based on
incoming gre.press
and gre.release
events.
Event redirectors should generally not include this event in their
list of redirection events.
Data
uint32_t button uint32_t timestamp int16_t subtype int16_t x int16_t y int16_t z int16_t id int16_t spare
Where:
GR_EVENT_BTN_LEFT - 0x0001: if this is a touchscreen then the button is always left |
GR_EVENT_BTN_MIDDLE - 0x0002 |
GR_EVENT_BTN_RIGHT - 0x0004 |
This is an event timestamp in milliseconds since application start
GR_EVENT_RELEASE_IN |
GR_EVENT_RELEASE_OUT |
This parameter is dependent on the availability of z- co-ordinate information
This parameter is used to track multi-touch presses as they come in
This is padding and should be 0
A touchscreen contact has changed and there is information for more than one touch contact. A gre.mtevent will only be delivered to the application and screen. Storyboard Engine will divide the event into discrete gre.mtpress, gre.mtmotion and gre.mtrelease events which are then delivered to the appropriate model elements.
Data
uint32_t timestamp int16_t npoints int16_t[npoints] x int16_t[npoints] y int16_t[npoints] z int16_t[npoints] id int16_t[npoints] state int16_t[npoints] spare
Where:
This is an event timestamp in milliseconds since application start
This is the number of points included in this event and may not correlate to the number of fingers currently in contact with the touchscreen.
This is an array of x values for npoints touch contacts
This is an array of y values for npoints touch contacts
This is an array of z values for npoints touch contacts. This parameter is dependent on the availability of z-co-ordinate information
This is an array of id values for npoints touch contacts. This parameter is used to track multi-touch presses as they come in
This is an array of state values for npoints touch contacts.
GR_PTR_STATE_PRESS - 0x01: as a finger makes contact with the touchscreen. |
GR_PTR_STATE_MOTION - 0x02: as a finger moves on the touchscreen. |
GR_PTR_STATE_RELEASE - 0x03: as a finger is lifted from the touchscreen. |
This is padding and should be 0
A touchscreen has been pressed. This event is emitted where are two or more contact points.
Data
uint32_t button uint32_t timestamp int16_t subtype int16_t x int16_t y int16_t z int16_t id int16_t spare
Where:
GR_EVENT_BTN_LEFT - 0x0001: if this is a touchscreen then the button is always left |
This is an event timestamp in milliseconds since application start
GR_EVENT_RELEASE_IN |
GR_EVENT_RELEASE_OUT |
This parameter is dependent on the availability of z- co-ordinate information
This parameter is used to track multi-touch presses as they come in
This is padding and should be 0
A touch contact has moved. This event is emitted when there are two or more contact points.
Data
uint32_t button uint32_t timestamp int16_t subtype int16_t x int16_t y int16_t z int16_t id int16_t spare
Where:
GR_EVENT_BTN_LEFT - 0x0001: if this is a touchscreen then the button is always left |
This is an event timestamp in milliseconds since application start
GR_EVENT_RELEASE_IN |
GR_EVENT_RELEASE_OUT |
This parameter is dependent on the availability of z- co-ordinate information
This parameter is used to track multi-touch presses as they come in
This is padding and should be 0
A touchscreen has been released. This event is emitted when there are two or more contact points.
Data
uint32_t button uint32_t timestamp int16_t subtype int16_t x int16_t y int16_t z int16_t id int16_t spare
Where:
GR_EVENT_BTN_LEFT - 0x0001: if this is a touchscreen then the button is always left |
This is an event timestamp in milliseconds since application start
GR_EVENT_RELEASE_IN |
GR_EVENT_RELEASE_OUT |
This parameter is dependent on the availability of z- co-ordinate information
This parameter is used to track multi-touch presses as they come in
This is padding and should be 0
A mouse/touchscreen has entered a control (if dragging a pointer or finger). This event is generated once the coordinates enter a control boundary. If mouse motion events are disabled in the render manager then this event will not be generated.
Control groups can not receive inbound events.
Data
uint32_t button uint32_t timestamp int16_t subtype int16_t x int16_t y int16_t z int16_t id int16_t spare
Where:
GR_EVENT_BTN_LEFT - 0x0001: if this is a touchscreen then the button is always left |
GR_EVENT_BTN_MIDDLE - 0x0002 |
GR_EVENT_BTN_RIGHT - 0x0004 |
This is an event timestamp in milliseconds since application start
GR_EVENT_RELEASE_IN |
GR_EVENT_RELEASE_OUT |
This parameter is dependent on the availability of z- co-ordinate information
This parameter is used to track multi-touch presses as they come in
This is padding and should be 0
A mouse/touchscreen has left a control (if dragging a pointer or finger). This event is generated once the coordinates leave a control boundary. If mouse motion events are disabled in the render manager then this event will not be generated.
Control groups can not receive outbound events.
Data
uint32_t button uint32_t timestamp int16_t subtype int16_t x int16_t y int16_t z int16_t id int16_t spare
Where:
GR_EVENT_BTN_LEFT - 0x0001: if this is a touchscreen then the button is always left |
GR_EVENT_BTN_MIDDLE - 0x0002 |
GR_EVENT_BTN_RIGHT - 0x0004 |
This is an event timestamp in milliseconds since application start
GR_EVENT_RELEASE_IN |
GR_EVENT_RELEASE_OUT |
This parameter is dependent on the availability of z- co-ordinate information
This parameter is used to track multi-touch presses as they come in
This is padding and should be 0
The following events are generated if a keyboard is present and supported by the render manager.
A key is in the pressed state
gre.keydown events with control as a destination require focus.
Data
uint32_t code uint32_t modifiers
Where:
This is the UTF-8 key value
A set of modifiers applied to the key
GR_EVENT_KEYMOD_ALT |
GR_EVENT_KEYMOD_CTRL |
GR_EVENT_KEYMOD_SHIFT |
The following events are generated by the Screen Manager during screen transitions. These events are generated in the following order:
gre.screenshow.pre delivered to target (end)
screen |
gre.screenhide.pre delivered to source (start)
screen |
gre.screenshow.post delivered to target (end)
screen |
gre.screenhide.post delivered to source (start)
screen |
A screen is being shown. This event is triggered before the screen is shown and signifies that a transition may be starting
Data:
The name of the screen which is being shown
A screen has been shown. This event is triggered after the screen is shown and signifies that a transition has ended.
Data:
The name of the screen which has been shown
A screen is being hidden. This event is triggered before the screen is hidden and signifies that a transition may be starting.
Data:
The name of the screen which is being hidden
The following events are generated on a change of control focus. If there is no focusable control on the current screen then these events will not be generated. These events are targeted at the currently or last focused control. When focus shifts from one control to another the lost focus event is sent first followed by the got focus event.
A control has received focus, delivered to the control that received the focus.
No data payload.
The following events are generated by a Table control. If no table control is present then these events will not be generated.
A table has been resized via the table resize action. This event notifies the system of the new table size and visible area.
Data:
uint32_t top_row uint32_t left_col uint32_t bot_row; uint32_t right_col; char *table
Where:
The top row that is visible
The left column that is visible
The bottom row that is visible
The right column that is visible
The name of the table whose viewport changed to cause this event
A table cell has received focus and is the currently active cell. This is delivered to the control template with the cell focus information.
Data:
uint32_t row; uint32_t col; char *table
Where:
The row that received focus
The column that received focus
The name of the table where the cell focus changed
A table cell has lost focus and is no longer the active cell. This is delivered to the control template with the cell focus information
Data:
uint32_t row; uint32_t col; char *table
Where:
The row that received focus
The column that received focus
The name of the table where the cell focus changed
The following events are only generated when the "Enable list scrolling behavior" option is checked in the Table properties.
This event is generated when a user begins dragging a scrolling table.
Data:
No data payload
This event is generated when a user stops dragging a scrolling table.
Data:
No data payload
This event is generated when the scroll animation begins.
Data:
No data payload
This event is generated when the scroll animation completes.
Data:
No data payload
The following events are only generated when the "Enable layer scrolling behavior" option is checked in the Layer Scrolling properties.
This event is generated when a user begins dragging a scrolling layer.
Data:
The name of the object being scrolled
This event is generated when a user stops dragging a scrolling layer.
Data:
The name of the object being scrolled
This event is generated when the scroll animation begins.
Data:
The name of the object being scrolled
This event is generated when the scroll animation completes.
Data:
The name of the object being scrolled
The following events are only generated when running on Android and iOS.
The application has become inactive. The application will not be rendering to the screen after this event is received.
Data:
No data payload
The application has become active. The application will be rendering to the screen after this event is received.
Data:
No data payload
The following event is only generated when running on Android.
Limited gestures support has been added to the winevent plugin for the Windows Embedded Compact 2013 platform. This support has been added via the Storyboard Engine winevent plugin (libgre-plugin-winevent.dll) and this plugin must be included in Storyboard Engine distribution.
The gesture support is designed to make visible the internal Windows gesture events and payloads that are generated from the underlying system as described in this document: https://msdn.microsoft.com/en-us/library/ee503599.aspx
As of the Storyboard 4.2 release, only the GID_PAN and GID_SCROLL sub-category of WM_GESTURE gesture events are translated into corresponding Storyboard events. These events will only be generated on WEC2013 hardware platforms where the BSP has been configured with gesture event support and the touchscreen driver configured to enable such event generation.
In order to add application support for receiving these win.gesture events, the events must be added to the Storyboard Designer application. The events can be added in the same manner as any other user defined events are added at the point where they are used to trigger an action within the "New Action" dialog.
This event is generated in response to the Windows MW_GESTURE:GID_PAN event. The event data is taken directly from the Windows event.
Data: (4s1 x 4s1 y 4s1 spread)
int32_t x int32_t y int32_t spread