Beispiel #1
0
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);
}
Beispiel #2
0
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);
    }
  }
}
Beispiel #3
0
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);
}
Beispiel #4
0
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;
}