@@ -735,6 +735,13 @@ void FrameTuneScene::setBgColor(QColor clr)
735735 repaint ();
736736}
737737
738+ void FrameTuneScene::setBgChess (bool chess)
739+ {
740+ m_backgroundChess = chess;
741+ if (!m_blockRepaint)
742+ repaint ();
743+ }
744+
738745void FrameTuneScene::setBlockRepaint (bool en)
739746{
740747 m_blockRepaint = en;
@@ -953,6 +960,26 @@ void FrameTuneScene::paintEvent(QPaintEvent * /*event*/)
953960 QPainter painter (this );
954961 painter.fillRect (rect (), QBrush (m_bgColor));
955962
963+ if (m_backgroundChess)
964+ {
965+ painter.save ();
966+ auto r = rect ();
967+ int gridSize = 8 ;
968+ int w = r.width () / gridSize;
969+ int h = r.height () / gridSize;
970+
971+ for (int y = 0 ; y < h; ++y)
972+ {
973+ for (int x = 0 ; x < w; ++x)
974+ {
975+ QColor colour = ((x + (y % 2 )) % 2 ) ? Qt::darkGray : Qt::gray;
976+ painter.fillRect (x * gridSize, y * gridSize, gridSize, gridSize, QBrush (colour));
977+ }
978+ }
979+
980+ painter.restore ();
981+ }
982+
956983 auto canvas = rect ();
957984 auto c = canvas.center () + (curScrollOffset () * m_zoom);
958985 QRect dst;
@@ -1129,15 +1156,16 @@ void FrameTuneScene::paintEvent(QPaintEvent * /*event*/)
11291156
11301157 if (m_drawGrid && m_drawMetaData)
11311158 {
1159+ QColor gridColour = m_backgroundChess ? Qt::black : Qt::gray;
11321160 painter.save ();
1133- painter.setPen (QPen (Qt::gray , 1 ));
1161+ painter.setPen (QPen (gridColour , 1 ));
11341162 painter.setBrush (Qt::transparent);
11351163 painter.drawRect (dst);
11361164 painter.restore ();
11371165
11381166 painter.save ();
11391167 painter.setOpacity (5.0 );
1140- painter.setPen (QPen (Qt::gray , 1 , Qt::DotLine));
1168+ painter.setPen (QPen (gridColour , 1 , Qt::DotLine));
11411169
11421170 if (m_zoom > 3.0 )
11431171 {
@@ -1173,6 +1201,14 @@ void FrameTuneScene::paintEvent(QPaintEvent * /*event*/)
11731201 painter.restore ();
11741202 }
11751203
1204+ if (!m_curTool.isNull ())
1205+ {
1206+ QPoint globalCursorPos = mapFromGlobal (QCursor::pos ());
1207+ painter.save ();
1208+ m_curTool->drawPreview (painter, dst, m_zoom, mapToImg (globalCursorPos));
1209+ painter.restore ();
1210+ }
1211+
11761212 if (m_drawMetaData)
11771213 {
11781214 painter.save ();
@@ -1248,14 +1284,6 @@ void FrameTuneScene::paintEvent(QPaintEvent * /*event*/)
12481284 }
12491285 painter.restore ();
12501286 }
1251-
1252- if (!m_curTool.isNull ())
1253- {
1254- QPoint globalCursorPos = mapFromGlobal (QCursor::pos ());
1255- painter.save ();
1256- m_curTool->drawPreview (painter, dst, m_zoom, mapToImg (globalCursorPos));
1257- painter.restore ();
1258- }
12591287}
12601288
12611289void FrameTuneScene::wheelEvent (QWheelEvent *event)
0 commit comments