Flutter Windows Embedder
context.cc
Go to the documentation of this file.
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#include "
flutter/shell/platform/windows/egl/context.h
"
6
7
#include "
flutter/shell/platform/windows/egl/egl.h
"
8
9
namespace
flutter
{
10
namespace
egl {
11
12
Context::Context
(EGLDisplay display, EGLContext context)
13
: display_(display), context_(context) {}
14
15
Context::~Context
() {
16
if
(display_ == EGL_NO_DISPLAY && context_ == EGL_NO_CONTEXT) {
17
return
;
18
}
19
20
if
(::eglDestroyContext(display_, context_) != EGL_TRUE) {
21
WINDOWS_LOG_EGL_ERROR
;
22
}
23
}
24
25
bool
Context::IsCurrent
()
const
{
26
return ::eglGetCurrentContext() == context_;
27
}
28
29
bool
Context::MakeCurrent
()
const
{
30
const
auto
result =
31
::eglMakeCurrent(display_, EGL_NO_SURFACE, EGL_NO_SURFACE, context_);
32
if
(result != EGL_TRUE) {
33
WINDOWS_LOG_EGL_ERROR
;
34
return
false
;
35
}
36
37
return
true
;
38
}
39
40
bool
Context::ClearCurrent
()
const
{
41
const
auto
result = ::eglMakeCurrent(display_, EGL_NO_SURFACE, EGL_NO_SURFACE,
42
EGL_NO_CONTEXT);
43
if
(result != EGL_TRUE) {
44
WINDOWS_LOG_EGL_ERROR
;
45
return
false
;
46
}
47
48
return
true
;
49
}
50
51
const
EGLContext&
Context::GetHandle
()
const
{
52
return
context_;
53
}
54
55
}
// namespace egl
56
}
// namespace flutter
WINDOWS_LOG_EGL_ERROR
#define WINDOWS_LOG_EGL_ERROR
Definition:
egl.h:19
egl.h
flutter::egl::Context::MakeCurrent
virtual bool MakeCurrent() const
Definition:
context.cc:29
flutter::egl::Context::GetHandle
virtual const EGLContext & GetHandle() const
Definition:
context.cc:51
flutter
Definition:
accessibility_bridge_windows.cc:11
flutter::egl::Context::Context
Context(EGLDisplay display, EGLContext context)
Definition:
context.cc:12
flutter::egl::Context::IsCurrent
virtual bool IsCurrent() const
Definition:
context.cc:25
flutter::egl::Context::~Context
~Context()
Definition:
context.cc:15
context.h
flutter::egl::Context::ClearCurrent
virtual bool ClearCurrent() const
Definition:
context.cc:40
shell
platform
windows
egl
context.cc
Generated by
1.8.17