Ejemplo n.º 1
0
// Override this method to serialize specific properties
bool UIPicture::OnSerializeFrom(GTTreeNode* pTreeNode)
{
	if(NULL == pTreeNode)
		return false;

	UIWidgetSprite::OnSerializeFrom(pTreeNode);

	// PieceEnabled is not defined so check Image node
	if(false == m_Sprite.HasSprite())
	{
		// Read Image node
		GTTreeNode* pImageNode = pTreeNode->FindChild(GTPropertyFile::TagImage);
		// Create static sprite object
		if(NULL == pImageNode)
			return false;
		m_pSprite = GameObjectCreation::CreateStaticSprite(
			pImageNode->GetValue().ToCharString(), // Image file name
			GetParent()->GetZOrder() // User parent's z-order
			);
		if(NULL == m_pSprite)
			return false;
	}
	
	if(m_pSprite)
	{
		// Setup position
		m_pSprite->SetPosition(GetPosition());
		// Setup ZOrder
		m_pSprite->SetZOrder(GetZOrder());
		// Setup Visible
		m_pSprite->SetVisible(GetVisible());
	}

	return true;
}
Ejemplo n.º 2
0
// Initialize the font
bool UIWidget::InitializeFont(void)
{
	if(m_pUILabelBMFont)
		return true;

	// Tricky note:
	// Save the position and apply it for m_pUILabelBMFont
	// because once m_pUILabelBMFont is initialized, the position
	// will be returned by m_pUILabelBMFont->GetPosition(),
	// not GTGameObject::GetPosition().
	GTPoint2 position = GetPosition();
	m_pUILabelBMFont = GameObjectCreation::CreateUILabelBMFont();
	if(m_pUILabelBMFont)
	{
		// Initialize the font
		m_pUILabelBMFont->Initialize(GetFontName(), GetZOrder());
		// Set text
		m_pUILabelBMFont->SetText(GetText());
		// Set position
		m_pUILabelBMFont->SetPosition(position);
		// Set visible
		m_pUILabelBMFont->SetVisible(UIWidget::GetVisible());
		// Set ZOrder
		m_pUILabelBMFont->SetZOrder(UIWidget::GetZOrder());

		return true;
	}
		
	return false;
}
Ejemplo n.º 3
0
//-------------------------------------------------------------------------
void CSlot::SetZOrder( f32 p_fValue )
{
	if( IsEqual( GetZOrder(), p_fValue ) )
		return;

	m_fOffsetZOrder = p_fValue - m_fOriginZOrder - m_fTweenZOrder;
	if( m_pArmature )
		m_pArmature->m_bIsSlotsZOrderChanged = true;
}
Ejemplo n.º 4
0
TextBox::TextBox(Window* pWindow, const SDL_Rect& location) :
    Control(pWindow, location),
    m_caret(pWindow, SDLRect(location.x + TextOffsetX, location.y + 8, CaretWidth, location.h - 16)),
    m_pPrevCursor(nullptr),
    m_position(0),
    m_clipOffset(0)
{
    SetBorderColor(SDLColor(128, 128, 128, 0));
    SetBorderSize(1);

    // place the caret above the text box
    m_caret.SetZOrder(GetZOrder() + 1);
}
Real NxTriangles::getSquaredViewDepth(const Camera* cam) const
{ 

	return (10000.0f - (Ogre::Real)GetZOrder());
	// return (20.0f - (Ogre::Real)GetZOrder());
	//(void)cam;
	//return 0; 

 /*
		Ogre::Vector3 min, max, mid, dist;

		min = mBox.getMinimum();
		max = mBox.getMaximum();
		mid = ((max + min) * 0.5);
		dist = getParentNode()->_getDerivedPosition() - cam->getDerivedPosition() - mid;

		return dist.squaredLength();
 */



}
Ejemplo n.º 6
0
	//--------------------------------------------------------------------------------------------------------------
	//向用户界面对象发送消息
	LONG_PTR GuiTrackBar::SendMsg( LONG_PTR nGM, LONG_PTR nGMA, LONG_PTR nGMB )
	{
		switch (nGM)
		{
			case GM_Enable:
				Enable( ( nGMA == 1 ) ? true : false );
				return TRUE;
			case GM_Show:
				Show( ( nGMA == 1 ) ? true : false );
				return TRUE;
			case GM_Focus:
				Focus( ( nGMA == 1 ) ? true : false );
				return TRUE;
			case GM_MouseMove:
				MouseMove( (InputSystem*)nGMA );
				return TRUE;
			case GM_SetPos:
				SetPos( nGMA, nGMB );
				return TRUE;
			case GM_MovePos:
				SetPos( mLoca.X + nGMA, mLoca.Y + nGMB );
				return TRUE;
			case GM_SetZOrder:
				SetZOrder( (ZOrderType)nGMA, (OverlaySurface*)nGMB );
				return TRUE;
			case GM_GetZOrder:
				return (LONG_PTR)GetZOrder( (ZOrderType)nGMA );
			case GM_LDown:
				LDown( (InputSystem*)nGMA );
				return TRUE;
			case GM_LUp:
				LUp( (InputSystem*)nGMA );
				return TRUE;
		}

		return FALSE;
	}
