Example #1
0
bool UKUISliderWidget::OnMouseButtonDown( const FKUIInterfaceContainerMouseButtonEvent& stEventInfo )
{
	if ( !CanReceieveMouseEvents() )
		return Super::OnMouseButtonDown( stEventInfo );

	if ( stEventInfo.eButton != EMouseButtons::Left )
		return Super::OnMouseButtonDown( stEventInfo );

	if ( !IsVisibleRecursive() )
		return Super::OnMouseButtonDown( stEventInfo );

	if ( IsDisabledRecursive() )
		return Super::OnMouseButtonDown( stEventInfo );

	if ( !IsMouseOver() )
		return Super::OnMouseButtonDown( stEventInfo );

	if ( oHandle.IsValid() && oHandle->IsMouseOver() )
	{
		if ( bHorizontal )
			fMouseDownOffset = stEventInfo.v2Location.X - oHandle->GetScreenLocation().X - oHandle->GetSize().X / 2.f;

		else
			fMouseDownOffset = stEventInfo.v2Location.Y - oHandle->GetScreenLocation().Y - oHandle->GetSize().Y / 2.f;
	}

	else
		fMouseDownOffset = 0.f;

	bDragging = true;
	OnDrag( bHorizontal ? stEventInfo.v2Location.X : stEventInfo.v2Location.Y );
	KUISendSubEvent( FKUIInterfaceEvent, EKUIInterfaceWidgetEventList::E_StateChange );

	return true;
}
Example #2
0
void cUIMap::Update() {
	cUIComplexControl::Update();

	if ( NULL != mMap ) {
		mMap->Update();

		if ( mEnabled && mVisible && IsMouseOver() ) {
			Uint32 Flags 			= cUIManager::instance()->GetInput()->ClickTrigger();

			if ( EDITING_LIGHT == mEditingMode ) {
				if ( NULL != mSelLight ) {
					if ( Flags & EE_BUTTONS_WUWD ) {
						if ( Flags & EE_BUTTON_WUMASK ) {
							mSelLight->Radius( mSelLight->Radius() + 10 );
						} else if ( Flags & EE_BUTTON_WDMASK ) {
							mSelLight->Radius( mSelLight->Radius() - 10 );
						}

						if ( mLightRadiusChangeCb.IsSet() )
							mLightRadiusChangeCb( mSelLight );
					} else if ( Flags & EE_BUTTON_RMASK ) {
						if ( mSelLight == mAddLight ) {
							mMap->GetLightManager()->RemoveLight( mAddLight );

							eeSAFE_DELETE( mAddLight );

							mSelLight = NULL;
						} else if ( NULL != mSelLight ) {
							if ( mSelLight->GetAABB().Contains( mMap->GetMouseMapPosf() ) ) {
								mMap->GetLightManager()->RemoveLight( mSelLight );

								eeSAFE_DELETE( mSelLight );
							}
						}
					} else if ( Flags & EE_BUTTON_LMASK ) {
						if ( mSelLight == mAddLight ) {
							mAddLight = NULL;
						} else {
							TryToSelectLight();
						}
					}

					Flags = cUIManager::instance()->GetInput()->PressTrigger();

					if ( Flags & EE_BUTTON_MMASK ) {
						mSelLight->Position( mMap->GetMouseMapPosf() );
					}
				} else {
					if ( Flags & EE_BUTTON_LMASK ) {
						TryToSelectLight();
					}
				}
			} else if ( EDITING_OBJECT == mEditingMode ) {
				ManageObject( Flags );
			}
		}
	}
}
Example #3
0
void CheckBox::Draw()
{
	if (m_checked) {
		if (IsDisabled())
			GetContext()->GetSkin().DrawCheckBoxCheckedDisabled(GetActiveOffset(), GetActiveArea());
		else if (IsMouseOver())
			GetContext()->GetSkin().DrawCheckBoxCheckedHover(GetActiveOffset(), GetActiveArea());
		else
			GetContext()->GetSkin().DrawCheckBoxCheckedNormal(GetActiveOffset(), GetActiveArea());
	} else {
		if (IsDisabled())
			GetContext()->GetSkin().DrawCheckBoxDisabled(GetActiveOffset(), GetActiveArea());
		else if (IsMouseOver())
			GetContext()->GetSkin().DrawCheckBoxHover(GetActiveOffset(), GetActiveArea());
		else
			GetContext()->GetSkin().DrawCheckBoxNormal(GetActiveOffset(), GetActiveArea());
	}
}
Example #4
0
void CheckButton::OnMouseLeftButtonUp(suic::MouseEventArg& e)
{
    if (IsMouseOver())
    {
        // 触发选中事件
        SetCheck(!_bChecked);
    }

    __super::OnMouseLeftButtonUp(e);
}
Example #5
0
void Button::Draw()
{
	if (IsMouseActive())
		GetContext()->GetSkin().DrawButtonActive(GetActiveOffset(), GetActiveArea());
	else if (IsMouseOver())
		GetContext()->GetSkin().DrawButtonHover(GetActiveOffset(), GetActiveArea());
	else
		GetContext()->GetSkin().DrawButtonNormal(GetActiveOffset(), GetActiveArea());

	Single::Draw();
}
Example #6
0
void SmallButton::Draw()
{
	if (IsDisabled())
		GetContext()->GetSkin().DrawSmallButtonDisabled(GetActiveOffset(), GetActiveArea());
	else if (IsMouseActive())
		GetContext()->GetSkin().DrawSmallButtonActive(GetActiveOffset(), GetActiveArea());
	else if (IsMouseOver())
		GetContext()->GetSkin().DrawSmallButtonHover(GetActiveOffset(), GetActiveArea());
	else
		GetContext()->GetSkin().DrawSmallButtonNormal(GetActiveOffset(), GetActiveArea());
}
Example #7
0
    bool ProcessInput( const TInputMsg & tData )
    {
        switch ( tData.eType )
        {
        case IMT_MOUSE_LKEY:
        {
            if ( IsMouseOver( g_pUIManager->GetMousePos() ) )
            {
                for ( uint n = 0; n < GetParent()->GetChildCount(); ++n )
                {
                    // hack - clear all list items color
                    GetParent()->GetChildControl( n )->SetColor( 0xFFFFFFFF );
                }

                SetColor( 0xFF0000FF );
                return true;
            }
        }
        break;

        case IMT_MOUSE_MOVE_X:
        case IMT_MOUSE_MOVE_Y:
        {
            if ( IsMouseOver( g_pUIManager->GetMousePos() ) )
            {
                for ( uint n = 0; n < GetParent()->GetChildCount(); ++n )
                {
                    // hack - clear all list items color
                    GetParent()->GetChildControl( n )->SetColor( 0xFFFFFFFF );
                }

                SetColor( 0xFF5087E7 );
                return true;
            }
        }
        break;

        default:
            return false;
        }
    }
