blob: 895ce2128e7032be0628862ad8c17f78239bb8ec [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "flutter/shell/platform/darwin/ios/ios_switchable_gl_context.h"
#import <OpenGLES/EAGL.h>
namespace flutter {
IOSSwitchableGLContext::IOSSwitchableGLContext(EAGLContext* context) : context_(context){};
bool IOSSwitchableGLContext::SetCurrent() {
FML_DCHECK_CREATION_THREAD_IS_CURRENT(checker);
FML_DCHECK(context_ != nullptr);
EAGLContext* current_context = EAGLContext.currentContext;
previous_context_ = current_context;
return [EAGLContext setCurrentContext:context_];
};
bool IOSSwitchableGLContext::RemoveCurrent() {
FML_DCHECK_CREATION_THREAD_IS_CURRENT(checker);
return [EAGLContext setCurrentContext:previous_context_];
};
}