summaryrefslogtreecommitdiffstats
path: root/tools/qvfb
diff options
context:
space:
mode:
Diffstat (limited to 'tools/qvfb')
-rw-r--r--tools/qvfb/LICENSE.GPL280
-rw-r--r--tools/qvfb/README55
-rw-r--r--tools/qvfb/config.ui1684
-rw-r--r--tools/qvfb/gammaview.h49
-rw-r--r--tools/qvfb/images/logo.pngbin714 -> 0 bytes
-rw-r--r--tools/qvfb/main.cpp97
-rw-r--r--tools/qvfb/pda.skin15
-rw-r--r--tools/qvfb/pda_down.pngbin94345 -> 0 bytes
-rw-r--r--tools/qvfb/pda_up.pngbin92698 -> 0 bytes
-rw-r--r--tools/qvfb/qanimationwriter.cpp422
-rw-r--r--tools/qvfb/qanimationwriter.h59
-rw-r--r--tools/qvfb/qvfb.cpp389
-rw-r--r--tools/qvfb/qvfb.h91
-rw-r--r--tools/qvfb/qvfb.pro11
-rw-r--r--tools/qvfb/qvfbratedlg.cpp80
-rw-r--r--tools/qvfb/qvfbratedlg.h59
-rw-r--r--tools/qvfb/qvfbview.cpp615
-rw-r--r--tools/qvfb/qvfbview.h126
-rw-r--r--tools/qvfb/skin.cpp174
-rw-r--r--tools/qvfb/skin.h78
20 files changed, 0 insertions, 4284 deletions
diff --git a/tools/qvfb/LICENSE.GPL b/tools/qvfb/LICENSE.GPL
deleted file mode 100644
index 3221c0305..000000000
--- a/tools/qvfb/LICENSE.GPL
+++ /dev/null
@@ -1,280 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
diff --git a/tools/qvfb/README b/tools/qvfb/README
deleted file mode 100644
index 3261b4751..000000000
--- a/tools/qvfb/README
+++ /dev/null
@@ -1,55 +0,0 @@
-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.
diff --git a/tools/qvfb/config.ui b/tools/qvfb/config.ui
deleted file mode 100644
index 22efbdb2a..000000000
--- a/tools/qvfb/config.ui
+++ /dev/null
@@ -1,1684 +0,0 @@
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
-<class>Config</class>
-<comment>*********************************************************************
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the TQt/Embedded virtual framebuffer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-*********************************************************************</comment>
-<widget class="TQDialog">
- <property name="name">
- <cstring>Config</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>481</width>
- <height>645</height>
- </rect>
- </property>
- <property name="caption">
- <string>Configure</string>
- </property>
- <property name="icon">
- <pixmap>logo.png</pixmap>
- </property>
- <property name="sizeGripEnabled">
- <bool>true</bool>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="TQButtonGroup" row="0" column="1">
- <property name="name">
- <cstring>ButtonGroup2</cstring>
- </property>
- <property name="title">
- <string>Depth</string>
- </property>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>depth_1</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>11</x>
- <y>19</y>
- <width>229</width>
- <height>19</height>
- </rect>
- </property>
- <property name="text">
- <string>1 bit monochrome</string>
- </property>
- </widget>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>depth_4gray</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>11</x>
- <y>44</y>
- <width>229</width>
- <height>19</height>
- </rect>
- </property>
- <property name="text">
- <string>4 bit grayscale</string>
- </property>
- </widget>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>depth_8</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>11</x>
- <y>69</y>
- <width>229</width>
- <height>19</height>
- </rect>
- </property>
- <property name="text">
- <string>8 bit</string>
- </property>
- </widget>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>depth_12</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>11</x>
- <y>94</y>
- <width>229</width>
- <height>19</height>
- </rect>
- </property>
- <property name="text">
- <string>12 (16) bit</string>
- </property>
- </widget>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>depth_16</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>11</x>
- <y>119</y>
- <width>229</width>
- <height>19</height>
- </rect>
- </property>
- <property name="text">
- <string>16 bit</string>
- </property>
- </widget>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>depth_32</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>11</x>
- <y>144</y>
- <width>229</width>
- <height>19</height>
- </rect>
- </property>
- <property name="text">
- <string>32 bit</string>
- </property>
- </widget>
- </widget>
- <widget class="TQLayoutWidget" row="4" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>Layout1</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <spacer>
- <property name="name">
- <cstring>Horizontal Spacing2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="TQPushButton">
- <property name="name">
- <cstring>buttonOk</cstring>
- </property>
- <property name="text">
- <string>&amp;OK</string>
- </property>
- <property name="autoDefault">
- <bool>true</bool>
- </property>
- <property name="default">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="TQPushButton">
- <property name="name">
- <cstring>buttonCancel</cstring>
- </property>
- <property name="text">
- <string>&amp;Cancel</string>
- </property>
- <property name="autoDefault">
- <bool>true</bool>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="TQCheckBox" row="2" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>touchScreen</cstring>
- </property>
- <property name="text">
- <string>Emulate touch screen (no mouse move).</string>
- </property>
- </widget>
- <widget class="TQGroupBox" row="3" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>GroupBox1</cstring>
- </property>
- <property name="title">
- <string>Gamma</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="TQLabel" row="6" column="0">
- <property name="name">
- <cstring>TextLabel3</cstring>
- </property>
- <property name="text">
- <string>Blue</string>
- </property>
- </widget>
- <widget class="TQSlider" row="6" column="1">
- <property name="name">
- <cstring>bslider</cstring>
- </property>
- <property name="palette">
- <palette>
- <active>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>255</blue>
- </color>
- <color>
- <red>127</red>
- <green>127</green>
- <blue>255</blue>
- </color>
- <color>
- <red>63</red>
- <green>63</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>127</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>170</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>220</red>
- <green>220</green>
- <blue>220</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>95</green>
- <blue>137</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- </active>
- <disabled>
- <color>
- <red>128</red>
- <green>128</green>
- <blue>128</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>255</blue>
- </color>
- <color>
- <red>127</red>
- <green>127</green>
- <blue>255</blue>
- </color>
- <color>
- <red>38</red>
- <green>38</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>127</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>170</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>128</red>
- <green>128</green>
- <blue>128</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>220</red>
- <green>220</green>
- <blue>220</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>95</green>
- <blue>137</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- </disabled>
- <inactive>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>255</blue>
- </color>
- <color>
- <red>127</red>
- <green>127</green>
- <blue>255</blue>
- </color>
- <color>
- <red>38</red>
- <green>38</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>127</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>170</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>220</red>
- <green>220</green>
- <blue>220</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>95</green>
- <blue>137</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- </inactive>
- </palette>
- </property>
- <property name="maxValue">
- <number>400</number>
- </property>
- <property name="value">
- <number>100</number>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- </widget>
- <widget class="TQLabel" row="6" column="2">
- <property name="name">
- <cstring>blabel</cstring>
- </property>
- <property name="text">
- <string>1.0</string>
- </property>
- </widget>
- <spacer row="5" column="1">
- <property name="name">
- <cstring>Spacer3</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="TQLabel" row="4" column="0">
- <property name="name">
- <cstring>TextLabel2</cstring>
- </property>
- <property name="text">
- <string>Green</string>
- </property>
- </widget>
- <widget class="TQSlider" row="4" column="1">
- <property name="name">
- <cstring>gslider</cstring>
- </property>
- <property name="palette">
- <palette>
- <active>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>255</green>
- <blue>0</blue>
- </color>
- <color>
- <red>127</red>
- <green>255</green>
- <blue>127</blue>
- </color>
- <color>
- <red>63</red>
- <green>255</green>
- <blue>63</blue>
- </color>
- <color>
- <red>0</red>
- <green>127</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>170</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>220</red>
- <green>220</green>
- <blue>220</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>95</green>
- <blue>137</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- </active>
- <disabled>
- <color>
- <red>128</red>
- <green>128</green>
- <blue>128</blue>
- </color>
- <color>
- <red>0</red>
- <green>255</green>
- <blue>0</blue>
- </color>
- <color>
- <red>127</red>
- <green>255</green>
- <blue>127</blue>
- </color>
- <color>
- <red>38</red>
- <green>255</green>
- <blue>38</blue>
- </color>
- <color>
- <red>0</red>
- <green>127</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>170</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>128</red>
- <green>128</green>
- <blue>128</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>220</red>
- <green>220</green>
- <blue>220</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>95</green>
- <blue>137</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- </disabled>
- <inactive>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>255</green>
- <blue>0</blue>
- </color>
- <color>
- <red>127</red>
- <green>255</green>
- <blue>127</blue>
- </color>
- <color>
- <red>38</red>
- <green>255</green>
- <blue>38</blue>
- </color>
- <color>
- <red>0</red>
- <green>127</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>170</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>220</red>
- <green>220</green>
- <blue>220</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>95</green>
- <blue>137</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- </inactive>
- </palette>
- </property>
- <property name="maxValue">
- <number>400</number>
- </property>
- <property name="value">
- <number>100</number>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- </widget>
- <widget class="TQLabel" row="4" column="2">
- <property name="name">
- <cstring>glabel</cstring>
- </property>
- <property name="text">
- <string>1.0</string>
- </property>
- </widget>
- <widget class="TQLabel" row="0" column="0">
- <property name="name">
- <cstring>TextLabel7</cstring>
- </property>
- <property name="text">
- <string>All</string>
- </property>
- </widget>
- <widget class="TQLabel" row="0" column="2">
- <property name="name">
- <cstring>TextLabel8</cstring>
- </property>
- <property name="text">
- <string>1.0</string>
- </property>
- </widget>
- <widget class="TQSlider" row="0" column="1">
- <property name="name">
- <cstring>gammaslider</cstring>
- </property>
- <property name="palette">
- <palette>
- <active>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>127</red>
- <green>127</green>
- <blue>127</blue>
- </color>
- <color>
- <red>170</red>
- <green>170</green>
- <blue>170</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>220</red>
- <green>220</green>
- <blue>220</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>95</green>
- <blue>137</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- </active>
- <disabled>
- <color>
- <red>128</red>
- <green>128</green>
- <blue>128</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>127</red>
- <green>127</green>
- <blue>127</blue>
- </color>
- <color>
- <red>170</red>
- <green>170</green>
- <blue>170</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>128</red>
- <green>128</green>
- <blue>128</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>220</red>
- <green>220</green>
- <blue>220</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>95</green>
- <blue>137</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- </disabled>
- <inactive>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>127</red>
- <green>127</green>
- <blue>127</blue>
- </color>
- <color>
- <red>170</red>
- <green>170</green>
- <blue>170</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>220</red>
- <green>220</green>
- <blue>220</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>95</green>
- <blue>137</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- </inactive>
- </palette>
- </property>
- <property name="maxValue">
- <number>400</number>
- </property>
- <property name="value">
- <number>100</number>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- </widget>
- <widget class="TQLabel" row="2" column="0">
- <property name="name">
- <cstring>TextLabel1_2</cstring>
- </property>
- <property name="text">
- <string>Red</string>
- </property>
- </widget>
- <widget class="TQLabel" row="2" column="2">
- <property name="name">
- <cstring>rlabel</cstring>
- </property>
- <property name="text">
- <string>1.0</string>
- </property>
- </widget>
- <widget class="TQSlider" row="2" column="1">
- <property name="name">
- <cstring>rslider</cstring>
- </property>
- <property name="palette">
- <palette>
- <active>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>127</green>
- <blue>127</blue>
- </color>
- <color>
- <red>255</red>
- <green>63</green>
- <blue>63</blue>
- </color>
- <color>
- <red>127</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>170</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>220</red>
- <green>220</green>
- <blue>220</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>95</green>
- <blue>137</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- </active>
- <disabled>
- <color>
- <red>128</red>
- <green>128</green>
- <blue>128</blue>
- </color>
- <color>
- <red>255</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>127</green>
- <blue>127</blue>
- </color>
- <color>
- <red>255</red>
- <green>38</green>
- <blue>38</blue>
- </color>
- <color>
- <red>127</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>170</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>128</red>
- <green>128</green>
- <blue>128</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>220</red>
- <green>220</green>
- <blue>220</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>95</green>
- <blue>137</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- </disabled>
- <inactive>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>127</green>
- <blue>127</blue>
- </color>
- <color>
- <red>255</red>
- <green>38</green>
- <blue>38</blue>
- </color>
- <color>
- <red>127</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>170</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>220</red>
- <green>220</green>
- <blue>220</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>95</green>
- <blue>137</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- </inactive>
- </palette>
- </property>
- <property name="maxValue">
- <number>400</number>
- </property>
- <property name="value">
- <number>100</number>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- </widget>
- <spacer row="3" column="1">
- <property name="name">
- <cstring>Spacer2</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <spacer row="1" column="1">
- <property name="name">
- <cstring>Spacer4</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="TQPushButton" row="8" column="0" rowspan="1" colspan="3">
- <property name="name">
- <cstring>PushButton3</cstring>
- </property>
- <property name="text">
- <string>Set all to 1.0</string>
- </property>
- </widget>
- <widget class="GammaView" row="0" column="3" rowspan="9" colspan="1">
- <property name="name">
- <cstring>MyCustomWidget1</cstring>
- </property>
- </widget>
- <spacer row="7" column="1">
- <property name="name">
- <cstring>Spacer5</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </grid>
- </widget>
- <widget class="TQButtonGroup" row="0" column="0">
- <property name="name">
- <cstring>ButtonGroup1</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>5</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="title">
- <string>Size</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>size_240_320</cstring>
- </property>
- <property name="text">
- <string>240x320 "PDA"</string>
- </property>
- </widget>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>size_320_240</cstring>
- </property>
- <property name="text">
- <string>320x240 "TV"</string>
- </property>
- </widget>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>size_640_480</cstring>
- </property>
- <property name="text">
- <string>640x480 "VGA"</string>
- </property>
- </widget>
- <widget class="TQLayoutWidget">
- <property name="name">
- <cstring>Layout1_2</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>size_custom</cstring>
- </property>
- <property name="text">
- <string>Custom</string>
- </property>
- </widget>
- <widget class="TQSpinBox">
- <property name="name">
- <cstring>size_width</cstring>
- </property>
- <property name="maxValue">
- <number>1280</number>
- </property>
- <property name="minValue">
- <number>1</number>
- </property>
- <property name="lineStep">
- <number>16</number>
- </property>
- <property name="value">
- <number>400</number>
- </property>
- </widget>
- <widget class="TQSpinBox">
- <property name="name">
- <cstring>size_height</cstring>
- </property>
- <property name="maxValue">
- <number>1024</number>
- </property>
- <property name="minValue">
- <number>1</number>
- </property>
- <property name="lineStep">
- <number>16</number>
- </property>
- <property name="value">
- <number>300</number>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="TQLayoutWidget">
- <property name="name">
- <cstring>Layout8</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>size_skin</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Skin</string>
- </property>
- </widget>
- <widget class="TQComboBox">
- <item>
- <property name="text">
- <string>pda.skin</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>ipaq.skin</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>qpe.skin</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>cassiopeia.skin</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>other.skin</string>
- </property>
- </item>
- <property name="name">
- <cstring>skin</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </hbox>
- </widget>
- </vbox>
- </widget>
- <widget class="TQLabel" row="1" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>TextLabel1</cstring>
- </property>
- <property name="text">
- <string>&lt;p&gt;Note that any applications using the virtual framebuffer will be terminated if you change the Size or Depth &lt;i&gt;above&lt;/i&gt;. You may freely modify the Gamma &lt;i&gt;below&lt;/i&gt;.</string>
- </property>
- </widget>
- </grid>
-</widget>
-<customwidgets>
- <customwidget>
- <class>GammaView</class>
- <header location="local">gammaview.h</header>
- <sizehint>
- <width>64</width>
- <height>64</height>
- </sizehint>
- <container>0</container>
- <sizepolicy>
- <hordata>3</hordata>
- <verdata>3</verdata>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- <pixmap>image0</pixmap>
- </customwidget>
-</customwidgets>
-<images>
- <image name="image0">
- <data format="XPM.GZ" length="646">789c6dd2c10ac2300c00d07bbf2234b7229d1be245fc04c5a3201e4615f430059d0711ff5ddb2e6bb236ec90eed134cb5a19d8ef36602af5ecdbfeeac05dda0798d3abebde87e3faa374d3807fa0d633a52d38d8de6f679fe33fc776e196f53cd010188256a3600a292882096246517815ca99884606e18044a3a40d91824820924265a7923a2e8bcd05f33db1173e002913175f2a6be6d3294871a2d95fa00e8a94ee017b69d339d90df1e77c57ea072ede6758</data>
- </image>
-</images>
-<connections>
- <connection>
- <sender>buttonOk</sender>
- <signal>clicked()</signal>
- <receiver>Config</receiver>
- <slot>accept()</slot>
- </connection>
- <connection>
- <sender>buttonCancel</sender>
- <signal>clicked()</signal>
- <receiver>Config</receiver>
- <slot>reject()</slot>
- </connection>
-</connections>
-<pixmapinproject/>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/tools/qvfb/gammaview.h b/tools/qvfb/gammaview.h
deleted file mode 100644
index 268c83928..000000000
--- a/tools/qvfb/gammaview.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt/Embedded virtual framebuffer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#ifndef GAMMAVIEW_H
-#define GAMMAVIEW_H
-
-#include <ntqwidget.h>
-
-class GammaView: public TQWidget
-{
- TQ_OBJECT
-public:
- GammaView( TQWidget *parent = 0,
- const char *name = 0, WFlags f = 0 ) :
- TQWidget(parent,name,f)
- { }
-};
-
-#endif
diff --git a/tools/qvfb/images/logo.png b/tools/qvfb/images/logo.png
deleted file mode 100644
index 0cb2b6822..000000000
--- a/tools/qvfb/images/logo.png
+++ /dev/null
Binary files differ
diff --git a/tools/qvfb/main.cpp b/tools/qvfb/main.cpp
deleted file mode 100644
index 552515840..000000000
--- a/tools/qvfb/main.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/**********************************************************************
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt/Embedded virtual framebuffer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "qvfb.h"
-
-#include <ntqapplication.h>
-#include <ntqpainter.h>
-#include <ntqregexp.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-
-void usage( const char *app )
-{
- printf( "Usage: %s [-width width] [-height height] [-depth depth] "
- "[-nocursor] [-qwsdisplay :id]\n"
- "Supported depths: 1, 4, 8, 32\n", app );
-}
-
-int main( int argc, char *argv[] )
-{
- TQApplication app( argc, argv );
-
- int width = 240;
- int height = 320;
- int depth = 32;
- bool cursor = TRUE;
- TQString displaySpec( ":0" );
- TQString skin;
-
- for ( int i = 1; i < argc; i++ ){
- TQString arg = argv[i];
- if ( arg == "-width" ) {
- width = atoi( argv[++i] );
- } else if ( arg == "-height" ) {
- height = atoi( argv[++i] );
- } else if ( arg == "-skin" ) {
- skin = argv[++i];
- } else if ( arg == "-depth" ) {
- depth = atoi( argv[++i] );
- } else if ( arg == "-nocursor" ) {
- cursor = FALSE;
- } else if ( arg == "-qwsdisplay" ) {
- displaySpec = argv[++i];
- } else {
- printf( "Unknown parameter %s\n", arg.latin1() );
- usage( argv[0] );
- exit(1);
- }
- }
-
- int displayId = 0;
- TQRegExp rx( ":[0-9]" );
- int m = rx.search( displaySpec, 0 );
- if ( m >= 0 ) {
- displayId = displaySpec.mid( m+1, rx.matchedLength()-1 ).toInt();
- }
-
- tqDebug( "Using display %d", displayId );
-
- TQVFb mw( displayId, width, height, depth, skin );
- app.setMainWidget( &mw );
- mw.enableCursor(cursor);
- mw.show();
-
- return app.exec();
-}
diff --git a/tools/qvfb/pda.skin b/tools/qvfb/pda.skin
deleted file mode 100644
index 135e6b67f..000000000
--- a/tools/qvfb/pda.skin
+++ /dev/null
@@ -1,15 +0,0 @@
-pda_up.png pda_down.png
-57 81
-240 320
-0.5
-11
-"Power" 0x100a 277 36 302 57
-"F1" 0x1030 52 439 81 470
-"F2" 0x1031 101 422 130 451
-"F3" 0x1032 232 423 260 452
-"F4" 0x1033 279 445 309 473
-"Left" 0x1012 155 438 176 472
-"Down" 0x1015 169 471 203 486
-"Right" 0x1014 193 448 215 472
-"Up" 0x1013 166 427 199 451
-"Enter" 0x1005 177 448 193 468
diff --git a/tools/qvfb/pda_down.png b/tools/qvfb/pda_down.png
deleted file mode 100644
index bc1f5ee75..000000000
--- a/tools/qvfb/pda_down.png
+++ /dev/null
Binary files differ
diff --git a/tools/qvfb/pda_up.png b/tools/qvfb/pda_up.png
deleted file mode 100644
index 05e97df3a..000000000
--- a/tools/qvfb/pda_up.png
+++ /dev/null
Binary files differ
diff --git a/tools/qvfb/qanimationwriter.cpp b/tools/qvfb/qanimationwriter.cpp
deleted file mode 100644
index a7cb7635e..000000000
--- a/tools/qvfb/qanimationwriter.cpp
+++ /dev/null
@@ -1,422 +0,0 @@
-/**********************************************************************
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt/Embedded virtual framebuffer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "qanimationwriter.h"
-
-#define QT_CLEAN_NAMESPACE
-#include <ntqfile.h>
-
-#include <png.h>
-#include <netinet/in.h> // for htonl
-
-class TQAnimationWriterData {
-public:
- TQAnimationWriterData(TQIODevice* d) : dev(d)
- {
- framerate = 1000;
- }
- void setFrameRate(int d) { framerate = d; }
- virtual ~TQAnimationWriterData() { }
- virtual void setImage(const TQImage& src)=0;
- virtual bool canCompose() const { return FALSE; }
- virtual void composeImage(const TQImage&, const TQPoint& ) { }
-
-protected:
- int framerate;
- TQIODevice* dev;
-};
-
-
-class TQAnimationWriterMNG : public TQAnimationWriterData {
- bool first;
- png_structp png_ptr;
- png_infop info_ptr;
-public:
- TQAnimationWriterMNG(TQIODevice* d) : TQAnimationWriterData(d)
- {
- first = TRUE;
- begin_png();
- }
-
- ~TQAnimationWriterMNG()
- {
- if ( first ) {
- // Eh? Not images.
- TQImage dummy(1,1,32);
- setImage(dummy);
- }
- writeMEND();
- end_png();
- }
-
- void begin_png()
- {
- png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,0,0,0);
- info_ptr = png_create_info_struct(png_ptr);
- png_set_compression_level(png_ptr,9);
- png_set_write_fn(png_ptr, (void*)this, write, 0);
- }
-
- void end_png()
- {
- png_destroy_write_struct(&png_ptr, &info_ptr);
- }
-
-
- static void write( png_structp png_ptr, png_bytep data, png_size_t length)
- {
- TQAnimationWriterMNG* that = (TQAnimationWriterMNG*)png_get_io_ptr(png_ptr);
- /*uint nw =*/ that->dev->writeBlock((const char*)data,length);
- }
-
- void writePNG(const TQImage& image)
- {
-#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 )
-#warning XXXtnn not too sure about this
-/*
-according to png.h, channels is only used on read, not writes, so we
-should be able to comment this out.
-*/
-#else /* LIBPNG 1.5 */
- info_ptr->channels = 4;
-#endif
- png_set_sig_bytes(png_ptr, 8); // Pretend we already wrote the sig
- png_set_IHDR(png_ptr, info_ptr, image.width(), image.height(),
- 8, image.hasAlphaBuffer()
- ? PNG_COLOR_TYPE_RGB_ALPHA : PNG_COLOR_TYPE_RGB,
- 0, 0, 0);
- png_write_info(png_ptr, info_ptr);
- if ( !image.hasAlphaBuffer() )
- png_set_filler(png_ptr, 0,
- TQImage::systemByteOrder() == TQImage::BigEndian ?
- PNG_FILLER_BEFORE : PNG_FILLER_AFTER);
- //if ( TQImage::systemByteOrder() == TQImage::BigEndian ) {
- //png_set_swap_alpha(png_ptr);
- //}
- if ( TQImage::systemByteOrder() == TQImage::LittleEndian ) {
- png_set_bgr(png_ptr);
- }
-
- png_bytep* row_pointers;
- uint height = image.height();
- uchar** jt = image.jumpTable();
- row_pointers=new png_bytep[height];
- uint y;
- for (y=0; y<height; y++) {
- row_pointers[y]=jt[y];
- }
- png_write_image(png_ptr, row_pointers);
- delete [] row_pointers;
- png_write_end(png_ptr, info_ptr);
- end_png();
- begin_png();
- }
-
- void writeMHDR( const TQSize& size, int framerate )
- {
- dev->writeBlock("\212MNG\r\n\032\n", 8);
-
- struct {
- int width;
- int height;
- int framerate;
- int a,b,c;
- int profile;
- } chunk;
- chunk.width = htonl(size.width());
- chunk.height = htonl(size.height());
- chunk.framerate = htonl(framerate);
- chunk.a=0;
- chunk.b=0;
- chunk.c=0;
- chunk.profile= htonl(0x00000003);
-
- png_write_chunk(png_ptr, (png_byte*)"MHDR", (png_byte*)&chunk, sizeof(chunk));
- }
-
- void writeMEND()
- {
- png_write_chunk(png_ptr, (png_byte*)"MEND", 0, 0);
- }
-
- void writeDEFI( const TQPoint& offset, const TQSize& size )
- {
- struct {
- ushort o;
- uchar s;
- uchar concrete;
- int x,y;
- int lc,rc,tc,bc;
- } chunk;
- chunk.o=0;
- chunk.s=0;
- chunk.concrete=1;
- chunk.x=htonl(offset.x());
- chunk.y=htonl(offset.y());
- chunk.lc=0;
- chunk.rc=0;
- chunk.tc=htonl(INT_MAX);
- chunk.bc=htonl(INT_MAX);
-
- png_write_chunk(png_ptr, (png_byte*)"DEFI", (png_byte*)&chunk, sizeof(chunk));
- }
-
- void writeFRAM( const TQSize& size )
- {
- struct {
- uchar mode;
- uchar n;
- uchar nu;
- uchar d;
- uchar t;
- uchar clip;
- uchar s;
- uchar deltatype;
- uint left;
- uint right;
- uint top;
- uint bottom;
- } chunk;
- chunk.mode=1;
- chunk.n='a';
- chunk.nu=0;
- chunk.d=0;
- chunk.clip=1;
- chunk.t=0;
- chunk.s=0;
- chunk.deltatype=0;
- chunk.left=0;
- chunk.right=htonl(size.width());
- chunk.top=0;
- chunk.bottom=htonl(size.height());
-
- png_write_chunk(png_ptr, (png_byte*)"FRAM", (png_byte*)&chunk, sizeof(chunk));
- }
-
- void writeMOVE( const TQPoint& offset )
- {
- struct {
- uchar filler[3];
- uchar z[5];
- int x,y;
- } chunk;
- memset(chunk.z,0,5);
- chunk.x=htonl(offset.x());
- chunk.y=htonl(offset.y());
-
- png_write_chunk(png_ptr, (png_byte*)"MOVE", ((png_byte*)&chunk)+3, sizeof(chunk)-3);
- }
-
- void setImage(const TQImage& src)
- {
- if ( first ) {
- first = FALSE;
- writeMHDR(src.size(),framerate);
- }
- composeImage(src,TQPoint(0,0));
- }
-
- bool canCompose() const { return TRUE; }
-
- void composeImage(const TQImage& src, const TQPoint& offset)
- {
- writeMOVE(offset);
- //writeFRAM(src.size());
- writePNG(src);
- }
-};
-
-TQAnimationWriter::TQAnimationWriter( const TQString& filename, const char* format )
-{
- if ( TQCString(format) != "MNG" ) {
- tqWarning("Format \"%s\" not supported, only MNG", format);
- dev = 0;
- d = 0;
- } else {
- TQFile *f = new TQFile(filename);
- f->open(IO_WriteOnly);
- dev = f;
- d = new TQAnimationWriterMNG(dev);
- }
-}
-
-bool TQAnimationWriter::okay() const
-{
- return dev && dev->status() == IO_Ok;
-}
-
-TQAnimationWriter::~TQAnimationWriter()
-{
- delete d;
- delete dev;
-}
-
-void TQAnimationWriter::setFrameRate(int r)
-{
- if (d) d->setFrameRate(r);
-}
-
-void TQAnimationWriter::appendFrame(const TQImage& frm, const TQPoint& offset)
-{
- TQImage frame = frm.convertDepth(32);
- const int alignx = 1;
- if ( dev ) {
- if ( prev.isNull() || !d->canCompose() ) {
- d->setImage(frame);
- } else {
- bool done;
- int minx, maxx, miny, maxy;
- int w = frame.width();
- int h = frame.height();
-
- TQRgb** jt = (TQRgb**)frame.jumpTable();
- TQRgb** pjt = (TQRgb**)prev.jumpTable() + offset.y();
-
- // Find left edge of change
- done = FALSE;
- for (minx = 0; minx < w && !done; minx++) {
- for (int ty = 0; ty < h; ty++) {
- if ( jt[ty][minx] != pjt[ty][minx+offset.x()] ) {
- done = TRUE;
- break;
- }
- }
- }
- minx--;
-
- // Find right edge of change
- done = FALSE;
- for (maxx = w-1; maxx >= 0 && !done; maxx--) {
- for (int ty = 0; ty < h; ty++) {
- if ( jt[ty][maxx] != pjt[ty][maxx+offset.x()] ) {
- done = TRUE;
- break;
- }
- }
- }
- maxx++;
-
- // Find top edge of change
- done = FALSE;
- for (miny = 0; miny < h && !done; miny++) {
- for (int tx = 0; tx < w; tx++) {
- if ( jt[miny][tx] != pjt[miny][tx+offset.x()] ) {
- done = TRUE;
- break;
- }
- }
- }
- miny--;
-
- // Find right edge of change
- done = FALSE;
- for (maxy = h-1; maxy >= 0 && !done; maxy--) {
- for (int tx = 0; tx < w; tx++) {
- if ( jt[maxy][tx] != pjt[maxy][tx+offset.x()] ) {
- done = TRUE;
- break;
- }
- }
- }
- maxy++;
-
- if ( minx > maxx ) minx=maxx=0;
- if ( miny > maxy ) miny=maxy=0;
-
- if ( alignx > 1 ) {
- minx -= minx % alignx;
- maxx = maxx - maxx % alignx + alignx - 1;
- }
-
- int dw = maxx-minx+1;
- int dh = maxy-miny+1;
-
- TQImage diff(dw, dh, 32);
-
- diff.setAlphaBuffer(TRUE);
- int x, y;
- for (y = 0; y < dh; y++) {
- TQRgb* li = (TQRgb*)frame.scanLine(y+miny)+minx;
- TQRgb* lp = (TQRgb*)prev.scanLine(y+miny+offset.y())+minx+offset.x();
- TQRgb* ld = (TQRgb*)diff.scanLine(y);
- if ( alignx ) {
- for (x = 0; x < dw; x+=alignx) {
- int i;
- for (i=0; i<alignx; i++) {
- if ( li[x+i] != lp[x+i] )
- break;
- }
- if ( i == alignx ) {
- // All the same
- for (i=0; i<alignx; i++) {
- ld[x+i] = tqRgba(0,0,0,0);
- }
- } else {
- // Some different
- for (i=0; i<alignx; i++) {
- ld[x+i] = 0xff000000 | li[x+i];
- }
- }
- }
- } else {
- for (x = 0; x < dw; x++) {
- if ( li[x] != lp[x] )
- ld[x] = 0xff000000 | li[x];
- else
- ld[x] = tqRgba(0,0,0,0);
- }
- }
- }
-tqDebug("%d,%d %d,%d",minx,miny,offset.x(),offset.y());
- d->composeImage(diff,TQPoint(minx,miny)+offset);
- }
- if ( prev.isNull() || ( prev.size() == frame.size() && offset == TQPoint(0,0) ) ) {
- prev = frame;
- } else {
- bitBlt(&prev,offset.x(),offset.y(),&frame,0,0,frame.width(),frame.height());
- }
- }
-}
-
-void TQAnimationWriter::appendFrame(const TQImage& frm)
-{
- appendFrame(frm,TQPoint(0,0));
-}
-
-void TQAnimationWriter::appendBlankFrame()
-{
- TQImage i(1,1,32);
- i.setAlphaBuffer(TRUE);
- i.fill(0);
- d->composeImage(i,TQPoint(0,0));
-}
diff --git a/tools/qvfb/qanimationwriter.h b/tools/qvfb/qanimationwriter.h
deleted file mode 100644
index 13e8ea136..000000000
--- a/tools/qvfb/qanimationwriter.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/**********************************************************************
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt/Embedded virtual framebuffer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#ifndef TQANIMATIONWRITER_H
-#define TQANIMATIONWRITER_H
-
-#include <ntqimage.h>
-
-class TQAnimationWriterData;
-
-class TQAnimationWriter
-{
-public:
- TQAnimationWriter( const TQString& filename, const char* format="MNG" );
- ~TQAnimationWriter();
-
- bool okay() const;
- void setFrameRate(int);
- void appendBlankFrame();
- void appendFrame(const TQImage&);
- void appendFrame(const TQImage&, const TQPoint& offset);
-
-private:
- TQImage prev;
- TQIODevice* dev;
- TQAnimationWriterData* d;
-};
-
-#endif
diff --git a/tools/qvfb/qvfb.cpp b/tools/qvfb/qvfb.cpp
deleted file mode 100644
index 91f4d7052..000000000
--- a/tools/qvfb/qvfb.cpp
+++ /dev/null
@@ -1,389 +0,0 @@
-/**********************************************************************
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt/Embedded virtual framebuffer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "qvfb.h"
-#include "qvfbview.h"
-#include "qvfbratedlg.h"
-#include "config.h"
-#include "skin.h"
-
-#include <ntqmenubar.h>
-#include <ntqpopupmenu.h>
-#include <ntqapplication.h>
-#include <ntqmessagebox.h>
-#include <ntqcombobox.h>
-#include <ntqlabel.h>
-#include <ntqfiledialog.h>
-#include <ntqslider.h>
-#include <ntqspinbox.h>
-#include <ntqradiobutton.h>
-#include <ntqimage.h>
-#include <ntqpixmap.h>
-#include <ntqcursor.h>
-#include <ntqdragobject.h>
-#include <ntqcheckbox.h>
-
-TQVFb::TQVFb( int display_id, int w, int h, int d, const TQString &skin, TQWidget *parent,
- const char *name, uint flags )
- : TQMainWindow( parent, name, flags )
-{
- const TQMimeSource *m = TQMimeSourceFactory::defaultFactory()->data( "logo.png" );
- if ( m ) {
- TQPixmap pix;
- TQImageDrag::decode( m, pix );
- setIcon( pix );
- }
-
- imagesave = new TQFileDialog( this, 0, TRUE );
-
- rateDlg = 0;
- view = 0;
- init( display_id, w, h, d, skin );
- createMenu( menuBar() );
- adjustSize();
-}
-
-TQVFb::~TQVFb()
-{
-}
-
-void TQVFb::popupMenu()
-{
- TQPopupMenu *pm = new TQPopupMenu( this );
- createMenu( pm );
- pm->exec(TQCursor::pos());
-}
-
-void TQVFb::init( int display_id, int w, int h, int d, const TQString &skin_name )
-{
- setCaption( TQString("Virtual framebuffer %1x%2 %3bpp Display :%4")
- .arg(w).arg(h).arg(d).arg(display_id) );
- delete view;
-
- if ( !skin_name.isEmpty() && TQFile::exists(skin_name) ) {
- bool vis = isVisible();
- if ( vis ) hide();
- menuBar()->hide();
- Skin *skin = new Skin( this, skin_name, w, h );
- view = new TQVFbView( display_id, w, h, d, skin );
- skin->setView( view );
- view->setMargin( 0 );
- view->setFrameStyle( TQFrame::NoFrame );
- view->setFixedSize( w, h );
- setCentralWidget( skin );
- adjustSize();
- view->show();
- if ( vis ) show();
- } else {
- if ( !currentSkin.isEmpty() ) {
- clearMask();
- reparent( 0, 0, pos(), TRUE );
- }
- menuBar()->show();
- view = new TQVFbView( display_id, w, h, d, this );
- view->setMargin( 0 );
- view->setFrameStyle( TQFrame::NoFrame );
- setCentralWidget( view );
- resize( sizeHint() );
- view->show();
- }
-
- currentSkin = skin_name;
-}
-
-void TQVFb::enableCursor( bool e )
-{
- view->viewport()->setCursor( e ? ArrowCursor : BlankCursor );
- viewMenu->setItemChecked( cursorId, e );
-}
-
-void TQVFb::createMenu(TQMenuData *menu)
-{
- TQPopupMenu *file = new TQPopupMenu( this );
- file->insertItem( "&Configure...", this, SLOT(configure()), ALT+CTRL+Key_C );
- file->insertSeparator();
- file->insertItem( "&Save image...", this, SLOT(saveImage()), ALT+CTRL+Key_S );
- file->insertItem( "&Animation...", this, SLOT(toggleAnimation()), ALT+CTRL+Key_A );
- file->insertSeparator();
- file->insertItem( "&Quit", tqApp, SLOT(quit()) );
-
- menu->insertItem( "&File", file );
-
- viewMenu = new TQPopupMenu( this );
- viewMenu->setCheckable( TRUE );
- cursorId = viewMenu->insertItem( "Show &Cursor", this, SLOT(toggleCursor()) );
- enableCursor(TRUE);
- viewMenu->insertItem( "&Refresh Rate...", this, SLOT(changeRate()) );
- viewMenu->insertSeparator();
- viewMenu->insertItem( "Zoom scale &1", this, SLOT(setZoom1()) );
- viewMenu->insertItem( "Zoom scale &2", this, SLOT(setZoom2()) );
- viewMenu->insertItem( "Zoom scale &3", this, SLOT(setZoom3()) );
- viewMenu->insertItem( "Zoom scale &4", this, SLOT(setZoom4()) );
- viewMenu->insertItem( "Zoom scale &0.5", this, SLOT(setZoomHalf()) );
-
- menu->insertItem( "&View", viewMenu );
-
- TQPopupMenu *help = new TQPopupMenu( this );
- help->insertItem("&About", this, SLOT(about()));
- help->insertItem("About &TQt", this, SLOT(aboutTQt()));
- menu->insertSeparator();
- menu->insertItem( "&Help", help );
-}
-
-void TQVFb::setZoom(double z)
-{
- view->setZoom(z);
-}
-
-void TQVFb::setZoomHalf()
-{
- setZoom(0.5);
-}
-
-void TQVFb::setZoom1()
-{
- setZoom(1);
-}
-
-void TQVFb::setZoom2()
-{
- setZoom(2);
-}
-
-void TQVFb::setZoom3()
-{
- setZoom(3);
-}
-
-void TQVFb::setZoom4()
-{
- setZoom(4);
-}
-
-void TQVFb::saveImage()
-{
- TQImage img = view->image();
- TQString filename = imagesave->getSaveFileName("snapshot.png", "*.png", this, "", "Save Image");
- if ( !!filename )
- img.save(filename,"PNG");
-}
-
-void TQVFb::toggleAnimation()
-{
- if ( view->animating() ) {
- view->stopAnimation();
- } else {
- TQString filename = imagesave->getSaveFileName("animation.mng", "*.mng", this, "", "Save animation");
- if ( !filename ) {
- view->stopAnimation();
- } else {
- view->startAnimation(filename);
- }
- }
-}
-
-void TQVFb::toggleCursor()
-{
- enableCursor( !viewMenu->isItemChecked( cursorId ) );
-}
-
-void TQVFb::changeRate()
-{
- if ( !rateDlg ) {
- rateDlg = new TQVFbRateDialog( view->rate(), this );
- connect( rateDlg, SIGNAL(updateRate(int)), view, SLOT(setRate(int)) );
- }
-
- rateDlg->show();
-}
-
-void TQVFb::about()
-{
-#if defined( Q_WS_MAC )
- TQString platform("Mac OS X");
- TQString qt("Mac");
-#elif defined( Q_WS_WIN )
- TQString platform("Windows");
- TQString qt("Windows");
-#else
- TQString platform("X11");
- TQString qt("X11");
-#endif
- TQMessageBox::about(this, "About TQVFB",
- "<p><b><font size=+2>TQt/Embedded Virtual " + platform + " Framebuffer</font></b></p>"
- "<p></p>"
- "<p>Version 1.0</p>"
- "<p>Copyright (C) 2001-2008 Trolltech ASA. All rights reserved.</p>"
- "<p></p>"
- "<p>This program is licensed to you under the terms of the GNU General "
- "Public License Version 2 as published by the Free Software Foundation. This "
- "gives you legal permission to copy, distribute and/or modify this software "
- "under certain conditions. For details, see the file 'LICENSE.GPL' that came with "
- "this software distribution. If you did not get the file, send email to "
- "info@trolltech.com.</p>\n\n<p>The program is provided AS IS with NO WARRANTY "
- "OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS "
- "FOR A PARTICULAR PURPOSE.</p>"
- );
-}
-
-void TQVFb::aboutTQt()
-{
- TQMessageBox::aboutTQt( this, tr("TQVFB") );
-}
-
-void TQVFb::configure()
-{
- config = new Config(this,0,TRUE);
-
- int w = view->displayWidth();
- int h = view->displayHeight();
- TQString skin;
- config->size_width->setValue(w);
- config->size_height->setValue(h);
- config->size_custom->setChecked(TRUE); // unless changed by settings below
- config->size_240_320->setChecked(w==240&&h==320);
- config->size_320_240->setChecked(w==320&&h==240);
- config->size_640_480->setChecked(w==640&&h==480);
- config->skin->setEditable(TRUE);
- if (!currentSkin.isNull()) {
- config->size_skin->setChecked(TRUE);
- config->skin->setEditText(currentSkin);
- }
- config->touchScreen->setChecked(view->touchScreenEmulation());
- config->depth_1->setChecked(view->displayDepth()==1);
- config->depth_4gray->setChecked(view->displayDepth()==4);
- config->depth_8->setChecked(view->displayDepth()==8);
- config->depth_12->setChecked(view->displayDepth()==12);
- config->depth_16->setChecked(view->displayDepth()==16);
- config->depth_32->setChecked(view->displayDepth()==32);
- if ( view->gammaRed() == view->gammaGreen() && view->gammaGreen() == view->gammaBlue() ) {
- config->gammaslider->setValue(int(view->gammaRed()*400));
- config->rslider->setValue(100);
- config->gslider->setValue(100);
- config->bslider->setValue(100);
- } else {
- config->gammaslider->setValue(100);
- config->rslider->setValue(int(view->gammaRed()*400));
- config->gslider->setValue(int(view->gammaGreen()*400));
- config->bslider->setValue(int(view->gammaBlue()*400));
- }
- connect(config->gammaslider, SIGNAL(valueChanged(int)), this, SLOT(setGamma400(int)));
- connect(config->rslider, SIGNAL(valueChanged(int)), this, SLOT(setR400(int)));
- connect(config->gslider, SIGNAL(valueChanged(int)), this, SLOT(setG400(int)));
- connect(config->bslider, SIGNAL(valueChanged(int)), this, SLOT(setB400(int)));
- updateGammaLabels();
-
- double ogr=view->gammaRed(), ogg=view->gammaGreen(), ogb=view->gammaBlue();
-
- if ( config->exec() ) {
- int id = view->displayId(); // not settable yet
- if ( config->size_240_320->isChecked() ) {
- w=240; h=320;
- } else if ( config->size_320_240->isChecked() ) {
- w=320; h=240;
- } else if ( config->size_640_480->isChecked() ) {
- w=640; h=480;
- } else if ( config->size_skin->isChecked() ) {
- skin = config->skin->currentText();
- } else {
- w=config->size_width->value();
- h=config->size_height->value();
- }
- int d;
- if ( config->depth_1->isChecked() )
- d=1;
- else if ( config->depth_4gray->isChecked() )
- d=4;
- else if ( config->depth_8->isChecked() )
- d=8;
- else if ( config->depth_12->isChecked() )
- d=12;
- else if ( config->depth_16->isChecked() )
- d=16;
- else
- d=32;
-
- if ( w != view->displayWidth() || h != view->displayHeight()
- || d != view->displayDepth() || skin != currentSkin )
- init( id, w, h, d, skin );
- view->setTouchscreenEmulation( config->touchScreen->isChecked() );
- } else {
- view->setGamma(ogr, ogg, ogb);
- }
-
- delete config;
- config=0;
-}
-
-void TQVFb::setGamma400(int n)
-{
- double g = n/100.0;
- view->setGamma(config->rslider->value()/100.0*g,
- config->gslider->value()/100.0*g,
- config->bslider->value()/100.0*g);
- updateGammaLabels();
-}
-
-void TQVFb::setR400(int n)
-{
- double g = n/100.0;
- view->setGamma(config->rslider->value()/100.0*g,
- view->gammaGreen(),
- view->gammaBlue());
- updateGammaLabels();
-}
-
-void TQVFb::setG400(int n)
-{
- double g = n/100.0;
- view->setGamma(view->gammaRed(),
- config->gslider->value()/100.0*g,
- view->gammaBlue());
- updateGammaLabels();
-}
-
-void TQVFb::setB400(int n)
-{
- double g = n/100.0;
- view->setGamma(view->gammaRed(),
- view->gammaGreen(),
- config->bslider->value()/100.0*g);
- updateGammaLabels();
-}
-
-void TQVFb::updateGammaLabels()
-{
- config->rlabel->setText(TQString::number(view->gammaRed(),'g',2));
- config->glabel->setText(TQString::number(view->gammaGreen(),'g',2));
- config->blabel->setText(TQString::number(view->gammaBlue(),'g',2));
-}
diff --git a/tools/qvfb/qvfb.h b/tools/qvfb/qvfb.h
deleted file mode 100644
index 518e1d76f..000000000
--- a/tools/qvfb/qvfb.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/**********************************************************************
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt/Embedded virtual framebuffer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include <ntqmainwindow.h>
-
-class TQVFbView;
-class TQVFbRateDialog;
-class TQPopupMenu;
-class TQMenuData;
-class TQFileDialog;
-class Config;
-
-class TQVFb: public TQMainWindow
-{
- TQ_OBJECT
-public:
- TQVFb( int display_id, int w, int h, int d, const TQString &skin, TQWidget *parent = 0,
- const char *name = 0, uint wflags = 0 );
- ~TQVFb();
-
- void enableCursor( bool e );
- void popupMenu();
-
-protected slots:
- void saveImage();
- void toggleAnimation();
- void toggleCursor();
- void changeRate();
- void about();
- void aboutTQt();
-
- void configure();
-
- void setZoom(double);
- void setZoom1();
- void setZoom2();
- void setZoom3();
- void setZoom4();
- void setZoomHalf();
-
-protected:
- void createMenu(TQMenuData *menu);
-
-private:
- void init( int display_id, int w, int h, int d, const TQString &skin );
- TQVFbView *view;
- TQVFbRateDialog *rateDlg;
- TQFileDialog* imagesave;
- TQPopupMenu *viewMenu;
- int cursorId;
- Config* config;
- TQString currentSkin;
-
-private slots:
- void setGamma400(int n);
- void setR400(int n);
- void setG400(int n);
- void setB400(int n);
- void updateGammaLabels();
-};
-
diff --git a/tools/qvfb/qvfb.pro b/tools/qvfb/qvfb.pro
deleted file mode 100644
index 7896e7c36..000000000
--- a/tools/qvfb/qvfb.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-TEMPLATE = app
-CONFIG += qt warn_on release
-HEADERS = qvfb.h qvfbview.h qvfbratedlg.h qanimationwriter.h \
- gammaview.h skin.h
-SOURCES = qvfb.cpp qvfbview.cpp qvfbratedlg.cpp \
- main.cpp qanimationwriter.cpp skin.cpp
-INTERFACES = config.ui
-IMAGES = images/logo.png
-TARGET = qvfb
-INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/libpng $$QT_SOURCE_TREE/src/3rdparty/zlib
-DEPENDPATH = ../../include
diff --git a/tools/qvfb/qvfbratedlg.cpp b/tools/qvfb/qvfbratedlg.cpp
deleted file mode 100644
index c10de3ef7..000000000
--- a/tools/qvfb/qvfbratedlg.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/**********************************************************************
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt/Embedded virtual framebuffer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "qvfbratedlg.h"
-
-#include <ntqlayout.h>
-#include <ntqlabel.h>
-#include <ntqslider.h>
-#include <ntqpushbutton.h>
-
-TQVFbRateDialog::TQVFbRateDialog( int rate, TQWidget *parent, const char *name,
- bool modal )
- : TQDialog( parent, name, modal )
-{
- oldRate = rate;
-
- TQVBoxLayout *tl = new TQVBoxLayout( this, 5 );
-
- TQLabel *label = new TQLabel( "Target frame rate:", this );
- tl->addWidget( label );
-
- TQHBoxLayout *hl = new TQHBoxLayout( tl );
- rateSlider = new TQSlider( 1, 100, 10, rate, TQSlider::Horizontal, this );
- hl->addWidget( rateSlider );
- connect( rateSlider, SIGNAL(valueChanged(int)), this, SLOT(rateChanged(int)) );
- rateLabel = new TQLabel( TQString( "%1fps" ).arg(rate), this );
- hl->addWidget( rateLabel );
-
- hl = new TQHBoxLayout( tl );
- TQPushButton *pb = new TQPushButton( "OK", this );
- connect( pb, SIGNAL(clicked()), this, SLOT(accept()) );
- hl->addWidget( pb );
- pb = new TQPushButton( "Cancel", this );
- connect( pb, SIGNAL(clicked()), this, SLOT(cancel()) );
- hl->addWidget( pb );
-}
-
-void TQVFbRateDialog::rateChanged( int r )
-{
- if ( rateSlider->value() != r )
- rateSlider->setValue( r );
- rateLabel->setText( TQString( "%1fps" ).arg(r) );
- emit updateRate(r);
-}
-
-void TQVFbRateDialog::cancel()
-{
- rateChanged( oldRate );
- reject();
-}
diff --git a/tools/qvfb/qvfbratedlg.h b/tools/qvfb/qvfbratedlg.h
deleted file mode 100644
index 2e514c5d2..000000000
--- a/tools/qvfb/qvfbratedlg.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/**********************************************************************
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt/Embedded virtual framebuffer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include <ntqdialog.h>
-
-class TQLabel;
-class TQSlider;
-
-class TQVFbRateDialog : public TQDialog
-{
- TQ_OBJECT
-public:
- TQVFbRateDialog( int value, TQWidget *parent=0, const char *name=0,
- bool modal=FALSE );
-
-signals:
- void updateRate( int r );
-
-protected slots:
- void rateChanged( int r );
- void cancel();
-
-private:
- TQLabel *rateLabel;
- TQSlider *rateSlider;
- int oldRate;
-};
-
-
diff --git a/tools/qvfb/qvfbview.cpp b/tools/qvfb/qvfbview.cpp
deleted file mode 100644
index 15e5ca53e..000000000
--- a/tools/qvfb/qvfbview.cpp
+++ /dev/null
@@ -1,615 +0,0 @@
-/**********************************************************************
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt/Embedded virtual framebuffer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "ntqglobal.h"
-#if !defined( Q_WS_QWS ) || defined( QT_NO_QWS_MULTIPROCESS )
-#define TQLock TQWSSemaphore
-#undef QT_NO_QWS_MULTIPROCESS
-#include "../../src/kernel/qlock.cpp"
-#else
-#include "qlock_p.h"
-#endif
-
-#include "qvfbview.h"
-#include "ntqvfbhdr.h"
-
-#define TQTE_PIPE "TQtEmbedded-%1"
-
-#include <ntqapplication.h>
-#include <ntqimage.h>
-#include <ntqbitmap.h>
-#include <ntqtimer.h>
-#include <ntqwmatrix.h>
-#include <ntqpainter.h>
-#include "qanimationwriter.h"
-
-#include <unistd.h>
-#include <sys/ipc.h>
-#include <sys/types.h>
-#include <sys/shm.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <math.h>
-
-//#define QT_QWS_EXPERIMENTAL_REVERSE_BIT_ENDIANNESS
-
-TQVFbView::TQVFbView( int display_id, int w, int h, int d, TQWidget *parent,
- const char *name, uint flags )
- : TQScrollView( parent, name, flags ), emulateTouchscreen(FALSE), qwslock(NULL)
-{
- displayid = display_id;
- viewport()->setMouseTracking( TRUE );
- viewport()->setFocusPolicy( StrongFocus );
- zm = 1;
- animation = 0;
- int actualdepth=d;
-
- switch ( d ) {
- case 12:
- actualdepth=16;
- break;
- case 1:
- case 4:
- case 8:
- case 16:
- case 32:
- break;
-
- default:
- tqFatal( "Unsupported bit depth %d\n", d );
- }
-
- mousePipe = TQString(QT_VFB_MOUSE_PIPE).arg(display_id);
- keyboardPipe = TQString(QT_VFB_KEYBOARD_PIPE).arg(display_id);
-
- unlink( mousePipe.latin1() );
- mkfifo( mousePipe.latin1(), 0666 );
-
- mouseFd = open( mousePipe.latin1(), O_RDWR | O_NDELAY );
- if ( mouseFd == -1 ) {
- tqFatal( "Cannot open mouse pipe" );
- }
-
- unlink( keyboardPipe );
- mkfifo( keyboardPipe, 0666 );
- keyboardFd = open( keyboardPipe, O_RDWR | O_NDELAY );
- if ( keyboardFd == -1 ) {
- tqFatal( "Cannot open keyboard pipe" );
- }
-
- key_t key = ftok( mousePipe.latin1(), 'b' );
-
- int bpl;
- if ( d == 1 )
- bpl = (w*d+7)/8;
- else
- bpl = ((w*actualdepth+31)/32)*4;
-
- int dataSize = bpl * h + sizeof( TQVFbHeader );
- shmId = shmget( key, dataSize, IPC_CREAT|0666);
- if ( shmId != -1 )
- data = (unsigned char *)shmat( shmId, 0, 0 );
- else {
- struct shmid_ds shm;
- shmctl( shmId, IPC_RMID, &shm );
- shmId = shmget( key, dataSize, IPC_CREAT|0666);
- data = (unsigned char *)shmat( shmId, 0, 0 );
- }
-
- if ( (long)data == -1 )
- tqFatal( "Cannot attach to shared memory" );
-
- hdr = (TQVFbHeader *)data;
- hdr->width = w;
- hdr->height = h;
- viewdepth = d;
- hdr->depth = actualdepth;
- hdr->linestep = bpl;
- hdr->numcols = 0;
- hdr->dataoffset = sizeof( TQVFbHeader );
- hdr->update = TQRect();
-
- resizeContents( w, h );
-
- timer = new TQTimer( this );
- connect( timer, SIGNAL(timeout()), this, SLOT(timeout()) );
-
- gammatable=0;
- setGamma(1.0,1.0,1.0);
- setRate( 30 );
-}
-
-TQVFbView::~TQVFbView()
-{
- stopAnimation();
- sendKeyboardData( 0, 0, 0, TRUE, FALSE ); // magic die key
- delete qwslock;
- struct shmid_ds shm;
- shmdt( (char*)data );
- shmctl( shmId, IPC_RMID, &shm );
- ::close( mouseFd );
- ::close( keyboardFd );
- unlink( mousePipe );
- unlink( keyboardPipe );
-}
-
-TQSize TQVFbView::sizeHint() const
-{
- int f = 2 * frameWidth();
- return TQSize( contentsWidth() + f, contentsHeight() + f );
-}
-
-void TQVFbView::setGamma(double gr, double gg, double gb)
-{
- if ( viewdepth < 12 )
- return; // not implemented
-
- gred=gr; ggreen=gg; gblue=gb;
-
- switch ( viewdepth ) {
- case 12:
- rsh = 12;
- gsh = 7;
- bsh = 1;
- rmax = 15;
- gmax = 15;
- bmax = 15;
- break;
- case 16:
- rsh = 11;
- gsh = 5;
- bsh = 0;
- rmax = 31;
- gmax = 63;
- bmax = 31;
- break;
- case 32:
- rsh = 16;
- gsh = 8;
- bsh = 0;
- rmax = 255;
- gmax = 255;
- bmax = 255;
- }
- int mm = TQMAX(rmax,TQMAX(gmax,bmax))+1;
- if ( gammatable )
- delete [] gammatable;
- gammatable = new TQRgb[mm];
- for (int i=0; i<mm; i++) {
- int r = int(pow(i,gr)*255/rmax);
- int g = int(pow(i,gg)*255/gmax);
- int b = int(pow(i,gb)*255/bmax);
- if ( r > 255 ) r = 255;
- if ( g > 255 ) g = 255;
- if ( b > 255 ) b = 255;
- gammatable[i] = tqRgb(r,g,b);
-//tqDebug("%d: %d,%d,%d",i,r,g,b);
- }
-
- setDirty(rect());
-}
-
-void TQVFbView::getGamma(int i, TQRgb& rgb)
-{
- if ( i > 255 ) i = 255;
- if ( i < 0 ) i = 0;
- rgb = tqRgb(tqRed(gammatable[i*rmax/255]),
- tqGreen(gammatable[i*rmax/255]),
- tqBlue(gammatable[i*rmax/255]));
-}
-
-int TQVFbView::displayId() const
-{
- return displayid;
-}
-
-int TQVFbView::displayWidth() const
-{
- return hdr->width;
-}
-
-int TQVFbView::displayHeight() const
-{
- return hdr->height;
-}
-
-int TQVFbView::displayDepth() const
-{
- return viewdepth;
-}
-
-void TQVFbView::setZoom( double z )
-{
- if ( zm != z ) {
- zm = z;
- setDirty(TQRect(0,0,hdr->width,hdr->height));
- resizeContents( int(hdr->width*z), int(hdr->height*z) );
- updateGeometry();
- tqApp->sendPostedEvents();
- topLevelWidget()->adjustSize();
- drawScreen();
- }
-}
-
-void TQVFbView::setRate( int r )
-{
- refreshRate = r;
- timer->start( 1000/r );
-}
-
-#ifndef Q_WS_QWS
-// Get the name of the directory where TQt/Embedded temporary data should
-// live.
-static TQString qws_dataDir()
-{
- TQString username = "unknown";
- const char *logname = getenv("LOGNAME");
- if ( logname )
- username = logname;
-
- TQString dataDir = "/tmp/qtembedded-" + username;
- if ( mkdir( dataDir.latin1(), 0700 ) ) {
- if ( errno != EEXIST ) {
- tqFatal( "Cannot create TQt/Embedded data directory: %s",
- dataDir.latin1() );
- }
- }
-
- struct stat buf;
- if ( lstat( dataDir.latin1(), &buf ) )
- tqFatal( "stat failed for TQt/Embedded data directory: %s",
- dataDir.latin1() );
-
- if ( !S_ISDIR( buf.st_mode ) )
- tqFatal( "%s is not a directory", dataDir.latin1() );
-
- if ( buf.st_uid != getuid() )
- tqFatal( "TQt/Embedded data directory is not owned by user %u",
- getuid() );
-
- if ( (buf.st_mode & 0677) != 0600 )
- tqFatal( "TQt/Embedded data directory has incorrect permissions: %s",
- dataDir.latin1() );
-
- dataDir += "/";
-
- return dataDir;
-}
-#endif
-
-void TQVFbView::initLock()
-{
- TQString username = "unknown";
- const char *logname = getenv("LOGNAME");
- if ( logname )
- username = logname;
- qwslock = new TQLock(qws_dataDir() + TQString( TQTE_PIPE ).arg( displayid ),
- 'd', TRUE);
-}
-
-void TQVFbView::lock()
-{
- if ( !qwslock )
- initLock();
- qwslock->lock(TQLock::Read);
-}
-
-void TQVFbView::unlock()
-{
- if ( qwslock )
- qwslock->unlock();
-}
-
-void TQVFbView::sendMouseData( const TQPoint &pos, int buttons )
-{
- write( mouseFd, &pos, sizeof( TQPoint ) );
- write( mouseFd, &buttons, sizeof( int ) );
-}
-
-void TQVFbView::sendKeyboardData( int unicode, int keycode, int modifiers,
- bool press, bool repeat )
-{
- TQVFbKeyData kd;
- kd.unicode = unicode | (keycode << 16);
- kd.modifiers = modifiers;
- kd.press = press;
- kd.repeat = repeat;
- write( keyboardFd, &kd, sizeof( TQVFbKeyData ) );
-}
-
-void TQVFbView::timeout()
-{
- lock();
- if ( animation ) {
- TQRect r( hdr->update );
- r = r.intersect( TQRect(0, 0, hdr->width, hdr->height ) );
- if ( r.isEmpty() ) {
- animation->appendBlankFrame();
- } else {
- int l;
- TQImage img = getBuffer( r, l );
- animation->appendFrame(img,TQPoint(r.x(),r.y()));
- }
- }
- if ( hdr->dirty ) {
- drawScreen();
- }
- unlock();
-}
-
-TQImage TQVFbView::getBuffer( const TQRect &r, int &leading ) const
-{
- switch ( viewdepth ) {
- case 12:
- case 16: {
- static unsigned char *imgData = 0;
- if ( !imgData ) {
- int bpl = ((hdr->width*32+31)/32)*4;
- imgData = new unsigned char [ bpl * hdr->height ];
- }
- TQImage img( imgData, r.width(), r.height(), 32, 0, 0, TQImage::IgnoreEndian );
- const int rsh = viewdepth == 12 ? 12 : 11;
- const int gsh = viewdepth == 12 ? 7 : 5;
- const int bsh = viewdepth == 12 ? 1 : 0;
- const int rmax = viewdepth == 12 ? 15 : 31;
- const int gmax = viewdepth == 12 ? 15 : 63;
- const int bmax = viewdepth == 12 ? 15 : 31;
- for ( int row = 0; row < r.height(); row++ ) {
- TQRgb *dptr = (TQRgb*)img.scanLine( row );
- ushort *sptr = (ushort*)(data + hdr->dataoffset + (r.y()+row)*hdr->linestep);
- sptr += r.x();
-#ifdef QT_QWS_REVERSE_BYTE_ENDIANNESS
- for ( int col=0; col < r.width()/2; col++ ) {
-#else
- for ( int col=0; col < r.width(); col++ ) {
-#endif
- ushort s = *sptr++;
-#ifdef QT_QWS_REVERSE_BYTE_ENDIANNESS
- ushort s2 = *sptr++;
- *dptr++ = tqRgb(tqRed(gammatable[(s2>>rsh)&rmax]),tqGreen(gammatable[(s2>>gsh)&gmax]),tqBlue(gammatable[(s2>>bsh)&bmax]));
-#endif
- *dptr++ = tqRgb(tqRed(gammatable[(s>>rsh)&rmax]),tqGreen(gammatable[(s>>gsh)&gmax]),tqBlue(gammatable[(s>>bsh)&bmax]));
- //*dptr++ = tqRgb(((s>>rsh)&rmax)*255/rmax,((s>>gsh)&gmax)*255/gmax,((s>>bsh)&bmax)*255/bmax);
- }
- }
- leading = 0;
- return img;
- }
- case 4: {
- static unsigned char *imgData = 0;
- if ( !imgData ) {
- int bpl = ((hdr->width*8+31)/32)*4;
- imgData = new unsigned char [ bpl * hdr->height ];
- }
- TQImage img( imgData, r.width(), r.height(), 8, hdr->clut, 16,
- TQImage::IgnoreEndian );
- for ( int row = 0; row < r.height(); row++ ) {
- unsigned char *dptr = img.scanLine( row );
- unsigned char *sptr = data + hdr->dataoffset + (r.y()+row)*hdr->linestep;
- sptr += r.x()/2;
- int col = 0;
-#ifdef QT_QWS_EXPERIMENTAL_REVERSE_BIT_ENDIANNESS
- if ( r.x() & 1 ) {
- *dptr++ = *sptr++ & 0x0f;
- col++;
- }
- for ( ; col < r.width()-1; col+=2 ) {
- unsigned char s = *sptr++;
- *dptr++ = s >> 4;
- *dptr++ = s & 0x0f;
- }
- if ( !(r.right() & 1) )
- *dptr = *sptr >> 4;
-#else
- if ( r.x() & 1 ) {
- *dptr++ = *sptr++ >> 4;
- col++;
- }
- for ( ; col < r.width()-1; col+=2 ) {
- unsigned char s = *sptr++;
- *dptr++ = s & 0x0f;
- *dptr++ = s >> 4;
- }
- if ( !(r.right() & 1) )
- *dptr = *sptr & 0x0f;
-#endif
- }
- leading = 0;
- return img;
- }
- case 32: {
- leading = r.x();
- return TQImage( data + hdr->dataoffset + r.y() * hdr->linestep,
- hdr->width, r.height(), hdr->depth, 0,
- 0, TQImage::LittleEndian );
- }
- case 8: {
- leading = r.x();
- return TQImage( data + hdr->dataoffset + r.y() * hdr->linestep,
- hdr->width, r.height(), hdr->depth, hdr->clut,
- 256, TQImage::LittleEndian );
- }
- case 1: {
- leading = r.x();
- return TQImage( data + hdr->dataoffset + r.y() * hdr->linestep,
- hdr->width, r.height(), hdr->depth, hdr->clut,
-#ifndef QT_QWS_EXPERIMENTAL_REVERSE_BIT_ENDIANNESS
- 0, TQImage::LittleEndian );
-#else
- 0, TQImage::BigEndian );
-#endif
- }
- }
- return TQImage();
-}
-
-void TQVFbView::drawScreen()
-{
- TQPainter p( viewport() );
-
- p.translate( -contentsX(), -contentsY() );
-
- lock();
- TQRect r( hdr->update );
- hdr->dirty = FALSE;
- hdr->update = TQRect();
- // tqDebug( "update %d, %d, %dx%d", r.y(), r.x(), r.width(), r.height() );
- r = r.intersect( TQRect(0, 0, hdr->width, hdr->height ) );
- if ( !r.isEmpty() ) {
- if ( int(zm) != zm ) {
- r.rLeft() = int(int(r.left()*zm)/zm);
- r.rTop() = int(int(r.top()*zm)/zm);
- r.rRight() = int(int(r.right()*zm+zm+0.0000001)/zm+1.9999);
- r.rBottom() = int(int(r.bottom()*zm+zm+0.0000001)/zm+1.9999);
- r.rRight() = TQMIN(r.right(),hdr->width-1);
- r.rBottom() = TQMIN(r.bottom(),hdr->height-1);
- }
- int leading;
- TQImage img( getBuffer( r, leading ) );
- TQPixmap pm;
- if ( zm == 1 ) {
- pm.convertFromImage( img );
- } else if ( int(zm) == zm ) {
- TQWMatrix m;
- m.scale(zm,zm);
- pm.convertFromImage( img );
- pm = pm.xForm(m);
- } else {
- pm.convertFromImage( img.smoothScale(int(img.width()*zm),int(img.height()*zm)) );
- }
- unlock();
- p.setPen( black );
- p.setBrush( white );
- p.drawPixmap( int(r.x()*zm), int(r.y()*zm), pm,
- int(leading*zm), 0, pm.width(), pm.height() );
- } else {
- unlock();
- }
-}
-
-bool TQVFbView::eventFilter( TQObject *obj, TQEvent *e )
-{
- if ( obj == viewport() &&
- (e->type() == TQEvent::FocusIn || e->type() == TQEvent::FocusOut) )
- return TRUE;
-
- return TQScrollView::eventFilter( obj, e );
-}
-
-void TQVFbView::viewportPaintEvent( TQPaintEvent *pe )
-{
- TQRect r( pe->rect() );
- r.moveBy( contentsX(), contentsY() );
- r = TQRect(int(r.x()/zm),int(r.y()/zm),
- int(r.width()/zm)+1,int(r.height()/zm)+1);
- setDirty(r);
- drawScreen();
-}
-
-void TQVFbView::setDirty( const TQRect& r )
-{
- lock();
- hdr->update |= r;
- hdr->dirty = TRUE;
- unlock();
-}
-
-void TQVFbView::contentsMousePressEvent( TQMouseEvent *e )
-{
- sendMouseData( e->pos()/zm, e->stateAfter() );
-}
-
-void TQVFbView::contentsMouseDoubleClickEvent( TQMouseEvent *e )
-{
- sendMouseData( e->pos()/zm, e->stateAfter() );
-}
-
-void TQVFbView::contentsMouseReleaseEvent( TQMouseEvent *e )
-{
- sendMouseData( e->pos()/zm, e->stateAfter() );
-}
-
-void TQVFbView::contentsMouseMoveEvent( TQMouseEvent *e )
-{
- if ( !emulateTouchscreen || (e->state() & MouseButtonMask ) )
- sendMouseData( e->pos()/zm, e->state() );
-}
-
-
-
-void TQVFbView::keyPressEvent( TQKeyEvent *e )
-{
- sendKeyboardData(e->text()[0].unicode(), e->key(),
- e->stateAfter()&(ShiftButton|ControlButton|AltButton),
- TRUE, e->isAutoRepeat());
-}
-
-void TQVFbView::keyReleaseEvent( TQKeyEvent *e )
-{
- sendKeyboardData(e->ascii(), e->key(),
- e->stateAfter()&(ShiftButton|ControlButton|AltButton),
- FALSE, e->isAutoRepeat());
-}
-
-
-TQImage TQVFbView::image() const
-{
- ((TQVFbView*)this)->lock();
- int l;
- TQImage r = getBuffer( TQRect(0, 0, hdr->width, hdr->height), l ).copy();
- ((TQVFbView*)this)->unlock();
- return r;
-}
-
-void TQVFbView::startAnimation( const TQString& filename )
-{
- delete animation;
- animation = new TQAnimationWriter(filename,"MNG");
- animation->setFrameRate(refreshRate);
- animation->appendFrame(TQImage(data + hdr->dataoffset,
- hdr->width, hdr->height, hdr->depth, hdr->clut,
- 256, TQImage::LittleEndian));
-}
-
-void TQVFbView::stopAnimation()
-{
- delete animation;
- animation = 0;
-}
-
-void TQVFbView::setTouchscreenEmulation( bool b )
-{
- emulateTouchscreen = b;
-}
diff --git a/tools/qvfb/qvfbview.h b/tools/qvfb/qvfbview.h
deleted file mode 100644
index dee52fb73..000000000
--- a/tools/qvfb/qvfbview.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/**********************************************************************
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt/Embedded virtual framebuffer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include <ntqscrollview.h>
-
-class TQImage;
-class TQTimer;
-class TQAnimationWriter;
-class TQLock;
-struct TQVFbHeader;
-
-class TQVFbView : public TQScrollView
-{
- TQ_OBJECT
-public:
- TQVFbView( int display_id, int w, int h, int d, TQWidget *parent = 0,
- const char *name = 0, uint wflags = 0 );
- ~TQVFbView();
-
- int displayId() const;
- int displayWidth() const;
- int displayHeight() const;
- int displayDepth() const;
-
- bool touchScreenEmulation() const { return emulateTouchscreen; }
- int rate() { return refreshRate; }
- bool animating() const { return !!animation; }
- TQImage image() const;
-
- void setGamma(double gr, double gg, double gb);
- double gammaRed() const { return gred; }
- double gammaGreen() const { return ggreen; }
- double gammaBlue() const { return gblue; }
- void getGamma(int i, TQRgb& rgb);
- void skinKeyPressEvent( TQKeyEvent *e ) { keyPressEvent(e); }
- void skinKeyReleaseEvent( TQKeyEvent *e ) { keyReleaseEvent(e); }
-
- double zoom() const { return zm; }
-
- TQSize sizeHint() const;
-public slots:
- void setTouchscreenEmulation( bool );
-
- void setRate( int );
- void setZoom( double );
- void startAnimation( const TQString& );
- void stopAnimation();
-
-protected slots:
- void timeout();
-
-protected:
- void initLock();
- void lock();
- void unlock();
- TQImage getBuffer( const TQRect &r, int &leading ) const;
- void drawScreen();
- void sendMouseData( const TQPoint &pos, int buttons );
- void sendKeyboardData( int unicode, int keycode, int modifiers,
- bool press, bool repeat );
- virtual bool eventFilter( TQObject *obj, TQEvent *e );
- virtual void viewportPaintEvent( TQPaintEvent *pe );
- virtual void contentsMousePressEvent( TQMouseEvent *e );
- virtual void contentsMouseDoubleClickEvent( TQMouseEvent *e );
- virtual void contentsMouseReleaseEvent( TQMouseEvent *e );
- virtual void contentsMouseMoveEvent( TQMouseEvent *e );
- virtual void keyPressEvent( TQKeyEvent *e );
- virtual void keyReleaseEvent( TQKeyEvent *e );
-
-private:
- bool emulateTouchscreen;
- void setDirty( const TQRect& );
- int shmId;
- unsigned char *data;
- TQVFbHeader *hdr;
- int viewdepth; // "faked" depth
- int rsh;
- int gsh;
- int bsh;
- int rmax;
- int gmax;
- int bmax;
- double gred, ggreen, gblue;
- TQRgb* gammatable;
- TQLock *qwslock;
- TQTimer *timer;
- int mouseFd;
- int keyboardFd;
- int refreshRate;
- TQString mousePipe;
- TQString keyboardPipe;
- TQAnimationWriter *animation;
- int displayid;
- double zm;
-};
-
diff --git a/tools/qvfb/skin.cpp b/tools/qvfb/skin.cpp
deleted file mode 100644
index 9961d0a99..000000000
--- a/tools/qvfb/skin.cpp
+++ /dev/null
@@ -1,174 +0,0 @@
-/**********************************************************************
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt/Embedded virtual framebuffer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "skin.h"
-#include "qvfb.h"
-#include "qvfbview.h"
-
-#include <ntqbitmap.h>
-#include <ntqpixmap.h>
-#include <ntqtextstream.h>
-#include <ntqfile.h>
-#include <ntqpainter.h>
-#ifdef Q_WS_MAC
-# include <qt_mac.h>
-#endif
-
-Skin::Skin( TQVFb *p, const TQString &skinFile, int &viewW, int &viewH ) : TQWidget(p)
-{
- TQFile f( skinFile );
- f.open( IO_ReadOnly );
- TQTextStream ts( &f );
- ts >> skinImageUpFileName;
- ts >> skinImageDownFileName;
- ts >> viewX1;
- ts >> viewY1;
- ts >> viewW;
- ts >> viewH;
- ts >> transparancy;
- ts >> numberOfAreas;
-// Debug the skin file parsing
-// printf("read: -%s- -%i- -%i- -%i-\n", skinImage.latin1(), viewX1, viewY1, numberOfAreas );
- areas = new ButtonAreas[numberOfAreas];
-
- for (int i = 0; i < numberOfAreas; i++) {
- ts >> areas[i].name;
- ts >> areas[i].keyCode;
- ts >> areas[i].x1;
- ts >> areas[i].y1;
- ts >> areas[i].x2;
- ts >> areas[i].y2;
-// Debug the skin file parsing
-// printf("read: -%s- -%i- -%i- -%i- -%i- -%i-\n", areas[i].name.latin1(),
-// areas[i].keyCode, areas[i].x1, areas[i].y1, areas[i].x2, areas[i].y2 );
- }
-
- parent = p;
- skinImageUp = new TQPixmap( skinImageUpFileName );
- skinImageDown = new TQPixmap( skinImageDownFileName );
-// setPixmap( ipaq );
- setFixedSize( skinImageUp->size() );
- TQBitmap mask = skinImageUp->createHeuristicMask();
- int wf = WStyle_Customize | WType_TopLevel | WStyle_NoBorder;
- parent->reparent( 0, wf, pos(), TRUE );
- parent->setMask( mask );
- parent->setFixedSize( skinImageUp->size() );
- buttonPressed = FALSE;
- buttonIndex = 0;
-}
-
-
-Skin::~Skin( )
-{
-}
-
-
-void Skin::setView( TQVFbView *v )
-{
- view = v;
- view->move( viewX1, viewY1 );
-#ifdef Q_WS_MAC
- TQMacSavedPortInfo::setAlphaTransparancy(view, transparancy);
-#endif
-}
-
-
-void Skin::paintEvent( TQPaintEvent * )
-{
- TQPainter p( this );
-// printf("read: -%s-\n", skinImageUp.latin1());
- if (skinImageUp)
- p.drawPixmap( 0, 0, *skinImageUp );
- if (buttonPressed == TRUE) {
- ButtonAreas *ba = &areas[buttonIndex];
- if (skinImageDown)
- p.drawPixmap( ba->x1, ba->y1, *skinImageDown, ba->x1, ba->y1, ba->x2 - ba->x1, ba->y2 - ba->y1 );
- }
-}
-
-
-void Skin::mousePressEvent( TQMouseEvent *e )
-{
- if (e->button() == RightButton) {
- parent->popupMenu();
- } else {
- buttonPressed = FALSE;
-
- for (int i = 0; i < numberOfAreas; i++) {
- TQPoint p1( areas[i].x1, areas[i].y1 );
- TQPoint p2( areas[i].x2, areas[i].y2 );
- TQRect r( p1, p2 );
- if ( r.contains( e->pos() ) ) {
- buttonPressed = TRUE;
- buttonIndex = i;
- buttonCode = areas[buttonIndex].keyCode;
- TQKeyEvent keyEvent( TQEvent::KeyPress, buttonCode, 0, 0 );
- if (view)
- view->skinKeyPressEvent( &keyEvent );
-// Debug message to be sure we are clicking the right areas
-// printf("%s clicked\n", areas[i].name);
- ButtonAreas *ba = &areas[buttonIndex];
- repaint( ba->x1, ba->y1, ba->x2 - ba->x1, ba->y2 - ba->y1, FALSE );
- continue;
- }
- }
-
-// This is handy for finding the areas to define rectangles for new skins
-// printf("Clicked in %i,%i\n", e->pos().x(), e->pos().y());
- clickPos = e->pos();
- }
-}
-
-
-void Skin::mouseMoveEvent( TQMouseEvent *e )
-{
- if ( buttonPressed == FALSE ) {
- TQPoint newpos = e->globalPos() - clickPos;
- parent->move( newpos );
- }
-}
-
-
-void Skin::mouseReleaseEvent( TQMouseEvent * )
-{
- if ( buttonPressed ) {
- TQKeyEvent keyEvent( TQEvent::KeyRelease, buttonCode, 0, 0 );
- if (view)
- view->skinKeyReleaseEvent( &keyEvent );
- buttonPressed = FALSE;
- ButtonAreas *ba = &areas[buttonIndex];
- repaint( ba->x1, ba->y1, ba->x2 - ba->x1, ba->y2 - ba->y1, FALSE );
- }
-}
-
-
diff --git a/tools/qvfb/skin.h b/tools/qvfb/skin.h
deleted file mode 100644
index c2ee4c10f..000000000
--- a/tools/qvfb/skin.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/**********************************************************************
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt/Embedded virtual framebuffer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include <ntqwidget.h>
-
-
-class TQVFb;
-class TQVFbView;
-
-
-class Skin : public TQWidget
-{
-public:
- Skin( TQVFb *p, const TQString &skinFile, int &viewW, int &viewH );
- ~Skin( );
- void setView( TQVFbView *v );
-protected:
- virtual void paintEvent( TQPaintEvent * );
- virtual void mousePressEvent( TQMouseEvent *e );
- virtual void mouseMoveEvent( TQMouseEvent *e );
- virtual void mouseReleaseEvent( TQMouseEvent * );
-private:
- TQVFb *parent;
- TQVFbView *view;
- TQPoint clickPos;
- bool buttonPressed;
- int buttonCode;
- int buttonIndex;
- float transparancy;
-
- TQString skinImageUpFileName;
- TQString skinImageDownFileName;
- TQPixmap *skinImageUp;
- TQPixmap *skinImageDown;
- int viewX1, viewY1;
- int numberOfAreas;
-
- typedef struct {
- TQString name;
- int keyCode;
- int x1, y1;
- int x2, y2;
- } ButtonAreas;
-
- ButtonAreas *areas;
-};
-
-