Skip to content

Commit

Permalink
[SUTK] Added ANCHOR test for testing the anchors
Browse files Browse the repository at this point in the history
  • Loading branch information
ravi688 committed Aug 1, 2024
1 parent 805b6e3 commit 667a3a8
Show file tree
Hide file tree
Showing 3 changed files with 83 additions and 1 deletion.
34 changes: 34 additions & 0 deletions sutk/include/sutk/tests/AnchorTest.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#pragma once

#include <sutk/ITest.hpp>

#include <sge-cpp/sge.hpp>

#include <sutk/UIDriver.hpp>

namespace SUTK
{
class IGfxDriver;

class AnchorTest : public ITest
{
private:
UIDriver* m_uiDriver;
IGfxDriver* m_gfxDriver;
RenderRectFill* m_renderRect;
RenderRectContainer* m_renderRectContainer;

public:
AnchorTest() : m_uiDriver(NULL), m_gfxDriver(NULL) { }

DriverInitializationData getInitializationData() override;

void initialize(SGE::Driver& driver) override;

void terminate(SGE::Driver& driver) override;

void render(SGE::Driver& driver) override;

void update(SGE::Driver& driver, float deltaTime) override;
};
}
4 changes: 3 additions & 1 deletion sutk/source/ITest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

#include <sutk/tests/BitmapTextTest.hpp>
#include <sutk/tests/TextTest.hpp>
#include <sutk/tests/AnchorTest.hpp>

namespace SUTK
{
Expand All @@ -15,7 +16,8 @@ namespace SUTK
std::unordered_map<std::string, TestCreateCallback> gTestCreateCallbackMap =
{
{ "BITMAP_TEXT", [] () { return std::unique_ptr<ITest>(new BitmapTextTest()); }},
{ "TEXT", [] () { return std::unique_ptr<ITest>(new TextTest()); }}
{ "TEXT", [] () { return std::unique_ptr<ITest>(new TextTest()); }},
{ "ANCHOR", [] () { return std::unique_ptr<ITest>(new AnchorTest()); }}
};

std::unique_ptr<ITest> ITest::Create(const std::string& testName)
Expand Down
46 changes: 46 additions & 0 deletions sutk/source/tests/AnchorTest.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#include <sutk/tests/AnchorTest.hpp>

#include <sutk/RenderRect.hpp>
#include <sutk/SGEGfxDriver.hpp>
#include <sutk/RenderRectContainer.hpp>
#include <sutk/FullWindowContainer.hpp>

namespace SUTK
{
DriverInitializationData AnchorTest::getInitializationData()
{
auto data = ITest::getInitializationData();
data.title = "Anchor Test";
return data;
}

void AnchorTest::initialize(SGE::Driver& driver)
{
m_gfxDriver = new SGEGfxDriver(driver);
m_uiDriver = new UIDriver(*m_gfxDriver);
FullWindowContainer* rootContainer = m_uiDriver->createContainer<FullWindowContainer>(NULL);
m_renderRectContainer = m_uiDriver->createContainer<RenderRectContainer>(rootContainer);
m_renderRectContainer->setRect({ 1.0f, 1.0f, 7, 7 });
AnchorRect* anchor = m_renderRectContainer->getAnchorRect();
anchor->setTopLeft({ 0, 0 });
anchor->setBottomRight({ 1, 1 });
m_renderRect = m_uiDriver->createRenderRect<RenderRectFill>(m_renderRectContainer);
m_renderRect->setColor(Color3::green());
}

void AnchorTest::terminate(SGE::Driver& driver)
{
delete m_uiDriver;
delete m_gfxDriver;
}

void AnchorTest::render(SGE::Driver& driver)
{
// SUTK::UIDriver::render() should only be called when there is an update in the UI or screen resize
m_uiDriver->render();
}

void AnchorTest::update(SGE::Driver& driver, float deltaTime)
{
}
}

0 comments on commit 667a3a8

Please sign in to comment.