Add XCUI new editor sandbox phase 1
This commit is contained in:
45
new_editor/src/panels/XCUIDemoPanel.h
Normal file
45
new_editor/src/panels/XCUIDemoPanel.h
Normal file
@@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
|
||||
#include "Panel.h"
|
||||
|
||||
#include "XCUIBackend/XCUIHostedPreviewPresenter.h"
|
||||
#include "XCUIBackend/XCUIInputBridge.h"
|
||||
#include "XCUIBackend/XCUIDemoRuntime.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
namespace XCEngine {
|
||||
namespace NewEditor {
|
||||
|
||||
class XCUIDemoPanel : public Panel {
|
||||
public:
|
||||
explicit XCUIDemoPanel(
|
||||
::XCEngine::Editor::XCUIBackend::XCUIWin32InputSource* inputSource = nullptr);
|
||||
XCUIDemoPanel(
|
||||
::XCEngine::Editor::XCUIBackend::XCUIWin32InputSource* inputSource,
|
||||
std::unique_ptr<::XCEngine::Editor::XCUIBackend::IXCUIHostedPreviewPresenter> previewPresenter);
|
||||
~XCUIDemoPanel() override = default;
|
||||
|
||||
void Render() override;
|
||||
void SetHostedPreviewEnabled(bool enabled);
|
||||
void SetHostedPreviewPresenter(
|
||||
std::unique_ptr<::XCEngine::Editor::XCUIBackend::IXCUIHostedPreviewPresenter> previewPresenter);
|
||||
bool IsHostedPreviewEnabled() const { return m_hostedPreviewEnabled; }
|
||||
bool IsUsingNativeHostedPreview() const;
|
||||
const ::XCEngine::Editor::XCUIBackend::XCUIDemoFrameResult& GetFrameResult() const;
|
||||
const ::XCEngine::Editor::XCUIBackend::XCUIHostedPreviewStats& GetLastPreviewStats() const;
|
||||
|
||||
private:
|
||||
bool m_lastReloadSucceeded = false;
|
||||
bool m_hostedPreviewEnabled = true;
|
||||
bool m_showCanvasHud = true;
|
||||
bool m_showDebugRects = true;
|
||||
::XCEngine::Editor::XCUIBackend::XCUIWin32InputSource* m_inputSource = nullptr;
|
||||
::XCEngine::Editor::XCUIBackend::XCUIInputBridge m_inputBridge;
|
||||
::XCEngine::Editor::XCUIBackend::XCUIDemoRuntime m_runtime;
|
||||
std::unique_ptr<::XCEngine::Editor::XCUIBackend::IXCUIHostedPreviewPresenter> m_previewPresenter;
|
||||
::XCEngine::Editor::XCUIBackend::XCUIHostedPreviewStats m_lastPreviewStats = {};
|
||||
};
|
||||
|
||||
} // namespace NewEditor
|
||||
} // namespace XCEngine
|
||||
Reference in New Issue
Block a user