VideoSW: Split up OGL window handling

This removes OSD support for video software, but it was already broken before.

This commit does not try to fix coding style issues, the rewrite of this presentation API is splitted up.
This commit is contained in:
degasus
2015-09-26 10:07:48 +02:00
parent b0bbe52cc9
commit 61c3a0d9e4
9 changed files with 206 additions and 413 deletions

View File

@ -0,0 +1,46 @@
// Copyright 2015 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#pragma once
#include <memory>
#include <string>
#include <vector>
#include "Common/CommonTypes.h"
class SWOGLWindow
{
public:
static void Init(void* window_handle);
static void Shutdown();
// Will be printed on the *next* image
void PrintText(const std::string& text, int x, int y, u32 color);
// Image to show, will be swapped immediately
void ShowImage(u8* data, int stride, int width, int height, float aspect);
int PeekMessages();
static std::unique_ptr<SWOGLWindow> s_instance;
private:
SWOGLWindow() {}
void Prepare();
struct TextData
{
std::string text;
int x, y;
u32 color;
};
std::vector<TextData> m_text;
bool m_init {false};
u32 m_image_program, m_image_texture;
int m_attr_pos, m_attr_tex, m_uni_tex;
};