summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/tools/qvfb/qvfb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/tools/qvfb/qvfb.cpp')
-rw-r--r--tqtinterface/qt4/tools/qvfb/qvfb.cpp389
1 files changed, 0 insertions, 389 deletions
diff --git a/tqtinterface/qt4/tools/qvfb/qvfb.cpp b/tqtinterface/qt4/tools/qvfb/qvfb.cpp
deleted file mode 100644
index 93d5e8e..0000000
--- a/tqtinterface/qt4/tools/qvfb/qvfb.cpp
+++ /dev/null
@@ -1,389 +0,0 @@
-/**********************************************************************
-** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA.
-**
-** 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 "tqvfb.h"
-#include "tqvfbview.h"
-#include "tqvfbratedlg.h"
-#include "config.h"
-#include "skin.h"
-
-#include <tqmenubar.h>
-#include <tqpopupmenu.h>
-#include <tqapplication.h>
-#include <tqmessagebox.h>
-#include <tqcombobox.h>
-#include <tqlabel.h>
-#include <tqfiledialog.h>
-#include <tqslider.h>
-#include <tqspinbox.h>
-#include <tqradiobutton.h>
-#include <tqimage.h>
-#include <tqpixmap.h>
-#include <tqcursor.h>
-#include <tqdragobject.h>
-#include <tqcheckbox.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, TQString::tqfromLatin1( "/etc/qt3/qvfb/" ) + 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( tqsizeHint() );
- 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, TQT_SLOT(configure()), ALT+CTRL+Key_C );
- file->insertSeparator();
- file->insertItem( "&Save image...", this, TQT_SLOT(saveImage()), ALT+CTRL+Key_S );
- file->insertItem( "&Animation...", this, TQT_SLOT(toggleAnimation()), ALT+CTRL+Key_A );
- file->insertSeparator();
- file->insertItem( "&Quit", tqApp, TQT_SLOT(quit()) );
-
- menu->insertItem( "&File", file );
-
- viewMenu = new TQPopupMenu( this );
- viewMenu->setCheckable( TRUE );
- cursorId = viewMenu->insertItem( "Show &Cursor", this, TQT_SLOT(toggleCursor()) );
- enableCursor(TRUE);
- viewMenu->insertItem( "&Refresh Rate...", this, TQT_SLOT(changeRate()) );
- viewMenu->insertSeparator();
- viewMenu->insertItem( "Zoom scale &1", this, TQT_SLOT(setZoom1()) );
- viewMenu->insertItem( "Zoom scale &2", this, TQT_SLOT(setZoom2()) );
- viewMenu->insertItem( "Zoom scale &3", this, TQT_SLOT(setZoom3()) );
- viewMenu->insertItem( "Zoom scale &4", this, TQT_SLOT(setZoom4()) );
- viewMenu->insertItem( "Zoom scale &0.5", this, TQT_SLOT(setZoomHalf()) );
-
- menu->insertItem( "&View", viewMenu );
-
- TQPopupMenu *help = new TQPopupMenu( this );
- help->insertItem("&About", this, TQT_SLOT(about()));
- help->insertItem("About &TQt", this, TQT_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, TQT_SIGNAL(updateRate(int)), view, TQT_SLOT(setRate(int)) );
- }
-
- rateDlg->show();
-}
-
-void TQVFb::about()
-{
-#if defined( TQ_WS_MAC )
- TQString platform("Mac OS X");
- TQString qt("Mac");
-#elif defined( TQ_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, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(setGamma400(int)));
- connect(config->rslider, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(setR400(int)));
- connect(config->gslider, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(setG400(int)));
- connect(config->bslider, TQT_SIGNAL(valueChanged(int)), this, TQT_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));
-}