overte/tests-manual/qml/src/TestCase.h
2018-10-26 11:23:29 -07:00

23 lines
654 B
C++

#pragma once
#include <functional>
#include <QtGui/QWindow>
#include <QtGui/QOpenGLFunctions_4_1_Core>
#include <qml/OffscreenSurface.h>
class TestCase {
public:
using QmlPtr = QSharedPointer<hifi::qml::OffscreenSurface>;
using Builder = std::function<TestCase*(const QWindow*)>;
TestCase(const QWindow* window) : _window(window) {}
virtual void init();
virtual void destroy();
virtual void update();
virtual void draw() = 0;
static QUrl getTestResource(const QString& relativePath);
protected:
QOpenGLFunctions_4_1_Core _glf;
const QWindow* _window;
std::function<void(uint32_t, void*)> _discardLamdba;
};