mirror of
https://github.com/vcmi/vcmi.git
synced 2024-11-24 08:32:34 +02:00
code review
This commit is contained in:
parent
f7e01eaf67
commit
0c836e0797
@ -156,12 +156,17 @@ void CIntObject::setRedrawParent(bool on)
|
||||
}
|
||||
|
||||
void CIntObject::fitToScreen(int borderWidth, bool propagate)
|
||||
{
|
||||
fitToRect(Rect(Point(0, 0), GH.screenDimensions()), borderWidth, propagate);
|
||||
}
|
||||
|
||||
void CIntObject::fitToRect(Rect rect, int borderWidth, bool propagate)
|
||||
{
|
||||
Point newPos = pos.topLeft();
|
||||
vstd::amax(newPos.x, borderWidth);
|
||||
vstd::amax(newPos.y, borderWidth);
|
||||
vstd::amin(newPos.x, GH.screenDimensions().x - borderWidth - pos.w);
|
||||
vstd::amin(newPos.y, GH.screenDimensions().y - borderWidth - pos.h);
|
||||
vstd::amax(newPos.x, rect.x + borderWidth);
|
||||
vstd::amax(newPos.y, rect.y + borderWidth);
|
||||
vstd::amin(newPos.x, rect.x + rect.w - borderWidth - pos.w);
|
||||
vstd::amin(newPos.y, rect.y + rect.h - borderWidth - pos.h);
|
||||
if (newPos != pos.topLeft())
|
||||
moveTo(newPos, propagate);
|
||||
}
|
||||
|
@ -122,6 +122,7 @@ public:
|
||||
const Rect & center(const Point &p, bool propagate = true); //moves object so that point p will be in its center
|
||||
const Rect & center(bool propagate = true); //centers when pos.w and pos.h are set, returns new position
|
||||
void fitToScreen(int borderWidth, bool propagate = true); //moves window to fit into screen
|
||||
void fitToRect(Rect rect, int borderWidth, bool propagate = true); //moves window to fit into rect
|
||||
void moveBy(const Point &p, bool propagate = true);
|
||||
void moveTo(const Point &p, bool propagate = true);//move this to new position, coordinates are absolute (0,0 is topleft screen corner)
|
||||
|
||||
|
@ -71,7 +71,7 @@ public:
|
||||
|
||||
class CHighScoreInputScreen : public CWindowObject
|
||||
{
|
||||
std::vector<std::shared_ptr<CIntObject>> texts;
|
||||
std::vector<std::shared_ptr<CLabel>> texts;
|
||||
std::shared_ptr<CHighScoreInput> input;
|
||||
std::shared_ptr<TransparentFilledRectangle> background;
|
||||
std::shared_ptr<VideoWidgetBase> videoPlayer;
|
||||
|
@ -497,6 +497,7 @@ LineChart::LineChart(Rect position, std::string title, TData data, TIcons icons,
|
||||
void LineChart::updateStatusBar(const Point & cursorPosition)
|
||||
{
|
||||
statusBar->moveTo(cursorPosition + Point(-statusBar->pos.w / 2, 20));
|
||||
statusBar->fitToRect(pos, 10);
|
||||
Rect r(pos.x + chartArea.x, pos.y + chartArea.y, chartArea.w, chartArea.h);
|
||||
statusBar->setEnabled(r.isInside(cursorPosition));
|
||||
if(r.isInside(cursorPosition))
|
||||
@ -505,7 +506,8 @@ void LineChart::updateStatusBar(const Point & cursorPosition)
|
||||
float y = maxVal - (maxVal / static_cast<float>(chartArea.h)) * (static_cast<float>(cursorPosition.y) - static_cast<float>(r.y));
|
||||
statusBar->write(CGI->generaltexth->translate("core.genrltxt.64") + ": " + CStatisticScreen::getDay(x) + " " + CGI->generaltexth->translate("vcmi.statisticWindow.value") + ": " + (static_cast<int>(y) > 0 ? std::to_string(static_cast<int>(y)) : std::to_string(y)));
|
||||
}
|
||||
GH.windows().totalRedraw();
|
||||
setRedrawParent(true);
|
||||
redraw();
|
||||
}
|
||||
|
||||
void LineChart::mouseMoved(const Point & cursorPosition, const Point & lastUpdateDistance)
|
||||
|
Loading…
Reference in New Issue
Block a user