Files
Aerofoil/PortabilityLayer/DisplayDeviceManager.h

39 lines
910 B
C
Raw Normal View History

2019-11-11 00:11:59 -05:00
#pragma once
#ifndef __PL_DEVICE_MANAGER_H__
#define __PL_DEVICE_MANAGER_H__
2019-12-27 18:05:32 -05:00
#include <stdint.h>
#include "GpPixelFormat.h"
struct IGpDisplayDriver;
2019-11-11 00:11:59 -05:00
namespace PortabilityLayer
2020-04-01 14:53:44 -04:00
{
2019-11-11 00:11:59 -05:00
class DisplayDeviceManager
{
2020-04-01 14:53:44 -04:00
public:
struct IResolutionChangeHandler
{
virtual void OnResolutionChanged(uint32_t prevWidth, uint32_t prevHeight, uint32_t newWidth, uint32_t newHeight) = 0;
};
2019-11-11 00:11:59 -05:00
virtual void Init() = 0;
2019-12-27 18:05:32 -05:00
virtual void Shutdown() = 0;
virtual GpPixelFormat_t GetPixelFormat() const = 0;
virtual void SyncPalette(IGpDisplayDriver *displayDriver) = 0;
2019-11-11 00:11:59 -05:00
virtual void IncrementTickCount(uint32_t count) = 0;
2020-04-01 14:53:44 -04:00
virtual uint32_t GetTickCount() = 0;
virtual void SetResolutionChangeHandler(IResolutionChangeHandler *handler) = 0;
virtual IResolutionChangeHandler *GetResolutionChangeHandler() const = 0;
2019-11-11 00:11:59 -05:00
2020-04-01 14:53:44 -04:00
static DisplayDeviceManager *GetInstance();
public:
2019-11-11 00:11:59 -05:00
};
}
#endif