This repository has been archived by the owner on Feb 11, 2021. It is now read-only.
/
SDL_winrtrenderer.h
39 lines (32 loc) · 1.07 KB
1
2
#pragma once
3
#include "DirectXHelper.h"
4
#include "../../render/direct3d11/SDL_render_d3d11_cpp.h"
5
6
7
8
9
10
extern "C" {
#include "SDL.h"
#include "../../render/SDL_sysrender.h"
}
11
12
// Helper class that initializes DirectX APIs for 3D rendering.
ref class SDL_winrtrenderer
13
{
14
internal:
15
SDL_winrtrenderer();
16
17
public:
18
virtual ~SDL_winrtrenderer();
19
virtual void Initialize();
20
21
22
23
24
25
virtual void HandleDeviceLost();
virtual void CreateDeviceResources();
virtual void CreateWindowSizeDependentResources();
virtual void UpdateForWindowSizeChange();
virtual void Present();
virtual float ConvertDipsToPixels(float dips);
26
27
internal:
28
virtual void Render(SDL_Surface * surface, SDL_Rect * rects, int numrects);
29
void ResizeMainTexture(int w, int h);
30
31
internal:
32
33
// Internal SDL renderer (likely a temporary addition, for refactoring purposes):
SDL_Renderer * m_sdlRenderer;
34
D3D11_RenderData * m_sdlRendererData;
35
36
protected private:
37
38
// UpdateWindowSurface helper objects
SDL_Surface * m_mainTextureHelperSurface;
39
};