Batch #5165 by Yommy: 0 byte-identical, 6 confirmed by peer review. - fn_16959 UIWindow::WrapFormattedText: logic confirmed by peer review - fn_09912 UIRefining_Notice::Paint: logic confirmed by peer review - fn_10812 UINameBalloonText::Paint: logic confirmed by peer review - fn_10824 UIVerticalNameBalloonText::Paint: logic confirmed by peer review - fn_10845 UIResizer::Slot25: logic confirmed by peer review - fn_10869 UIResizer::Slot27: logic confirmed by peer review Peer-reviewed-by: alisonrag, youko Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
120 lines
2.6 KiB
C++
120 lines
2.6 KiB
C++
#include "Client/Mode/ModeCursor.h"
|
|
#include "Resource/Bitmap/BitmapResource.h"
|
|
#include "Resource/ResourceMgr.h"
|
|
#include "Resource/TextureNames.h"
|
|
#include "UI/Window/UIResizer.h"
|
|
#include "UI/Window/UIWindowMgr.h"
|
|
|
|
// OFFSET: 0x0085D650
|
|
// FUNCTION: fn_10815
|
|
void UIResizer::Paint() {
|
|
if (!this->bitmapName.empty()) {
|
|
CBitmapRes* bitmap = static_cast<CBitmapRes*>(ResourceMgr::Instance().Load(Resolve(this->bitmapName.c_str())));
|
|
this->DrawBitmap(0, 0, bitmap ? &bitmap->image : nullptr, false);
|
|
return;
|
|
}
|
|
|
|
this->ClearSurface(this->backgroundColor);
|
|
this->FillRegion(0, 0, this->geometry.width, 2, this->lineColor);
|
|
}
|
|
|
|
// OFFSET: 0x0085ECE0
|
|
// FUNCTION: fn_10845
|
|
void UIResizer::Slot25(int x, int y) {
|
|
g_windowMgr.SetCapture(this);
|
|
this->startX = x;
|
|
this->startY = y;
|
|
if (this->parent) {
|
|
this->parentWidth = this->parent->geometry.width;
|
|
this->parentHeight = this->parent->geometry.height;
|
|
}
|
|
|
|
this->ToScreen(this->startX, this->startY);
|
|
}
|
|
|
|
// OFFSET: 0x0085F470
|
|
// FUNCTION: fn_10862
|
|
void UIResizer::Slot28(int, int) {
|
|
}
|
|
|
|
// OFFSET: 0x0085F6D0
|
|
// FUNCTION: fn_10869
|
|
void UIResizer::Slot27(int x, int y) {
|
|
if (g_windowMgr.Capture() != this) {
|
|
return;
|
|
}
|
|
|
|
int screenX = x;
|
|
int screenY = y;
|
|
this->ToScreen(screenX, screenY);
|
|
if (!this->parent) {
|
|
return;
|
|
}
|
|
|
|
const int dx = screenX - this->startX;
|
|
int width = this->parentWidth;
|
|
int height = this->parentHeight;
|
|
const int dy = screenY - this->startY;
|
|
switch (this->direction) {
|
|
case 0:
|
|
width -= dx;
|
|
break;
|
|
case 1:
|
|
width += dx;
|
|
break;
|
|
case 2:
|
|
height -= dy;
|
|
break;
|
|
case 3:
|
|
height += dy;
|
|
break;
|
|
case 4:
|
|
width -= dx;
|
|
height -= dy;
|
|
break;
|
|
case 5:
|
|
width += dx;
|
|
height -= dy;
|
|
break;
|
|
case 6:
|
|
width -= dx;
|
|
height += dy;
|
|
break;
|
|
case 7:
|
|
width += dx;
|
|
height += dy;
|
|
break;
|
|
}
|
|
|
|
this->parent->SendMsg(this, 14, this->direction, width, height, 0);
|
|
}
|
|
|
|
// OFFSET: 0x0085FA20
|
|
// FUNCTION: fn_10879
|
|
void UIResizer::ResetCursor(int x, int y) {
|
|
if (g_windowMgr.Capture() == this || (x >= 0 && x < this->geometry.width && y >= 0 && y <= this->geometry.height)) {
|
|
this->m_context->cursor.Set(2, this->m_context->cursorTick);
|
|
} else if (g_windowMgr.Capture() != this) {
|
|
this->m_context->cursor.Set(0, this->m_context->cursorTick);
|
|
}
|
|
}
|
|
|
|
// OFFSET: 0x0085EFD0
|
|
// FUNCTION: fn_10853
|
|
void UIResizer::Slot31(int, int) {
|
|
if (g_windowMgr.Capture() != this) {
|
|
return;
|
|
}
|
|
|
|
if (this->parent) {
|
|
this->parent->Slot36();
|
|
}
|
|
|
|
g_windowMgr.ReleaseCapture();
|
|
}
|
|
|
|
// OFFSET: 0x008697F0
|
|
// FUNCTION: fn_10971
|
|
void UIResizer::SetDirection(int value) {
|
|
this->direction = value;
|
|
}
|