diff options
Diffstat (limited to 'src/verifier.cc')
-rw-r--r-- | src/verifier.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/verifier.cc b/src/verifier.cc index 78021b5..963c2a3 100644 --- a/src/verifier.cc +++ b/src/verifier.cc @@ -189,10 +189,14 @@ Result Verifier::Probe(const ProbeCommand* command, width = frame_width; height = frame_height; } else if (command->IsRelative()) { - x = frame_width * static_cast<uint32_t>(command->GetX()); - y = frame_height * static_cast<uint32_t>(command->GetY()); - width = frame_width * static_cast<uint32_t>(command->GetWidth()); - height = frame_height * static_cast<uint32_t>(command->GetHeight()); + x = static_cast<uint32_t>(static_cast<float>(frame_width) * + command->GetX()); + y = static_cast<uint32_t>(static_cast<float>(frame_height) * + command->GetY()); + width = static_cast<uint32_t>(static_cast<float>(frame_width) * + command->GetWidth()); + height = static_cast<uint32_t>(static_cast<float>(frame_height) * + command->GetHeight()); } else { x = static_cast<uint32_t>(command->GetX()); y = static_cast<uint32_t>(command->GetY()); |