Operating systems, development tools, and professional services
for connected embedded systems

Products
Operating Systems
Multimedia and Acoustics
HMI and Graphics
QNX CAR
Tools
BSP Directory
Certifications

QNX Photon microGUI

  1. Overview
  2. Benefits
  3. Technology
  4. What's new?                                               

The QNX® Photon microGUI® windowing system provides a full-featured customizable foundation for creating small embedded human-machine interfaces (HMIs). Delivered with the QNX Software Development Platform (SDP), it features a rich set of reusable widgets and components, a variety of fonts, integrated support for multi-headed displays, and comprehensive multi-language support. It is the ideal solution for projects that involve:

  • Screens larger than 640 x 480, without hardware-accelerated solutions
  • More traditional graphics (and possibly a windowing environment) using widget model and C/C++ callback routines
  • Screen builder tools using widget drag and drop
  • Remote graphical connections, for example using the Phindows connectivity tool

The QNX Photon microGUI windowing system supports graphics development tools, such as the application builder, a visual layout and design tool for rapid application prototyping, and Phindows, a remote connectivity tool for interacting with Photon® applications from a Windows desktop.

Reduced BOM costs

The QNX® Photon microGUI® windowing system supports multiple displays on multiple monitors using a single CPU.

Connected graphics environments

Photon® applications running on a local QNX target can display to and interact with other QNX targets as well as Windows desktops.

Rapid prototyping

Developers can quickly prototype graphics projects without extensive coding, thanks to an extensive set of easy-to use Photon widgets.

Efficient testing

Developers can test their applications directly with the Photon GUI application builder, as well as on simulators, such as VMWare.

High performance

Photon applications can achieve the best possible performance on a board by drawing directly to the board’s graphics chip.

Internationalization

The QNX Photon microGUI windowing system supports Asian languages with small-footprint scalable stroke fonts.

The QNX® Photon microGUI® offers an excellent feature set for developing graphics applications for embedded applications. It shares a common framework with other QNX graphics technologies; it runs on top of the QNX Software Development Platform (SDP) core graphics framework, and can co-exist with both 2D/3D graphics and Adobe Flash Lite used in QNX HMI technologies.

 
  1. Tech overview
  2. HMI development
  3. Connectivity tool                                         

Small footprint

The QNX Photon microGUI can be used to develop GUIs for large desktop environments, or for tiny, embedded systems. Features supporting a small footprint include:

  • shrinking of shared library sizes
  • code reuse in new components, to reduce widget library footprints
  • linkage profile optimization to reduce the code applications pull in from libraries

Thanks to the underlying QNX Neutrino microkernel architecture, developers can easily add or remove components (such as input, graphics or font managers) to meet footprint requirements.

Multi-headed display configurations

The QNX Photon microGUI supports multi-headed display configuration:

  • Single display to multiple monitors — present the entire QNX Photon microGUI space, displayed across a number of monitors
  • Multiple displays to multiple monitors— use a single head unit for multiple displays on multiple monitors

Optional components

Optional QNX Photon microGUI components include widget libraries with more than 80 widgets, graphics drivers, input drivers (mouse, keyboard, touchscreen), Photon utilities, such as terminal, file manager, multiscreen desktop manager, editors and HTML viewers, and source code for utilities and sample program.

The QNX Photon microGUI’s widget-based HMI development approach simplifies and speeds the work required to create sophisticated user interfaces. Features it supports include:

  • clip-draw primitives, including widget drawing
  • widget and other other GUI component re-use
  • new GUI component creation from existing parts, such as sliders and buttons
  • pre-built and custom sophisticated widgets, such as scrolling lists, tree widgets, terminal widgets for running command-line applications and graph widgets
  • alpha blending and transparency

Developers can control multiple layers of a graphics chip, drawing to specific layers and controlling layer blending, order and visibility. If the hardware supports video, they can implement video overlays to display external video input.

Flicker-free widget rendering

The QNX Photon microGUI enables developers to build user interfaces that are efficient and free of distracting—and tiring—flicker. It reduces CPU consumption and optimizes performance by doing away with redundant or otherwise unnecessary calculations, and eliminates distracting flickering, even in the complex, dynamically altered user interfaces.

Fonts and input

The QNX Photon microGUI supports scalable fonts, such as TrueType and bitmap fonts. Font and input support includes small-footprint, scalable stroke fonts for Asian languages, such as Chinese and Japanese, as well as input for these languages.

Customization

Developers can easily customize widgets and other GUI elements, such as buttons, menus and windows, either individually or globally.

Customizable widget libraries and Photon hooks facilitate widget re-skinning and behavior changes.

Upgrades

Virtually any part of a GUI can receive additions, replacements or upgrades without even a reboot.

Application builder

Developers can use the QNX application builder to design QNX Photon microGUI applications without writing a single line of code.

Phindows (Photon in Windows) is a remote connectivity tool that lets developers interact with a Photon microGUI application from a Windows desktop, across an IP network or serial link.

It provides the same remote interaction between a QNX Photon session and a Microsoft Windows desktop as that offered by the Photon microGUI for remote interaction between QNX systems.

Benefits

Some of the benefits offered by Phindows are:

  • reduced hardware costs — embedded devices do not require a dedicated physical screen or keyboard
  • increased developer productivity — Photon applications can be built and tested from a Windows desktop, reducing the need for clumsy simulators
  • application portability — a Photon program can run on both a QNX target and (virtually) on a Windows desktop without any re-coding or re-compiling
  • reduced support costs — developers do not need to be on-site to debug Photon applications: a mouse click created by a remote user is exactly the same as a mouse click created by the local user

Connections and interactions

Phindows offers a wide range of possiblilities for connections and interactions between a Photon session and a Windows desktop, including:

  • multiple, independent sessions
  • shared or exclusive input devices
  • multiple input devices (cursors, mice and keyboards) Phindows can connect to Photon sessions in a variety of modes:
  • application specific — the Photon application looks like any Windows program on a Windows desktop
  • kiosk — the Photon session takes over the full Windows desktop screen
  • multiple-screen — developers can connect to portions of the Photon session outside the target display, turning a single display target into a multiple display target; they can drag Photon applications from the target display to the Windows display, so that all graphics appear on the remote Windows display
  • view-only — developers can connect to an existing Photon session from the Windows desktop, but forbid interaction with the session

Performance tuning and security

Phindows performance can be tuned for optimal performance with the available connection speed, RAM and disk resources, and security requirements. It supports:
  • data compression on transferred data —or slow links between fast computers
  • configurable RAM and disk caches — cache images on the Windows machine, so that they are transferred only once, and persist across reboots
  • local Window fonts — fonts can be rendered as bitmaps and sent from the Photon session to the Windows desktop (and stored in font cache), or rendered on Windows using local font files; developers can blend font options to maintain the desired font appearance while minimizing the data transmission load
  • security — developers can specify an encryption key for the Windows remote end that must match the key on the QNX host, and require a user ID and password on connection

System requirements

  • QNX 6.3 or more recent
  • Windows 2000 or Windows XP
  • Supported target systems include ARM, MIPS, PPC, SH4 and X86
The QNX® Photon microGUI® is released with the QNX Software Development Platform (SDP). Features provided with recent upgrade releases include:

QNX SDP 6.4

  • Changes to the Photon® graphics architecture on embedded systems
  • Changes to support for running both GF/OpenGL ES and Photon applications on the same embedded system
  • A new shift-drag feature to move widgets by their resize handles

QNX SDP 6.3

  • Improvements to the Photon GUI application builder's user interface, including an updated menu and simplified toolbar
  • Improvements to the Photon GUI application builder's project directory structure
  • Better documentation