Some fixes in entergame and widget clipping
This commit is contained in:
parent
ca4caf7991
commit
27d5506262
|
@ -261,12 +261,11 @@ function CharacterList.destroy()
|
|||
end
|
||||
|
||||
function CharacterList.show()
|
||||
if not loadBox and not errorBox and charactersWindow then
|
||||
if loadBox or errorBox or not charactersWindow then return end
|
||||
charactersWindow:show()
|
||||
charactersWindow:raise()
|
||||
charactersWindow:focus()
|
||||
end
|
||||
end
|
||||
|
||||
function CharacterList.hide(showLogin)
|
||||
showLogin = showLogin or false
|
||||
|
|
|
@ -147,6 +147,7 @@ function EnterGame.terminate()
|
|||
end
|
||||
|
||||
function EnterGame.show()
|
||||
if loadBox then return end
|
||||
enterGame:show()
|
||||
enterGame:raise()
|
||||
enterGame:focus()
|
||||
|
@ -159,7 +160,7 @@ end
|
|||
function EnterGame.openWindow()
|
||||
if g_game.isOnline() then
|
||||
CharacterList.show()
|
||||
elseif not CharacterList.isVisible() then
|
||||
elseif not g_game.isLogging() and not CharacterList.isVisible() then
|
||||
EnterGame.show()
|
||||
end
|
||||
end
|
||||
|
@ -223,6 +224,7 @@ end
|
|||
function EnterGame.displayMotd()
|
||||
if not motdWindow or not motdWindow:isVisible() then
|
||||
motdWindow = displayInfoBox(tr('Message of the day'), G.motdMessage)
|
||||
motdWindow.onOk = function() motdWindow = nil end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -272,6 +272,7 @@ public:
|
|||
bool checkBotProtection();
|
||||
|
||||
bool isOnline() { return m_online; }
|
||||
bool isLogging() { return !m_online && m_protocolGame; }
|
||||
bool isDead() { return m_dead; }
|
||||
bool isAttacking() { return !!m_attackingCreature; }
|
||||
bool isFollowing() { return !!m_followingCreature; }
|
||||
|
|
|
@ -212,6 +212,7 @@ void Client::registerLuaFunctions()
|
|||
g_lua.bindSingletonFunction("g_game", "canReportBugs", &Game::canReportBugs, &g_game);
|
||||
g_lua.bindSingletonFunction("g_game", "checkBotProtection", &Game::checkBotProtection, &g_game);
|
||||
g_lua.bindSingletonFunction("g_game", "isOnline", &Game::isOnline, &g_game);
|
||||
g_lua.bindSingletonFunction("g_game", "isLogging", &Game::isLogging, &g_game);
|
||||
g_lua.bindSingletonFunction("g_game", "isDead", &Game::isDead, &g_game);
|
||||
g_lua.bindSingletonFunction("g_game", "isAttacking", &Game::isAttacking, &g_game);
|
||||
g_lua.bindSingletonFunction("g_game", "isFollowing", &Game::isFollowing, &g_game);
|
||||
|
|
|
@ -55,8 +55,11 @@ UIWidget::~UIWidget()
|
|||
|
||||
void UIWidget::draw(const Rect& visibleRect, Fw::DrawPane drawPane)
|
||||
{
|
||||
if(m_clipping)
|
||||
Rect oldClipRect;
|
||||
if(m_clipping) {
|
||||
oldClipRect = g_painter->getClipRect();
|
||||
g_painter->setClipRect(visibleRect);
|
||||
}
|
||||
|
||||
if(m_rotation != 0.0f) {
|
||||
g_painter->pushTransformMatrix();
|
||||
|
@ -75,8 +78,9 @@ void UIWidget::draw(const Rect& visibleRect, Fw::DrawPane drawPane)
|
|||
if(m_rotation != 0.0f)
|
||||
g_painter->popTransformMatrix();
|
||||
|
||||
if(m_clipping)
|
||||
g_painter->resetClipRect();
|
||||
if(m_clipping) {
|
||||
g_painter->setClipRect(oldClipRect);
|
||||
}
|
||||
}
|
||||
|
||||
void UIWidget::drawSelf(Fw::DrawPane drawPane)
|
||||
|
|
Loading…
Reference in New Issue