rodecomp/Source/UI/Window/WindowMouseHit.h
ragnarok-clanker e9b6837e97 Decompile 2 functions in Source/UI/Buttons/UIBasicButton.cpp, Source/UI/Buttons/UIBitmapButton.cpp, ...
Batch #1102 by ragnarok-clanker: 2 byte-identical, 0 confirmed by peer review.

- fn_16953 UIWindow::Root: byte-identical
- fn_16983 UIWindow::Invalidate: byte-identical (already on main)

Merged automatically: every function is byte-identical to the original.
2026-10-27 18:04:02 +00:00

60 lines
1.3 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_WINDOW_WINDOWMOUSEHIT_H
#define RAGNAROK_SOURCE_UI_WINDOW_WINDOWMOUSEHIT_H
#include <array>
#include <cstdint>
#include <deque>
#include <list>
#include <map>
class UIWindow;
class CMouse;
struct WindowOrdering;
class WindowManagerWindows;
struct WindowDropDown;
struct WindowMouseHit {
std::list<UIWindow*>& rendered;
std::map<int, UIWindow*>& overlays;
std::uint32_t& previous;
std::uint32_t& current;
UIWindow* FindUid(std::uint32_t uid);
UIWindow* HitTest(int x, int y);
};
struct WindowMouseCapture {
UIWindow*& capture;
WindowOrdering& ordering;
const CMouse& mouse;
const int& previousX;
const int& previousY;
const int& doubleClickGate;
const int& alternateDoubleClickGate;
bool Dispatch();
};
struct WindowMouseUncaptured {
WindowMouseHit& hit;
WindowOrdering& ordering;
WindowDropDown& dropdown;
WindowManagerWindows& windows;
const std::deque<UIWindow*>& modal;
const CMouse& mouse;
const int& previousX;
const int& previousY;
const int& doubleClickGate;
const int& alternateDoubleClickGate;
UIWindow*& pressedRoot;
UIWindow* const& dismiss26;
UIWindow* const& dismiss260;
UIWindow*& hover;
std::array<UIWindow**, 7> refresh;
const int& refreshGate;
int Dispatch();
};
#endif