diff options
author | crupest <crupest@outlook.com> | 2023-10-06 19:29:07 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2023-10-06 19:29:07 +0800 |
commit | ded4428d7286925db1f5ab9f18f549c85033839d (patch) | |
tree | 68e8e8acbd5e5dbc19bd503f4df7c93b66ee7001 | |
parent | 301b74c63deab5f09cc09d4edc07e0c86faa7cfa (diff) | |
download | cru-ded4428d7286925db1f5ab9f18f549c85033839d.tar.gz cru-ded4428d7286925db1f5ab9f18f549c85033839d.tar.bz2 cru-ded4428d7286925db1f5ab9f18f549c85033839d.zip |
Init web canvas.
-rw-r--r-- | include/cru/platform/Resource.h | 2 | ||||
-rw-r--r-- | include/cru/platform/graphics/web_canvas/WebCanvasGraphicsFactory.h | 8 | ||||
-rw-r--r-- | include/cru/platform/graphics/web_canvas/WebCanvasResource.h | 21 | ||||
-rw-r--r-- | src/platform/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/platform/graphics/web_canvas/CMakeLists.txt | 7 | ||||
-rw-r--r-- | src/platform/graphics/web_canvas/Factory.cpp | 0 | ||||
-rw-r--r-- | src/platform/graphics/web_canvas/Resource.cpp | 12 | ||||
-rw-r--r-- | src/platform/web/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/platform/web/Resource.cpp | 0 |
9 files changed, 57 insertions, 2 deletions
diff --git a/include/cru/platform/Resource.h b/include/cru/platform/Resource.h index fe95ebb3..ba3c5617 100644 --- a/include/cru/platform/Resource.h +++ b/include/cru/platform/Resource.h @@ -4,8 +4,6 @@ #include "cru/common/Base.h" #include "cru/common/String.h" -#include <string_view> - namespace cru::platform { struct CRU_PLATFORM_API IPlatformResource : virtual Interface { CRU_DEFAULT_CONSTRUCTOR_DESTRUCTOR(IPlatformResource) diff --git a/include/cru/platform/graphics/web_canvas/WebCanvasGraphicsFactory.h b/include/cru/platform/graphics/web_canvas/WebCanvasGraphicsFactory.h new file mode 100644 index 00000000..ce141c43 --- /dev/null +++ b/include/cru/platform/graphics/web_canvas/WebCanvasGraphicsFactory.h @@ -0,0 +1,8 @@ +#pragma once + +namespace cru::platform::graphics::web_canvas { +class WebCanvasGraphicsFactory { + +}; +} + diff --git a/include/cru/platform/graphics/web_canvas/WebCanvasResource.h b/include/cru/platform/graphics/web_canvas/WebCanvasResource.h new file mode 100644 index 00000000..de3e38ac --- /dev/null +++ b/include/cru/platform/graphics/web_canvas/WebCanvasResource.h @@ -0,0 +1,21 @@ +#pragma once + +#include "cru/common/Base.h" +#include "cru/platform/Resource.h" + +namespace cru::platform::graphics::web_canvas { +class WebCanvasResource : public Object, public virtual IPlatformResource { + public: + static const String kPlatformId; + + WebCanvasResource(); + + CRU_DELETE_COPY(WebCanvasResource) + CRU_DELETE_MOVE(WebCanvasResource) + + ~WebCanvasResource() override; + + public: + String GetPlatformId() const override; +}; +} // namespace cru::platform::graphics::web_canvas diff --git a/src/platform/CMakeLists.txt b/src/platform/CMakeLists.txt index 22c9faa3..204660a4 100644 --- a/src/platform/CMakeLists.txt +++ b/src/platform/CMakeLists.txt @@ -17,6 +17,9 @@ elseif (APPLE) add_subdirectory(osx) add_subdirectory(graphics/quartz) add_subdirectory(gui/osx) +elseif (EMSCRIPTEN) + add_subdirectory(web) + add_subdirectory(graphics/web_canvas) endif() add_subdirectory(bootstrap) diff --git a/src/platform/graphics/web_canvas/CMakeLists.txt b/src/platform/graphics/web_canvas/CMakeLists.txt new file mode 100644 index 00000000..0227adb7 --- /dev/null +++ b/src/platform/graphics/web_canvas/CMakeLists.txt @@ -0,0 +1,7 @@ +add_library(CruPlatformGraphicsWebCanvas + Factory.cpp + Resource.cpp +) + +target_link_libraries(CruPlatformGraphicsWebCanvas PUBLIC CruPlatformBaseWeb CruPlatformGraphics) + diff --git a/src/platform/graphics/web_canvas/Factory.cpp b/src/platform/graphics/web_canvas/Factory.cpp new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/src/platform/graphics/web_canvas/Factory.cpp diff --git a/src/platform/graphics/web_canvas/Resource.cpp b/src/platform/graphics/web_canvas/Resource.cpp new file mode 100644 index 00000000..bb54fd06 --- /dev/null +++ b/src/platform/graphics/web_canvas/Resource.cpp @@ -0,0 +1,12 @@ +#include "cru/platform/graphics/web_canvas/WebCanvasResource.h" + +namespace cru::platform::graphics::web_canvas { +const String WebCanvasResource::kPlatformId = u"WebCanvas"; + +WebCanvasResource::WebCanvasResource() {} + +WebCanvasResource::~WebCanvasResource() {} + +String WebCanvasResource::GetPlatformId() const { return kPlatformId; } + +} // namespace cru::platform::graphics::web_canvas diff --git a/src/platform/web/CMakeLists.txt b/src/platform/web/CMakeLists.txt new file mode 100644 index 00000000..76817dfa --- /dev/null +++ b/src/platform/web/CMakeLists.txt @@ -0,0 +1,6 @@ +add_library(CruPlatformBaseWeb + Resource.cpp +) + +target_link_libraries(CruPlatformBaseWeb PUBLIC CruPlatformBase) + diff --git a/src/platform/web/Resource.cpp b/src/platform/web/Resource.cpp new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/src/platform/web/Resource.cpp |