~paparazzi-uav/paparazzi/v5.0-manual

« back to all changes in this revision

Viewing changes to sw/ext/opencv_bebop/opencv/samples/winrt/ImageManipulations/common/LayoutAwarePage.h

  • Committer: Paparazzi buildbot
  • Date: 2016-05-18 15:00:29 UTC
  • Revision ID: felix.ruess+docbot@gmail.com-20160518150029-e8lgzi5kvb4p7un9
Manual import commit 4b8bbb730080dac23cf816b98908dacfabe2a8ec from v5.0 branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//*********************************************************
 
2
//
 
3
// Copyright (c) Microsoft. All rights reserved.
 
4
// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
 
5
// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
 
6
// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
 
7
// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
 
8
//
 
9
//*********************************************************
 
10
 
 
11
#pragma once
 
12
 
 
13
#include <collection.h>
 
14
 
 
15
namespace SDKSample
 
16
{
 
17
    namespace Common
 
18
    {
 
19
        /// <summary>
 
20
        /// Typical implementation of Page that provides several important conveniences:
 
21
        /// <list type="bullet">
 
22
        /// <item>
 
23
        /// <description>Application view state to visual state mapping</description>
 
24
        /// </item>
 
25
        /// <item>
 
26
        /// <description>GoBack, GoForward, and GoHome event handlers</description>
 
27
        /// </item>
 
28
        /// <item>
 
29
        /// <description>Mouse and keyboard shortcuts for navigation</description>
 
30
        /// </item>
 
31
        /// <item>
 
32
        /// <description>State management for navigation and process lifetime management</description>
 
33
        /// </item>
 
34
        /// <item>
 
35
        /// <description>A default view model</description>
 
36
        /// </item>
 
37
        /// </list>
 
38
        /// </summary>
 
39
        [Windows::Foundation::Metadata::WebHostHidden]
 
40
        public ref class LayoutAwarePage : Windows::UI::Xaml::Controls::Page
 
41
        {
 
42
        internal:
 
43
            LayoutAwarePage();
 
44
 
 
45
        public:
 
46
            void StartLayoutUpdates(Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
 
47
            void StopLayoutUpdates(Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
 
48
            void InvalidateVisualState();
 
49
            static property Windows::UI::Xaml::DependencyProperty^ DefaultViewModelProperty
 
50
            {
 
51
                Windows::UI::Xaml::DependencyProperty^ get();
 
52
            };
 
53
            property Windows::Foundation::Collections::IObservableMap<Platform::String^, Platform::Object^>^ DefaultViewModel
 
54
            {
 
55
                Windows::Foundation::Collections::IObservableMap<Platform::String^, Platform::Object^>^ get();
 
56
                void set(Windows::Foundation::Collections::IObservableMap<Platform::String^, Platform::Object^>^ value);
 
57
            }
 
58
 
 
59
        protected:
 
60
            virtual void GoHome(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
 
61
            virtual void GoBack(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
 
62
            virtual void GoForward(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
 
63
            virtual Platform::String^ DetermineVisualState(Windows::UI::ViewManagement::ApplicationViewState viewState);
 
64
            virtual void OnNavigatedTo(Windows::UI::Xaml::Navigation::NavigationEventArgs^ e) override;
 
65
            virtual void OnNavigatedFrom(Windows::UI::Xaml::Navigation::NavigationEventArgs^ e) override;
 
66
            virtual void LoadState(Platform::Object^ navigationParameter,
 
67
                Windows::Foundation::Collections::IMap<Platform::String^, Platform::Object^>^ pageState);
 
68
            virtual void SaveState(Windows::Foundation::Collections::IMap<Platform::String^, Platform::Object^>^ pageState);
 
69
 
 
70
        private:
 
71
            Platform::String^ _pageKey;
 
72
            bool _navigationShortcutsRegistered;
 
73
            Platform::Collections::Map<Platform::String^, Platform::Object^>^ _defaultViewModel;
 
74
            Windows::Foundation::EventRegistrationToken _windowSizeEventToken,
 
75
                _acceleratorKeyEventToken, _pointerPressedEventToken;
 
76
            Platform::Collections::Vector<Windows::UI::Xaml::Controls::Control^>^ _layoutAwareControls;
 
77
            void WindowSizeChanged(Platform::Object^ sender, Windows::UI::Core::WindowSizeChangedEventArgs^ e);
 
78
            void OnLoaded(Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
 
79
            void OnUnloaded(Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
 
80
 
 
81
            void CoreDispatcher_AcceleratorKeyActivated(Windows::UI::Core::CoreDispatcher^ sender,
 
82
                Windows::UI::Core::AcceleratorKeyEventArgs^ args);
 
83
            void CoreWindow_PointerPressed(Windows::UI::Core::CoreWindow^ sender,
 
84
                Windows::UI::Core::PointerEventArgs^ args);
 
85
            LayoutAwarePage^ _this; // Strong reference to self, cleaned up in OnUnload
 
86
        };
 
87
    }
 
88
}