mirror of
https://github.com/enduro2d/enduro2d.git
synced 2025-12-14 16:09:06 +07:00
first glfw window for windows
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
||||
.vs/*
|
||||
build/*
|
||||
CMakeLists.txt.user
|
||||
|
||||
@@ -89,12 +89,12 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
# 3rd party
|
||||
#
|
||||
|
||||
if(APPLE)
|
||||
if(WIN32 OR APPLE)
|
||||
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
|
||||
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||
add_subdirectory(modules/glfw)
|
||||
endif(APPLE)
|
||||
endif(WIN32 OR APPLE)
|
||||
|
||||
#
|
||||
# subdirectories
|
||||
|
||||
@@ -26,6 +26,7 @@ namespace e2d
|
||||
v2u virtual_size() const noexcept;
|
||||
|
||||
bool should_close() const noexcept;
|
||||
void swap_buffers() noexcept;
|
||||
static bool poll_events() noexcept;
|
||||
private:
|
||||
class state;
|
||||
|
||||
@@ -40,9 +40,13 @@ function(add_e2d_sample NAME)
|
||||
${OPENGL_gl_LIBRARY}
|
||||
${CMAKE_THREAD_LIBS_INIT})
|
||||
|
||||
if(WIN32 OR APPLE)
|
||||
target_link_libraries(${SAMPLE_NAME}
|
||||
glfw)
|
||||
endif(WIN32 OR APPLE)
|
||||
|
||||
if(APPLE)
|
||||
target_link_libraries(${SAMPLE_NAME}
|
||||
glfw
|
||||
${Cocoa}
|
||||
${IOKit}
|
||||
${CoreVideo}
|
||||
|
||||
@@ -10,6 +10,7 @@ using namespace e2d;
|
||||
int main() {
|
||||
window w{{640, 480}, "Enduro2D", false};
|
||||
while ( !w.should_close() ) {
|
||||
w.swap_buffers();
|
||||
window::poll_events();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,6 @@
|
||||
# elif defined(E2D_PLATFORM) && E2D_PLATFORM == E2D_PLATFORM_MACOSX
|
||||
# define E2D_WINDOW_MODE E2D_WINDOW_MODE_GLFW
|
||||
# elif defined(E2D_PLATFORM) && E2D_PLATFORM == E2D_PLATFORM_WINDOWS
|
||||
# define E2D_WINDOW_MODE E2D_WINDOW_MODE_NONE
|
||||
# define E2D_WINDOW_MODE E2D_WINDOW_MODE_GLFW
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -130,6 +130,11 @@ namespace e2d
|
||||
return glfwWindowShouldClose(state_->window.get());
|
||||
}
|
||||
|
||||
void window::swap_buffers() noexcept {
|
||||
E2D_ASSERT(state_->window);
|
||||
glfwSwapBuffers(state_->window.get());
|
||||
}
|
||||
|
||||
bool window::poll_events() noexcept {
|
||||
return glfw_state::poll_events();
|
||||
}
|
||||
|
||||
@@ -39,6 +39,9 @@ namespace e2d
|
||||
return false;
|
||||
}
|
||||
|
||||
void window::swap_buffers() noexcept {
|
||||
}
|
||||
|
||||
bool window::poll_events() noexcept {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -68,59 +68,59 @@ TEST_CASE("strfmts") {
|
||||
v2u(1,2)) == "(1,2)");
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(v3u(1,2,3), 3)) == "( 1, 2, 3)");
|
||||
strings::make_format_arg(v3u(1,2,3), u8(3))) == "( 1, 2, 3)");
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(v4i(1,2,3,4), 2)) == "( 1, 2, 3, 4)");
|
||||
strings::make_format_arg(v4i(1,2,3,4), u8(2))) == "( 1, 2, 3, 4)");
|
||||
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
v2f(1.f,2.f)) == "(1.000000,2.000000)");
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(v3d(1,2,3), 5, 2)) == "( 1.00, 2.00, 3.00)");
|
||||
strings::make_format_arg(v3d(1,2,3), u8(5), u8(2))) == "( 1.00, 2.00, 3.00)");
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(v4f(1,2,3,4),0,1)) == "(1.0,2.0,3.0,4.0)");
|
||||
strings::make_format_arg(v4f(1,2,3,4), u8(0), u8(1))) == "(1.0,2.0,3.0,4.0)");
|
||||
}
|
||||
{
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(m2i(1,2,3,4), 3)) ==
|
||||
strings::make_format_arg(m2i(1,2,3,4), u8(3))) ==
|
||||
"(( 1, 2),( 3, 4))");
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(m3i(1,2,3,4,5,6,7,8,9), 1)) ==
|
||||
strings::make_format_arg(m3i(1,2,3,4,5,6,7,8,9), u8(1))) ==
|
||||
"((1,2,3),(4,5,6),(7,8,9))");
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(m4i(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16), 2)) ==
|
||||
strings::make_format_arg(m4i(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16), u8(2))) ==
|
||||
"(( 1, 2, 3, 4),( 5, 6, 7, 8),( 9,10,11,12),(13,14,15,16))");
|
||||
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(m2f(1,2,3,4), 5, 2)) ==
|
||||
strings::make_format_arg(m2f(1,2,3,4), u8(5), u8(2))) ==
|
||||
"(( 1.00, 2.00),( 3.00, 4.00))");
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(m3f(1,2,3,4,5,6,7,8,9), 4, 1)) ==
|
||||
strings::make_format_arg(m3f(1,2,3,4,5,6,7,8,9), u8(4), u8(1))) ==
|
||||
"(( 1.0, 2.0, 3.0),( 4.0, 5.0, 6.0),( 7.0, 8.0, 9.0))");
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(m4f(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16), 2,0)) ==
|
||||
strings::make_format_arg(m4f(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16), u8(2), u8(0))) ==
|
||||
"(( 1, 2, 3, 4),( 5, 6, 7, 8),( 9,10,11,12),(13,14,15,16))");
|
||||
}
|
||||
{
|
||||
REQUIRE(strings::rformat("%0", make_rad(2)) == "2rad");
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(make_rad(2.f), 5, 2)) ==
|
||||
strings::make_format_arg(make_rad(2.f), u8(5), u8(2))) ==
|
||||
" 2.00rad");
|
||||
|
||||
REQUIRE(strings::rformat("%0", make_deg(3)) == "3deg");
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(make_deg(2.0), 5, 2)) ==
|
||||
strings::make_format_arg(make_deg(2.0), u8(5), u8(2))) ==
|
||||
" 2.00deg");
|
||||
}
|
||||
{
|
||||
@@ -137,11 +137,11 @@ TEST_CASE("strfmts") {
|
||||
{
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(color(1.f,2.f,3.f,4.f), 0, 2)) ==
|
||||
strings::make_format_arg(color(1.f,2.f,3.f,4.f), u8(0), u8(2))) ==
|
||||
"(1.00,2.00,3.00,4.00)");
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(color32(1,2,3,4), 2)) == "( 1, 2, 3, 4)");
|
||||
strings::make_format_arg(color32(1,2,3,4), u8(2))) == "( 1, 2, 3, 4)");
|
||||
}
|
||||
{
|
||||
REQUIRE(strings::rformat("%0", make_seconds(2)) == "2s");
|
||||
@@ -152,7 +152,7 @@ TEST_CASE("strfmts") {
|
||||
REQUIRE(strings::rformat("%0", make_milliseconds(3.0)) == "3.000000ms");
|
||||
REQUIRE(strings::rformat(
|
||||
"%0",
|
||||
strings::make_format_arg(make_microseconds(4.f), 5, 2)) ==
|
||||
strings::make_format_arg(make_microseconds(4.f), u8(5), u8(2))) ==
|
||||
" 4.00us");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user