From e910425dc5d2474a01200699dff3bbcd9b5e4080 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sat, 12 Feb 2022 20:24:54 -0500 Subject: [PATCH] iOS builds now successfully build --- engine/renderer/include/render_options.hpp | 4 +- platforms/ios/ViewController.mm.in | 75 ++++++++++++++-------- platforms/ios/file.mm | 11 ++-- 3 files changed, 56 insertions(+), 34 deletions(-) diff --git a/engine/renderer/include/render_options.hpp b/engine/renderer/include/render_options.hpp index 5da302e..434105b 100755 --- a/engine/renderer/include/render_options.hpp +++ b/engine/renderer/include/render_options.hpp @@ -27,13 +27,13 @@ constexpr bool default_enable_normal_mapping = false; constexpr bool default_enable_point_shadows = false; constexpr ShadowFilter default_shadow_filter = ShadowFilter::PCF; constexpr int default_shadow_resolution = 1024; -#endif - +#else constexpr bool default_enable_ibl = true; constexpr bool default_enable_normal_mapping = true; constexpr bool default_enable_point_shadows = true; constexpr ShadowFilter default_shadow_filter = ShadowFilter::PCSS; constexpr int default_shadow_resolution = 2048; +#endif struct RenderOptions { DisplayColorSpace display_color_space = DisplayColorSpace::SRGB; diff --git a/platforms/ios/ViewController.mm.in b/platforms/ios/ViewController.mm.in index cc9cf55..af2ed83 100644 --- a/platforms/ios/ViewController.mm.in +++ b/platforms/ios/ViewController.mm.in @@ -1,5 +1,5 @@ #include -#include +#include #include #import @@ -127,7 +127,7 @@ int drawable_width, drawable_height; drawable_width = [view frame].size.width * [view contentScaleFactor]; drawable_height = [view frame].size.height * [view contentScaleFactor]; - engine = new prism::Engine(0, nullptr); + engine = new prism::engine(0, nullptr); app = new @APP_CLASS@(); engine->set_app(app); @@ -135,7 +135,7 @@ int drawable_width, drawable_height; GFXCreateInfo createInfo = {}; createInfo.api_validation_enabled = true; - GFXMetal* gfx = new GFXMetal(); + GFXVulkan* gfx = new GFXVulkan(); gfx->initialize(createInfo); engine->set_gfx(gfx); @@ -167,7 +167,40 @@ void platform::capture_mouse(const bool capture) { } -Offset platform::get_cursor_position() { +// TODO: unimplemented +PlatformTheme platform::get_theme() { + return PlatformTheme::Light; +} + +void platform::begin_text_input() { +// TODO: stub +} + +void platform::end_text_input() { +// TODO: stub +} + +void* platform::create_native_surface(platform::window_ptr index, void* instance) { + return nullptr; +} + +bool platform::is_main_window(platform::window_ptr index) { + return true; +} + +std::vector platform::get_native_surface_extension() { + return {}; +} + +void platform::show_window(const platform::window_ptr index) { + +} + +bool platform::supports_feature(const PlatformFeature feature) { + return false; +} + +prism::Offset platform::get_cursor_position() { return {static_cast(mouse_x), static_cast(mouse_y)}; } @@ -207,70 +240,62 @@ bool platform::get_key_down(InputButton key) { return false; } -int platform::open_window(const std::string_view title, const Rectangle rect, const WindowFlags flags) { +platform::window_ptr platform::open_window(const std::string_view title, const prism::Rectangle rect, const WindowFlags flags) { return 0; } -void platform::set_window_title(const int index, const std::string_view title) { +void platform::set_window_title(const platform::window_ptr index, const std::string_view title) { } -bool platform::is_window_focused(const int index) { +bool platform::is_window_focused(const platform::window_ptr index) { } -void platform::set_window_focused(const int index) { +void platform::set_window_focused(const platform::window_ptr index) { } -Extent platform::get_window_size(const int index) { +prism::Extent platform::get_window_size(const platform::window_ptr index) { return {static_cast(width), static_cast(height)}; } -Extent platform::get_window_drawable_size(const int index) { +prism::Extent platform::get_window_drawable_size(const platform::window_ptr index) { return {static_cast(drawable_width), static_cast(drawable_height)}; } -Offset platform::get_window_position(const int index) { +prism::Offset platform::get_window_position(const platform::window_ptr index) { } -void platform::set_window_size(const int index, const Extent extent) { +void platform::set_window_size(const platform::window_ptr index, const prism::Extent extent) { } -void platform::set_window_position(const int index, const Offset offset) { +void platform::set_window_position(const platform::window_ptr index, const prism::Offset offset) { } -void platform::close_window(const int index) { +void platform::close_window(const platform::window_ptr index) { } -char* platform::translate_keycode(const unsigned int keycode) { - return nullptr; -} - int platform::get_keycode(const InputButton button) { } -Rectangle platform::get_monitor_resolution() { +prism::Rectangle platform::get_monitor_resolution() { } -Rectangle platform::get_monitor_work_area() { +prism::Rectangle platform::get_monitor_work_area() { } -Offset platform::get_screen_cursor_position() { +prism::Offset platform::get_screen_cursor_position() { } -float platform::get_window_dpi(const int index) { - return 2.0f; -} - bool platform::get_mouse_button_down(const int index) { return mouse_down; } diff --git a/platforms/ios/file.mm b/platforms/ios/file.mm index a409b3f..8718b5c 100755 --- a/platforms/ios/file.mm +++ b/platforms/ios/file.mm @@ -9,7 +9,7 @@ #include "log.hpp" -void file::initialize_domain(const FileDomain domain, const AccessMode mode, const std::string_view path) { +void prism::set_domain_path(const prism::domain domain, const prism::path& path) { NSBundle* bundle = [NSBundle mainBundle]; NSString* resourceFolderPath = [bundle resourcePath]; @@ -19,12 +19,9 @@ void file::initialize_domain(const FileDomain domain, const AccessMode mode, con domain_data[(int)domain] = s; } -std::string file::get_writeable_path(const std::string_view path) { +prism::path prism::get_writeable_directory() { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); - NSString* resourceFolderPath = paths[0]; - - std::string s = std::string([resourceFolderPath cStringUsingEncoding:NSUTF8StringEncoding]) + "/" + std::string(path); - - return s; + + return std::string([resourceFolderPath cStringUsingEncoding:NSUTF8StringEncoding]); }