void AbstractGame::paintAllPositions(CDC &dc, PositionSet markedPositions) { CPen *oldPen = dc.SelectObject(&m_positionPen); const size_t n = m_brickPositions.size(); CBrush *oldBrush = dc.SelectObject(&m_occupiedBrush); setTextColor(dc, false); for(UINT pos = 0; pos < n; pos++) { if(isOccupied(pos) && !SET_CONTAINS(markedPositions, pos)) { paintPosition(dc, pos); } } dc.SelectObject(&m_emptyBrush); for(UINT pos = 0; pos < n; pos++) { if(!isOccupied(pos)) { paintPosition(dc, pos); } } if(!SET_ISEMPTY(markedPositions)) { dc.SelectObject(&m_markedBrush); setTextColor(dc, true); for(UINT pos = 0; pos < n; pos++) { if(SET_CONTAINS(markedPositions, pos)) { paintPosition(dc, pos); } } } dc.SelectObject(oldBrush); dc.SelectObject(oldPen); }
void AbstractGame::paintPositions(CDC &dc, PositionSet positions, bool marked) { const size_t n = m_brickPositions.size(); for(UINT pos = 0; pos < n; pos++) { if(SET_CONTAINS(positions, pos)) { paintPosition(dc, pos, marked); } } }
void AbstractGame::paintPosition(CDC &dc, int pos, bool marked) { CPen *oldPen = dc.SelectObject(&m_positionPen); CBrush *oldBrush = dc.SelectObject(marked ? &m_markedBrush : &m_occupiedBrush); setTextColor(dc, marked); paintPosition(dc, pos); dc.SelectObject(oldBrush); dc.SelectObject(oldPen); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); setupPlot(); socket = new TCPSocket(this); connect(socket, SIGNAL(sendPosition(qreal,qreal,qreal,qreal,qreal)), ui->widget, SLOT(paintPosition(qreal,qreal,qreal,qreal,qreal))); connect(socket, SIGNAL(sendError(qreal,qreal,qreal,qreal)), this, SLOT(setError(qreal,qreal,qreal,qreal))); connect(socket, SIGNAL(sendSpeed(qreal,qreal,qreal,qreal)), this, SLOT(setSpeed(qreal,qreal,qreal,qreal))); connect(socket, SIGNAL(taskDone()), this, SLOT(enableButton())); time = 0; }