2020-12-12 20:25:51 +00:00
|
|
|
// Copyright 2017 Dolphin Emulator Project
|
2021-07-05 01:22:19 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2020-12-12 20:25:51 +00:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "Common/GL/GLContext.h"
|
|
|
|
|
|
|
|
class BWindow;
|
|
|
|
class BGLView;
|
|
|
|
|
|
|
|
class GLContextBGL final : public GLContext
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
~GLContextBGL() override;
|
|
|
|
|
|
|
|
bool IsHeadless() const override;
|
|
|
|
|
|
|
|
bool MakeCurrent() override;
|
|
|
|
bool ClearCurrent() override;
|
|
|
|
|
|
|
|
void Update() override;
|
|
|
|
|
|
|
|
void Swap() override;
|
|
|
|
|
|
|
|
void* GetFuncAddress(const std::string& name) override;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
bool Initialize(const WindowSystemInfo& wsi, bool stereo, bool core) override;
|
|
|
|
|
|
|
|
private:
|
|
|
|
static BGLView* s_current;
|
|
|
|
|
|
|
|
BWindow* m_window;
|
|
|
|
BGLView* m_gl;
|
|
|
|
};
|