sp<Retval> GdMonCpustat::draw(int num, sp<info>& info, sp<MonBase>& dest
                        , const char* path)
  {
      sp<Retval> retval;
      if( DFW_RET(retval, MonCpustat::draw(num, info, dest, path)) )
          return DFW_RETVAL_D(retval);
      if( DFW_RET(retval, baseInit()) )
          return DFW_RETVAL_D(retval);

      struct max_st  max;
      struct data_st dt;
      getMax(&max, info, m_g.cs.w);
      setData(&dt);

      drawHead(dest->m_sec, info->m_sec);

      uint64_t first_sec;
      uint64_t last_sec = dest->m_sec;
      for(int k=info->m_aLists.size(), dx=m_g.cr.ex; ((k>0)&&(dx>m_g.cr.sx));)
      {
          sp<GdMonCpustat> p  = info->m_aLists.get(k-1);
          sp<GdMonCpustat> pp = info->m_aLists.get(k-2);
          procData(dx, &max, &dt, p, pp);
          drawData(dx, &dt);
          k--;
          dx--;
          first_sec = p->m_sec;
      }

      drawBottom(dest, &max, &dt);
      drawLast(first_sec, last_sec);
      if( DFW_RET(retval, savePng(path, savename(), 0)) )
          return DFW_RETVAL_D(retval);
      return NULL;
  }
Exemple #2
0
void BoardGame::refresh(QPixmap *cache)
{
	if (gameName() == BoardGame::gameName()) {
		QPainter painter(cache);
		painter.setPen(NoPen);
		painter.setBrush(QBrush(white));
		painter.drawRect(cache->rect());
		painter.setPen(QPen(COLOR_LINE, 10));
		painter.setBrush(QBrush(COLOR_BOARD));
		painter.drawEllipse(cache->rect());
		QFont f("noah", 24);
		painter.setFont(f);
		painter.drawText(cache->rect(), AlignCenter, tr("Board Games!"));
		return;
	}
/*	generalRefresh(cache);
}

void BoardGame::generalRefresh(QPixmap *cache)
{*/
	QPainter painter(cache);
	drawBackground(cache, &painter);
	switch (boardType()) {
	case CenterLine:
		drawBoardLines(cache, &painter);
	case NoLine:
		break;
	case EdgeLine:
		drawEdgeLines(cache, &painter);
	}
	for (int r = 0; r < size().height(); r++)
		for (int c = 0; c < size().width(); c++)
			drawPoint(cache, &painter, QPoint(c, r), data.pos[r][c]);
	if (data.last.x() != -1)
		drawLast(cache, &painter, data.last, DATA(data.last));
}