From fb5a73a39fb7e6e5924db362062cba628525028a Mon Sep 17 00:00:00 2001 From: George Marques Date: Wed, 2 Nov 2016 18:26:42 -0200 Subject: Rename WinRT files to UWP --- platform/uwp/app.cpp | 647 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 647 insertions(+) create mode 100644 platform/uwp/app.cpp (limited to 'platform/uwp/app.cpp') diff --git a/platform/uwp/app.cpp b/platform/uwp/app.cpp new file mode 100644 index 000000000..c2b7ba064 --- /dev/null +++ b/platform/uwp/app.cpp @@ -0,0 +1,647 @@ +/*************************************************************************/ +/* app.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ +// +// This file demonstrates how to initialize EGL in a Windows Store app, using ICoreWindow. +// + +#include "app.h" + +#include "main/main.h" +#include "core/os/dir_access.h" +#include "core/os/file_access.h" +#include "core/os/keyboard.h" + +#include "platform/windows/key_mapping_win.h" + +#include + +using namespace Windows::ApplicationModel::Core; +using namespace Windows::ApplicationModel::Activation; +using namespace Windows::UI::Core; +using namespace Windows::UI::Input; +using namespace Windows::Devices::Input; +using namespace Windows::UI::Xaml::Input; +using namespace Windows::Foundation; +using namespace Windows::Graphics::Display; +using namespace Windows::System; +using namespace Windows::System::Threading::Core; +using namespace Microsoft::WRL; + +using namespace GodotWinRT; + +// Helper to convert a length in device-independent pixels (DIPs) to a length in physical pixels. +inline float ConvertDipsToPixels(float dips, float dpi) +{ + static const float dipsPerInch = 96.0f; + return floor(dips * dpi / dipsPerInch + 0.5f); // Round to nearest integer. +} + +// Implementation of the IFrameworkViewSource interface, necessary to run our app. +ref class GodotWinrtViewSource sealed : Windows::ApplicationModel::Core::IFrameworkViewSource +{ +public: + virtual Windows::ApplicationModel::Core::IFrameworkView^ CreateView() + { + return ref new App(); + } +}; + +// The main function creates an IFrameworkViewSource for our app, and runs the app. +[Platform::MTAThread] +int main(Platform::Array^) +{ + auto godotApplicationSource = ref new GodotWinrtViewSource(); + CoreApplication::Run(godotApplicationSource); + return 0; +} + +App::App() : + mWindowClosed(false), + mWindowVisible(true), + mWindowWidth(0), + mWindowHeight(0), + mEglDisplay(EGL_NO_DISPLAY), + mEglContext(EGL_NO_CONTEXT), + mEglSurface(EGL_NO_SURFACE), + number_of_contacts(0) +{ +} + +// The first method called when the IFrameworkView is being created. +void App::Initialize(CoreApplicationView^ applicationView) +{ + // Register event handlers for app lifecycle. This example includes Activated, so that we + // can make the CoreWindow active and start rendering on the window. + applicationView->Activated += + ref new TypedEventHandler(this, &App::OnActivated); + + // Logic for other event handlers could go here. + // Information about the Suspending and Resuming event handlers can be found here: + // http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh994930.aspx + + os = new OSWinrt; + +} + +// Called when the CoreWindow object is created (or re-created). +void App::SetWindow(CoreWindow^ p_window) +{ + window = p_window; + window->VisibilityChanged += + ref new TypedEventHandler(this, &App::OnVisibilityChanged); + + window->Closed += + ref new TypedEventHandler(this, &App::OnWindowClosed); + + window->SizeChanged += + ref new TypedEventHandler(this, &App::OnWindowSizeChanged); + +#if !(WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP) + // Disable all pointer visual feedback for better performance when touching. + // This is not supported on Windows Phone applications. + auto pointerVisualizationSettings = PointerVisualizationSettings::GetForCurrentView(); + pointerVisualizationSettings->IsContactFeedbackEnabled = false; + pointerVisualizationSettings->IsBarrelButtonFeedbackEnabled = false; +#endif + + + window->PointerPressed += + ref new TypedEventHandler(this, &App::OnPointerPressed); + window->PointerMoved += + ref new TypedEventHandler(this, &App::OnPointerMoved); + window->PointerReleased += + ref new TypedEventHandler(this, &App::OnPointerReleased); + window->PointerWheelChanged += + ref new TypedEventHandler(this, &App::OnPointerWheelChanged); + + mouseChangedNotifier = SignalNotifier::AttachToEvent(L"os_mouse_mode_changed", ref new SignalHandler( + this, &App::OnMouseModeChanged + )); + + mouseChangedNotifier->Enable(); + + window->CharacterReceived += + ref new TypedEventHandler(this, &App::OnCharacterReceived); + window->KeyDown += + ref new TypedEventHandler(this, &App::OnKeyDown); + window->KeyUp += + ref new TypedEventHandler(this, &App::OnKeyUp); + + + unsigned int argc; + char** argv = get_command_line(&argc); + + Main::setup("winrt", argc, argv, false); + + // The CoreWindow has been created, so EGL can be initialized. + ContextEGL* context = memnew(ContextEGL(window)); + os->set_gl_context(context); + UpdateWindowSize(Size(window->Bounds.Width, window->Bounds.Height)); + + Main::setup2(); +} + +static int _get_button(Windows::UI::Input::PointerPoint ^pt) { + + using namespace Windows::UI::Input; + +#if WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP + return BUTTON_LEFT; +#else + switch (pt->Properties->PointerUpdateKind) + { + case PointerUpdateKind::LeftButtonPressed: + case PointerUpdateKind::LeftButtonReleased: + return BUTTON_LEFT; + + case PointerUpdateKind::RightButtonPressed: + case PointerUpdateKind::RightButtonReleased: + return BUTTON_RIGHT; + + case PointerUpdateKind::MiddleButtonPressed: + case PointerUpdateKind::MiddleButtonReleased: + return BUTTON_MIDDLE; + + case PointerUpdateKind::XButton1Pressed: + case PointerUpdateKind::XButton1Released: + return BUTTON_WHEEL_UP; + + case PointerUpdateKind::XButton2Pressed: + case PointerUpdateKind::XButton2Released: + return BUTTON_WHEEL_DOWN; + + default: + break; + } +#endif + + return 0; +}; + +static bool _is_touch(Windows::UI::Input::PointerPoint ^pointerPoint) { +#if WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP + return true; +#else + using namespace Windows::Devices::Input; + switch (pointerPoint->PointerDevice->PointerDeviceType) { + case PointerDeviceType::Touch: + case PointerDeviceType::Pen: + return true; + default: + return false; + } +#endif +} + + +static Windows::Foundation::Point _get_pixel_position(CoreWindow^ window, Windows::Foundation::Point rawPosition, OS* os) { + + Windows::Foundation::Point outputPosition; + + // Compute coordinates normalized from 0..1. + // If the coordinates need to be sized to the SDL window, + // we'll do that after. + #if 1 || WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP + outputPosition.X = rawPosition.X / window->Bounds.Width; + outputPosition.Y = rawPosition.Y / window->Bounds.Height; + #else + switch (DisplayProperties::CurrentOrientation) + { + case DisplayOrientations::Portrait: + outputPosition.X = rawPosition.X / window->Bounds.Width; + outputPosition.Y = rawPosition.Y / window->Bounds.Height; + break; + case DisplayOrientations::PortraitFlipped: + outputPosition.X = 1.0f - (rawPosition.X / window->Bounds.Width); + outputPosition.Y = 1.0f - (rawPosition.Y / window->Bounds.Height); + break; + case DisplayOrientations::Landscape: + outputPosition.X = rawPosition.Y / window->Bounds.Height; + outputPosition.Y = 1.0f - (rawPosition.X / window->Bounds.Width); + break; + case DisplayOrientations::LandscapeFlipped: + outputPosition.X = 1.0f - (rawPosition.Y / window->Bounds.Height); + outputPosition.Y = rawPosition.X / window->Bounds.Width; + break; + default: + break; + } + #endif + + OS::VideoMode vm = os->get_video_mode(); + outputPosition.X *= vm.width; + outputPosition.Y *= vm.height; + + return outputPosition; +}; + +static int _get_finger(uint32_t p_touch_id) { + + return p_touch_id % 31; // for now +}; + +void App::pointer_event(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::PointerEventArgs^ args, bool p_pressed, bool p_is_wheel) { + + Windows::UI::Input::PointerPoint ^point = args->CurrentPoint; + Windows::Foundation::Point pos = _get_pixel_position(window, point->Position, os); + int but = _get_button(point); + if (_is_touch(point)) { + + InputEvent event; + event.type = InputEvent::SCREEN_TOUCH; + event.device = 0; + event.screen_touch.pressed = p_pressed; + event.screen_touch.x = pos.X; + event.screen_touch.y = pos.Y; + event.screen_touch.index = _get_finger(point->PointerId); + + last_touch_x[event.screen_touch.index] = pos.X; + last_touch_y[event.screen_touch.index] = pos.Y; + + os->input_event(event); + if (number_of_contacts > 1) + return; + + }; // fallthrought of sorts + + InputEvent event; + event.type = InputEvent::MOUSE_BUTTON; + event.device = 0; + event.mouse_button.pressed = p_pressed; + event.mouse_button.button_index = but; + event.mouse_button.x = pos.X; + event.mouse_button.y = pos.Y; + event.mouse_button.global_x = pos.X; + event.mouse_button.global_y = pos.Y; + + if (p_is_wheel) { + if (point->Properties->MouseWheelDelta > 0) { + event.mouse_button.button_index = point->Properties->IsHorizontalMouseWheel ? BUTTON_WHEEL_RIGHT : BUTTON_WHEEL_UP; + } else if (point->Properties->MouseWheelDelta < 0) { + event.mouse_button.button_index = point->Properties->IsHorizontalMouseWheel ? BUTTON_WHEEL_LEFT : BUTTON_WHEEL_DOWN; + } + } + + last_touch_x[31] = pos.X; + last_touch_y[31] = pos.Y; + + os->input_event(event); +}; + + +void App::OnPointerPressed(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::PointerEventArgs^ args) { + + number_of_contacts++; + pointer_event(sender, args, true); +}; + + +void App::OnPointerReleased(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::PointerEventArgs^ args) { + + number_of_contacts--; + pointer_event(sender, args, false); +}; + +void App::OnPointerWheelChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::PointerEventArgs^ args) { + + pointer_event(sender, args, true, true); +} + +void App::OnMouseModeChanged(Windows::System::Threading::Core::SignalNotifier^ signalNotifier, bool timedOut) { + + OS::MouseMode mode = os->get_mouse_mode(); + SignalNotifier^ notifier = mouseChangedNotifier; + + window->Dispatcher->RunAsync( + CoreDispatcherPriority::High, + ref new DispatchedHandler( + [mode, notifier, this]() { + if (mode == OS::MOUSE_MODE_CAPTURED) { + + this->MouseMovedToken = MouseDevice::GetForCurrentView()->MouseMoved += + ref new TypedEventHandler(this, &App::OnMouseMoved); + + } else { + + MouseDevice::GetForCurrentView()->MouseMoved -= MouseMovedToken; + + } + + notifier->Enable(); + })); + + ResetEvent(os->mouse_mode_changed); + + +} + +void App::OnPointerMoved(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::PointerEventArgs^ args) { + + Windows::UI::Input::PointerPoint ^point = args->CurrentPoint; + Windows::Foundation::Point pos = _get_pixel_position(window, point->Position, os); + + if (point->IsInContact && _is_touch(point)) { + + InputEvent event; + event.type = InputEvent::SCREEN_DRAG; + event.device = 0; + event.screen_drag.x = pos.X; + event.screen_drag.y = pos.Y; + event.screen_drag.index = _get_finger(point->PointerId); + event.screen_drag.relative_x = event.screen_drag.x - last_touch_x[event.screen_drag.index]; + event.screen_drag.relative_y = event.screen_drag.y - last_touch_y[event.screen_drag.index]; + + os->input_event(event); + if (number_of_contacts > 1) + return; + + }; // fallthrought of sorts + + // In case the mouse grabbed, MouseMoved will handle this + if (os->get_mouse_mode() == OS::MouseMode::MOUSE_MODE_CAPTURED) + return; + + InputEvent event; + event.type = InputEvent::MOUSE_MOTION; + event.device = 0; + event.mouse_motion.x = pos.X; + event.mouse_motion.y = pos.Y; + event.mouse_motion.global_x = pos.X; + event.mouse_motion.global_y = pos.Y; + event.mouse_motion.relative_x = pos.X - last_touch_x[31]; + event.mouse_motion.relative_y = pos.Y - last_touch_y[31]; + + last_mouse_pos = pos; + + os->input_event(event); + +} + +void App::OnMouseMoved(MouseDevice ^ mouse_device, MouseEventArgs ^ args) { + + // In case the mouse isn't grabbed, PointerMoved will handle this + if (os->get_mouse_mode() != OS::MouseMode::MOUSE_MODE_CAPTURED) + return; + + Windows::Foundation::Point pos; + pos.X = last_mouse_pos.X + args->MouseDelta.X; + pos.Y = last_mouse_pos.Y + args->MouseDelta.Y; + + InputEvent event; + event.type = InputEvent::MOUSE_MOTION; + event.device = 0; + event.mouse_motion.x = pos.X; + event.mouse_motion.y = pos.Y; + event.mouse_motion.global_x = pos.X; + event.mouse_motion.global_y = pos.Y; + event.mouse_motion.relative_x = args->MouseDelta.X; + event.mouse_motion.relative_y = args->MouseDelta.Y; + + last_mouse_pos = pos; + + os->input_event(event); +} + +void App::key_event(Windows::UI::Core::CoreWindow^ sender, bool p_pressed, Windows::UI::Core::KeyEventArgs^ key_args, Windows::UI::Core::CharacterReceivedEventArgs^ char_args) +{ + + OSWinrt::KeyEvent ke; + + InputModifierState mod; + mod.meta = false; + mod.command = false; + mod.control = sender->GetAsyncKeyState(VirtualKey::Control) == CoreVirtualKeyStates::Down; + mod.alt = sender->GetAsyncKeyState(VirtualKey::Menu) == CoreVirtualKeyStates::Down; + mod.shift = sender->GetAsyncKeyState(VirtualKey::Shift) == CoreVirtualKeyStates::Down; + ke.mod_state = mod; + + ke.pressed = p_pressed; + + if (key_args != nullptr) { + + ke.type = OSWinrt::KeyEvent::MessageType::KEY_EVENT_MESSAGE; + ke.unicode = 0; + ke.scancode = KeyMappingWindows::get_keysym((unsigned int)key_args->VirtualKey); + ke.echo = (!p_pressed && !key_args->KeyStatus.IsKeyReleased) || (p_pressed && key_args->KeyStatus.WasKeyDown); + + } else { + + ke.type = OSWinrt::KeyEvent::MessageType::CHAR_EVENT_MESSAGE; + ke.unicode = char_args->KeyCode; + ke.scancode = 0; + ke.echo = (!p_pressed && !char_args->KeyStatus.IsKeyReleased) || (p_pressed && char_args->KeyStatus.WasKeyDown); + } + + os->queue_key_event(ke); + +} +void App::OnKeyDown(CoreWindow^ sender, KeyEventArgs^ args) +{ + key_event(sender, true, args); +} + +void App::OnKeyUp(CoreWindow^ sender, KeyEventArgs^ args) +{ + key_event(sender, false, args); +} + +void App::OnCharacterReceived(CoreWindow^ sender, CharacterReceivedEventArgs^ args) +{ + key_event(sender, true, nullptr, args); +} + + +// Initializes scene resources +void App::Load(Platform::String^ entryPoint) +{ + +} + +// This method is called after the window becomes active. +void App::Run() +{ + if (Main::start()) + os->run(); +} + +// Terminate events do not cause Uninitialize to be called. It will be called if your IFrameworkView +// class is torn down while the app is in the foreground. +void App::Uninitialize() +{ + Main::cleanup(); + delete os; +} + +// Application lifecycle event handler. +void App::OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args) +{ + // Run() won't start until the CoreWindow is activated. + CoreWindow::GetForCurrentThread()->Activate(); +} + +// Window event handlers. +void App::OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args) +{ + mWindowVisible = args->Visible; +} + +void App::OnWindowClosed(CoreWindow^ sender, CoreWindowEventArgs^ args) +{ + mWindowClosed = true; +} + +void App::OnWindowSizeChanged(CoreWindow^ sender, WindowSizeChangedEventArgs^ args) +{ +#if (WINAPI_FAMILY == WINAPI_FAMILY_PC_APP) + // On Windows 8.1, apps are resized when they are snapped alongside other apps, or when the device is rotated. + // The default framebuffer will be automatically resized when either of these occur. + // In particular, on a 90 degree rotation, the default framebuffer's width and height will switch. + UpdateWindowSize(args->Size); +#else if (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP) + // On Windows Phone 8.1, the window size changes when the device is rotated. + // The default framebuffer will not be automatically resized when this occurs. + // It is therefore up to the app to handle rotation-specific logic in its rendering code. + //os->screen_size_changed(); + UpdateWindowSize(args->Size); +#endif +} + +void App::UpdateWindowSize(Size size) +{ + float dpi; +#if (WINAPI_FAMILY == WINAPI_FAMILY_PC_APP) + DisplayInformation^ currentDisplayInformation = DisplayInformation::GetForCurrentView(); + dpi = currentDisplayInformation->LogicalDpi; +#else if (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP) + dpi = DisplayProperties::LogicalDpi; +#endif + Size pixelSize(ConvertDipsToPixels(size.Width, dpi), ConvertDipsToPixels(size.Height, dpi)); + + mWindowWidth = static_cast(pixelSize.Width); + mWindowHeight = static_cast(pixelSize.Height); + + OS::VideoMode vm; + vm.width = mWindowWidth; + vm.height = mWindowHeight; + vm.fullscreen = true; + vm.resizable = false; + os->set_video_mode(vm); +} + +char** App::get_command_line(unsigned int* out_argc) { + + static char* fail_cl[] = { "-path", "game", NULL }; + *out_argc = 2; + + FILE* f = _wfopen(L"__cl__.cl", L"rb"); + + if (f == NULL) { + + wprintf(L"Couldn't open command line file."); + return fail_cl; + } + +#define READ_LE_4(v) ((int)(##v[3] & 0xFF) << 24) | ((int)(##v[2] & 0xFF) << 16) | ((int)(##v[1] & 0xFF) << 8) | ((int)(##v[0] & 0xFF)) +#define CMD_MAX_LEN 65535 + + uint8_t len[4]; + int r = fread(len, sizeof(uint8_t), 4, f); + + Platform::Collections::Vector cl; + + if (r < 4) { + fclose(f); + wprintf(L"Wrong cmdline length."); + return(fail_cl); + } + + int argc = READ_LE_4(len); + + for (int i = 0; i < argc; i++) { + + r = fread(len, sizeof(uint8_t), 4, f); + + if (r < 4) { + fclose(f); + wprintf(L"Wrong cmdline param length."); + return(fail_cl); + } + + int strlen = READ_LE_4(len); + + if (strlen > CMD_MAX_LEN) { + fclose(f); + wprintf(L"Wrong command length."); + return(fail_cl); + } + + char* arg = new char[strlen + 1]; + r = fread(arg, sizeof(char), strlen, f); + arg[strlen] = '\0'; + + if (r == strlen) { + + int warg_size = MultiByteToWideChar(CP_UTF8, 0, arg, -1, NULL, 0); + wchar_t* warg = new wchar_t[warg_size]; + + MultiByteToWideChar(CP_UTF8, 0, arg, -1, warg, warg_size); + + cl.Append(ref new Platform::String(warg, warg_size)); + + } else { + + delete[] arg; + fclose(f); + wprintf(L"Error reading command."); + return(fail_cl); + } + } + +#undef READ_LE_4 +#undef CMD_MAX_LEN + + fclose(f); + + char** ret = new char*[cl.Size + 1]; + + for (int i = 0; i < cl.Size; i++) { + + int arg_size = WideCharToMultiByte(CP_UTF8, 0, cl.GetAt(i)->Data(), -1, NULL, 0, NULL, NULL); + char* arg = new char[arg_size]; + + WideCharToMultiByte(CP_UTF8, 0, cl.GetAt(i)->Data(), -1, arg, arg_size, NULL, NULL); + + ret[i] = arg; + + } + ret[cl.Size] = NULL; + *out_argc = cl.Size; + + return ret; +} -- cgit v1.2.3-70-g09d2 From 411faaa6f478f837aa40893eaadf67e2b5d57cec Mon Sep 17 00:00:00 2001 From: George Marques Date: Wed, 2 Nov 2016 19:22:49 -0200 Subject: Rename remaining WinRT references to UWP --- doc/base/classes.xml | 2 +- drivers/windows/file_access_windows.cpp | 2 +- main/input_default.cpp | 2 +- modules/freetype/SCsub | 2 +- modules/openssl/SCsub | 2 +- platform/uwp/app.cpp | 16 ++-- platform/uwp/app.h | 4 +- platform/uwp/detect.py | 2 +- platform/uwp/export/export.cpp | 58 ++++++------ platform/uwp/joystick_uwp.cpp | 22 ++--- platform/uwp/joystick_uwp.h | 10 +- platform/uwp/os_uwp.cpp | 154 +++++++++++++++---------------- platform/uwp/os_uwp.h | 14 +-- platform/uwp/thread_uwp.cpp | 24 ++--- platform/uwp/thread_uwp.h | 16 ++-- thirdparty/README.md | 2 +- thirdparty/openssl/uwp.cpp | 4 +- tools/dist/uwp_template/AppxManifest.xml | 2 +- 18 files changed, 169 insertions(+), 169 deletions(-) (limited to 'platform/uwp/app.cpp') diff --git a/doc/base/classes.xml b/doc/base/classes.xml index 92b208ff5..e1241c265 100644 --- a/doc/base/classes.xml +++ b/doc/base/classes.xml @@ -23878,7 +23878,7 @@ - Return the name of the host OS. Possible values are: "Android", "BlackBerry 10", "Flash", "Haiku", "iOS", "HTML5", "OSX", "Server", "Windows", "WinRT", "X11" + Return the name of the host OS. Possible values are: "Android", "BlackBerry 10", "Flash", "Haiku", "iOS", "HTML5", "OSX", "Server", "Windows", "UWP", "X11" diff --git a/drivers/windows/file_access_windows.cpp b/drivers/windows/file_access_windows.cpp index e28d68221..00e54e2b3 100644 --- a/drivers/windows/file_access_windows.cpp +++ b/drivers/windows/file_access_windows.cpp @@ -126,7 +126,7 @@ void FileAccessWindows::close() { bool rename_error; #ifdef UWP_ENABLED - // WinRT has no PathFileExists, so we check attributes instead + // UWP has no PathFileExists, so we check attributes instead DWORD fileAttr; fileAttr = GetFileAttributesW(save_path.c_str()); diff --git a/main/input_default.cpp b/main/input_default.cpp index 09b1d53c5..0995f7132 100644 --- a/main/input_default.cpp +++ b/main/input_default.cpp @@ -740,7 +740,7 @@ static const char *s_ControllerMappings [] = #endif #ifdef UWP_ENABLED - "__WINRT_GAMEPAD__,Xbox Controller,a:b2,b:b3,x:b4,y:b5,start:b0,back:b1,leftstick:b12,rightstick:b13,leftshoulder:b10,rightshoulder:b11,dpup:b6,dpdown:b7,dpleft:b8,dpright:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,", + "__UWP_GAMEPAD__,Xbox Controller,a:b2,b:b3,x:b4,y:b5,start:b0,back:b1,leftstick:b12,rightstick:b13,leftshoulder:b10,rightshoulder:b11,dpup:b6,dpdown:b7,dpleft:b8,dpright:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,", #endif NULL }; diff --git a/modules/freetype/SCsub b/modules/freetype/SCsub index 5a5b87df5..e4dd1c36a 100644 --- a/modules/freetype/SCsub +++ b/modules/freetype/SCsub @@ -54,7 +54,7 @@ if (env['builtin_freetype'] != 'no'): ] thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources] - # Include header for WinRT to fix build issues + # Include header for UWP to fix build issues if "platform" in env and env["platform"] == "uwp": env.Append(CCFLAGS=['/FI', '"modules/freetype/uwpdef.h"']) diff --git a/modules/openssl/SCsub b/modules/openssl/SCsub index e379570c7..0e811ce8c 100644 --- a/modules/openssl/SCsub +++ b/modules/openssl/SCsub @@ -679,7 +679,7 @@ if (env['builtin_openssl'] != 'no'): env_openssl.add_source_files(env.modules_sources, "*.cpp") env_openssl.add_source_files(env.modules_sources, "*.c") -# platform/winrt need to know openssl is available, pass to main env +# platform/uwp need to know openssl is available, pass to main env if "platform" in env and env["platform"] == "uwp": env.Append(CPPPATH=[thirdparty_dir]) env.Append(CPPFLAGS=['-DOPENSSL_ENABLED']) diff --git a/platform/uwp/app.cpp b/platform/uwp/app.cpp index c2b7ba064..539c1815f 100644 --- a/platform/uwp/app.cpp +++ b/platform/uwp/app.cpp @@ -53,7 +53,7 @@ using namespace Windows::System; using namespace Windows::System::Threading::Core; using namespace Microsoft::WRL; -using namespace GodotWinRT; +using namespace GodotUWP; // Helper to convert a length in device-independent pixels (DIPs) to a length in physical pixels. inline float ConvertDipsToPixels(float dips, float dpi) @@ -63,7 +63,7 @@ inline float ConvertDipsToPixels(float dips, float dpi) } // Implementation of the IFrameworkViewSource interface, necessary to run our app. -ref class GodotWinrtViewSource sealed : Windows::ApplicationModel::Core::IFrameworkViewSource +ref class GodotUWPViewSource sealed : Windows::ApplicationModel::Core::IFrameworkViewSource { public: virtual Windows::ApplicationModel::Core::IFrameworkView^ CreateView() @@ -76,7 +76,7 @@ public: [Platform::MTAThread] int main(Platform::Array^) { - auto godotApplicationSource = ref new GodotWinrtViewSource(); + auto godotApplicationSource = ref new GodotUWPViewSource(); CoreApplication::Run(godotApplicationSource); return 0; } @@ -105,7 +105,7 @@ void App::Initialize(CoreApplicationView^ applicationView) // Information about the Suspending and Resuming event handlers can be found here: // http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh994930.aspx - os = new OSWinrt; + os = new OSUWP; } @@ -157,7 +157,7 @@ void App::SetWindow(CoreWindow^ p_window) unsigned int argc; char** argv = get_command_line(&argc); - Main::setup("winrt", argc, argv, false); + Main::setup("uwp", argc, argv, false); // The CoreWindow has been created, so EGL can be initialized. ContextEGL* context = memnew(ContextEGL(window)); @@ -431,7 +431,7 @@ void App::OnMouseMoved(MouseDevice ^ mouse_device, MouseEventArgs ^ args) { void App::key_event(Windows::UI::Core::CoreWindow^ sender, bool p_pressed, Windows::UI::Core::KeyEventArgs^ key_args, Windows::UI::Core::CharacterReceivedEventArgs^ char_args) { - OSWinrt::KeyEvent ke; + OSUWP::KeyEvent ke; InputModifierState mod; mod.meta = false; @@ -445,14 +445,14 @@ void App::key_event(Windows::UI::Core::CoreWindow^ sender, bool p_pressed, Windo if (key_args != nullptr) { - ke.type = OSWinrt::KeyEvent::MessageType::KEY_EVENT_MESSAGE; + ke.type = OSUWP::KeyEvent::MessageType::KEY_EVENT_MESSAGE; ke.unicode = 0; ke.scancode = KeyMappingWindows::get_keysym((unsigned int)key_args->VirtualKey); ke.echo = (!p_pressed && !key_args->KeyStatus.IsKeyReleased) || (p_pressed && key_args->KeyStatus.WasKeyDown); } else { - ke.type = OSWinrt::KeyEvent::MessageType::CHAR_EVENT_MESSAGE; + ke.type = OSUWP::KeyEvent::MessageType::CHAR_EVENT_MESSAGE; ke.unicode = char_args->KeyCode; ke.scancode = 0; ke.echo = (!p_pressed && !char_args->KeyStatus.IsKeyReleased) || (p_pressed && char_args->KeyStatus.WasKeyDown); diff --git a/platform/uwp/app.h b/platform/uwp/app.h index 91cac3798..f82de4d24 100644 --- a/platform/uwp/app.h +++ b/platform/uwp/app.h @@ -35,7 +35,7 @@ #include "os_uwp.h" #include "GLES2/gl2.h" -namespace GodotWinRT +namespace GodotUWP { ref class App sealed : public Windows::ApplicationModel::Core::IFrameworkView { @@ -97,7 +97,7 @@ namespace GodotWinRT EGLSurface mEglSurface; CoreWindow^ window; - OSWinrt* os; + OSUWP* os; int last_touch_x[32]; // 20 fingers, index 31 reserved for the mouse int last_touch_y[32]; diff --git a/platform/uwp/detect.py b/platform/uwp/detect.py index a78a7fec7..6eb4ca9ca 100644 --- a/platform/uwp/detect.py +++ b/platform/uwp/detect.py @@ -10,7 +10,7 @@ def is_active(): def get_name(): - return "WinRT" + return "UWP" def can_build(): diff --git a/platform/uwp/export/export.cpp b/platform/uwp/export/export.cpp index 6a35c1ceb..aab9ae8e3 100644 --- a/platform/uwp/export/export.cpp +++ b/platform/uwp/export/export.cpp @@ -432,9 +432,9 @@ public: ~AppxPackager(); }; -class EditorExportPlatformWinrt : public EditorExportPlatform { +class EditorExportPlatformUWP : public EditorExportPlatform { - OBJ_TYPE(EditorExportPlatformWinrt, EditorExportPlatform); + OBJ_TYPE(EditorExportPlatformUWP, EditorExportPlatform); Ref logo; @@ -528,8 +528,8 @@ public: virtual Error export_project(const String& p_path, bool p_debug, int p_flags = 0); - EditorExportPlatformWinrt(); - ~EditorExportPlatformWinrt(); + EditorExportPlatformUWP(); + ~EditorExportPlatformUWP(); }; @@ -1452,7 +1452,7 @@ Error AppxPackager::sign(const CertFile & p_cert, const AppxDigests & digests, P //////////////////////////////////////////////////////////////////// -bool EditorExportPlatformWinrt::_valid_resource_name(const String &p_name) const { +bool EditorExportPlatformUWP::_valid_resource_name(const String &p_name) const { if (p_name.empty()) return false; if (p_name.ends_with(".")) return false; @@ -1472,7 +1472,7 @@ bool EditorExportPlatformWinrt::_valid_resource_name(const String &p_name) const return true; } -bool EditorExportPlatformWinrt::_valid_guid(const String & p_guid) const { +bool EditorExportPlatformUWP::_valid_guid(const String & p_guid) const { Vector parts = p_guid.split("-"); @@ -1485,7 +1485,7 @@ bool EditorExportPlatformWinrt::_valid_guid(const String & p_guid) const { return true; } -bool EditorExportPlatformWinrt::_valid_bgcolor(const String & p_color) const { +bool EditorExportPlatformUWP::_valid_bgcolor(const String & p_color) const { if (p_color.empty()) return true; if (p_color.begins_with("#") && p_color.is_valid_html_color()) return true; @@ -1529,7 +1529,7 @@ bool EditorExportPlatformWinrt::_valid_bgcolor(const String & p_color) const { return false; } -bool EditorExportPlatformWinrt::_valid_image(const Ref p_image, int p_width, int p_height) const { +bool EditorExportPlatformUWP::_valid_image(const Ref p_image, int p_width, int p_height) const { if (!p_image.is_valid()) return false; @@ -1553,7 +1553,7 @@ bool EditorExportPlatformWinrt::_valid_image(const Ref p_image, in return valid_w && valid_h; } -Vector EditorExportPlatformWinrt::_fix_manifest(const Vector &p_template, bool p_give_internet) const { +Vector EditorExportPlatformUWP::_fix_manifest(const Vector &p_template, bool p_give_internet) const { String result = String::utf8((const char*)p_template.ptr(), p_template.size()); @@ -1659,7 +1659,7 @@ Vector EditorExportPlatformWinrt::_fix_manifest(const Vector & return r_ret; } -Vector EditorExportPlatformWinrt::_get_image_data(const String & p_path) { +Vector EditorExportPlatformUWP::_get_image_data(const String & p_path) { Vector data; Ref ref; @@ -1741,7 +1741,7 @@ Vector EditorExportPlatformWinrt::_get_image_data(const String & p_path return data; } -Error EditorExportPlatformWinrt::save_appx_file(void * p_userdata, const String & p_path, const Vector& p_data, int p_file, int p_total) { +Error EditorExportPlatformUWP::save_appx_file(void * p_userdata, const String & p_path, const Vector& p_data, int p_file, int p_total) { AppxPackager *packager = (AppxPackager*)p_userdata; String dst_path = p_path.replace_first("res://", "game/"); @@ -1751,7 +1751,7 @@ Error EditorExportPlatformWinrt::save_appx_file(void * p_userdata, const String return OK; } -bool EditorExportPlatformWinrt::_should_compress_asset(const String & p_path, const Vector& p_data) { +bool EditorExportPlatformUWP::_should_compress_asset(const String & p_path, const Vector& p_data) { /* TODO: This was copied verbatim from Android export. It should be * refactored to the parent class and also be used for .zip export. @@ -1800,7 +1800,7 @@ bool EditorExportPlatformWinrt::_should_compress_asset(const String & p_path, co return true; } -bool EditorExportPlatformWinrt::_set(const StringName& p_name, const Variant& p_value) { +bool EditorExportPlatformUWP::_set(const StringName& p_name, const Variant& p_value) { String n = p_name; @@ -1906,7 +1906,7 @@ bool EditorExportPlatformWinrt::_set(const StringName& p_name, const Variant& p_ return true; } -bool EditorExportPlatformWinrt::_get(const StringName& p_name, Variant &r_ret) const { +bool EditorExportPlatformUWP::_get(const StringName& p_name, Variant &r_ret) const { String n = p_name; @@ -2002,7 +2002,7 @@ bool EditorExportPlatformWinrt::_get(const StringName& p_name, Variant &r_ret) c return true; } -void EditorExportPlatformWinrt::_get_property_list(List* p_list) const { +void EditorExportPlatformUWP::_get_property_list(List* p_list) const { p_list->push_back(PropertyInfo(Variant::STRING, "custom_package/debug", PROPERTY_HINT_GLOBAL_FILE, "appx")); p_list->push_back(PropertyInfo(Variant::STRING, "custom_package/release", PROPERTY_HINT_GLOBAL_FILE, "appx")); @@ -2071,14 +2071,14 @@ void EditorExportPlatformWinrt::_get_property_list(List* p_list) c } -bool EditorExportPlatformWinrt::can_export(String * r_error) const { +bool EditorExportPlatformUWP::can_export(String * r_error) const { String err; bool valid = true; - if (!exists_export_template("winrt_x86_debug.zip") || !exists_export_template("winrt_x86_release.zip") - || !exists_export_template("winrt_arm_debug.zip") || !exists_export_template("winrt_arm_release.zip") - || !exists_export_template("winrt_x64_debug.zip") || !exists_export_template("winrt_x64_release.zip")) { + if (!exists_export_template("uwp_x86_debug.zip") || !exists_export_template("uwp_x86_release.zip") + || !exists_export_template("uwp_arm_debug.zip") || !exists_export_template("uwp_arm_release.zip") + || !exists_export_template("uwp_x64_debug.zip") || !exists_export_template("uwp_x64_release.zip")) { valid = false; err += TTR("No export templates found.\nDownload and install export templates.") + "\n"; } @@ -2154,7 +2154,7 @@ bool EditorExportPlatformWinrt::can_export(String * r_error) const { return valid; } -Error EditorExportPlatformWinrt::export_project(const String & p_path, bool p_debug, int p_flags) { +Error EditorExportPlatformUWP::export_project(const String & p_path, bool p_debug, int p_flags) { String src_appx; @@ -2170,30 +2170,30 @@ Error EditorExportPlatformWinrt::export_project(const String & p_path, bool p_de if (p_debug) { switch (arch) { case X86: { - src_appx = find_export_template("winrt_x86_debug.zip", &err); + src_appx = find_export_template("uwp_x86_debug.zip", &err); break; } case X64: { - src_appx = find_export_template("winrt_x64_debug.zip", &err); + src_appx = find_export_template("uwp_x64_debug.zip", &err); break; } case ARM: { - src_appx = find_export_template("winrt_arm_debug.zip", &err); + src_appx = find_export_template("uwp_arm_debug.zip", &err); break; } } } else { switch (arch) { case X86: { - src_appx = find_export_template("winrt_x86_release.zip", &err); + src_appx = find_export_template("uwp_x86_release.zip", &err); break; } case X64: { - src_appx = find_export_template("winrt_x64_release.zip", &err); + src_appx = find_export_template("uwp_x64_release.zip", &err); break; } case ARM: { - src_appx = find_export_template("winrt_arm_release.zip", &err); + src_appx = find_export_template("uwp_arm_release.zip", &err); break; } } @@ -2337,7 +2337,7 @@ Error EditorExportPlatformWinrt::export_project(const String & p_path, bool p_de return OK; } -EditorExportPlatformWinrt::EditorExportPlatformWinrt() { +EditorExportPlatformUWP::EditorExportPlatformUWP() { Image img(_uwp_logo); logo = Ref(memnew(ImageTexture)); @@ -2381,11 +2381,11 @@ EditorExportPlatformWinrt::EditorExportPlatformWinrt() { certificate_pass = ""; } -EditorExportPlatformWinrt::~EditorExportPlatformWinrt() {} +EditorExportPlatformUWP::~EditorExportPlatformUWP() {} void register_uwp_exporter() { - Ref exporter = Ref(memnew(EditorExportPlatformWinrt)); + Ref exporter = Ref(memnew(EditorExportPlatformUWP)); EditorImportExport::get_singleton()->add_export_platform(exporter); } diff --git a/platform/uwp/joystick_uwp.cpp b/platform/uwp/joystick_uwp.cpp index bcd867b14..ad0516992 100644 --- a/platform/uwp/joystick_uwp.cpp +++ b/platform/uwp/joystick_uwp.cpp @@ -32,15 +32,15 @@ using namespace Windows::Gaming::Input; using namespace Windows::Foundation; -void JoystickWinrt::register_events() { +void JoystickUWP::register_events() { Gamepad::GamepadAdded += - ref new EventHandler(this, &JoystickWinrt::OnGamepadAdded); + ref new EventHandler(this, &JoystickUWP::OnGamepadAdded); Gamepad::GamepadRemoved += - ref new EventHandler(this, &JoystickWinrt::OnGamepadRemoved); + ref new EventHandler(this, &JoystickUWP::OnGamepadRemoved); } -uint32_t JoystickWinrt::process_controllers(uint32_t p_last_id) { +uint32_t JoystickUWP::process_controllers(uint32_t p_last_id) { for (int i = 0; i < MAX_CONTROLLERS; i++) { @@ -74,20 +74,20 @@ uint32_t JoystickWinrt::process_controllers(uint32_t p_last_id) { return p_last_id; } -JoystickWinrt::JoystickWinrt() { +JoystickUWP::JoystickUWP() { for (int i = 0; i < MAX_CONTROLLERS; i++) controllers[i].id = i; } -JoystickWinrt::JoystickWinrt(InputDefault * p_input) { +JoystickUWP::JoystickUWP(InputDefault * p_input) { input = p_input; - JoystickWinrt(); + JoystickUWP(); } -void JoystickWinrt::OnGamepadAdded(Platform::Object ^ sender, Windows::Gaming::Input::Gamepad ^ value) { +void JoystickUWP::OnGamepadAdded(Platform::Object ^ sender, Windows::Gaming::Input::Gamepad ^ value) { short idx = -1; @@ -106,10 +106,10 @@ void JoystickWinrt::OnGamepadAdded(Platform::Object ^ sender, Windows::Gaming::I controllers[idx].id = idx; controllers[idx].type = ControllerType::GAMEPAD_CONTROLLER; - input->joy_connection_changed(controllers[idx].id, true, "Xbox Controller", "__WINRT_GAMEPAD__"); + input->joy_connection_changed(controllers[idx].id, true, "Xbox Controller", "__UWP_GAMEPAD__"); } -void JoystickWinrt::OnGamepadRemoved(Platform::Object ^ sender, Windows::Gaming::Input::Gamepad ^ value) { +void JoystickUWP::OnGamepadRemoved(Platform::Object ^ sender, Windows::Gaming::Input::Gamepad ^ value) { short idx = -1; @@ -136,7 +136,7 @@ void JoystickWinrt::OnGamepadRemoved(Platform::Object ^ sender, Windows::Gaming: input->joy_connection_changed(idx, false, "Xbox Controller"); } -InputDefault::JoyAxis JoystickWinrt::axis_correct(double p_val, bool p_negate, bool p_trigger) const { +InputDefault::JoyAxis JoystickUWP::axis_correct(double p_val, bool p_negate, bool p_trigger) const { InputDefault::JoyAxis jx; diff --git a/platform/uwp/joystick_uwp.h b/platform/uwp/joystick_uwp.h index 0ae8b35b0..47ec738a1 100644 --- a/platform/uwp/joystick_uwp.h +++ b/platform/uwp/joystick_uwp.h @@ -26,20 +26,20 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef JOYSTICK_WINRT_H -#define JOYSTICK_WINRT_H +#ifndef JOYSTICK_UWP_H +#define JOYSTICK_UWP_H #include "main/input_default.h" -ref class JoystickWinrt sealed { +ref class JoystickUWP sealed { internal: void register_events(); uint32_t process_controllers(uint32_t p_last_id); - JoystickWinrt(); - JoystickWinrt(InputDefault* p_input); + JoystickUWP(); + JoystickUWP(InputDefault* p_input); private: diff --git a/platform/uwp/os_uwp.cpp b/platform/uwp/os_uwp.cpp index 23d0a6aa9..fb1dc3be1 100644 --- a/platform/uwp/os_uwp.cpp +++ b/platform/uwp/os_uwp.cpp @@ -69,28 +69,28 @@ using namespace Windows::ApplicationModel::DataTransfer; using namespace concurrency; -int OSWinrt::get_video_driver_count() const { +int OSUWP::get_video_driver_count() const { return 1; } -const char * OSWinrt::get_video_driver_name(int p_driver) const { +const char * OSUWP::get_video_driver_name(int p_driver) const { return "GLES2"; } -OS::VideoMode OSWinrt::get_default_video_mode() const { +OS::VideoMode OSUWP::get_default_video_mode() const { return video_mode; } -Size2 OSWinrt::get_window_size() const { +Size2 OSUWP::get_window_size() const { Size2 size; size.width = video_mode.width; size.height = video_mode.height; return size; } -void OSWinrt::set_window_size(const Size2 p_size) { +void OSUWP::set_window_size(const Size2 p_size) { Windows::Foundation::Size new_size; new_size.Width = p_size.width; @@ -105,7 +105,7 @@ void OSWinrt::set_window_size(const Size2 p_size) { } } -void OSWinrt::set_window_fullscreen(bool p_enabled) { +void OSUWP::set_window_fullscreen(bool p_enabled) { ApplicationView^ view = ApplicationView::GetForCurrentView(); @@ -126,12 +126,12 @@ void OSWinrt::set_window_fullscreen(bool p_enabled) { } } -bool OSWinrt::is_window_fullscreen() const { +bool OSUWP::is_window_fullscreen() const { return ApplicationView::GetForCurrentView()->IsFullScreenMode; } -void OSWinrt::set_keep_screen_on(bool p_enabled) { +void OSUWP::set_keep_screen_on(bool p_enabled) { if (is_keep_screen_on() == p_enabled) return; @@ -143,11 +143,11 @@ void OSWinrt::set_keep_screen_on(bool p_enabled) { OS::set_keep_screen_on(p_enabled); } -int OSWinrt::get_audio_driver_count() const { +int OSUWP::get_audio_driver_count() const { return AudioDriverManagerSW::get_driver_count(); } -const char * OSWinrt::get_audio_driver_name(int p_driver) const { +const char * OSUWP::get_audio_driver_name(int p_driver) const { AudioDriverSW* driver = AudioDriverManagerSW::get_driver(p_driver); ERR_FAIL_COND_V( !driver, "" ); @@ -157,14 +157,14 @@ const char * OSWinrt::get_audio_driver_name(int p_driver) const { static MemoryPoolStatic *mempool_static=NULL; static MemoryPoolDynamic *mempool_dynamic=NULL; -void OSWinrt::initialize_core() { +void OSUWP::initialize_core() { last_button_state=0; //RedirectIOToConsole(); - ThreadWinrt::make_default(); + ThreadUWP::make_default(); SemaphoreWindows::make_default(); MutexWindows::make_default(); @@ -206,23 +206,23 @@ void OSWinrt::initialize_core() { cursor_shape=CURSOR_ARROW; } -bool OSWinrt::can_draw() const { +bool OSUWP::can_draw() const { return !minimized; }; -void OSWinrt::set_gl_context(ContextEGL* p_context) { +void OSUWP::set_gl_context(ContextEGL* p_context) { gl_context = p_context; }; -void OSWinrt::screen_size_changed() { +void OSUWP::screen_size_changed() { gl_context->reset(); }; -void OSWinrt::initialize(const VideoMode& p_desired,int p_video_driver,int p_audio_driver) { +void OSUWP::initialize(const VideoMode& p_desired,int p_video_driver,int p_audio_driver) { main_loop=NULL; outside=true; @@ -285,7 +285,7 @@ void OSWinrt::initialize(const VideoMode& p_desired,int p_video_driver,int p_aud input = memnew( InputDefault ); - joystick = ref new JoystickWinrt(input); + joystick = ref new JoystickUWP(input); joystick->register_events(); AudioDriverManagerSW::get_driver(p_audio_driver)->set_singleton(); @@ -345,7 +345,7 @@ void OSWinrt::initialize(const VideoMode& p_desired,int p_video_driver,int p_aud } -void OSWinrt::set_clipboard(const String& p_text) { +void OSUWP::set_clipboard(const String& p_text) { DataPackage^ clip = ref new DataPackage(); clip->RequestedOperation = DataPackageOperation::Copy; @@ -354,7 +354,7 @@ void OSWinrt::set_clipboard(const String& p_text) { Clipboard::SetContent(clip); }; -String OSWinrt::get_clipboard() const { +String OSUWP::get_clipboard() const { if (managed_object->clipboard != nullptr) return managed_object->clipboard->Data(); @@ -363,7 +363,7 @@ String OSWinrt::get_clipboard() const { }; -void OSWinrt::input_event(InputEvent &p_event) { +void OSUWP::input_event(InputEvent &p_event) { p_event.ID = ++last_id; @@ -378,20 +378,20 @@ void OSWinrt::input_event(InputEvent &p_event) { } }; -void OSWinrt::delete_main_loop() { +void OSUWP::delete_main_loop() { if (main_loop) memdelete(main_loop); main_loop=NULL; } -void OSWinrt::set_main_loop( MainLoop * p_main_loop ) { +void OSUWP::set_main_loop( MainLoop * p_main_loop ) { input->set_main_loop(p_main_loop); main_loop=p_main_loop; } -void OSWinrt::finalize() { +void OSUWP::finalize() { if(main_loop) memdelete(main_loop); @@ -432,7 +432,7 @@ void OSWinrt::finalize() { joystick = nullptr; } -void OSWinrt::finalize_core() { +void OSUWP::finalize_core() { if (mempool_dynamic) memdelete( mempool_dynamic ); @@ -440,7 +440,7 @@ void OSWinrt::finalize_core() { } -void OSWinrt::vprint(const char* p_format, va_list p_list, bool p_stderr) { +void OSUWP::vprint(const char* p_format, va_list p_list, bool p_stderr) { char buf[16384+1]; int len = vsnprintf(buf,16384,p_format,p_list); @@ -467,14 +467,14 @@ void OSWinrt::vprint(const char* p_format, va_list p_list, bool p_stderr) { fflush(stdout); }; -void OSWinrt::alert(const String& p_alert,const String& p_title) { +void OSUWP::alert(const String& p_alert,const String& p_title) { Platform::String^ alert = ref new Platform::String(p_alert.c_str()); Platform::String^ title = ref new Platform::String(p_title.c_str()); MessageDialog^ msg = ref new MessageDialog(alert, title); - UICommand^ close = ref new UICommand("Close", ref new UICommandInvokedHandler(managed_object, &OSWinrt::ManagedType::alert_close)); + UICommand^ close = ref new UICommand("Close", ref new UICommandInvokedHandler(managed_object, &OSUWP::ManagedType::alert_close)); msg->Commands->Append(close); msg->DefaultCommandIndex = 0; @@ -483,17 +483,17 @@ void OSWinrt::alert(const String& p_alert,const String& p_title) { msg->ShowAsync(); } -void OSWinrt::ManagedType::alert_close(IUICommand^ command) { +void OSUWP::ManagedType::alert_close(IUICommand^ command) { alert_close_handle = false; } -void OSWinrt::ManagedType::on_clipboard_changed(Platform::Object ^ sender, Platform::Object ^ ev) { +void OSUWP::ManagedType::on_clipboard_changed(Platform::Object ^ sender, Platform::Object ^ ev) { update_clipboard(); } -void OSWinrt::ManagedType::update_clipboard() { +void OSUWP::ManagedType::update_clipboard() { DataPackageView^ data = Clipboard::GetContent(); @@ -507,7 +507,7 @@ void OSWinrt::ManagedType::update_clipboard() { } } -void OSWinrt::ManagedType::on_accelerometer_reading_changed(Accelerometer ^ sender, AccelerometerReadingChangedEventArgs ^ args) { +void OSUWP::ManagedType::on_accelerometer_reading_changed(Accelerometer ^ sender, AccelerometerReadingChangedEventArgs ^ args) { AccelerometerReading^ reading = args->Reading; @@ -518,7 +518,7 @@ void OSWinrt::ManagedType::on_accelerometer_reading_changed(Accelerometer ^ send )); } -void OSWinrt::ManagedType::on_magnetometer_reading_changed(Magnetometer ^ sender, MagnetometerReadingChangedEventArgs ^ args) { +void OSUWP::ManagedType::on_magnetometer_reading_changed(Magnetometer ^ sender, MagnetometerReadingChangedEventArgs ^ args) { MagnetometerReading^ reading = args->Reading; @@ -529,7 +529,7 @@ void OSWinrt::ManagedType::on_magnetometer_reading_changed(Magnetometer ^ sender )); } -void OSWinrt::ManagedType::on_gyroscope_reading_changed(Gyrometer ^ sender, GyrometerReadingChangedEventArgs ^ args) { +void OSUWP::ManagedType::on_gyroscope_reading_changed(Gyrometer ^ sender, GyrometerReadingChangedEventArgs ^ args) { GyrometerReading^ reading = args->Reading; @@ -540,7 +540,7 @@ void OSWinrt::ManagedType::on_gyroscope_reading_changed(Gyrometer ^ sender, Gyro )); } -void OSWinrt::set_mouse_mode(MouseMode p_mode) { +void OSUWP::set_mouse_mode(MouseMode p_mode) { if (p_mode == MouseMode::MOUSE_MODE_CAPTURED) { @@ -566,41 +566,41 @@ void OSWinrt::set_mouse_mode(MouseMode p_mode) { SetEvent(mouse_mode_changed); } -OSWinrt::MouseMode OSWinrt::get_mouse_mode() const{ +OSUWP::MouseMode OSUWP::get_mouse_mode() const{ return mouse_mode; } -Point2 OSWinrt::get_mouse_pos() const { +Point2 OSUWP::get_mouse_pos() const { return Point2(old_x, old_y); } -int OSWinrt::get_mouse_button_state() const { +int OSUWP::get_mouse_button_state() const { return last_button_state; } -void OSWinrt::set_window_title(const String& p_title) { +void OSUWP::set_window_title(const String& p_title) { } -void OSWinrt::set_video_mode(const VideoMode& p_video_mode,int p_screen) { +void OSUWP::set_video_mode(const VideoMode& p_video_mode,int p_screen) { video_mode = p_video_mode; } -OS::VideoMode OSWinrt::get_video_mode(int p_screen) const { +OS::VideoMode OSUWP::get_video_mode(int p_screen) const { return video_mode; } -void OSWinrt::get_fullscreen_mode_list(List *p_list,int p_screen) const { +void OSUWP::get_fullscreen_mode_list(List *p_list,int p_screen) const { } -void OSWinrt::print_error(const char* p_function, const char* p_file, int p_line, const char* p_code, const char* p_rationale, ErrorType p_type) { +void OSUWP::print_error(const char* p_function, const char* p_file, int p_line, const char* p_code, const char* p_rationale, ErrorType p_type) { const char* err_details; if (p_rationale && p_rationale[0]) @@ -625,12 +625,12 @@ void OSWinrt::print_error(const char* p_function, const char* p_file, int p_line } -String OSWinrt::get_name() { +String OSUWP::get_name() { - return "WinRT"; + return "UWP"; } -OS::Date OSWinrt::get_date(bool utc) const { +OS::Date OSUWP::get_date(bool utc) const { SYSTEMTIME systemtime; if (utc) @@ -646,7 +646,7 @@ OS::Date OSWinrt::get_date(bool utc) const { date.dst=false; return date; } -OS::Time OSWinrt::get_time(bool utc) const { +OS::Time OSUWP::get_time(bool utc) const { SYSTEMTIME systemtime; if (utc) @@ -661,7 +661,7 @@ OS::Time OSWinrt::get_time(bool utc) const { return time; } -OS::TimeZoneInfo OSWinrt::get_time_zone_info() const { +OS::TimeZoneInfo OSUWP::get_time_zone_info() const { TIME_ZONE_INFORMATION info; bool daylight = false; if (GetTimeZoneInformation(&info) == TIME_ZONE_ID_DAYLIGHT) @@ -678,7 +678,7 @@ OS::TimeZoneInfo OSWinrt::get_time_zone_info() const { return ret; } -uint64_t OSWinrt::get_unix_time() const { +uint64_t OSUWP::get_unix_time() const { FILETIME ft; SYSTEMTIME st; @@ -700,7 +700,7 @@ uint64_t OSWinrt::get_unix_time() const { return (*(uint64_t*)&ft - *(uint64_t*)&fep) / 10000000; }; -void OSWinrt::delay_usec(uint32_t p_usec) const { +void OSUWP::delay_usec(uint32_t p_usec) const { int msec = p_usec < 1000 ? 1 : p_usec / 1000; @@ -708,7 +708,7 @@ void OSWinrt::delay_usec(uint32_t p_usec) const { WaitForSingleObjectEx(GetCurrentThread(), msec, false); } -uint64_t OSWinrt::get_ticks_usec() const { +uint64_t OSUWP::get_ticks_usec() const { uint64_t ticks; uint64_t time; @@ -723,13 +723,13 @@ uint64_t OSWinrt::get_ticks_usec() const { } -void OSWinrt::process_events() { +void OSUWP::process_events() { last_id = joystick->process_controllers(last_id); process_key_events(); } -void OSWinrt::process_key_events() +void OSUWP::process_key_events() { for (int i = 0; i < key_event_pos; i++) { @@ -750,7 +750,7 @@ void OSWinrt::process_key_events() key_event_pos = 0; } -void OSWinrt::queue_key_event(KeyEvent & p_event) +void OSUWP::queue_key_event(KeyEvent & p_event) { // This merges Char events with the previous Key event, so // the unicode can be retrieved without sending duplicate events. @@ -768,7 +768,7 @@ void OSWinrt::queue_key_event(KeyEvent & p_event) key_event_buffer[key_event_pos++] = p_event; } -void OSWinrt::set_cursor_shape(CursorShape p_shape) { +void OSUWP::set_cursor_shape(CursorShape p_shape) { ERR_FAIL_INDEX(p_shape, CURSOR_MAX); @@ -800,58 +800,58 @@ void OSWinrt::set_cursor_shape(CursorShape p_shape) { cursor_shape = p_shape; } -Error OSWinrt::execute(const String& p_path, const List& p_arguments,bool p_blocking,ProcessID *r_child_id,String* r_pipe,int *r_exitcode) { +Error OSUWP::execute(const String& p_path, const List& p_arguments,bool p_blocking,ProcessID *r_child_id,String* r_pipe,int *r_exitcode) { return FAILED; }; -Error OSWinrt::kill(const ProcessID& p_pid) { +Error OSUWP::kill(const ProcessID& p_pid) { return FAILED; }; -Error OSWinrt::set_cwd(const String& p_cwd) { +Error OSUWP::set_cwd(const String& p_cwd) { return FAILED; } -String OSWinrt::get_executable_path() const { +String OSUWP::get_executable_path() const { return ""; } -void OSWinrt::set_icon(const Image& p_icon) { +void OSUWP::set_icon(const Image& p_icon) { } -bool OSWinrt::has_environment(const String& p_var) const { +bool OSUWP::has_environment(const String& p_var) const { return false; }; -String OSWinrt::get_environment(const String& p_var) const { +String OSUWP::get_environment(const String& p_var) const { return ""; }; -String OSWinrt::get_stdin_string(bool p_block) { +String OSUWP::get_stdin_string(bool p_block) { return String(); } -void OSWinrt::move_window_to_foreground() { +void OSUWP::move_window_to_foreground() { } -Error OSWinrt::shell_open(String p_uri) { +Error OSUWP::shell_open(String p_uri) { return FAILED; } -String OSWinrt::get_locale() const { +String OSUWP::get_locale() const { #if WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP // this should work on phone 8.1, but it doesn't return "en"; @@ -861,46 +861,46 @@ String OSWinrt::get_locale() const { #endif } -void OSWinrt::release_rendering_thread() { +void OSUWP::release_rendering_thread() { gl_context->release_current(); } -void OSWinrt::make_rendering_thread() { +void OSUWP::make_rendering_thread() { gl_context->make_current(); } -void OSWinrt::swap_buffers() { +void OSUWP::swap_buffers() { gl_context->swap_buffers(); } -bool OSWinrt::has_touchscreen_ui_hint() const { +bool OSUWP::has_touchscreen_ui_hint() const { TouchCapabilities^ tc = ref new TouchCapabilities(); return tc->TouchPresent != 0 || UIViewSettings::GetForCurrentView()->UserInteractionMode == UserInteractionMode::Touch; } -bool OSWinrt::has_virtual_keyboard() const { +bool OSUWP::has_virtual_keyboard() const { return UIViewSettings::GetForCurrentView()->UserInteractionMode == UserInteractionMode::Touch; } -void OSWinrt::show_virtual_keyboard(const String & p_existing_text, const Rect2 & p_screen_rect) { +void OSUWP::show_virtual_keyboard(const String & p_existing_text, const Rect2 & p_screen_rect) { InputPane^ pane = InputPane::GetForCurrentView(); pane->TryShow(); } -void OSWinrt::hide_virtual_keyboard() { +void OSUWP::hide_virtual_keyboard() { InputPane^ pane = InputPane::GetForCurrentView(); pane->TryHide(); } -void OSWinrt::run() { +void OSUWP::run() { if (!main_loop) return; @@ -927,13 +927,13 @@ void OSWinrt::run() { -MainLoop *OSWinrt::get_main_loop() const { +MainLoop *OSUWP::get_main_loop() const { return main_loop; } -String OSWinrt::get_data_dir() const { +String OSUWP::get_data_dir() const { Windows::Storage::StorageFolder ^data_folder = Windows::Storage::ApplicationData::Current->LocalFolder; @@ -941,7 +941,7 @@ String OSWinrt::get_data_dir() const { } -OSWinrt::OSWinrt() { +OSUWP::OSUWP() { key_event_pos=0; force_quit=false; @@ -973,7 +973,7 @@ OSWinrt::OSWinrt() { } -OSWinrt::~OSWinrt() +OSUWP::~OSUWP() { #ifdef STDOUT_FILE fclose(stdo); diff --git a/platform/uwp/os_uwp.h b/platform/uwp/os_uwp.h index 98a3cc54c..47eb095e1 100644 --- a/platform/uwp/os_uwp.h +++ b/platform/uwp/os_uwp.h @@ -26,8 +26,8 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef OSWinrt_H -#define OSWinrt_H +#ifndef OSUWP_H +#define OSUWP_H #include "os/input.h" #include "os/os.h" @@ -60,7 +60,7 @@ /** @author Juan Linietsky */ -class OSWinrt : public OS { +class OSUWP : public OS { public: @@ -137,7 +137,7 @@ private: InputDefault *input; - JoystickWinrt^ joystick; + JoystickUWP^ joystick; Windows::System::Display::DisplayRequest^ display_request; @@ -159,7 +159,7 @@ private: internal: ManagedType() { alert_close_handle = false; } - property OSWinrt* os; + property OSUWP* os; }; ManagedType^ managed_object; Windows::Devices::Sensors::Accelerometer^ accelerometer; @@ -273,8 +273,8 @@ public: void queue_key_event(KeyEvent &p_event); - OSWinrt(); - ~OSWinrt(); + OSUWP(); + ~OSUWP(); }; diff --git a/platform/uwp/thread_uwp.cpp b/platform/uwp/thread_uwp.cpp index 5f7d1ca24..a5a0920df 100644 --- a/platform/uwp/thread_uwp.cpp +++ b/platform/uwp/thread_uwp.cpp @@ -30,9 +30,9 @@ #include "os/memory.h" -Thread* ThreadWinrt::create_func_winrt(ThreadCreateCallback p_callback,void *p_user,const Settings&) { +Thread* ThreadUWP::create_func_uwp(ThreadCreateCallback p_callback,void *p_user,const Settings&) { - ThreadWinrt* thread = memnew(ThreadWinrt); + ThreadUWP* thread = memnew(ThreadUWP); std::thread new_thread(p_callback, p_user); @@ -41,34 +41,34 @@ Thread* ThreadWinrt::create_func_winrt(ThreadCreateCallback p_callback,void *p_u return thread; }; -Thread::ID ThreadWinrt::get_thread_ID_func_winrt() { +Thread::ID ThreadUWP::get_thread_ID_func_uwp() { return std::hash()(std::this_thread::get_id()); }; -void ThreadWinrt::wait_to_finish_func_winrt(Thread* p_thread) { +void ThreadUWP::wait_to_finish_func_uwp(Thread* p_thread) { - ThreadWinrt *tp=static_cast(p_thread); + ThreadUWP *tp=static_cast(p_thread); tp->thread.join(); }; -Thread::ID ThreadWinrt::get_ID() const { +Thread::ID ThreadUWP::get_ID() const { return std::hash()(thread.get_id()); }; -void ThreadWinrt::make_default() { - create_func = create_func_winrt; - get_thread_ID_func = get_thread_ID_func_winrt; - wait_to_finish_func = wait_to_finish_func_winrt; +void ThreadUWP::make_default() { + create_func = create_func_uwp; + get_thread_ID_func = get_thread_ID_func_uwp; + wait_to_finish_func = wait_to_finish_func_uwp; }; -ThreadWinrt::ThreadWinrt() { +ThreadUWP::ThreadUWP() { }; -ThreadWinrt::~ThreadWinrt() { +ThreadUWP::~ThreadUWP() { }; diff --git a/platform/uwp/thread_uwp.h b/platform/uwp/thread_uwp.h index 328d29bdc..95b9aeb62 100644 --- a/platform/uwp/thread_uwp.h +++ b/platform/uwp/thread_uwp.h @@ -26,8 +26,8 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef THREAD_WINRT_H -#define THREAD_WINRT_H +#ifndef THREAD_UWP_H +#define THREAD_UWP_H #ifdef UWP_ENABLED @@ -35,15 +35,15 @@ #include -class ThreadWinrt : public Thread { +class ThreadUWP : public Thread { std::thread thread; - static Thread* create_func_winrt(ThreadCreateCallback p_callback,void *,const Settings&); - static ID get_thread_ID_func_winrt(); - static void wait_to_finish_func_winrt(Thread* p_thread); + static Thread* create_func_uwp(ThreadCreateCallback p_callback,void *,const Settings&); + static ID get_thread_ID_func_uwp(); + static void wait_to_finish_func_uwp(Thread* p_thread); - ThreadWinrt(); + ThreadUWP(); public: @@ -52,7 +52,7 @@ public: static void make_default(); - ~ThreadWinrt(); + ~ThreadUWP(); }; diff --git a/thirdparty/README.md b/thirdparty/README.md index f61812c71..6423c63cf 100644 --- a/thirdparty/README.md +++ b/thirdparty/README.md @@ -14,7 +14,7 @@ Files extracted from upstream source: - LICENSE file Important: Some files have been modified by Godot developers so that they work -for all platforms (especially WinRT). Check the diff with the 1.3.13 tarball +for all platforms (especially UWP). Check the diff with the 1.3.13 tarball before the next update. diff --git a/thirdparty/openssl/uwp.cpp b/thirdparty/openssl/uwp.cpp index 6bb0c2252..dcfd22b77 100644 --- a/thirdparty/openssl/uwp.cpp +++ b/thirdparty/openssl/uwp.cpp @@ -1,7 +1,7 @@ /* Snippets extracted from https://github.com/Microsoft/openssl/blob/ec7e430e06e4e3ac87c183dee33cb216814cf980/ms/winrt.cpp * Adapted for Godot definitions */ -/* winrt.cpp +/* uwp.cpp * Copyright 2014 Microsoft Corporation * C++/CX Entropy/shims for Windows Phone/Windows Store platform * written by Alejandro Jimenez Martinez @@ -144,7 +144,7 @@ extern "C" { return 0; } - int winrt_GetTickCount(void) + int uwp_GetTickCount(void) { LARGE_INTEGER t; return(int) (QueryPerformanceCounter(&t) ? t.QuadPart : 0); diff --git a/tools/dist/uwp_template/AppxManifest.xml b/tools/dist/uwp_template/AppxManifest.xml index 48a2ba7eb..d5e653708 100644 --- a/tools/dist/uwp_template/AppxManifest.xml +++ b/tools/dist/uwp_template/AppxManifest.xml @@ -15,7 +15,7 @@ - + $name_on_tiles$ -- cgit v1.2.3-70-g09d2