Ejemplo n.º 7
0
bool SceneObject::operator<(const SceneObject& other)
{
   return GetZOrder() < other.GetZOrder();
}
Ejemplo n.º 8
0
int CALLBACK GetMemoData( LPVOID lp, int nGetType, LPVOID lpData, int nDataSize)
{
	switch( nGetType)
	{
	case _GET_MEMO:
		return GetMemo( lp, lpData, nDataSize);
	case _GET_TITLE:
		return GetTitle( lp, lpData, nDataSize);
	case _GET_FONT:
		return GetFont( lp, lpData, nDataSize);
	case _GET_FORECOLOR:
		return GetForeColor( lp, lpData, nDataSize);
	case _GET_BACKCOLOR:
		return GetBackColor( lp, lpData, nDataSize);
	case _GET_ICON:
		return GetIconIndex( lp);
	case _GET_ZORDER:
		return GetZOrder( lp);
	case _GET_WINDOWTYPE:
		return GetWindowType( lp);
	case _GET_RECT_NORMAL:
		return GetNormalRect( lp, lpData, nDataSize);
	case _GET_POINT_TITLE:
		return GetTitlePoint( lp, lpData, nDataSize);
	case _GET_POINT_ICON:
		return GetIconPoint( lp, lpData, nDataSize);
	case _GET_RECT_TITLE:
		return GetTitleRect( lp, lpData, nDataSize);
	case _GET_RECT_ICON:
		return GetIconRect( lp, lpData, nDataSize);

	case _GET_TIMERENABLE:
		return IsTimerEnable( lp);
	case _GET_TIMER_TYPE:
		return GetTimerType( lp);
	case _GET_TIMER_MONTH:
		return GetTimerMonth( lp);
	case _GET_TIMER_DAY:
		return GetTimerDay( lp);
	case _GET_TIMER_HOUR:
		return GetTimerHour( lp);
	case _GET_TIMER_MIN:
		return GetTimerMin( lp);
	case _GET_TIMER_WEEK:
		return GetTimerWeek( lp);
	case _GET_TIMER_SOUND:
		return GetTimerSound( lp, lpData, nDataSize);

	case _GET_LINKENABLE:
		return IsLink( lp);
	case _GET_LINK_FILE:
		return GetLinkFile( lp, lpData, nDataSize);
	case _GET_LINK_PARAM:
		return GetLinkParam( lp, lpData, nDataSize);

	case _GET_CREATE_YEAR:
		return GetCreateYear( lp);
	case _GET_CREATE_MONTH:
		return GetCreateMonth( lp);
	case _GET_CREATE_DAY:
		return GetCreateDay( lp);

	case _GET_DEF_FONT:
		return GetDefFont( lpData, nDataSize);
	case _GET_DEF_FORECLR:
		return GetDefForeColor( lpData, nDataSize);
	case _GET_DEF_BACKCLR:
		return GetDefBackColor( lpData, nDataSize);

	case _GET_VERSION:
		return VERSION_CODE;
	}
	return 0;
}
Ejemplo n.º 9
0
bool NDUIXBoardHitProxy::UITouchBegin(NDTouch* pkTouch)
{
	NDUILayer* pkLayer = 0;

	if (!canProcessTouch(pkLayer))
	{
		if (pkLayer)
		{
			bool ret = pkLayer->UITouchBegin(pkTouch);

			return ret;
		}
	}

	assert(m_pkOwner && pkTouch);

	if (!IsVisible())
	{
		return false;
	}

	//判断是否点击在其他ZOrder比较高的控件上
	NDUIDialog* pkOwnerDialog = getOwnerDlg();
	if (pkOwnerDialog)
	{
		const vector<NDNode*>& kChildrenVector = pkOwnerDialog->GetChildren();
		for (int i = 0; i < kChildrenVector.size(); i++)
		{
			NDNode* pkNode = kChildrenVector[i];
			if (pkNode && pkNode->IsA(RTCLS(NDUINode)))
			{
				NDUINode* pkUINode = static_cast<NDUINode*>(pkNode);
				if (pkUINode != this && pkUINode != GetParent()
					&& pkUINode->IsA(RTCLS(NDUINode))
					&& pkUINode->GetZOrder() > GetZOrder()
					&& pkUINode->GetEnabled()
					&& pkUINode->GetScreenRect().containsPoint(
					pkTouch->GetLocation()))
				{
					return false;
				}
			}
		}
	}

	//------------------------------------------------------------
	m_kTouchDownLocalPos = pkTouch->GetLocation();
	m_pkTouchDownView = NULL;

	if (!hitTest(pkTouch->GetLocation()))
		return false;

	for (int i = 0; i < m_pkOwner->getViewCount(); i++)
	{
		NDUIXView* pkView = m_pkOwner->getViewAt(i);
		if (pkView && pkView->GetEnabled()
			&& pkView->GetScreenRect().containsPoint(
			pkTouch->GetLocation()))
		{
			m_pkTouchDownView = pkView;
			bool ret = pkView->UITouchBegin(pkTouch);
			//return ret;
		}
	}

	return true;
	//return NDUILayer::UITouchBegin(touch);
}