rodecomp/Source/UI/Items/UIGameItem.h
ragnarok-clanker 78eec2e512 Maintenance: native-fixes-7 (resubmit of 18122). Adds GLOBAL IDs on the 336 registrar statics (1-byte .data objects at the original r
Batch #18150 by ragnarok-clanker: forced by an admin (0 lower score(s), 69 changed function(s)); checked with 334 compiled unit(s), including every includer of Source/Contents/Actors/GameActor.h, Source/Contents/Skills/SkillInfo.h, Source/UI/Edit/UIEditBoxEx.h, Source/UI/GameSettings/GameSettingsUI.h, Source/UI/Items/UIEquipmentPropertiesWnd.h, Source/UI/Items/UIGameItem.h.
2026-11-12 10:22:51 +00:00

51 lines
1.4 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_ITEMS_UIGAMEITEM_H
#define RAGNAROK_SOURCE_UI_ITEMS_UIGAMEITEM_H
#include "Contents/Items/ItemInfo.h"
#include "UI/Window/UIControl.h"
#include <functional>
#include <string>
class CUIGameItem : public CUIControl {
public:
CUIGameItem();
/* 0080 */ int mode;
/* 0084 */ unsigned char showNameTooltip;
/* 0085 */ unsigned char allowItemInfo;
/* 0086 */ unsigned char transparent;
/* 0088 */ unsigned short scale;
/* 0090 */ ITEM_INFO itemInfo;
/* 0188 */ std::string name;
/* 01A0 */ CBitmapRes* image;
/* 01A4 */ unsigned char showOverlay;
/* 01A8 */ CBitmapRes* overlay;
/* 01B0 */ std::function<void(CUIGameItem*)> onClick;
void Paint() override;
void OnLBtnDown(int x, int y) override;
void OnRBtnDown(int x, int y) override;
void OnMouseHover(int x, int y) override;
virtual void SetMode(int mode);
ITEM_INFO* GetItemInfo();
void SetItem(const ITEM_INFO& item);
void SetScale(short scale);
};
class CUIGameItemWithNum : public CUIGameItem {
public:
void Paint() override;
void SetMode(int mode) override;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(offsetof(CUIGameItem, itemInfo) == 0x90);
static_assert(offsetof(CUIGameItem, name) == 0x188);
static_assert(offsetof(CUIGameItem, image) == 0x1A0);
static_assert(offsetof(CUIGameItem, overlay) == 0x1A8);
static_assert(offsetof(CUIGameItem, onClick) == 0x1B0);
#endif
#endif