blob: e2cd8b96c0c35f4543e46ea01ecd19bb54a4e739 [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.
#ifndef FLUTTER_SHELL_RENDERER_CONTEXT_TEST_H_
#define FLUTTER_SHELL_RENDERER_CONTEXT_TEST_H_
#include "flutter/common/graphics/gl_context_switch.h"
#include "gtest/gtest.h"
namespace flutter {
namespace testing {
class GLContextSwitchTest : public ::testing::Test {
public:
GLContextSwitchTest();
};
//------------------------------------------------------------------------------
/// The renderer context used for testing
class TestSwitchableGLContext : public SwitchableGLContext {
public:
TestSwitchableGLContext(int context);
~TestSwitchableGLContext() override;
bool SetCurrent() override;
bool RemoveCurrent() override;
int GetContext();
static int GetCurrentContext();
//------------------------------------------------------------------------------
/// Set the current context
///
/// This is to mimic how other programs outside flutter sets the context.
static void SetCurrentContext(int context);
private:
int context_;
FML_DISALLOW_COPY_AND_ASSIGN(TestSwitchableGLContext);
};
} // namespace testing
} // namespace flutter
#endif // FLUTTER_SHELL_RENDERER_CONTEXT_TEST_H_