EasyWindow is a simple library for creating and managing windows.
It's usefull for create graphics project.
!!!WARNING!!!
Only work on Windows actually (need an Linux and MacOS support) and not stable enough for production.
Include files in you project:
- EasyWindow.h
- EasyWindow.cpp
- EasyWindowWin32.cpp
EasyWindow allow you to create a window in 3 lines
#include "EasyWindow.h"
EasyWindow* pMyWindow = EasyWindow::Create("My window", 640, 480);
while (pMyWindow->Update());
Available events:
- OnSize
- OnMove
- OnMaximize
- OnMinimize
- OnRestore
- OnFocus
- OnClose
- OnMouseButton
- OnMouseMove
- OnMouseWheel
- OnKey
- OnChar
#include "EasyWindow.h"
void MyOnSizeFunction(int iWidth, int iHeight)
{
printf("%d x %d\n", iWidth, iHeight);
}
void MyOnKeyFunction(EasyWindow::EKey eKey, bool bIsDown)
{
printf("Key '%s' is %s\n", EasyWindow::KeyToString(eKey), bIsDown ? "down" : "up");
}
void main()
{
// Create window
EasyWindow* pMyWindow = EasyWindow::Create("My window", 640, 480);
// Set events callback
pMyWindow->OnSize.Set(&MyOnSizeFunction);
pMyWindow->OnKey.Set(&MyOnKeyFunction);
// Update window
while (pMyWindow->Update());
}
EasyWindow* pMyWindow = EasyWindow::Create("My window", 640, 480);
bgfx::PlatformData pd;
memset(&pd, 0, sizeof(pd));
pd.nwh = pMyWindow->GetHandle();
bgfx::setPlatformData(pd);
bool bInit = bgfx::init(bgfx::RendererType::OpenGL);
bgfx::createFrameBuffer(pMyWindow->GetHandle(), pMyWindow->GetClientWidth(), pMyWindow->GetClientHeight());