The QNX® Photon microGUI® windowing system provides a full-featured customizable foundation for creating
small embedded human-machine interfaces (HMI). 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.
The QNX Photon microGUI also supports graphics development tools, such as the application builder, a visual
layout and design tool to rapidly prototype applications, and Phindows, a remote connectivity tool for interacting
with Photon applications from a Windows desktop.
Technology highlights
Scale graphics to fit your environment
- Modular microkernel architecture allows you to easily add or remove processes such as input, graphics and font managers
- Meet footprint requirements
- Use for a range of applications, from tiny embedded system to workstation-class development
Customize graphic elements
- Modify GUI elements (e.g. buttons, menus, windows) on either an individual or global basis
Upgrade GUIs on the fly by dynamically adding, replacing, or upgrading virtually any part of your user
interface, without reboots
- Re-skin widgets and widget behavior through the use of customizable widget libraries and Photon "hooks"
Simplify development of HMIs
- Widget management features allow you to re-use GUI components or widgets
- Supports clip draw primitives, including widget drawing
- Reduces the amount of calculation for CPU and graphics display controller, requiring less overhead and yielding
faster performance
Display high-quality fonts on any size display
- Font formats include scalable fonts such as TrueType and bitmap
- Small-footprint scalable stroke fonts for Asian languages
Use an extensible and powerful widget model
- Supports device footprint reductions by shrinking shared library sizes
- Create new UI components from existing parts such as sliders, buttons
- Greater code reuse in new component implementations reduces footprint of widget libraries
- Reduce device footprint through linkage profile improvements, enabling applications to pull in less code from library
- Use sophisticated widgets such as Terminal widgets (for running command-line applications), Scrolling
lists, Tree widgets, Trend/Graph widgets etc.
Deploy flicker-free widget rendering
- Allows you to develop complex user interfaces without visible distracting flicker
- Reduces CPU consumption by eliminating redundant/un-necessary calculations
- Complex user interfaces can be presented to user, dynamically altered displays without visually distracting flicker
- More efficient than double-buffering display
Use sophisticated graphic techniques and video capture
- Use alphablending and transparency of images and objects
- Control multiple layers of a graphics chip. Draw to specific layers and control blending, order and visibility of layers
- Use video overlays to display external video inputs on supported hardware
Design multi-headed displays
- Native support in QNX Neutrino® RTOS eliminates need for custom code that increases costs and time to market
- Single display to multiple monitors provides improved visualization of entire QNX Photon microGUI space, by
displaying this across a number of monitors - for any developer using QNX Photon microGUI
- Applicable to industrial control markets where multiple detailed views can be treated as a single display
or surface improving usability
- Multiple displays to multiple monitors provides cost-effective implementation because multiple displays can
use a single head unit
- Applicable to in-car telematics/entertainment displays
Build in comprehensive internationalization capabilities
- Adapt products for different markets and enable Asian input methods
Create GUI applications using Application Builder
- Design applications for QNX Photon microGUI, without writing a single line of code
Interact with Windows desktops using Phindows
- Access your QNX Photon microGUI application from a remote Windows desktop across an IP network
Business benefits
Reduce time to market
- Quickly prototype graphical environments without extensive coding. Develop and test directly
within the QNX Application Builder tool without the need to code. Test graphic programs within simulators such as VmWare.
Shallow developer learning curve
- Easily add code to graphical events through Photon’s high level widget-based programming model.
Meet customer performance requirements
- Gain high performance by drawing direct to the graphics chip and bypassing the graphic event model.
For example, combine a high-speed trending graph with button widgets.
Connect your graphic environments to the world
- Develop graphic applications that can run on a local QNX target and that can also be displayed and
interacted with from other QNX targets as well as Windows desktops.
Specifications
Photon environment:
Optional components:
- Widget libraries (over 80 widgets available)
- Graphic drivers
- Input drivers (mice, keyboard, touchscreen)
- Photon utilities such as File Manager, Terminal, Task Bar, Screen Grabber, Multiscreen Desktop Manager,
Games, Screen Savers, Editors, HTML Viewers, etc
- Source code to various utilities and sample programs
System requirements
QNX 4, QNX 6
- Supported graphics chip (for local display). Note that Photon can remotely display on Windows without the
need for a local display
- Supported input devices (optional)