From 206b1c54f7ff7ec339854c8ec7b0dfd87c2bbea0 Mon Sep 17 00:00:00 2001 From: Karl Schultz Date: Fri, 13 Apr 2018 18:02:07 -0600 Subject: macos: Pass argc/argv through to main cube code This allows users to specify arguments like "--c 100" --- demos/cube.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'demos/cube.cpp') diff --git a/demos/cube.cpp b/demos/cube.cpp index 68645c90..ff760893 100644 --- a/demos/cube.cpp +++ b/demos/cube.cpp @@ -261,6 +261,8 @@ struct Demo { #elif defined(VK_USE_PLATFORM_WAYLAND_KHR) void run(); void create_window(); +#elif defined(VK_USE_PLATFORM_MACOS_MVK) + void run(); #elif defined(VK_USE_PLATFORM_MIR_KHR) #elif defined(VK_USE_PLATFORM_DISPLAY_KHR) vk::Result create_display_surface(); @@ -2668,6 +2670,14 @@ void Demo::create_window() { wl_shell_surface_set_toplevel(shell_surface); wl_shell_surface_set_title(shell_surface, APP_SHORT_NAME); } +#elif defined(VK_USE_PLATFORM_MACOS_MVK) +void Demo::run() { + draw(); + curFrame++; + if (frameCount != UINT32_MAX && curFrame == frameCount) { + quit = true; + } +} #elif defined(VK_USE_PLATFORM_MIR_KHR) #elif defined(VK_USE_PLATFORM_DISPLAY_KHR) @@ -2973,9 +2983,7 @@ int main(int argc, char **argv) { #elif defined(VK_USE_PLATFORM_IOS_MVK) || defined(VK_USE_PLATFORM_MACOS_MVK) // Global function invoked from NS or UI views and controllers to create demo -static void demo_main(struct Demo &demo, void *view) { - const char *argv[] = {"CubeSample"}; - int argc = sizeof(argv) / sizeof(char *); +static void demo_main(struct Demo &demo, void *view, int argc, const char *argv[]) { demo.init(argc, (char **)argv); demo.window = view; -- cgit v1.2.3