Beispiel #1
0
	CanvasPtr Canvas::Create(const CanvasDesc& desc)
	{
		if (!CreateCanvasClass())
			return CanvasPtr();

		CanvasPtr canvas(new Canvas(desc));

		void* handle = CreateCanvasWindow(desc, canvas, desc.simpleFrame);
		if (!handle)
			return CanvasPtr();
		ResizeCanvasWindow(desc, handle);
		canvas->handle = handle;
		canvas->deviceContext = GetDC((HWND)handle);

		return canvas;
	}
Beispiel #2
0
TSTPlotter::TSTPlotter(QWidget *parent)
    : QMainWindow(parent)
{
  plt = new Plotter(CanvasPtr(),this);
  data = new CurveData(200);

  plt->xScale()->setFlags(Scale::ManualDiapason);
  plt->yScale()->setFlags(Scale::ManualDiapason);
  plt->yScale()->setManualDiapason(-12,12);
  plt->xScale()->setManualDiapason(0,80);
  
  crv = new Curve( "Test curve", "l/s", plt->xScale(), plt->yScale(), data );
  
  plt->attachDynamicItem(crv);

  Grid *grid = new Grid();
  plt->attachStaticItem(grid);

  setCentralWidget(plt);
  newData(); 
};
Beispiel #3
0
void Canvas::doFrame(bool bPythonAvailable)
{
    s_pActiveCanvas = shared_from_this();
    emitPreRenderSignal();
    if (!m_pPlayer->isStopping()) {
        ScopeTimer Timer(RenderProfilingZone);
        if (bPythonAvailable) {
            Py_BEGIN_ALLOW_THREADS;
            try {
                render();
            } catch(...) {
                Py_BLOCK_THREADS;
                throw;
            }
            Py_END_ALLOW_THREADS;
        } else {
            render();
        }
    }
    emitFrameEndSignal();
    s_pActiveCanvas = CanvasPtr();
}