Torque3D/Engine/lib/bullet/test/GwenOpenGLTest/UnitTest.h
2022-06-27 10:01:08 -04:00

59 lines
1.4 KiB
C++

/*
GWEN
Copyright (c) 2011 Facepunch Studios
See license in Gwen.h
*/
#pragma once
#ifndef GWEN_UNITTEST_UNITTEST_H
#define GWEN_UNITTEST_UNITTEST_H
#include "Gwen/Gwen.h"
#include "Gwen/Align.h"
#include "Gwen/Utility.h"
#include "Gwen/Controls/WindowControl.h"
#include "Gwen/Controls/TabControl.h"
#include "Gwen/Controls/ListBox.h"
class UnitTest;
class GUnit : public Gwen::Controls::Base
{
public:
GWEN_CONTROL_INLINE(GUnit, Gwen::Controls::Base)
{
m_pUnitTest = NULL;
}
void SetUnitTest(UnitTest* u) { m_pUnitTest = u; }
void UnitPrint(const Gwen::UnicodeString& str);
void UnitPrint(const Gwen::String& str);
UnitTest* m_pUnitTest;
};
class UnitTest : public Gwen::Controls::WindowControl
{
public:
GWEN_CONTROL(UnitTest, Gwen::Controls::WindowControl);
void PrintText(const Gwen::UnicodeString& str);
void Render(Gwen::Skin::Base* skin);
private:
Gwen::Controls::TabControl* m_TabControl;
Gwen::Controls::ListBox* m_TextOutput;
unsigned int m_iFrames;
float m_fLastSecond;
};
#define DEFINE_UNIT_TEST(name, displayname) \
GUnit* RegisterUnitTest_##name(Gwen::Controls::TabControl* tab) \
{ \
GUnit* u = new name(tab); \
tab->AddPage(displayname, u); \
return u; \
}
#endif