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/*
|
build/*
|
||||||
CMakeLists.txt.user
|
CMakeLists.txt.user
|
||||||
|
|||||||
@@ -89,12 +89,12 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
|
|||||||
# 3rd party
|
# 3rd party
|
||||||
#
|
#
|
||||||
|
|
||||||
if(APPLE)
|
if(WIN32 OR APPLE)
|
||||||
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
|
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
|
||||||
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||||
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||||
add_subdirectory(modules/glfw)
|
add_subdirectory(modules/glfw)
|
||||||
endif(APPLE)
|
endif(WIN32 OR APPLE)
|
||||||
|
|
||||||
#
|
#
|
||||||
# subdirectories
|
# subdirectories
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ namespace e2d
|
|||||||
v2u virtual_size() const noexcept;
|
v2u virtual_size() const noexcept;
|
||||||
|
|
||||||
bool should_close() const noexcept;
|
bool should_close() const noexcept;
|
||||||
|
void swap_buffers() noexcept;
|
||||||
static bool poll_events() noexcept;
|
static bool poll_events() noexcept;
|
||||||
private:
|
private:
|
||||||
class state;
|
class state;
|
||||||
|
|||||||
@@ -40,9 +40,13 @@ function(add_e2d_sample NAME)
|
|||||||
${OPENGL_gl_LIBRARY}
|
${OPENGL_gl_LIBRARY}
|
||||||
${CMAKE_THREAD_LIBS_INIT})
|
${CMAKE_THREAD_LIBS_INIT})
|
||||||
|
|
||||||
|
if(WIN32 OR APPLE)
|
||||||
|
target_link_libraries(${SAMPLE_NAME}
|
||||||
|
glfw)
|
||||||
|
endif(WIN32 OR APPLE)
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
target_link_libraries(${SAMPLE_NAME}
|
target_link_libraries(${SAMPLE_NAME}
|
||||||
glfw
|
|
||||||
${Cocoa}
|
${Cocoa}
|
||||||
${IOKit}
|
${IOKit}
|
||||||
${CoreVideo}
|
${CoreVideo}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ using namespace e2d;
|
|||||||
int main() {
|
int main() {
|
||||||
window w{{640, 480}, "Enduro2D", false};
|
window w{{640, 480}, "Enduro2D", false};
|
||||||
while ( !w.should_close() ) {
|
while ( !w.should_close() ) {
|
||||||
|
w.swap_buffers();
|
||||||
window::poll_events();
|
window::poll_events();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,6 @@
|
|||||||
# elif defined(E2D_PLATFORM) && E2D_PLATFORM == E2D_PLATFORM_MACOSX
|
# elif defined(E2D_PLATFORM) && E2D_PLATFORM == E2D_PLATFORM_MACOSX
|
||||||
# define E2D_WINDOW_MODE E2D_WINDOW_MODE_GLFW
|
# define E2D_WINDOW_MODE E2D_WINDOW_MODE_GLFW
|
||||||
# elif defined(E2D_PLATFORM) && E2D_PLATFORM == E2D_PLATFORM_WINDOWS
|
# 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
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -130,6 +130,11 @@ namespace e2d
|
|||||||
return glfwWindowShouldClose(state_->window.get());
|
return glfwWindowShouldClose(state_->window.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void window::swap_buffers() noexcept {
|
||||||
|
E2D_ASSERT(state_->window);
|
||||||
|
glfwSwapBuffers(state_->window.get());
|
||||||
|
}
|
||||||
|
|
||||||
bool window::poll_events() noexcept {
|
bool window::poll_events() noexcept {
|
||||||
return glfw_state::poll_events();
|
return glfw_state::poll_events();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,6 +39,9 @@ namespace e2d
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void window::swap_buffers() noexcept {
|
||||||
|
}
|
||||||
|
|
||||||
bool window::poll_events() noexcept {
|
bool window::poll_events() noexcept {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,59 +68,59 @@ TEST_CASE("strfmts") {
|
|||||||
v2u(1,2)) == "(1,2)");
|
v2u(1,2)) == "(1,2)");
|
||||||
REQUIRE(strings::rformat(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%0",
|
||||||
v2f(1.f,2.f)) == "(1.000000,2.000000)");
|
v2f(1.f,2.f)) == "(1.000000,2.000000)");
|
||||||
REQUIRE(strings::rformat(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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))");
|
"(( 1, 2),( 3, 4))");
|
||||||
REQUIRE(strings::rformat(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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))");
|
"((1,2,3),(4,5,6),(7,8,9))");
|
||||||
REQUIRE(strings::rformat(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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))");
|
"(( 1, 2, 3, 4),( 5, 6, 7, 8),( 9,10,11,12),(13,14,15,16))");
|
||||||
|
|
||||||
REQUIRE(strings::rformat(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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))");
|
"(( 1.00, 2.00),( 3.00, 4.00))");
|
||||||
REQUIRE(strings::rformat(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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))");
|
"(( 1.0, 2.0, 3.0),( 4.0, 5.0, 6.0),( 7.0, 8.0, 9.0))");
|
||||||
REQUIRE(strings::rformat(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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))");
|
"(( 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", make_rad(2)) == "2rad");
|
||||||
REQUIRE(strings::rformat(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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");
|
" 2.00rad");
|
||||||
|
|
||||||
REQUIRE(strings::rformat("%0", make_deg(3)) == "3deg");
|
REQUIRE(strings::rformat("%0", make_deg(3)) == "3deg");
|
||||||
REQUIRE(strings::rformat(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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");
|
" 2.00deg");
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
@@ -137,11 +137,11 @@ TEST_CASE("strfmts") {
|
|||||||
{
|
{
|
||||||
REQUIRE(strings::rformat(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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)");
|
"(1.00,2.00,3.00,4.00)");
|
||||||
REQUIRE(strings::rformat(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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");
|
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", make_milliseconds(3.0)) == "3.000000ms");
|
||||||
REQUIRE(strings::rformat(
|
REQUIRE(strings::rformat(
|
||||||
"%0",
|
"%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");
|
" 4.00us");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user