Example #8
0
void ButtonVector::SetStyles(Style *def, Style *mouseOver)
{
    styleDefault = def;
    styleMouseOver = mouseOver;

    if (IsMouseOver())
        SetStyle(styleMouseOver);
    else
        SetStyle(styleDefault);

    RecalculateSize(true);
}
Example #9
0
void Button::Update()
{
	if(IsMouseOver(Controller::GetX(), Controller::GetY()))
		grow += 2;
	else
		grow -= 2;
	
	if(grow > height/8) grow = height/8;
	if(grow < 0) grow = 0;
	
	if(clickfade > 0) clickfade -= 20;
	if(clickfade < 0) clickfade = 0;
	if(clickfade > 0 && clickfade < 100) clicked = true;
}
Example #10
0
void cUIListBoxItem::Update() {
	cUITextBox::Update();

	if ( mEnabled && mVisible ) {
		cUIListBox * LBParent 	= reinterpret_cast<cUIListBox*> ( Parent()->Parent() );
		Uint32 Flags 			= cUIManager::instance()->GetInput()->ClickTrigger();

		if ( IsMouseOver() ) {
			if ( Flags & EE_BUTTONS_WUWD && LBParent->VerticalScrollBar()->Visible() ) {
				LBParent->VerticalScrollBar()->Slider()->ManageClick( Flags );
			}
		}
	}
}
Example #11
0
void UKUISimpleClickWidget::OnMouseMove( const FKUIInterfaceContainerMouseLocationEvent& stEventInfo )
{
	Super::OnMouseMove( stEventInfo );

	if ( !CanReceieveMouseEvents() )
		return;

	bool bMouseOver = IsMouseOver();

	if ( this->bMouseOver == bMouseOver )
		return;

	this->bMouseOver = bMouseOver;
	KUISendSubEvent( FKUIInterfaceEvent, EKUIInterfaceWidgetEventList::E_StateChange );
}
Example #12
0
void cgUIButton::DrawBackground( const cgRectF& clipRect )
{
	if (IfFillBackground())
	{
		cgColor uDrawColor = m_uBackColor;
		if (!IsEnable())
			uDrawColor = m_uDisableColor;
		else if (IsClickDown())
			uDrawColor = m_uPressColor;
		else if (IsMouseOver())
			uDrawColor = m_uHotColor;

		cgUIRender::GetRender()->FillRect(clipRect, uDrawColor);
	}
}
void clGUITabControl::PreRender()
{
	clGUIBorderPanel::PreRender();

	LVector2 Pos = GetMousePos();

//   OutTextXY( 0.0f, -0.05f, Pos.ToString(','), LC_White );

	FSelectedTab = NULL;

	const float TextOffset = -0.025f;

	for ( size_t i = 0; i != FTabsList.size(); ++i )
	{
		LVector4 Color = LC_Red;

		if ( FActiveTab )
		{
			float Y = FActiveTab->GetY1();

			if ( FTabsList[i].FTab == FActiveTab )
			{
				Env->Renderer->GetCanvas()->Rect( GetX1() + FTabsList[i].FX,
				                                  GetY1() + 0.005f,
				                                  GetX1() + FTabsList[i].FX + FTabsList[i].FWidth,
				                                  //GetY1() + Env->GUI->GetStringHeight() + 0.005f,
				                                  Y,
				                                  LC_Blue );
				Color = LC_Green;
			}
		}

		if ( IsMouseOver() )
		{
			if ( Pos.X > FTabsList[i].FX &&
			     Pos.Y > 0 &&
			     Pos.X < FTabsList[i].FX + FTabsList[i].FWidth &&
			     Pos.Y < FTabsList[i].FTab->GetY1() /*0.02f*/ )
			{
				FSelectedTab = FTabsList[i].FTab;

				Color = LC_Yellow;
			}
		}

		OutTextXY( FTabsList[i].FX, TextOffset, FTabsList[i].FTab->GetTitle(), Color );
	}
}
Example #14
0
void cgUIButton::DrawBackPic(const cgRectF& clipRect)
{
	cgUIWidget::DrawBackPic(clipRect);

	cgUIImagePtr ptr;
	if (!IsEnable())
		ptr = m_spDisablePic;
	else if (IsClickDown())
		ptr = m_spPressPic;
	else if (IsMouseOver())
		ptr = m_spHotPic;
	else
		ptr = m_spNormalPic;
	
	DoDrawPic(ptr, m_kRect, clipRect);
}
Example #15
0
void UKUIInterfaceElement::Render( AKUIInterface* aHud, UCanvas* oCanvas, const FVector2D& v2Origin, UKUIInterfaceElement* oRenderCacheObject )
{
	aLastRenderedBy = aHud;

	if ( !HasValidAlignLocation() )
	{
		TArray<UKUIInterfaceElement*> arAlignStack;
		CalculateAlignLocation( arAlignStack );
	}

	if ( IsRenderCaching() )
	{
		if ( oRenderCacheObject != this )
		{
			if ( !oRenderCache->IsRenderCacheValid() )
				oRenderCache->UpdateRenderCache( this );

			//v2LastScreenRenderLocation = v2Origin + GetRenderLocation()/* + oRenderCacheObject->GetLastScreenRenderLocation()*/;
			oCanvas->Reset();
			oRenderCache->Render( aHud, oCanvas, GetScreenLocation() );

			KUISendEvent( FKUIInterfaceElementRenderEvent, EKUIInterfaceElementEventList::E_Render, oCanvas, v2Origin );
		}
	}

	else
	{
		if ( oRenderCacheObject == NULL )
			v2LastScreenRenderLocation = v2Origin + GetRenderLocation();

		oCanvas->Reset();

		KUISendEvent( FKUIInterfaceElementRenderEvent, EKUIInterfaceElementEventList::E_Render, oCanvas, v2Origin );
	}

#if KUI_INTERFACE_MOUSEOVER_DEBUG
	AKUIInterface* aInterface = GetInterface();

	if ( aInterface && aInterface->bDebugMouseOver && IsMouseOver() )
	{
		aInterface->cmDebugMouseOver = this;
		aInterface->v2DebugMouseOverLocation = GetLastScreenRenderLocation();
		aInterface->v2DebugMouseOverSize = GetSize();
	}
#endif // KUI_INTERFACE_MOUSEOVER_DEBUG
}
Example #16
0
//-----------------------------------------------------------------------------------------------------------------------------------
void Button::HandleInput(float elapsedSeconds, const Vector2& mousePosition)
{
	ClickableImage::HandleInput(elapsedSeconds, mousePosition);

	if (AcceptsInput())
	{
    if (HasMouseEntered())
    {
      SFXManager::GetInstance().PlaySound(BUTTON_HOVER_SOUND_ASSET);
    }

		if (IsMouseOver() && GetClickState() != ClickState::kPressed)
		{
			SetColour(m_highlightedColour);
		}
	}
}
Example #17
0
void ScrollBar::Paint(Graphics *gfx, int offX, int offY) {
    CrashIf(!IsVisible());
    // TODO: take padding into account
    CachedStyle *s = cachedStyle;

    int dy = inactiveDy;
    if (IsMouseOver())
        dy = onOverDy;

    Rect r(offX, offY + pos.Height - dy, pos.Width, dy);
    Brush *br = BrushFromColorData(s->bgColor, r);
    gfx->FillRectangle(br, r);

    int filledDx = IntFromPerc(pos.Width, filledPerc);
    if (0 == filledDx)
        return;

    r.Width = filledDx;
    br = BrushFromColorData(s->color, r);
    gfx->FillRectangle(br, r);
}
Example #18
0
void cUITab::Update() {
    cUISelectButton::Update();

    if ( mEnabled && mVisible ) {
        if ( IsMouseOver() ) {
            cUITabWidget * tTabW	= GetTabWidget();

            if ( NULL != tTabW ) {
                Uint32 Flags 			= cUIManager::instance()->GetInput()->ClickTrigger();

                if ( Flags & EE_BUTTONS_WUWD ) {
                    if ( Flags & EE_BUTTON_WUMASK ) {
                        tTabW->SelectPrev();
                    } else if ( Flags & EE_BUTTON_WDMASK ) {
                        tTabW->SelectNext();
                    }
                } else if ( tTabW->mTabsClosable && ( Flags & EE_BUTTON_MMASK ) ) {
                    tTabW->Remove( this );
                }
            }
        }
    }
}
Example #19
0
//-----------------------------------------------------------------------------------------------------------------------------------
void Button::HandleInput(DX::StepTimer const& timer, const Vector2& mousePosition)
{
	UIObject::HandleInput(timer, mousePosition);

	if (AcceptsInput())
	{
		if (IsMouseOver() && m_buttonState != ButtonState::kPressed)
		{
			m_buttonState = ButtonState::kHighlighted;
			SetColour(m_highlightedColour);
		}

		if (IsSelected())
		{
			if (m_buttonState != ButtonState::kPressed)
			{
				assert(m_clickFunction);

				m_clickFunction();
				m_buttonState = ButtonState::kPressed;
			}
		}
	}
}
Example #20
0
void Slider::UpdateButton()
{
	const Skin &skin = GetContext()->GetSkin();

	const Point activeArea(GetActiveArea());

	if (m_orient == SLIDER_HORIZONTAL) {
		const Skin::EdgedRectElement &gutterRect = skin.SliderHorizontalGutter();
		const Skin::RectElement &buttonRect = skin.SliderHorizontalButtonNormal();

		m_buttonSize = Point(buttonRect.size.x, buttonRect.size.y);
		m_buttonPos  = Point(((activeArea.x-gutterRect.edgeWidth*2-buttonRect.size.x)*m_value)+gutterRect.edgeWidth, (activeArea.y-buttonRect.size.y)/2);
	}

	else {
		const Skin::EdgedRectElement &gutterRect = skin.SliderVerticalGutter();
		const Skin::RectElement &buttonRect = skin.SliderVerticalButtonNormal();

		m_buttonSize = Point(buttonRect.size.x, buttonRect.size.y);
		m_buttonPos  = Point((activeArea.x-buttonRect.size.x)/2, ((activeArea.y-gutterRect.edgeWidth*2-buttonRect.size.y)*m_value)+gutterRect.edgeWidth);
	}

	m_mouseOverButton = IsMouseOver() && PointInsideButton(m_lastMousePosition);
}
Example #21
0
bool CButton::ProcessInput( const TInputMsg & tData )
{
	if ( IsMouseOver( g_pUIManager->GetMousePos() ) )
		SetText( "Over" );
	else
		SetText( "OK" );

	switch ( tData.eType )
	{
		case IMT_MOUSE_MOVE_X:
		case IMT_MOUSE_MOVE_Y:
		{
			if ( IsMouseOver( g_pUIManager->GetMousePos() ) )
			{
				if ( this == g_pUIManager->GetActiveControl() )
				{
					m_bPressed = true;
				}
			}
			else
			{
				m_bPressed = false;
			}
		}
		break;

		case IMT_MOUSE_LKEY:
		{
			if ( IsMouseOver( g_pUIManager->GetMousePos() ) )
			{
				if ( tData.dwData & 0x80 )
				{
					Press();
					g_pUIManager->SetActiveControl( this );
				}
				else
				{
					if ( this == g_pUIManager->GetActiveControl() )
					{
						g_pUIManager->SetActiveControl( NULL );
						MessageBeep( MB_OK );

						//if ( m_pParent )
						//	m_pParent->OnChildEvent( this );

						Press( false );
					}
				}

				return true;
			}
			else if ( this == g_pUIManager->GetActiveControl() )
			{
				if ( !( tData.dwData & 0x80 ) )
					g_pUIManager->SetActiveControl( NULL );
			}
		}
		break;
	}

	return false;
}
Example #22
0
void Button::OnButton(bool isDown)
{
	if(isDown && IsMouseOver(Controller::GetX(), Controller::GetY()))
		clickfade = 255;
}
Example #23
0
/*
Updates player moves
*/
void clash::Update(float dt) {
	_keyPress += dt;
	if (_turn == AI) NextTurn();
	else if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::Return) && _keyPress > 1.f) {
		NextTurn();
		_keyPress = 0;
	}

	// Mouse-over type marker
	for (int i = 0; i < CHECKBOARD; i++) {
		for (int j = 0; j < CHECKBOARD; j++) {
			if (IsMouseOver(_checkBoard[i][j])) {
				_currentMouseOver = sf::Vector2i(i, j);
			}
		}
	}
	// Selection tool
	if (sf::Mouse::isButtonPressed(sf::Mouse::Left)) {
		_currentChoosen = _currentMouseOver;
	}
	// Moving units
	else if (sf::Mouse::isButtonPressed(sf::Mouse::Right) && _currentChoosen.x >= 0 && _keyPress > 0.2f) {
		int i = _currentChoosen.x;
		int j = _currentChoosen.y;
		int x = _currentMouseOver.x;
		int y = _currentMouseOver.y;
		if (((abs(x - i) <= 1 && j == y) || (abs(j - y) <= 1 && i == x)) && _movesPPlayer > 0 && _checkBoard[i][j].CountUnits() > 0) {
			if (_checkBoard[i][j]._entity == _checkBoard[x][y]._entity && _turn == _checkBoard[i][j]._entity)
				MoveUnit(_currentChoosen, _currentMouseOver);
			if (_checkBoard[x][y]._entity == NONE && _turn == _checkBoard[i][j]._entity) {
				_checkBoard[x][y]._entity = _turn;
				_checkBoard[x][y]._field = UNIT;
				MoveUnit(_currentChoosen, _currentMouseOver);
			}
			if (_checkBoard[x][y]._entity >= 0 && _checkBoard[x][y]._entity != _checkBoard[i][j]._entity) {
				if (_checkBoard[x][y].CountUnits() > 0 && _checkBoard[i][j].CountUnits() > 0) {
					_checkBoard[x][y].Kill(1);
					_checkBoard[i][j].Kill(1);
					_movesPPlayer--;
				}
				else if (_checkBoard[x][y].CountUnits() == 0 && _checkBoard[i][j].CountUnits() > 0)	{
					if (_checkBoard[x][y]._field == FACTORY) {
						_checkBoard[x][y]._field = UNIT;
						_player[_checkBoard[x][y]._entity - 1] = false;
					}
					if (_checkBoard[x][y]._field == CORE) {
						//Window.GetGameManager()->_winner = (int)(_checkBoard[i][j]._entity + 1);
						//Window.GetGameManager()->MoveForward();
						Window.Stop();
					}
					_checkBoard[x][y]._entity = _checkBoard[i][j]._entity;
					MoveUnit(_currentChoosen, _currentMouseOver);
				}
			}
		}

		_keyPress = 0;
	}

	if (_turn == AI && _pcTurn >= 2 && _pcTurn != 3) {
		if (_pcTurn == 4) {
			for (int i = 0; i < CHECKBOARD; i++) {
				for (int j = 0; j < CHECKBOARD; j++) {
					if (_checkBoard[i][j]._entity == AI) {
						_checkBoard[i][j].TurnAlive(1);
					}
				}
			}
			_pcTurn = 0;
		}

		for (int i = 1; i <= 2; i++) {
			int ww = 0, wh = 0;
			if (i == 1 || i == 4) wh = 1;
			if (i == 1 || i == 3) ww = 1;
			if (i == 3 || i == 2) wh = CHECKBOARD - 2;
			if (i == 4 || i == 2) ww = CHECKBOARD - 2;
			if (_checkBoard[ww][wh]._entity == NONE) {
				_checkBoard[ww][wh]._entity = (ENTITY_TYPE) (i);
				_checkBoard[ww][wh]._field = UNIT;
			}
			if (_checkBoard[ww][wh]._entity == (ENTITY_TYPE) (i) && _player[_checkBoard[ww][wh]._entity-1]) {
				_checkBoard[ww][wh].TurnAlive(2);
			}
		}
	}

	if (_movesPPlayer > 0) _check = false;
	if (_moves != _movesPPlayer) {
		if (_movesPPlayer == 0) Window.UpdateStatusbar("Press ENTER for next turn");
		else if (_turnCounter == 1 && _movesPPlayer == 0 && _check) {
			_moves = 1;
			_check = false;
		}
		else Window.UpdateStatusbar(toString(_movesPPlayer) + " moves left");
	}
}
Example #24
0
std::wstring GSGUI_FLOAT_INPUT::GetDescription()
{
	if (!IsMouseOver())
		return L"";
	return m_desc;
}
bool GUI_Interactable::IsMouseOver(Vector2f mpos)
{
	return IsMouseOver(mpos.x, mpos.y);
}
Example #26
0
void COXEditTip::NeedItemTip(LPNEEDITEMTIPINFO pnitInfo)
{
	ASSERT(::IsWindow(m_hWndHooked));
	ASSERT(m_hWndHooked==m_pAttachedCtrl->m_hWnd);

	// we already been there so we don't need to show the tip again
	if(IsMouseOver())
	{
		pnitInfo->result=ID_NIT_CUSTOMREJECT;
		return;
	}

	DWORD dwStyle=m_pAttachedCtrl->GetStyle();
	// Make sure that the Edit control has single line style
	if((dwStyle&ES_MULTILINE)==ES_MULTILINE)
	{
		pnitInfo->result=ID_NIT_WRONGFORMAT;
		return;
	}

	CString sText;
	m_pAttachedCtrl->GetWindowText(sText);
	if(sText.IsEmpty())
	{
		pnitInfo->result=ID_NIT_NOTHIDDEN;
		return;
	}
	if(sText.GetLength()>pnitInfo->sizeText)
	{
		pnitInfo->result=ID_NIT_WRONGFORMAT;
		return;
	}

	CRect rectItem;
	m_pAttachedCtrl->GetRect(rectItem);
	CRect rectClient;
	m_pAttachedCtrl->GetClientRect(rectClient);
	CRect rectWindow;
	m_pAttachedCtrl->GetWindowRect(rectWindow);
	m_pAttachedCtrl->ScreenToClient(rectWindow);

	pnitInfo->offset=rectItem.left-rectWindow.left;

	CClientDC dc(m_pAttachedCtrl);
	CFont* pOldFont=pnitInfo->pFont==NULL ? NULL : 
		dc.SelectObject((CFont*)pnitInfo->pFont);
	CRect rectText(0, 0, 0, 0);
	dc.DrawText(sText,&rectText,DT_CALCRECT|DT_LEFT|DT_SINGLELINE);
	if(pOldFont)
	{
		dc.SelectObject(pOldFont);
	}

	if(rectText.Width()<=rectItem.Width() && rectText.Height()<=rectItem.Height())
	{
		pnitInfo->result=ID_NIT_NOTHIDDEN;
		return;
	}
	rectItem.right=rectItem.left+rectText.Width();
	rectItem.bottom=rectItem.top+rectText.Height();

	if((dwStyle&ES_CENTER)==ES_CENTER)
		pnitInfo->alignment=DT_CENTER;
	else if((dwStyle&ES_RIGHT)==ES_RIGHT)
		pnitInfo->alignment=DT_RIGHT;
	else
		pnitInfo->alignment=DT_LEFT;

	pnitInfo->rectItem.left=rectWindow.left;
	pnitInfo->rectItem.top=rectWindow.top;
	pnitInfo->rectItem.right=rectWindow.left+rectItem.Width();
	pnitInfo->rectItem.bottom=rectWindow.bottom;

	lstrcpyn(pnitInfo->itemText,sText,pnitInfo->sizeText);

	if(pnitInfo->clrText==ID_OX_COLOR_NONE)
		pnitInfo->clrText=::GetSysColor(COLOR_WINDOWTEXT);

	pnitInfo->result=ID_NIT_SUCCESS;
}
Example #27
0
str_type::string GSGUI_FLOAT_INPUT::GetDescription()
{
	if (!IsMouseOver())
		return GS_L("");
	return m_desc;
}