2020-04-01 23:34:55 -04: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"
|
|
|
|
|
|
2020-04-01 23:34:55 -04:00
|
|
|
struct IGpDisplayDriver;
|
|
|
|
|
|
|
|
|
|
namespace PortabilityLayer
|
2020-04-01 14:53:44 -04:00
|
|
|
{
|
2020-04-01 23:34:55 -04: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;
|
2020-04-18 00:18:20 -04:00
|
|
|
virtual void AdjustRequestedResolution(uint32_t &physicalWidth, uint32_t &physicalHeight, uint32_t &virtualWidth, uint32_t &virtualheight, float &pixelScaleX, float &pixelScaleY) = 0;
|
2020-04-01 14:53:44 -04:00
|
|
|
};
|
2020-04-01 23:34:55 -04:00
|
|
|
|
|
|
|
|
virtual void Init() = 0;
|
2019-12-27 18:05:32 -05:00
|
|
|
virtual void Shutdown() = 0;
|
|
|
|
|
|
2020-06-13 04:33:41 -04:00
|
|
|
virtual void SetPixelFormat(GpPixelFormat_t pixelFormat) = 0;
|
2019-12-27 18:05:32 -05:00
|
|
|
virtual GpPixelFormat_t GetPixelFormat() const = 0;
|
2020-04-01 23:34:55 -04:00
|
|
|
virtual void SyncPalette(IGpDisplayDriver *displayDriver) = 0;
|
|
|
|
|
|
|
|
|
|
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;
|
2020-04-01 23:34:55 -04:00
|
|
|
virtual IResolutionChangeHandler *GetResolutionChangeHandler() const = 0;
|
|
|
|
|
|
2020-04-01 14:53:44 -04:00
|
|
|
static DisplayDeviceManager *GetInstance();
|
|
|
|
|
|
2020-04-01 23:34:55 -04:00
|
|
|
public:
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif
|