void CUIButton::Update() { CUIStatic::Update(); if(CursorOverWindow() && m_hint_text.size() && !g_btnHint->Owner() && Device.dwTimeGlobal>m_dwFocusReceiveTime+500) { g_btnHint->SetHintText (this,*m_hint_text); Fvector2 c_pos = GetUICursor()->GetCursorPosition(); Frect vis_rect; vis_rect.set (0,0,UI_BASE_WIDTH, UI_BASE_HEIGHT); //select appropriate position Frect r; r.set (0.0f, 0.0f, g_btnHint->GetWidth(), g_btnHint->GetHeight()); r.add (c_pos.x, c_pos.y); r.sub (0.0f,r.height()); if (false==is_in2(vis_rect,r)) r.sub (r.width(),0.0f); if (false==is_in2(vis_rect,r)) r.add (0.0f,r.height()); if (false==is_in2(vis_rect,r)) r.add (r.width(), 45.0f); g_btnHint->SetWndPos(r.lt); } }
void is_in(int solution[], char beg) { char const *c[5] = {"oooo-|", "/\\\\/**", "AACCBB", "ACACBB", "ACCABB"}; int i; i = 0; while (i < 5) { if (solution[i]) { if (!is_in2(c[i], beg)) solution[i] = 0; } i++; } }