summaryrefslogtreecommitdiff
path: root/Tests/VSWinStorePhone/Direct3DApp1/Direct3DApp1.h
blob: 79b9070069a22edd6d4e51b9d55266ce4212e45c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#pragma once

// clang-format off
#include "pch.h"

#include "CubeRenderer.h"
// clang-format on

ref class Direct3DApp1 sealed
  : public Windows::ApplicationModel::Core::IFrameworkView
{
public:
  Direct3DApp1();

  // IFrameworkView Methods.
  virtual void Initialize(
    Windows::ApplicationModel::Core::CoreApplicationView ^ applicationView);
  virtual void SetWindow(Windows::UI::Core::CoreWindow ^ window);
  virtual void Load(Platform::String ^ entryPoint);
  virtual void Run();
  virtual void Uninitialize();

protected:
  // Event Handlers.
  void OnWindowSizeChanged(Windows::UI::Core::CoreWindow ^ sender,
                           Windows::UI::Core::WindowSizeChangedEventArgs ^
                             args);
  void OnLogicalDpiChanged(Platform::Object ^ sender);
  void OnActivated(Windows::ApplicationModel::Core::CoreApplicationView ^
                     applicationView,
                   Windows::ApplicationModel::Activation::IActivatedEventArgs ^
                     args);
  void OnSuspending(Platform::Object ^ sender,
                    Windows::ApplicationModel::SuspendingEventArgs ^ args);
  void OnResuming(Platform::Object ^ sender, Platform::Object ^ args);
  void OnWindowClosed(Windows::UI::Core::CoreWindow ^ sender,
                      Windows::UI::Core::CoreWindowEventArgs ^ args);
  void OnVisibilityChanged(Windows::UI::Core::CoreWindow ^ sender,
                           Windows::UI::Core::VisibilityChangedEventArgs ^
                             args);
  void OnPointerPressed(Windows::UI::Core::CoreWindow ^ sender,
                        Windows::UI::Core::PointerEventArgs ^ args);
  void OnPointerMoved(Windows::UI::Core::CoreWindow ^ sender,
                      Windows::UI::Core::PointerEventArgs ^ args);

private:
  CubeRenderer ^ m_renderer;
  bool m_windowClosed;
  bool m_windowVisible;
};

ref class Direct3DApplicationSource sealed
  : Windows::ApplicationModel::Core::IFrameworkViewSource
{
public:
  virtual Windows::ApplicationModel::Core::IFrameworkView ^ CreateView();
};