Merge pull request #90 from gizmo98/patch-2
[libretro-ppsspp.git] / headless / WindowsHeadlessHost.h
blobe5c70f26906fb34186dc3ec8706d2a21148420ae
1 // Copyright (c) 2012- PPSSPP Project.
3 // This program is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, version 2.0 or later versions.
7 // This program is distributed in the hope that it will be useful,
8 // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 // GNU General Public License 2.0 for more details.
12 // A copy of the GPL 2.0 should have been included with the program.
13 // If not, see http://www.gnu.org/licenses/
15 // Official git repository and contact information can be found at
16 // https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
18 #pragma once
20 #include "StubHost.h"
22 #undef HEADLESSHOST_CLASS
23 #define HEADLESSHOST_CLASS WindowsHeadlessHost
25 #include "Common/CommonWindows.h"
27 // TODO: Get rid of this junk
28 class WindowsHeadlessHost : public HeadlessHost
30 public:
31 virtual bool InitGraphics(std::string *error_message) override;
32 virtual void ShutdownGraphics() override;
34 virtual void SwapBuffers() override;
36 virtual void SendDebugOutput(const std::string &output) override;
37 virtual void SendDebugScreenshot(const u8 *pixbuf, u32 w, u32 h) override;
38 virtual void SetComparisonScreenshot(const std::string &filename) override;
40 protected:
41 virtual bool ResizeGL();
42 void LoadNativeAssets();
43 void SendOrCollectDebugOutput(const std::string &output);
45 HWND hWnd;
46 HDC hDC;
47 HGLRC hRC;
48 std::string comparisonScreenshot;