Finalize viewport host interface closure
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include <XCEngine/RHI/RHIEnums.h>
|
||||
#include <XCEngine/RHI/RHITexture.h>
|
||||
#include <XCEngine/Rendering/ObjectIdEncoding.h>
|
||||
#include <XCEngine/UI/Types.h>
|
||||
|
||||
#include <array>
|
||||
#include <cstdint>
|
||||
@@ -21,8 +22,8 @@ struct ViewportObjectIdPickContext {
|
||||
uint32_t textureWidth = 0;
|
||||
uint32_t textureHeight = 0;
|
||||
bool hasValidFrame = false;
|
||||
ImVec2 viewportSize = ImVec2(0.0f, 0.0f);
|
||||
ImVec2 viewportMousePosition = ImVec2(0.0f, 0.0f);
|
||||
::XCEngine::UI::UISize viewportSize = {};
|
||||
::XCEngine::UI::UIPoint viewportMousePosition = {};
|
||||
};
|
||||
|
||||
struct ViewportObjectIdReadbackRequest {
|
||||
@@ -54,12 +55,12 @@ inline bool CanPickViewportObjectId(const ViewportObjectIdPickContext& context)
|
||||
context.textureWidth > 0 &&
|
||||
context.textureHeight > 0 &&
|
||||
context.hasValidFrame &&
|
||||
context.viewportSize.x > 1.0f &&
|
||||
context.viewportSize.y > 1.0f &&
|
||||
context.viewportSize.width > 1.0f &&
|
||||
context.viewportSize.height > 1.0f &&
|
||||
context.viewportMousePosition.x >= 0.0f &&
|
||||
context.viewportMousePosition.y >= 0.0f &&
|
||||
context.viewportMousePosition.x <= context.viewportSize.x &&
|
||||
context.viewportMousePosition.y <= context.viewportSize.y;
|
||||
context.viewportMousePosition.x <= context.viewportSize.width &&
|
||||
context.viewportMousePosition.y <= context.viewportSize.height;
|
||||
}
|
||||
|
||||
inline bool BuildViewportObjectIdReadbackRequest(
|
||||
|
||||
Reference in New Issue
Block a user