From aa7189dd25188f84198fd0cb42f9cf366e0276a7 Mon Sep 17 00:00:00 2001 From: Nishi Date: Fri, 29 May 2026 01:10:45 +0900 Subject: [PATCH] rename CallableFunc to CallableLambda --- client/main.cc | 17 +++-------------- engine/include/fishbone/client.h | 2 ++ engine/include/fishbone/foundation.h | 1 + engine/include/fishbone/thread.h | 4 ++-- engine/include/fishbone/window.h | 21 +++++++++++++++++++++ engine/src/thread/sdl2.cc | 4 ++-- engine/src/window/sdl2.cc | 11 +++++++++++ engine/tests/src/thread.cc | 2 +- 8 files changed, 43 insertions(+), 19 deletions(-) create mode 100644 engine/include/fishbone/window.h diff --git a/client/main.cc b/client/main.cc index 09394ec..d76acb0 100644 --- a/client/main.cc +++ b/client/main.cc @@ -11,25 +11,14 @@ static void cleanup(int sig){ #endif int main(){ - fishbone::SoundDriver* drv; - fishbone::Sound* snd; - + fishbone::Window* wnd; + #ifndef _WIN32 signal(SIGINT, cleanup); signal(SIGTERM, cleanup); #endif - drv = new fishbone::SoundDriver(); - - snd = drv->mixer.open("shanghai.mp3"); - snd->setLoop(true); - snd->position[0] = -1; - snd->position[1] = 0; - snd->position[2] = 0; - snd->is3d = true; - snd->resume(); + wnd = new fishbone::Window("Fishbowl", 640, 480); while(!quit); - - delete drv; } diff --git a/engine/include/fishbone/client.h b/engine/include/fishbone/client.h index 3166f5b..85eb0fe 100644 --- a/engine/include/fishbone/client.h +++ b/engine/include/fishbone/client.h @@ -7,11 +7,13 @@ namespace fishbone { #include #include +#include namespace fishbone { class Client { public: fishbone::SoundDriver sound; + fishbone::Window window; }; }; // namespace fishbone diff --git a/engine/include/fishbone/foundation.h b/engine/include/fishbone/foundation.h index 8e9ab09..3da51d0 100644 --- a/engine/include/fishbone/foundation.h +++ b/engine/include/fishbone/foundation.h @@ -6,5 +6,6 @@ #include #include #include +#include #endif diff --git a/engine/include/fishbone/thread.h b/engine/include/fishbone/thread.h index 1833780..60bf556 100644 --- a/engine/include/fishbone/thread.h +++ b/engine/include/fishbone/thread.h @@ -15,10 +15,10 @@ namespace fishbone { public: using Callable = void(*)(fishbone::Thread* thread, void* arg); - using CallableFunc = std::function; + using CallableLambda = std::function; Thread(Callable call, void* arg); - Thread(CallableFunc call); + Thread(CallableLambda call); ~Thread(); void join(); diff --git a/engine/include/fishbone/window.h b/engine/include/fishbone/window.h new file mode 100644 index 0000000..43b5a74 --- /dev/null +++ b/engine/include/fishbone/window.h @@ -0,0 +1,21 @@ +#ifndef __FISHBONE_WINDOW_H__ +#define __FISHBONE_WINDOW_H__ + +namespace fishbone { + class Window; +}; // namespace fishbone + +#include + +namespace fishbone { + class Window { + struct Impl; + Impl* impl; + + public: + Window(std::string title, int width, int height); + ~Window(); + }; +}; + +#endif diff --git a/engine/src/thread/sdl2.cc b/engine/src/thread/sdl2.cc index 7b0ffa4..91cb860 100644 --- a/engine/src/thread/sdl2.cc +++ b/engine/src/thread/sdl2.cc @@ -9,7 +9,7 @@ struct call_arg { }; struct call_arg2 { - fishbone::Thread::CallableFunc call; + fishbone::Thread::CallableLambda call; fishbone::Thread* thread; }; @@ -48,7 +48,7 @@ fishbone::Thread::Thread(Callable call, void* arg) { this->impl->thread = SDL_CreateThread(thread_call, "FBThread", data); } -fishbone::Thread::Thread(CallableFunc call) { +fishbone::Thread::Thread(CallableLambda call) { struct call_arg2* data = new struct call_arg2(); data->call = call; diff --git a/engine/src/window/sdl2.cc b/engine/src/window/sdl2.cc index 732e73e..47c758c 100644 --- a/engine/src/window/sdl2.cc +++ b/engine/src/window/sdl2.cc @@ -1,4 +1,15 @@ #include #ifdef FISHBONE_WINDOW_USE_SDL2 #include + +struct fishbone::Window::Impl { +}; + +fishbone::Window::Window(std::string title, int width, int height){ + this->impl = new fishbone::Window::Impl(); +} + +fishbone::Window::~Window(){ + delete this->impl; +} #endif diff --git a/engine/tests/src/thread.cc b/engine/tests/src/thread.cc index f2f8811..6964453 100644 --- a/engine/tests/src/thread.cc +++ b/engine/tests/src/thread.cc @@ -40,7 +40,7 @@ TEST_CASE("Mutex") { int a = 0; fishbone::Mutex m; - fishbone::Thread::CallableFunc func = [&a, &m](auto) { + fishbone::Thread::CallableLambda func = [&a, &m](auto) { m.lock(); for (int j = 0; j < 2; j++) { int b = a;