SDLU/SDLU_Example/main.cpp

59 lines
1.5 KiB
C++
Raw Normal View History

2020-05-16 10:34:20 +00:00
#include "header.hpp"
int main(int argc, char** argv)
{
2020-05-16 18:49:04 +00:00
SDL_Init(SDL_INIT_VIDEO);
2020-05-18 14:27:03 +00:00
Uint32* icon_data = new Uint32[64 * 64];
for (int y = 0; y < 64; y++)
{
for (int x = 0; x < 64; x++)
{
icon_data[64 * y + x] = 0x004400FF;
icon_data[64 * y + x] |= (((Uint32)((y / 64.f) * 255) << 24));
icon_data[64 * y + x] |= (((Uint32)((x / 64.f) * 255) << 8));
}
}
2020-05-18 14:53:01 +00:00
std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now();
Uint64 diff = 1;
2020-05-16 18:09:21 +00:00
MyWindow window(800, 800, "Test");
SDL_SetWindowTitle(window.GetWindow(), "New Title");
2020-05-16 18:09:21 +00:00
2020-05-18 14:27:03 +00:00
window.SetIcon(64, 64, icon_data);
2020-05-18 14:53:01 +00:00
window.SetMaxFramerate(144);
2020-05-18 14:27:03 +00:00
2020-05-16 18:09:21 +00:00
SDL_Event event;
2020-05-17 10:25:09 +00:00
float t = 0.f;
2020-05-16 21:36:21 +00:00
while (window.IsOpen())
{
2020-05-16 21:36:21 +00:00
while (window.PollEvent(&event))
2020-05-16 18:49:04 +00:00
{
2020-05-16 21:36:21 +00:00
switch (event.window.event)
{
case SDL_WINDOWEVENT_CLOSE:
window.Close();
break;
2020-05-17 12:53:08 +00:00
case SDL_WINDOWEVENT_RESIZED:
std::cout << "If you see this, something isn't working." << std::endl;
break;
2020-05-16 21:36:21 +00:00
}
2020-05-16 18:49:04 +00:00
}
2020-05-16 21:36:21 +00:00
2020-05-17 10:25:09 +00:00
window.Clear(sdlu::Color::FromHSV(floor(t), 100, 100));
2020-05-16 21:36:21 +00:00
window.Display();
2020-05-17 10:25:09 +00:00
t += 0.01;
2020-05-18 14:53:01 +00:00
diff = std::chrono::duration_cast<std::chrono::microseconds>
(std::chrono::steady_clock::now() - start).count();
window.SetTitle(std::to_string(1000000 / diff) + " FPS");
start = std::chrono::steady_clock::now();
}
2020-05-16 18:09:21 +00:00
2020-05-16 18:49:04 +00:00
SDL_Quit();
2020-05-16 10:34:20 +00:00
return 0;
}