Contain XCUI ImGui adapters behind explicit host seams
This commit is contained in:
@@ -85,6 +85,15 @@ struct XCUIInputBridgeFrameDelta {
|
||||
bool HasEventType(UI::UIInputEventType type) const;
|
||||
};
|
||||
|
||||
class IXCUIInputSnapshotSource {
|
||||
public:
|
||||
virtual ~IXCUIInputSnapshotSource() = default;
|
||||
|
||||
virtual XCUIInputBridgeFrameSnapshot CaptureSnapshot(
|
||||
const XCUIInputBridgeCaptureOptions& options = XCUIInputBridgeCaptureOptions()) const = 0;
|
||||
virtual const UI::UIPoint& GetPointerPosition() const = 0;
|
||||
};
|
||||
|
||||
class XCUIInputBridge {
|
||||
public:
|
||||
void Reset();
|
||||
@@ -109,16 +118,16 @@ private:
|
||||
XCUIInputBridgeFrameSnapshot m_baseline = {};
|
||||
};
|
||||
|
||||
class XCUIWin32InputSource {
|
||||
class XCUIWin32InputSource : public IXCUIInputSnapshotSource {
|
||||
public:
|
||||
void Reset();
|
||||
void HandleWindowMessage(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
void ClearFrameTransients();
|
||||
|
||||
XCUIInputBridgeFrameSnapshot CaptureSnapshot(
|
||||
const XCUIInputBridgeCaptureOptions& options = XCUIInputBridgeCaptureOptions()) const;
|
||||
const XCUIInputBridgeCaptureOptions& options = XCUIInputBridgeCaptureOptions()) const override;
|
||||
|
||||
const UI::UIPoint& GetPointerPosition() const {
|
||||
const UI::UIPoint& GetPointerPosition() const override {
|
||||
return m_pointerPosition;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user