File indexing completed on 2024-04-21 04:02:34

0001 /*
0002     SPDX-FileCopyrightText: 2000 Roman Merzlyakov <roman@sbrf.barrt.ru>
0003     SPDX-FileCopyrightText: 2000 Roman Razilov <Roman.Razilov@gmx.de>
0004     SPDX-FileCopyrightText: 2006-2007 Dmitry Suzdalev <dimsuz@gmail.com>
0005 
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 
0009 #include "mwidget.h"
0010 #include "scene.h"
0011 
0012 
0013 #include <QGraphicsView>
0014 #include <QResizeEvent>
0015 #include <QBoxLayout>
0016 
0017 MainWidget::MainWidget( QWidget* parent )
0018     : QWidget( parent )
0019     , m_scene( nullptr )
0020     , m_next_label( nullptr )
0021 {
0022     QBoxLayout *mainLay = new QHBoxLayout( this );
0023     mainLay->setContentsMargins( 0 ,  0 ,  0 ,  0 );
0024 
0025     m_scene = new KLinesScene(this);
0026     QGraphicsView* klview = new QGraphicsView( m_scene, this );
0027     klview->setCacheMode( QGraphicsView::CacheBackground );
0028     klview->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
0029     klview->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
0030     klview->setFrameStyle(QFrame::NoFrame);
0031 
0032     klview->setOptimizationFlags( 
0033                                   QGraphicsView::DontSavePainterState |
0034                                   QGraphicsView::DontAdjustForAntialiasing );
0035 
0036     mainLay->addWidget( klview );
0037 
0038     setMinimumSize( 250, 250 );
0039 }
0040 
0041 MainWidget::~MainWidget()
0042 {
0043 }
0044 
0045 void MainWidget::setShowNextColors(bool visible)
0046 {
0047     // add bonus score points if playing w/o preview
0048     m_scene->setBonusScorePoints( visible ? 0 : 1 );
0049     m_scene->setPreviewZoneVisible( visible );
0050 }
0051 
0052 void MainWidget::resizeEvent( QResizeEvent* ev)
0053 {
0054         m_scene->resizeScene( ev->size().width(), ev->size().height() );
0055 }
0056 
0057 #include "moc_mwidget.cpp"