mirror of
https://github.com/NoelFB/blah.git
synced 2024-11-28 16:58:57 +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.
|
||||
float content_scale();
|
||||
|
||||
// If the window is currently focused or has mouse input
|
||||
bool focused();
|
||||
|
||||
// Toggles fullscreen if supported on the platform.
|
||||
// Otherwise this function does nothing.
|
||||
void fullscreen(bool enabled);
|
||||
|
@ -162,4 +165,10 @@ namespace Blah
|
|||
// Reference to the window's back buffer
|
||||
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);
|
||||
}
|
||||
|
||||
bool App::focused()
|
||||
{
|
||||
return Platform::get_focused();
|
||||
}
|
||||
|
||||
Renderer App::renderer()
|
||||
{
|
||||
return Graphics::renderer();
|
||||
|
@ -284,6 +289,11 @@ const RendererFeatures& Blah::App::renderer_features()
|
|||
return Graphics::features();
|
||||
}
|
||||
|
||||
void System::open_url(const char* url)
|
||||
{
|
||||
Platform::open_url(url);
|
||||
}
|
||||
|
||||
namespace
|
||||
{
|
||||
// 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)
|
||||
{
|
||||
return normalize(FilePath(a).append("/").append(b));
|
||||
if (a.length() <= 0)
|
||||
return normalize(b);
|
||||
else if (b.length() <= 0)
|
||||
return normalize(a);
|
||||
else
|
||||
return normalize(FilePath(a).append("/").append(b));
|
||||
}
|
|
@ -43,6 +43,9 @@ namespace Blah
|
|||
// Sets the Application Window Position, in Screen Coordinates
|
||||
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
|
||||
void set_fullscreen(bool enabled);
|
||||
|
||||
|
@ -102,5 +105,8 @@ namespace Blah
|
|||
|
||||
// D3D11 Methods
|
||||
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);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
if (enabled)
|
||||
|
@ -768,4 +774,9 @@ void* Platform::d3d11_get_hwnd()
|
|||
#endif
|
||||
}
|
||||
|
||||
void Platform::open_url(const char* url)
|
||||
{
|
||||
SDL_OpenURL(url);
|
||||
}
|
||||
|
||||
#endif // BLAH_PLATFORM_SDL2
|
||||
|
|
Loading…
Reference in New Issue
Block a user