blob: ab2c8c2fd805437e13943e22d2d232978367ca09 (
plain) (
blame)
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
|
/* 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;
};
}
|