Example #1
0
void SvgWindow::onPaint(Painter* p)
{
  Time startTime = Time::now();

  p->setSource(Argb32(0xFFFFFFFF));
  p->fillAll();

  p->save();
  svgDocument.render(p);
  p->restore();

  p->flush(PAINTER_FLUSH_SYNC);

  Time endTime = Time::now();

  TimeDelta frameDelta = endTime - startTime;
  TimeDelta fpsDelta = endTime - fpsTime;

  if (fpsDelta.getMillisecondsD() >= 1000.0)
  {
    fpsTotal = fpsCounter;
    fpsCounter = 0.0f;
    fpsTime = endTime;

    StringW text;
    text.format("FPS: %g, Time: %g", fpsTotal, frameDelta.getMillisecondsD());
    setWindowTitle(text);
  }
  else
  {
    fpsCounter++;
  }

  p->resetTransform();
}