|
|
|
Qt/Embedded Virtual Framebuffer
|
|
|
|
===============================
|
|
|
|
|
|
|
|
Please note that the qvfb program needs to be compiled with the X11 version
|
|
|
|
of Qt.
|
|
|
|
|
|
|
|
The virtual frame buffer allows a Qt/Embedded program to be developed on your
|
|
|
|
desktop machine, without switching between consoles and X11. The virtual
|
|
|
|
framebuffer consists of a shared memory region (the virtual frame buffer)
|
|
|
|
and a utility to display the framebuffer in a window. The display is updated
|
|
|
|
periodically, so you will see discrete snapshots of the framebuffer rather
|
|
|
|
than each individual drawing operation. For this reason drawing problems
|
|
|
|
such as flickering may not be apparent until the program is run using a real
|
|
|
|
framebuffer.
|
|
|
|
|
|
|
|
To use the virtual framebuffer:
|
|
|
|
|
|
|
|
1. Ensure QT_NO_QWS_VFB is not set in ntqconfig.h (when you configure Qt,
|
|
|
|
add the -qvfb option).
|
|
|
|
2. Start qvfb (qvfb should be compiled as a normal Qt/X11 application,
|
|
|
|
NOT as a Qt/Embedded application!).
|
|
|
|
3. Start a Qt/Embedded server (i.e. construct QApplication with
|
|
|
|
QApplication::GuiServer flag, or run a client with the -qws option).
|
|
|
|
|
|
|
|
qvfb supports the following command line options:
|
|
|
|
|
|
|
|
[-width width] the width of the virtual framebuffer (default: 240).
|
|
|
|
[-height height] the height of the virtual framebuffer (default: 320).
|
|
|
|
[-depth depth] the depth of the virtual framebuffer (1,4,8 or 32, default: 8).
|
|
|
|
[-nocursor] do not display the X11 cursor in the framebuffer window.
|
|
|
|
[-qwsdisplay] the Qt/Embedded display ID, e.g. -qwsdisplay :1 (default :0).
|
|
|
|
[-skin skinfile] tells qvfb to load a skin file, e.g. -skin pda.skin
|
|
|
|
|
|
|
|
Please refer to the file "pda.skin" for an example of what a skin file looks like.
|
|
|
|
The format for skin files is:
|
|
|
|
Image filename of skin with buttons in their up positions
|
|
|
|
Image filename of skin with buttons in their down positions
|
|
|
|
X offset of top left corner of the virtual screen on the skin image
|
|
|
|
Y offset of top left corner of the virtual screen on the skin image
|
|
|
|
Width of the virtual screen on the skin image
|
|
|
|
Height of the virtual screen on the skin image
|
|
|
|
Transparancy level of the Virtual Frame Buffer
|
|
|
|
Number of defined button regions
|
|
|
|
Then for each button region the format is:
|
|
|
|
Button identifier
|
|
|
|
Qt scan codes to generate for the button
|
|
|
|
Top left X coordinate of the button region
|
|
|
|
Top left Y coordinate of the button region
|
|
|
|
Bottom right X coordinate of the button region
|
|
|
|
Bottom right Y coordinate of the button region
|
|
|
|
|
|
|
|
The virtual framebuffer is a development tool only. No security issues have
|
|
|
|
been considered in the virtual framebuffer design. It should not be used
|
|
|
|
in a production environment and QT_NO_QWS_VFB should always be in force
|
|
|
|
in production libraries.
|