CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
Path: blob/master/UWP/PPSSPP_UWPMain.h
Views: 1401
#pragma once12#include <mutex>34#include "Common/GPU/thin3d.h"5#include "Common/Input/InputState.h"67#include "Common/GraphicsContext.h"8#include "Common/DeviceResources.h"910// Renders Direct2D and 3D content on the screen.11namespace UWP {1213ref class App;14enum class HardwareButton;1516class UWPGraphicsContext : public GraphicsContext {17public:18UWPGraphicsContext(std::shared_ptr<DX::DeviceResources> resources);1920void Shutdown() override;21void Resize() override {}22Draw::DrawContext * GetDrawContext() override {23return draw_;24}2526private:27Draw::DrawContext *draw_;28std::shared_ptr<DX::DeviceResources> resources_;29};3031class PPSSPP_UWPMain : public DX::IDeviceNotify {32public:33PPSSPP_UWPMain(App ^app, const std::shared_ptr<DX::DeviceResources>& deviceResources);34~PPSSPP_UWPMain();35void CreateWindowSizeDependentResources();36void UpdateScreenState();37bool Render();3839// IDeviceNotify40virtual void OnDeviceLost();41virtual void OnDeviceRestored();4243// Various forwards from App, in simplified format.44// Not sure whether this abstraction is worth it.45void OnKeyDown(int scanCode, Windows::System::VirtualKey virtualKey, int repeatCount);46void OnKeyUp(int scanCode, Windows::System::VirtualKey virtualKey);47void OnCharacterReceived(int scanCode,unsigned int keyCode);4849void OnTouchEvent(int touchEvent, int touchId, float x, float y, double timestamp);5051void OnMouseWheel(float delta);5253bool OnHardwareButton(HardwareButton button);5455void RotateXYToDisplay(float &x, float &y);5657// Save state fast if we can!58void OnSuspend();59void Close();6061private:62App ^app_;6364// Cached pointer to device resources.65std::shared_ptr<DX::DeviceResources> m_deviceResources;6667std::unique_ptr<UWPGraphicsContext> ctx_;68};6970}717273