dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.h
degasus 61c3a0d9e4 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.
2015-10-14 00:13:54 +02:00

47 lines
864 B
C++

// 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;
};