mirror of
https://github.com/NoelFB/blah.git
synced 2024-11-29 17:08:56 +08:00
added App::focused and System::open_url apis
This commit is contained in:
parent
4620b1bd70
commit
ccd02fa9ef
|
@ -149,6 +149,9 @@ namespace Blah
|
||||||
// macOS is usually 2.0, other platforms vary.
|
// macOS is usually 2.0, other platforms vary.
|
||||||
float content_scale();
|
float content_scale();
|
||||||
|
|
||||||
|
// If the window is currently focused or has mouse input
|
||||||
|
bool focused();
|
||||||
|
|
||||||
// Toggles fullscreen if supported on the platform.
|
// Toggles fullscreen if supported on the platform.
|
||||||
// Otherwise this function does nothing.
|
// Otherwise this function does nothing.
|
||||||
void fullscreen(bool enabled);
|
void fullscreen(bool enabled);
|
||||||
|
@ -162,4 +165,10 @@ namespace Blah
|
||||||
// Reference to the window's back buffer
|
// Reference to the window's back buffer
|
||||||
extern const TargetRef backbuffer;
|
extern const TargetRef backbuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace System
|
||||||
|
{
|
||||||
|
// Tries to open the given URL in a web browser
|
||||||
|
void open_url(const char* url);
|
||||||
|
}
|
||||||
}
|
}
|
10
src/app.cpp
10
src/app.cpp
|
@ -274,6 +274,11 @@ void App::fullscreen(bool enabled)
|
||||||
Platform::set_fullscreen(enabled);
|
Platform::set_fullscreen(enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool App::focused()
|
||||||
|
{
|
||||||
|
return Platform::get_focused();
|
||||||
|
}
|
||||||
|
|
||||||
Renderer App::renderer()
|
Renderer App::renderer()
|
||||||
{
|
{
|
||||||
return Graphics::renderer();
|
return Graphics::renderer();
|
||||||
|
@ -284,6 +289,11 @@ const RendererFeatures& Blah::App::renderer_features()
|
||||||
return Graphics::features();
|
return Graphics::features();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void System::open_url(const char* url)
|
||||||
|
{
|
||||||
|
Platform::open_url(url);
|
||||||
|
}
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
// A dummy Frame Buffer that represents the Back Buffer
|
// A dummy Frame Buffer that represents the Back Buffer
|
||||||
|
|
|
@ -146,5 +146,10 @@ FilePath Path::normalize(const FilePath& path)
|
||||||
|
|
||||||
FilePath Path::join(const FilePath& a, const FilePath& b)
|
FilePath Path::join(const FilePath& a, const FilePath& b)
|
||||||
{
|
{
|
||||||
|
if (a.length() <= 0)
|
||||||
|
return normalize(b);
|
||||||
|
else if (b.length() <= 0)
|
||||||
|
return normalize(a);
|
||||||
|
else
|
||||||
return normalize(FilePath(a).append("/").append(b));
|
return normalize(FilePath(a).append("/").append(b));
|
||||||
}
|
}
|
|
@ -43,6 +43,9 @@ namespace Blah
|
||||||
// Sets the Application Window Position, in Screen Coordinates
|
// Sets the Application Window Position, in Screen Coordinates
|
||||||
void set_position(int x, int y);
|
void set_position(int x, int y);
|
||||||
|
|
||||||
|
// Gets whether the Window has focus
|
||||||
|
bool get_focused();
|
||||||
|
|
||||||
// Sets the Window Fullscreen if enabled is not 0
|
// Sets the Window Fullscreen if enabled is not 0
|
||||||
void set_fullscreen(bool enabled);
|
void set_fullscreen(bool enabled);
|
||||||
|
|
||||||
|
@ -102,5 +105,8 @@ namespace Blah
|
||||||
|
|
||||||
// D3D11 Methods
|
// D3D11 Methods
|
||||||
void* d3d11_get_hwnd();
|
void* d3d11_get_hwnd();
|
||||||
|
|
||||||
|
// Tries to open a URL in a web browser
|
||||||
|
void open_url(const char* url);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -494,6 +494,12 @@ void Platform::set_position(int x, int y)
|
||||||
SDL_SetWindowPosition(g_platform.window, x, y);
|
SDL_SetWindowPosition(g_platform.window, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Platform::get_focused()
|
||||||
|
{
|
||||||
|
auto flags = SDL_GetWindowFlags(g_platform.window);
|
||||||
|
return (flags & SDL_WINDOW_INPUT_FOCUS) != 0 && (flags & SDL_WINDOW_MINIMIZED) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
void Platform::set_fullscreen(bool enabled)
|
void Platform::set_fullscreen(bool enabled)
|
||||||
{
|
{
|
||||||
if (enabled)
|
if (enabled)
|
||||||
|
@ -768,4 +774,9 @@ void* Platform::d3d11_get_hwnd()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Platform::open_url(const char* url)
|
||||||
|
{
|
||||||
|
SDL_OpenURL(url);
|
||||||
|
}
|
||||||
|
|
||||||
#endif // BLAH_PLATFORM_SDL2
|
#endif // BLAH_PLATFORM_SDL2
|
||||||
|
|
Loading…
Reference in New Issue
Block a user