SDLFramework/src/example/main.cpp

63 lines
868 B
C++
Raw Normal View History

2020-06-15 21:36:57 +02:00
#include "SDLF.hpp"
#include <iostream>
using namespace sf;
2020-06-15 21:49:10 +02:00
int Callback(void* userdata, SDL_Event* event)
{
std::cout << event->type << std::endl;
return 0;
}
2020-06-15 21:36:57 +02:00
class MyWindow : public IWindow
{
public:
MyWindow() :
IWindow(Vec2u(800, 800), Vec2i(100, 100), "MyWindow")
{
}
private:
virtual bool OnCreate() override
{
printf("On Create\n");
return true;
}
virtual void OnClose() override
{
printf("On Close\n");
}
virtual bool OnUpdate(double frametime) override
{
2020-06-15 21:49:10 +02:00
SDL_SetWindowTitle(m_pWindow, std::to_string(frametime).c_str());
2020-06-15 21:36:57 +02:00
return true;
}
};
2020-06-15 20:03:08 +02:00
int main(int argc, char* argv[])
{
2020-06-15 21:36:57 +02:00
SDL_Init(SDL_INIT_VIDEO);
MyWindow window;
2020-06-15 21:49:10 +02:00
window.AddEventCallback(Callback, nullptr);
2020-06-15 21:36:57 +02:00
try
{
window.Launch(true);
}
catch (std::string e)
{
std::cout << e << std::endl;
}
while (window.IsOpen())
true;
window.Stop();
2020-06-15 20:03:08 +02:00
return 0;
}