diff --git a/support/hololens/App.xaml b/support/hololens/App.xaml deleted file mode 100644 index 6385fb4ebc6..00000000000 --- a/support/hololens/App.xaml +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/support/hololens/App.xaml.cpp b/support/hololens/App.xaml.cpp deleted file mode 100644 index e084de34b43..00000000000 --- a/support/hololens/App.xaml.cpp +++ /dev/null @@ -1,29 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -#include "pch.h" -#include "App.xaml.h" - -using namespace hlservo; - -App::App() -{ - InitializeComponent(); -} - -void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs ^ e) -{ -#if _DEBUG - if (IsDebuggerPresent()) { - DebugSettings->EnableFrameRateCounter = true; - } -#endif - - if (mPage == nullptr) { - mPage = ref new OpenGLESPage(&mOpenGLES); - } - - Windows::UI::Xaml::Window::Current->Content = mPage; - Windows::UI::Xaml::Window::Current->Activate(); -} diff --git a/support/hololens/App.xaml.h b/support/hololens/App.xaml.h deleted file mode 100644 index 4c109377d4c..00000000000 --- a/support/hololens/App.xaml.h +++ /dev/null @@ -1,21 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -#pragma once - -#include "OpenGLES.h" -#include "app.g.h" -#include "openglespage.xaml.h" - -namespace hlservo { -ref class App sealed { -public: - App(); - virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs ^ e) override; - -private: - OpenGLESPage ^ mPage; - OpenGLES mOpenGLES; -}; -} diff --git a/support/hololens/Assets/LockScreenLogo.scale-200.png b/support/hololens/Assets/LockScreenLogo.scale-200.png deleted file mode 100644 index 735f57adb5d..00000000000 Binary files a/support/hololens/Assets/LockScreenLogo.scale-200.png and /dev/null differ diff --git a/support/hololens/Assets/SplashScreen.scale-200.png b/support/hololens/Assets/SplashScreen.scale-200.png deleted file mode 100644 index 023e7f1feda..00000000000 Binary files a/support/hololens/Assets/SplashScreen.scale-200.png and /dev/null differ diff --git a/support/hololens/Assets/Square150x150Logo.scale-200.png b/support/hololens/Assets/Square150x150Logo.scale-200.png deleted file mode 100644 index af49fec1a54..00000000000 Binary files a/support/hololens/Assets/Square150x150Logo.scale-200.png and /dev/null differ diff --git a/support/hololens/Assets/Square44x44Logo.scale-200.png b/support/hololens/Assets/Square44x44Logo.scale-200.png deleted file mode 100644 index ce342a2ec8a..00000000000 Binary files a/support/hololens/Assets/Square44x44Logo.scale-200.png and /dev/null differ diff --git a/support/hololens/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/support/hololens/Assets/Square44x44Logo.targetsize-24_altform-unplated.png deleted file mode 100644 index f6c02ce97e0..00000000000 Binary files a/support/hololens/Assets/Square44x44Logo.targetsize-24_altform-unplated.png and /dev/null differ diff --git a/support/hololens/Assets/StoreLogo.png b/support/hololens/Assets/StoreLogo.png deleted file mode 100644 index 7385b56c0e4..00000000000 Binary files a/support/hololens/Assets/StoreLogo.png and /dev/null differ diff --git a/support/hololens/Assets/Wide310x150Logo.scale-200.png b/support/hololens/Assets/Wide310x150Logo.scale-200.png deleted file mode 100644 index 288995b397f..00000000000 Binary files a/support/hololens/Assets/Wide310x150Logo.scale-200.png and /dev/null differ diff --git a/support/hololens/OpenGLES.cpp b/support/hololens/OpenGLES.cpp deleted file mode 100644 index c217ee4fbd5..00000000000 --- a/support/hololens/OpenGLES.cpp +++ /dev/null @@ -1,232 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -#include "pch.h" -#include "OpenGLES.h" - -using namespace Platform; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; - -OpenGLES::OpenGLES() - : mEglConfig(nullptr) - , mEglDisplay(EGL_NO_DISPLAY) - , mEglContext(EGL_NO_CONTEXT) -{ - Initialize(); -} - -OpenGLES::~OpenGLES() -{ - Cleanup(); -} - -void OpenGLES::Initialize() -{ - const EGLint configAttributes[] = { - EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, - EGL_RED_SIZE, 8, - EGL_GREEN_SIZE, 8, - EGL_BLUE_SIZE, 8, - EGL_ALPHA_SIZE, 8, - EGL_DEPTH_SIZE, 24, - EGL_STENCIL_SIZE, 8, - EGL_NONE - }; - - const EGLint contextAttributes[] = { - EGL_CONTEXT_CLIENT_VERSION, 3, - EGL_NONE - }; - - // Based on Angle MS template. - - const EGLint defaultDisplayAttributes[] = { - // These are the default display attributes, used to request ANGLE's D3D11 renderer. - // eglInitialize will only succeed with these attributes if the hardware supports D3D11 Feature Level 10_0+. - EGL_PLATFORM_ANGLE_TYPE_ANGLE, - EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE, - - // EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER is an optimization that can have large performance benefits on - // mobile devices. Its syntax is subject to change, though. Please update your Visual Studio templates if you - // experience compilation issues with it. - EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER, - EGL_TRUE, - - // EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE is an option that enables ANGLE to automatically call - // the IDXGIDevice3::Trim method on behalf of the application when it gets suspended. - // Calling IDXGIDevice3::Trim when an application is suspended is a Windows Store application certification - // requirement. - EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE, - EGL_TRUE, - EGL_NONE, - }; - - const EGLint fl9_3DisplayAttributes[] = { - // These can be used to request ANGLE's D3D11 renderer, with D3D11 Feature Level 9_3. - // These attributes are used if the call to eglInitialize fails with the default display attributes. - EGL_PLATFORM_ANGLE_TYPE_ANGLE, - EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE, - EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE, - 9, - EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE, - 3, - EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER, - EGL_TRUE, - EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE, - EGL_TRUE, - EGL_NONE, - }; - - const EGLint warpDisplayAttributes[] = { - // These attributes can be used to request D3D11 WARP. - // They are used if eglInitialize fails with both the default display attributes and the 9_3 display attributes. - EGL_PLATFORM_ANGLE_TYPE_ANGLE, - EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE, - EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE, - EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE, - EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER, - EGL_TRUE, - EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE, - EGL_TRUE, - EGL_NONE, - }; - - EGLConfig config = NULL; - - // eglGetPlatformDisplayEXT is an alternative to eglGetDisplay. - // It allows us to pass in display attributes, used to configure D3D11. - PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT = - reinterpret_cast(eglGetProcAddress("eglGetPlatformDisplayEXT")); - if (!eglGetPlatformDisplayEXT) { - throw Exception::CreateException(E_FAIL, L"Failed to get function eglGetPlatformDisplayEXT"); - } - - // - // To initialize the display, we make three sets of calls to eglGetPlatformDisplayEXT and eglInitialize, - // with varying parameters passed to eglGetPlatformDisplayEXT: - // 1) The first calls uses "defaultDisplayAttributes" as a parameter. This corresponds to D3D11 Feature Level 10_0+. - // 2) If eglInitialize fails for step 1 (e.g. because 10_0+ isn't supported by the default GPU), then we try again - // using "fl9_3DisplayAttributes". This corresponds to D3D11 Feature Level 9_3. - // 3) If eglInitialize fails for step 2 (e.g. because 9_3+ isn't supported by the default GPU), then we try again - // using "warpDisplayAttributes". This corresponds to D3D11 Feature Level 11_0 on WARP, a D3D11 software - // rasterizer. - // - - // This tries to initialize EGL to D3D11 Feature Level 10_0+. See above comment for details. - mEglDisplay = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, defaultDisplayAttributes); - if (mEglDisplay == EGL_NO_DISPLAY) { - throw Exception::CreateException(E_FAIL, L"Failed to get EGL display"); - } - - if (eglInitialize(mEglDisplay, NULL, NULL) == EGL_FALSE) { - // This tries to initialize EGL to D3D11 Feature Level 9_3, if 10_0+ is unavailable (e.g. on some mobile - // devices). - mEglDisplay = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, fl9_3DisplayAttributes); - if (mEglDisplay == EGL_NO_DISPLAY) { - throw Exception::CreateException(E_FAIL, L"Failed to get EGL display"); - } - - if (eglInitialize(mEglDisplay, NULL, NULL) == EGL_FALSE) { - // This initializes EGL to D3D11 Feature Level 11_0 on WARP, if 9_3+ is unavailable on the default GPU. - mEglDisplay = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, - warpDisplayAttributes); - if (mEglDisplay == EGL_NO_DISPLAY) { - throw Exception::CreateException(E_FAIL, L"Failed to get EGL display"); - } - - if (eglInitialize(mEglDisplay, NULL, NULL) == EGL_FALSE) { - // If all of the calls to eglInitialize returned EGL_FALSE then an error has occurred. - throw Exception::CreateException(E_FAIL, L"Failed to initialize EGL"); - } - } - } - - EGLint numConfigs = 0; - if ((eglChooseConfig(mEglDisplay, configAttributes, &mEglConfig, 1, &numConfigs) == EGL_FALSE) || - (numConfigs == 0)) { - throw Exception::CreateException(E_FAIL, L"Failed to choose first EGLConfig"); - } - - mEglContext = eglCreateContext(mEglDisplay, mEglConfig, EGL_NO_CONTEXT, contextAttributes); - if (mEglContext == EGL_NO_CONTEXT) { - throw Exception::CreateException(E_FAIL, L"Failed to create EGL context"); - } -} - -void OpenGLES::Cleanup() -{ - if (mEglDisplay != EGL_NO_DISPLAY && mEglContext != EGL_NO_CONTEXT) { - eglDestroyContext(mEglDisplay, mEglContext); - mEglContext = EGL_NO_CONTEXT; - } - - if (mEglDisplay != EGL_NO_DISPLAY) { - eglTerminate(mEglDisplay); - mEglDisplay = EGL_NO_DISPLAY; - } -} - -void OpenGLES::Reset() -{ - Cleanup(); - Initialize(); -} - -EGLSurface OpenGLES::CreateSurface(SwapChainPanel ^ panel) -{ - if (!panel) { - throw Exception::CreateException(E_INVALIDARG, L"SwapChainPanel parameter is invalid"); - } - - EGLSurface surface = EGL_NO_SURFACE; - - const EGLint surfaceAttributes[] = { - EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER, EGL_TRUE, - EGL_NONE - }; - - PropertySet ^ surfaceCreationProperties = ref new PropertySet(); - surfaceCreationProperties->Insert(ref new String(EGLNativeWindowTypeProperty), panel); - - // How to set size and or scale: - // surfaceCreationProperties->Insert(ref new String(EGLRenderSurfaceSizeProperty), - // PropertyValue::CreateSize(*renderSurfaceSize)); - // surfaceCreationProperties->Insert(ref new String(EGLRenderResolutionScaleProperty), - // PropertyValue::CreateSingle(*resolutionScale)); - - surface = eglCreateWindowSurface(mEglDisplay, mEglConfig, - reinterpret_cast(surfaceCreationProperties), surfaceAttributes); - if (surface == EGL_NO_SURFACE) { - throw Exception::CreateException(E_FAIL, L"Failed to create EGL surface"); - } - - return surface; -} - -void OpenGLES::GetSurfaceDimensions(const EGLSurface surface, EGLint* width, EGLint* height) -{ - eglQuerySurface(mEglDisplay, surface, EGL_WIDTH, width); - eglQuerySurface(mEglDisplay, surface, EGL_HEIGHT, height); -} - -void OpenGLES::DestroySurface(const EGLSurface surface) -{ - if (mEglDisplay != EGL_NO_DISPLAY && surface != EGL_NO_SURFACE) { - eglDestroySurface(mEglDisplay, surface); - } -} - -void OpenGLES::MakeCurrent(const EGLSurface surface) -{ - if (eglMakeCurrent(mEglDisplay, surface, surface, mEglContext) == EGL_FALSE) { - throw Exception::CreateException(E_FAIL, L"Failed to make EGLSurface current"); - } -} - -EGLBoolean OpenGLES::SwapBuffers(const EGLSurface surface) -{ - return (eglSwapBuffers(mEglDisplay, surface)); -} diff --git a/support/hololens/OpenGLES.h b/support/hololens/OpenGLES.h deleted file mode 100644 index 9938e7a0c9c..00000000000 --- a/support/hololens/OpenGLES.h +++ /dev/null @@ -1,27 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -#pragma once - -class OpenGLES { -public: - OpenGLES(); - ~OpenGLES(); - - EGLSurface CreateSurface(Windows::UI::Xaml::Controls::SwapChainPanel ^ panel); - void GetSurfaceDimensions(const EGLSurface surface, EGLint* width, EGLint* height); - void DestroySurface(const EGLSurface surface); - void MakeCurrent(const EGLSurface surface); - EGLBoolean SwapBuffers(const EGLSurface surface); - void Reset(); - -private: - void Initialize(); - void Cleanup(); - -private: - EGLDisplay mEglDisplay; - EGLContext mEglContext; - EGLConfig mEglConfig; -}; diff --git a/support/hololens/OpenGLESPage.xaml b/support/hololens/OpenGLESPage.xaml deleted file mode 100644 index 4816b37fa08..00000000000 --- a/support/hololens/OpenGLESPage.xaml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - diff --git a/support/hololens/OpenGLESPage.xaml.cpp b/support/hololens/OpenGLESPage.xaml.cpp deleted file mode 100644 index c4c7dd21e3a..00000000000 --- a/support/hololens/OpenGLESPage.xaml.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -#include "pch.h" -#include "OpenGLESPage.xaml.h" -#include "Servo.h" - -using namespace hlservo; -using namespace Platform; -using namespace Concurrency; -using namespace Windows::Foundation; - -static char sWakeupEvent[] = "SIGNAL_WAKEUP"; - -OpenGLESPage::OpenGLESPage() - : OpenGLESPage(nullptr) -{ -} - -OpenGLESPage::OpenGLESPage(OpenGLES* openGLES) - : mOpenGLES(openGLES) - , mRenderSurface(EGL_NO_SURFACE) -{ - InitializeComponent(); - Windows::UI::Core::CoreWindow ^ window = Windows::UI::Xaml::Window::Current->CoreWindow; - window->VisibilityChanged += ref new Windows::Foundation::TypedEventHandler(this, &OpenGLESPage::OnVisibilityChanged); - this->Loaded += ref new Windows::UI::Xaml::RoutedEventHandler(this, &OpenGLESPage::OnPageLoaded); -} - -OpenGLESPage::~OpenGLESPage() -{ - StopRenderLoop(); - DestroyRenderSurface(); -} - -void OpenGLESPage::OnPageLoaded(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e) -{ - CreateRenderSurface(); - StartRenderLoop(); -} - -void OpenGLESPage::OnVisibilityChanged(Windows::UI::Core::CoreWindow ^ sender, - Windows::UI::Core::VisibilityChangedEventArgs ^ args) -{ - if (args->Visible && mRenderSurface != EGL_NO_SURFACE) { - StartRenderLoop(); - } else { - StopRenderLoop(); - } -} - -void OpenGLESPage::CreateRenderSurface() -{ - if (mOpenGLES && mRenderSurface == EGL_NO_SURFACE) { - mRenderSurface = mOpenGLES->CreateSurface(swapChainPanel); - } -} - -void OpenGLESPage::DestroyRenderSurface() -{ - if (mOpenGLES) { - mOpenGLES->DestroySurface(mRenderSurface); - } - mRenderSurface = EGL_NO_SURFACE; -} - -void OpenGLESPage::RecoverFromLostDevice() -{ - StopRenderLoop(); - { - critical_section::scoped_lock lock(mRenderSurfaceCriticalSection); - - DestroyRenderSurface(); - mOpenGLES->Reset(); - CreateRenderSurface(); - } - StartRenderLoop(); -} - -void OpenGLESPage::StartRenderLoop() -{ - if (mRenderLoopWorker != nullptr && mRenderLoopWorker->Status == Windows::Foundation::AsyncStatus::Started) { - return; - } - - auto loop = [this](Windows::Foundation::IAsyncAction ^ action) { - critical_section::scoped_lock lock(mRenderSurfaceCriticalSection); - - HANDLE hEvent = ::CreateEventA(nullptr, FALSE, FALSE, sWakeupEvent); - - // Called by Servo - Servo::sMakeCurrent = [this]() { - /* EGLint panelWidth = 0; */ - /* EGLint panelHeight = 0; */ - /* mOpenGLES->GetSurfaceDimensions(mRenderSurface, &panelWidth, &panelHeight); */ - /* glViewport(0, 0, panelWidth, panelHeight); */ - /* mServo->SetSize(panelWidth, panelHeight); */ - mOpenGLES->MakeCurrent(mRenderSurface); - }; - - // Called by Servo - Servo::sFlush = [this]() { - if (mOpenGLES->SwapBuffers(mRenderSurface) != GL_TRUE) { - // The call to eglSwapBuffers might not be successful (i.e. due to Device Lost) - // If the call fails, then we must reinitialize EGL and the GL resources. - swapChainPanel->Dispatcher->RunAsync(Windows::UI::Core::CoreDispatcherPriority::High, - ref new Windows::UI::Core::DispatchedHandler([=]() { - RecoverFromLostDevice(); - }, CallbackContext::Any)); - } - }; - - mOpenGLES->MakeCurrent(mRenderSurface); - - EGLint panelWidth = 0; - EGLint panelHeight = 0; - mOpenGLES->GetSurfaceDimensions(mRenderSurface, &panelWidth, &panelHeight); - glViewport(0, 0, panelWidth, panelHeight); - mServo = new Servo(panelWidth, panelHeight); - - while (action->Status == Windows::Foundation::AsyncStatus::Started) { - // Block until Servo::sWakeUp is called. - // Or run full speed if animating (see on_animating_changed), - // it will endup blocking on SwapBuffers to limit rendering to 60FPS - if (!Servo::sAnimating) { - ::WaitForSingleObject(hEvent, INFINITE); - } - mServo->PerformUpdates(); - } - }; - - auto workItemHandler = ref new Windows::System::Threading::WorkItemHandler(loop); - - // Run Servo task in a high priority background thread. - mRenderLoopWorker = Windows::System::Threading::ThreadPool::RunAsync( - workItemHandler, - Windows::System::Threading::WorkItemPriority::High, - Windows::System::Threading::WorkItemOptions::TimeSliced); - - Servo::sWakeUp = []() { - HANDLE hEvent = ::OpenEventA(EVENT_ALL_ACCESS, FALSE, sWakeupEvent); - ::SetEvent(hEvent); - }; -} - -void OpenGLESPage::StopRenderLoop() -{ - if (mRenderLoopWorker) { - mRenderLoopWorker->Cancel(); - mRenderLoopWorker = nullptr; - } -} diff --git a/support/hololens/OpenGLESPage.xaml.h b/support/hololens/OpenGLESPage.xaml.h deleted file mode 100644 index ab2c8c2fd80..00000000000 --- a/support/hololens/OpenGLESPage.xaml.h +++ /dev/null @@ -1,37 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -#pragma once - -#include "OpenGLES.h" -#include "OpenGLESPage.g.h" -#include "Servo.h" - -namespace hlservo { -public -ref class OpenGLESPage sealed { -public: - OpenGLESPage(); - virtual ~OpenGLESPage(); - - internal : OpenGLESPage(OpenGLES* openGLES); - -private: - void OnPageLoaded(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); - void OnVisibilityChanged(Windows::UI::Core::CoreWindow ^ sender, - Windows::UI::Core::VisibilityChangedEventArgs ^ args); - void CreateRenderSurface(); - void DestroyRenderSurface(); - void RecoverFromLostDevice(); - void StartRenderLoop(); - void StopRenderLoop(); - - OpenGLES* mOpenGLES; - - EGLSurface mRenderSurface; - Concurrency::critical_section mRenderSurfaceCriticalSection; - Windows::Foundation::IAsyncAction ^ mRenderLoopWorker; - Servo* mServo; -}; -} diff --git a/support/hololens/Package.appxmanifest b/support/hololens/Package.appxmanifest deleted file mode 100644 index 3c02095da93..00000000000 --- a/support/hololens/Package.appxmanifest +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - Servo - Allizom - Assets\StoreLogo.png - - - - - - - - - - - - - - - - - - - - - - - diff --git a/support/hololens/ProjectDefaultFilters.vcxproj.filters b/support/hololens/ProjectDefaultFilters.vcxproj.filters deleted file mode 100644 index 51a658ed151..00000000000 --- a/support/hololens/ProjectDefaultFilters.vcxproj.filters +++ /dev/null @@ -1,30 +0,0 @@ - - - - - d64db011-1240-48ad-a857-7af0ffd781dc - bmp;fbx;gif;jpg;jpeg;tga;tiff;tif;png - - - dll; - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - diff --git a/support/hololens/Servo.cpp b/support/hololens/Servo.cpp deleted file mode 100644 index c25af6e25c0..00000000000 --- a/support/hololens/Servo.cpp +++ /dev/null @@ -1,83 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -#include "pch.h" -#include "Servo.h" - -extern "C" { -#include -} - -using namespace hlservo; - -void on_load_started() {} -void on_load_ended() {} -void on_title_changed(const char* title) {} -void on_url_changed(const char* url) {} -void on_history_changed(bool back, bool fwd) {} -void on_shutdown_complete() {} - -std::function Servo::sFlush = [](){}; -std::function Servo::sMakeCurrent = [](){}; -std::function Servo::sWakeUp = [](){}; -bool Servo::sAnimating = false; - -void flush() { - Servo::sFlush(); -} - -void make_current() { - Servo::sMakeCurrent(); -} - -void wakeup() { - Servo::sWakeUp(); -} - -void on_animating_changed(bool aAnimating) { - Servo::sAnimating = aAnimating; -} - -Servo::Servo(GLsizei width, GLsizei height) - : mAnimating(false) - , mWindowHeight(height) - , mWindowWidth(width) { - - CInitOptions o; - o.args = NULL; - o.url = "http://google.com"; - o.width = mWindowWidth; - o.height = mWindowHeight; - o.density = 1.0; - o.enable_subpixel_text_antialiasing = false; - - CHostCallbacks c; - c.flush = &flush; - c.make_current = &make_current; - c.on_load_started = &on_load_started; - c.on_load_ended = &on_load_ended; - c.on_title_changed = &on_title_changed; - c.on_url_changed = &on_url_changed; - c.on_history_changed = &on_history_changed; - c.on_animating_changed = &on_animating_changed; - c.on_shutdown_complete = &on_shutdown_complete; - - init_with_egl(o, &wakeup, c); -} - -Servo::~Servo() { - deinit(); -} - -void Servo::PerformUpdates() { - perform_updates(); -} - -void Servo::SetSize(GLsizei width, GLsizei height) { - if (width != mWindowWidth || height != mWindowHeight) { - mWindowWidth = width; - mWindowHeight = height; - resize(mWindowWidth, mWindowHeight); - } -} diff --git a/support/hololens/Servo.h b/support/hololens/Servo.h deleted file mode 100644 index e88eafcae0a..00000000000 --- a/support/hololens/Servo.h +++ /dev/null @@ -1,31 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -#pragma once - -#include "pch.h" - -namespace hlservo { -class Servo { -public: - Servo(GLsizei width, GLsizei height); - ~Servo(); - void PerformUpdates(); - void SetSize(GLsizei width, GLsizei height); - - // Static lambas called by Servo callbacks. - - // Will be called from any thead - static std::function sWakeUp; - // Will be called from GL thread - static std::function sFlush; - static std::function sMakeCurrent; - static bool sAnimating; - -private: - GLsizei mWindowWidth; - GLsizei mWindowHeight; - bool mAnimating; -}; -} diff --git a/support/hololens/ServoApp.sln b/support/hololens/ServoApp.sln deleted file mode 100644 index 35fc54c426d..00000000000 --- a/support/hololens/ServoApp.sln +++ /dev/null @@ -1,43 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.28803.352 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ServoApp", "ServoApp.vcxproj", "{7134432A-49F2-4DC7-8F72-06F873A683EC}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|ARM = Debug|ARM - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|ARM = Release|ARM - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Debug|ARM.ActiveCfg = Debug|ARM - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Debug|ARM.Build.0 = Debug|ARM - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Debug|ARM.Deploy.0 = Debug|ARM - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Debug|x64.ActiveCfg = Debug|x64 - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Debug|x64.Build.0 = Debug|x64 - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Debug|x64.Deploy.0 = Debug|x64 - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Debug|x86.ActiveCfg = Debug|Win32 - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Debug|x86.Build.0 = Debug|Win32 - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Debug|x86.Deploy.0 = Debug|Win32 - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Release|ARM.ActiveCfg = Release|ARM - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Release|ARM.Build.0 = Release|ARM - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Release|ARM.Deploy.0 = Release|ARM - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Release|x64.ActiveCfg = Release|x64 - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Release|x64.Build.0 = Release|x64 - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Release|x64.Deploy.0 = Release|x64 - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Release|x86.ActiveCfg = Release|Win32 - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Release|x86.Build.0 = Release|Win32 - {7134432A-49F2-4DC7-8F72-06F873A683EC}.Release|x86.Deploy.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {58EFB63D-FFA2-4263-AE6A-6764E4E04CCA} - EndGlobalSection -EndGlobal diff --git a/support/hololens/ServoApp.vcxproj b/support/hololens/ServoApp.vcxproj deleted file mode 100644 index 147a3544ce4..00000000000 --- a/support/hololens/ServoApp.vcxproj +++ /dev/null @@ -1,736 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - Debug - ARM - - - Release - ARM - - - - {7134432a-49f2-4dc7-8f72-06f873a683ec} - hlservo - en-US - 14.0 - true - Windows Store - 10.0 - 10.0.17763.0 - 10.0.17763.0 - ServoApp - - - - Application - true - v141 - - - Application - false - true - v141 - - - - - - - - - 14E8C17B8F0E474455725DAA105238215838FEB1 - ServoApp_TemporaryKey.pfx - - - - incore.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm - - - - - mincore.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib - - - - - mincore.lib;simpleservo.dll.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories);$(VCInstallDir)\lib\store\amd64;$(VCInstallDir)\lib\amd64;$(ProjectDir)\..\..\target\debug - - - - - mincore.lib;simpleservo.dll.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories);$(VCInstallDir)\lib\store\amd64;$(VCInstallDir)\lib\amd64;$(ProjectDir)\..\..\target\release - - - - - pch.h - $(IntDir)pch.pch - $(ProjectDir)\..\..\target\debug\;$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories) - /bigobj %(AdditionalOptions) - 4453;28204 - _DEBUG;%(PreprocessorDefinitions) - - - - - pch.h - $(IntDir)pch.pch - $(ProjectDir)\..\..\target\release\;$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories) - /bigobj %(AdditionalOptions) - 4453;28204 - NDEBUG;%(PreprocessorDefinitions) - - - - - - - - - - - - - - - - - - - Create - - - - - App.xaml - - - OpenGLESPage.xaml - - - - - App.xaml - - - OpenGLESPage.xaml - - - - - Designer - - - - - Designer - - - Designer - - - - - true - true - false - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - true - true - false - - - true - true - false - - - false - true - true - - - true - true - false - - - false - true - true - - - false - true - true - - - false - true - true - - - false - true - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - true - false - true - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - \ No newline at end of file diff --git a/support/hololens/ServoApp.vcxproj.filters b/support/hololens/ServoApp.vcxproj.filters deleted file mode 100644 index 4c6df91920a..00000000000 --- a/support/hololens/ServoApp.vcxproj.filters +++ /dev/null @@ -1,425 +0,0 @@ - - - - - src - - - src - - - src - - - - - - - src - - - src - - - src - - - - - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - - - - - - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsDebug - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsRelease - - - ServoDLLsDebug - - - - - {f663883d-5302-4e09-82e3-094b0a4fa9bc} - - - {45140811-c74b-4497-ba07-a7610fe2fef9} - - - {851a4628-484c-4859-bb9b-3153914487f5} - - - {96a56d11-301b-46ec-b081-50010b467ebf} - - - - - src - - - - - src - - - \ No newline at end of file diff --git a/support/hololens/ServoApp_TemporaryKey.pfx b/support/hololens/ServoApp_TemporaryKey.pfx deleted file mode 100644 index 81aa780ceeb..00000000000 Binary files a/support/hololens/ServoApp_TemporaryKey.pfx and /dev/null differ diff --git a/support/hololens/packages.config b/support/hololens/packages.config deleted file mode 100644 index 70c3dea0e70..00000000000 --- a/support/hololens/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/support/hololens/pch.cpp b/support/hololens/pch.cpp deleted file mode 100644 index 4c80ac1ff7e..00000000000 --- a/support/hololens/pch.cpp +++ /dev/null @@ -1,5 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -#include "pch.h" diff --git a/support/hololens/pch.h b/support/hololens/pch.h deleted file mode 100644 index f2ebe741294..00000000000 --- a/support/hololens/pch.h +++ /dev/null @@ -1,19 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -#pragma once - -#include -#include - -#define GL_GLEXT_PROTOTYPES - -#include -#include - -#include -#include -#include - -#include