diff --git a/samples/winrt_universal/.gitignore b/samples/winrt_universal/.gitignore
new file mode 100644
index 0000000000..d4b2f0f455
--- /dev/null
+++ b/samples/winrt_universal/.gitignore
@@ -0,0 +1,87 @@
+# Ignore thumbnails created by windows
+Thumbs.db
+
+#ignore winrt copies of opencv files
+opencl_kernels.cpp
+opencl_kernels.hpp
+
+# Ignore files build by Visual Studio
+*.obj
+*.exe
+*.pdb
+*.aps
+*.vcproj.*.user
+*.vcxproj.user
+*.vspscc
+*_i.c
+*.i
+*.icf
+*_p.c
+*.ncb
+*.suo
+*.tlb
+*.tlh
+*.bak
+*.cache
+*.ilk
+*.log
+*.winmd
+[Bb]in
+[Dd]ebug*/
+*.sbr
+*.sdf
+obj/
+[Rr]elease*/
+_ReSharper*/
+[Tt]est[Rr]esult*
+ipch/
+*.opensdf
+Generated Files
+AppPackages
+SubmissionInfo
+*.hps
+
+# Ignore files build by ndk and eclipse
+libs/
+bin/
+obj/
+gen/
+local.properties
+
+# Ignore python compiled files
+*.pyc
+
+# Ignore files build by airplay and marmalade
+build_*_xcode/
+build_*_vc10/
+
+# Ignore files built by xcode
+*.mode*v*
+*.pbxuser
+*.xcbkptlist
+*.xcscheme
+*.xcworkspacedata
+*.xcuserstate
+xcschememanagement.plist
+build/
+.DS_Store
+._.*
+xcuserdata/
+DerivedData/
+*.xccheckout
+
+# Ignore files built by bada
+.Simulator-Debug/
+.Target-Debug/
+.Target-Release/
+
+# Ignore files built by blackberry
+Simulator/
+Device-Debug/
+Device-Release/
+
+# Ignore vim swaps
+*.swp
+
+# CTags
+tags
diff --git a/samples/winrt_universal/PhoneTutorial/App.xaml b/samples/winrt_universal/PhoneTutorial/App.xaml
new file mode 100644
index 0000000000..2f1febe3bd
--- /dev/null
+++ b/samples/winrt_universal/PhoneTutorial/App.xaml
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/samples/winrt_universal/PhoneTutorial/App.xaml.cpp b/samples/winrt_universal/PhoneTutorial/App.xaml.cpp
new file mode 100644
index 0000000000..2e8f3577ea
--- /dev/null
+++ b/samples/winrt_universal/PhoneTutorial/App.xaml.cpp
@@ -0,0 +1,137 @@
+//
+// App.xaml.cpp
+// Implementation of the App class.
+//
+
+#include "pch.h"
+#include "MainPage.xaml.h"
+
+using namespace PhoneTutorial;
+
+using namespace Platform;
+using namespace Windows::ApplicationModel;
+using namespace Windows::ApplicationModel::Activation;
+using namespace Windows::Foundation;
+using namespace Windows::Foundation::Collections;
+using namespace Windows::UI::Xaml;
+using namespace Windows::UI::Xaml::Controls;
+using namespace Windows::UI::Xaml::Controls::Primitives;
+using namespace Windows::UI::Xaml::Data;
+using namespace Windows::UI::Xaml::Input;
+using namespace Windows::UI::Xaml::Interop;
+using namespace Windows::UI::Xaml::Media;
+using namespace Windows::UI::Xaml::Media::Animation;
+using namespace Windows::UI::Xaml::Navigation;
+
+// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkID=391641
+
+///
+/// Initializes the singleton application object. This is the first line of authored code
+/// executed, and as such is the logical equivalent of main() or WinMain().
+///
+App::App()
+{
+ InitializeComponent();
+ Suspending += ref new SuspendingEventHandler(this, &App::OnSuspending);
+}
+
+///
+/// Invoked when the application is launched normally by the end user. Other entry points
+/// will be used when the application is launched to open a specific file, to display
+/// search results, and so forth.
+///
+/// Details about the launch request and process.
+void App::OnLaunched(LaunchActivatedEventArgs^ e)
+{
+#if _DEBUG
+ if (IsDebuggerPresent())
+ {
+ DebugSettings->EnableFrameRateCounter = true;
+ }
+#endif
+
+ auto rootFrame = dynamic_cast(Window::Current->Content);
+
+ // Do not repeat app initialization when the Window already has content,
+ // just ensure that the window is active.
+ if (rootFrame == nullptr)
+ {
+ // Create a Frame to act as the navigation context and associate it with
+ // a SuspensionManager key
+ rootFrame = ref new Frame();
+
+ // TODO: Change this value to a cache size that is appropriate for your application.
+ rootFrame->CacheSize = 1;
+
+ if (e->PreviousExecutionState == ApplicationExecutionState::Terminated)
+ {
+ // TODO: Restore the saved session state only when appropriate, scheduling the
+ // final launch steps after the restore is complete.
+ }
+
+ // Place the frame in the current Window
+ Window::Current->Content = rootFrame;
+ }
+
+ if (rootFrame->Content == nullptr)
+ {
+ // Removes the turnstile navigation for startup.
+ if (rootFrame->ContentTransitions != nullptr)
+ {
+ _transitions = ref new TransitionCollection();
+ for (auto transition : rootFrame->ContentTransitions)
+ {
+ _transitions->Append(transition);
+ }
+ }
+
+ rootFrame->ContentTransitions = nullptr;
+ _firstNavigatedToken = rootFrame->Navigated += ref new NavigatedEventHandler(this, &App::RootFrame_FirstNavigated);
+
+ // When the navigation stack isn't restored navigate to the first page,
+ // configuring the new page by passing required information as a navigation
+ // parameter.
+ if (!rootFrame->Navigate(MainPage::typeid, e->Arguments))
+ {
+ throw ref new FailureException("Failed to create initial page");
+ }
+ }
+
+ // Ensure the current window is active
+ Window::Current->Activate();
+}
+
+///
+/// Restores the content transitions after the app has launched.
+///
+void App::RootFrame_FirstNavigated(Object^ sender, NavigationEventArgs^ e)
+{
+ auto rootFrame = safe_cast(sender);
+
+ TransitionCollection^ newTransitions;
+ if (_transitions == nullptr)
+ {
+ newTransitions = ref new TransitionCollection();
+ newTransitions->Append(ref new NavigationThemeTransition());
+ }
+ else
+ {
+ newTransitions = _transitions;
+ }
+
+ rootFrame->ContentTransitions = newTransitions;
+ rootFrame->Navigated -= _firstNavigatedToken;
+}
+
+///
+/// Invoked when application execution is being suspended. Application state is saved
+/// without knowing whether the application will be terminated or resumed with the contents
+/// of memory still intact.
+///
+void App::OnSuspending(Object^ sender, SuspendingEventArgs^ e)
+{
+ (void) sender; // Unused parameter
+ (void) e; // Unused parameter
+
+ // TODO: Save application state and stop any background activity
+}
\ No newline at end of file
diff --git a/samples/winrt_universal/PhoneTutorial/App.xaml.h b/samples/winrt_universal/PhoneTutorial/App.xaml.h
new file mode 100644
index 0000000000..3e68792ac6
--- /dev/null
+++ b/samples/winrt_universal/PhoneTutorial/App.xaml.h
@@ -0,0 +1,29 @@
+//
+// App.xaml.h
+// Declaration of the App class.
+//
+
+#pragma once
+
+#include "App.g.h"
+
+namespace PhoneTutorial
+{
+ ///
+ /// Provides application-specific behavior to supplement the default Application class.
+ ///
+ ref class App sealed
+ {
+ public:
+ App();
+
+ virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) override;
+
+ private:
+ Windows::UI::Xaml::Media::Animation::TransitionCollection^ _transitions;
+ Windows::Foundation::EventRegistrationToken _firstNavigatedToken;
+
+ void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ e);
+ void RootFrame_FirstNavigated(Platform::Object^ sender, Windows::UI::Xaml::Navigation::NavigationEventArgs^ e);
+ };
+}
diff --git a/samples/winrt_universal/PhoneTutorial/Assets/Logo.scale-240.png b/samples/winrt_universal/PhoneTutorial/Assets/Logo.scale-240.png
new file mode 100644
index 0000000000..76921ca997
Binary files /dev/null and b/samples/winrt_universal/PhoneTutorial/Assets/Logo.scale-240.png differ
diff --git a/samples/winrt_universal/PhoneTutorial/Assets/SmallLogo.scale-240.png b/samples/winrt_universal/PhoneTutorial/Assets/SmallLogo.scale-240.png
new file mode 100644
index 0000000000..316630124f
Binary files /dev/null and b/samples/winrt_universal/PhoneTutorial/Assets/SmallLogo.scale-240.png differ
diff --git a/samples/winrt_universal/PhoneTutorial/Assets/SplashScreen.scale-240.png b/samples/winrt_universal/PhoneTutorial/Assets/SplashScreen.scale-240.png
new file mode 100644
index 0000000000..33f26b3310
Binary files /dev/null and b/samples/winrt_universal/PhoneTutorial/Assets/SplashScreen.scale-240.png differ
diff --git a/samples/winrt_universal/PhoneTutorial/Assets/Square71x71Logo.scale-240.png b/samples/winrt_universal/PhoneTutorial/Assets/Square71x71Logo.scale-240.png
new file mode 100644
index 0000000000..cfa54bee03
Binary files /dev/null and b/samples/winrt_universal/PhoneTutorial/Assets/Square71x71Logo.scale-240.png differ
diff --git a/samples/winrt_universal/PhoneTutorial/Assets/StoreLogo.scale-240.png b/samples/winrt_universal/PhoneTutorial/Assets/StoreLogo.scale-240.png
new file mode 100644
index 0000000000..47e084b593
Binary files /dev/null and b/samples/winrt_universal/PhoneTutorial/Assets/StoreLogo.scale-240.png differ
diff --git a/samples/winrt_universal/PhoneTutorial/Assets/WideLogo.scale-240.png b/samples/winrt_universal/PhoneTutorial/Assets/WideLogo.scale-240.png
new file mode 100644
index 0000000000..6249d29db0
Binary files /dev/null and b/samples/winrt_universal/PhoneTutorial/Assets/WideLogo.scale-240.png differ
diff --git a/samples/winrt_universal/PhoneTutorial/Lena.png b/samples/winrt_universal/PhoneTutorial/Lena.png
new file mode 100644
index 0000000000..3e8668734a
Binary files /dev/null and b/samples/winrt_universal/PhoneTutorial/Lena.png differ
diff --git a/samples/winrt_universal/PhoneTutorial/MainPage.xaml b/samples/winrt_universal/PhoneTutorial/MainPage.xaml
new file mode 100644
index 0000000000..428b2fa99c
--- /dev/null
+++ b/samples/winrt_universal/PhoneTutorial/MainPage.xaml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
diff --git a/samples/winrt_universal/PhoneTutorial/MainPage.xaml.cpp b/samples/winrt_universal/PhoneTutorial/MainPage.xaml.cpp
new file mode 100644
index 0000000000..045698b462
--- /dev/null
+++ b/samples/winrt_universal/PhoneTutorial/MainPage.xaml.cpp
@@ -0,0 +1,122 @@
+//
+// MainPage.xaml.cpp
+// Implementation of the MainPage class.
+//
+
+#include "pch.h"
+#include "MainPage.xaml.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+using namespace PhoneTutorial;
+using namespace Platform;
+using namespace Windows::Foundation;
+using namespace Windows::Foundation::Collections;
+using namespace Windows::UI::Xaml;
+using namespace Windows::UI::Xaml::Controls;
+using namespace Windows::UI::Xaml::Controls::Primitives;
+using namespace Windows::UI::Xaml::Data;
+using namespace Windows::UI::Xaml::Input;
+using namespace Windows::UI::Xaml::Media;
+using namespace Windows::UI::Xaml::Navigation;
+using namespace Windows::UI::Xaml::Media::Imaging;
+using namespace Windows::Storage::Streams;
+using namespace Microsoft::WRL;
+using namespace Windows::ApplicationModel;
+
+MainPage::MainPage()
+{
+ InitializeComponent();
+}
+
+///
+/// Invoked when this page is about to be displayed in a Frame.
+///
+/// Event data that describes how this page was reached. The Parameter
+/// property is typically used to configure the page.
+void MainPage::OnNavigatedTo(NavigationEventArgs^ e)
+{
+ (void) e; // Unused parameter
+ LoadImage();
+}
+
+inline void ThrowIfFailed(HRESULT hr)
+{
+ if (FAILED(hr))
+ {
+ throw Exception::CreateException(hr);
+ }
+}
+
+byte* GetPointerToPixelData(IBuffer^ buffer)
+{
+ // Cast to Object^, then to its underlying IInspectable interface.
+ Object^ obj = buffer;
+ ComPtr insp(reinterpret_cast(obj));
+
+ // Query the IBufferByteAccess interface.
+ ComPtr bufferByteAccess;
+ ThrowIfFailed(insp.As(&bufferByteAccess));
+
+ // Retrieve the buffer data.
+ byte* pixels = nullptr;
+ ThrowIfFailed(bufferByteAccess->Buffer(&pixels));
+ return pixels;
+}
+
+void PhoneTutorial::MainPage::Process_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
+{
+ (void) e; // Unused parameter
+
+ // get the pixels from the WriteableBitmap
+ byte* pPixels = GetPointerToPixelData(m_bitmap->PixelBuffer);
+ int height = m_bitmap->PixelHeight;
+ int width = m_bitmap->PixelWidth;
+
+ // create a matrix the size and type of the image
+ cv::Mat mat(width, height, CV_8UC4);
+ memcpy(mat.data, pPixels, 4 * height*width);
+
+ // convert to grayscale
+ cv::Mat intermediateMat;
+ cv::cvtColor(mat, intermediateMat, CV_RGB2GRAY);
+
+ // convert to BGRA
+ cv::cvtColor(intermediateMat, mat, CV_GRAY2BGRA);
+
+ // copy processed image back to the WriteableBitmap
+ memcpy(pPixels, mat.data, 4 * height*width);
+
+ // update the WriteableBitmap
+ m_bitmap->Invalidate();
+}
+
+void PhoneTutorial::MainPage::LoadImage()
+{
+ Concurrency::task getFileTask(Package::Current->InstalledLocation->GetFileAsync(L"Lena.png"));
+
+ auto getStreamTask = getFileTask.then(
+ [](Windows::Storage::StorageFile ^storageFile)
+ {
+ return storageFile->OpenReadAsync();
+ });
+
+ getStreamTask.then(
+ [this](Windows::Storage::Streams::IRandomAccessStreamWithContentType^ stream)
+ {
+ m_bitmap = ref new Windows::UI::Xaml::Media::Imaging::WriteableBitmap(1, 1);
+ m_bitmap->SetSource(stream);
+ image->Source = m_bitmap;
+ });
+}
+
+void PhoneTutorial::MainPage::Reset_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
+{
+ (void) e; // Unused parameter
+ LoadImage();
+}
diff --git a/samples/winrt_universal/PhoneTutorial/MainPage.xaml.h b/samples/winrt_universal/PhoneTutorial/MainPage.xaml.h
new file mode 100644
index 0000000000..4300b35df7
--- /dev/null
+++ b/samples/winrt_universal/PhoneTutorial/MainPage.xaml.h
@@ -0,0 +1,29 @@
+//
+// MainPage.xaml.h
+// Declaration of the MainPage class.
+//
+
+#pragma once
+
+#include "MainPage.g.h"
+
+namespace PhoneTutorial
+{
+ ///
+ /// An empty page that can be used on its own or navigated to within a Frame.
+ ///
+ public ref class MainPage sealed
+ {
+ public:
+ MainPage();
+
+ protected:
+ virtual void OnNavigatedTo(Windows::UI::Xaml::Navigation::NavigationEventArgs^ e) override;
+ private:
+
+ Windows::UI::Xaml::Media::Imaging::WriteableBitmap^ m_bitmap;
+ void Process_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
+ void Reset_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
+ void LoadImage();
+ };
+}
diff --git a/samples/winrt_universal/PhoneTutorial/Package.appxmanifest b/samples/winrt_universal/PhoneTutorial/Package.appxmanifest
new file mode 100644
index 0000000000..fef1d17963
--- /dev/null
+++ b/samples/winrt_universal/PhoneTutorial/Package.appxmanifest
@@ -0,0 +1,34 @@
+
+
+
+
+
+ PhoneTutorial
+ dalestam
+ Assets\StoreLogo.png
+
+
+ 6.3.1
+ 6.3.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/winrt_universal/PhoneTutorial/PhoneTutorial.sln b/samples/winrt_universal/PhoneTutorial/PhoneTutorial.sln
new file mode 100644
index 0000000000..ddadee1716
--- /dev/null
+++ b/samples/winrt_universal/PhoneTutorial/PhoneTutorial.sln
@@ -0,0 +1,32 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.31101.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PhoneTutorial", "PhoneTutorial.vcxproj", "{8BEFFBBF-DF41-4539-86BC-A84722831035}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|ARM = Debug|ARM
+ Debug|Win32 = Debug|Win32
+ Release|ARM = Release|ARM
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {8BEFFBBF-DF41-4539-86BC-A84722831035}.Debug|ARM.ActiveCfg = Debug|ARM
+ {8BEFFBBF-DF41-4539-86BC-A84722831035}.Debug|ARM.Build.0 = Debug|ARM
+ {8BEFFBBF-DF41-4539-86BC-A84722831035}.Debug|ARM.Deploy.0 = Debug|ARM
+ {8BEFFBBF-DF41-4539-86BC-A84722831035}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8BEFFBBF-DF41-4539-86BC-A84722831035}.Debug|Win32.Build.0 = Debug|Win32
+ {8BEFFBBF-DF41-4539-86BC-A84722831035}.Debug|Win32.Deploy.0 = Debug|Win32
+ {8BEFFBBF-DF41-4539-86BC-A84722831035}.Release|ARM.ActiveCfg = Release|ARM
+ {8BEFFBBF-DF41-4539-86BC-A84722831035}.Release|ARM.Build.0 = Release|ARM
+ {8BEFFBBF-DF41-4539-86BC-A84722831035}.Release|ARM.Deploy.0 = Release|ARM
+ {8BEFFBBF-DF41-4539-86BC-A84722831035}.Release|Win32.ActiveCfg = Release|Win32
+ {8BEFFBBF-DF41-4539-86BC-A84722831035}.Release|Win32.Build.0 = Release|Win32
+ {8BEFFBBF-DF41-4539-86BC-A84722831035}.Release|Win32.Deploy.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/samples/winrt_universal/PhoneTutorial/PhoneTutorial.vcxproj b/samples/winrt_universal/PhoneTutorial/PhoneTutorial.vcxproj
new file mode 100644
index 0000000000..cecf93fbff
--- /dev/null
+++ b/samples/winrt_universal/PhoneTutorial/PhoneTutorial.vcxproj
@@ -0,0 +1,159 @@
+
+
+
+
+ Debug
+ ARM
+
+
+ Debug
+ Win32
+
+
+ Release
+ ARM
+
+
+ Release
+ Win32
+
+
+
+ {8beffbbf-df41-4539-86bc-a84722831035}
+ PhoneTutorial
+ en-US
+ 12.0
+ true
+ Windows Phone
+ 8.1
+
+
+
+ Application
+ true
+ v120_wp81
+
+
+ Application
+ true
+ v120_wp81
+
+
+ Application
+ false
+ true
+ v120_wp81
+
+
+ Application
+ false
+ true
+ v120_wp81
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(ProjectDir)..\..\..\bin\WP\8.1\x86\lib\Debug;$(ProjectDir)..\..\..\bin\WP\8.1\x86\3rdparty\lib\Debug;$(VC_LibraryPath_x86);$(WindowsPhoneSDK_LibraryPath_x86)
+
+
+
+ /bigobj %(AdditionalOptions)
+ 4453;28204
+ $(ProjectDir)..\..\..\binWP8_1;%(AdditionalIncludeDirectories)
+
+
+
+
+ /bigobj %(AdditionalOptions)
+ 4453;28204
+ $(ProjectDir)..\..\..\binWP8_1;%(AdditionalIncludeDirectories)
+
+
+
+
+ /bigobj %(AdditionalOptions)
+ 4453;28204
+ $(ProjectDir)..\..\..\modules\core\include;$(ProjectDir)..\..\..\modules\imgproc\include;%(AdditionalIncludeDirectories)
+
+
+ opencv_core300d.lib;opencv_imgproc300d.lib;zlibd.lib;WindowsPhoneCore.lib;RuntimeObject.lib;PhoneAppModelHost.lib;%(AdditionalDependencies)
+
+
+
+
+ /bigobj %(AdditionalOptions)
+ 4453;28204
+ $(ProjectDir)..\..\..\binWP8_1;%(AdditionalIncludeDirectories)
+
+
+
+
+
+ App.xaml
+
+
+ MainPage.xaml
+
+
+
+
+ Designer
+
+
+ Designer
+
+
+
+
+ Designer
+
+
+
+
+
+
+
+
+
+
+
+
+
+ App.xaml
+
+
+ MainPage.xaml
+
+
+ Create
+ Create
+ Create
+ Create
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/winrt_universal/PhoneTutorial/PhoneTutorial.vcxproj.filters b/samples/winrt_universal/PhoneTutorial/PhoneTutorial.vcxproj.filters
new file mode 100644
index 0000000000..0ec5fc1471
--- /dev/null
+++ b/samples/winrt_universal/PhoneTutorial/PhoneTutorial.vcxproj.filters
@@ -0,0 +1,55 @@
+
+
+
+
+ 8beffbbf-df41-4539-86bc-a84722831035
+ bmp;fbx;gif;jpg;jpeg;tga;tiff;tif;png
+
+
+ Assets
+
+
+ Assets
+
+
+ Assets
+
+
+ Assets
+
+
+ Assets
+
+
+ Assets
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Assets
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/winrt_universal/PhoneTutorial/opencv.props b/samples/winrt_universal/PhoneTutorial/opencv.props
new file mode 100644
index 0000000000..97b794f265
--- /dev/null
+++ b/samples/winrt_universal/PhoneTutorial/opencv.props
@@ -0,0 +1,31 @@
+
+
+
+
+ $(OPENCV_DIR)WP\8.1\$(PlatformTarget)\$(PlatformTarget)\vc12\bin\
+ $(OPENCV_DIR)WP\8.1\$(PlatformTarget)\$(PlatformTarget)\vc12\lib\
+ $(OPENCV_DIR)WP\8.1\$(PlatformTarget)\include\
+
+ d
+
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+ $(OpenCV_Include);%(AdditionalIncludeDirectories);
+
+
+
+ opencv_core300$(DebugSuffix).lib;opencv_imgproc300$(DebugSuffix).lib;%(AdditionalDependencies)
+ $(OpenCV_Lib);%(AdditionalLibraryDirectories);
+
+
+
\ No newline at end of file
diff --git a/samples/winrt_universal/PhoneTutorial/pch.cpp b/samples/winrt_universal/PhoneTutorial/pch.cpp
new file mode 100644
index 0000000000..01484ff5aa
--- /dev/null
+++ b/samples/winrt_universal/PhoneTutorial/pch.cpp
@@ -0,0 +1,6 @@
+//
+// pch.cpp
+// Include the standard header and generate the precompiled header.
+//
+
+#include "pch.h"
diff --git a/samples/winrt_universal/PhoneTutorial/pch.h b/samples/winrt_universal/PhoneTutorial/pch.h
new file mode 100644
index 0000000000..751c0efb9e
--- /dev/null
+++ b/samples/winrt_universal/PhoneTutorial/pch.h
@@ -0,0 +1,10 @@
+//
+// pch.h
+// Header for standard system include files.
+//
+
+#pragma once
+
+#include
+#include
+#include "App.xaml.h"
diff --git a/samples/winrt_universal/readme.txt b/samples/winrt_universal/readme.txt
new file mode 100644
index 0000000000..d366626f91
--- /dev/null
+++ b/samples/winrt_universal/readme.txt
@@ -0,0 +1,6 @@
+Building OpenCV WinRT Universal Samples
+=======================================
+
+Samples are created to run against x86 architecture OpenCV binaries.
+
+Please follow the instructions in "platforms/winrt/readme.txt" to generate and build OpenCV for WinRT.
\ No newline at end of file