void Canvas::correctUV()
	{
		if( mTexResizeMode == TRM_PT_VIEW_REQUESTED )
		{
			_setUVSet( FloatRect( 0, 0,
				(Ogre::Real) mReqTexSize.width  / (Ogre::Real) getTextureRealWidth(),
				(Ogre::Real) mReqTexSize.height / (Ogre::Real) getTextureRealHeight()
				) );
		}

		if( mTexResizeMode == TRM_PT_CONST_SIZE || mTexResizeMode == TRM_PT_VIEW_ALL )
		{
			_setUVSet( FloatRect( 0, 0, 1, 1 ) );
		}
	}
	void ImageBox::updateSelectIndex(size_t _index)
	{
		mIndexSelect = _index;

		if ((_index == ITEM_NONE) || (_index >= mItems.size()))
		{
			_setTextureName("");
			return;
		}
		else
		{
			_setTextureName(mCurrentTextureName);
		}

		VectorImages::iterator iter = mItems.begin() + _index;

		if (iter->images.size() < 2)
		{
			frameAdvise(false);
		}
		else
		{
			if ( ! mFrameAdvise)
			{
				mCurrentTime = 0;
				mCurrentFrame = 0;
			}
			frameAdvise(true);
		}

		if ( ! iter->images.empty())
		{
			_setUVSet(iter->images.front());
		}
	}
	void TileRect::setStateData(IStateInfo* _data)
	{
		TileRectStateInfo* data = _data->castType<TileRectStateInfo>();

		mTileSize = data->getTileSize();
		mTileH = data->getTileH();
		mTileV = data->getTileV();
		_setUVSet(data->getRect());
	}
	void ImageBox::setImageTexture(const std::string& _texture)
	{
		mCurrentTextureName = _texture;
		mSizeTexture = texture_utility::getTextureSize(mCurrentTextureName);

		// если первый раз, то ставим во всю текстуру
		if (mItems.empty())
		{
			_setUVSet(FloatRect(0, 0, 1, 1));
			_setTextureName(mCurrentTextureName);
		}
		else
		{
			recalcIndexes();
			updateSelectIndex(mIndexSelect);
		}
	}
	void ImageBox::frameEntered(float _frame)
	{
		if (mIndexSelect == ITEM_NONE) return;

		if (mItems.empty()) return;
		VectorImages::iterator iter = mItems.begin() + mIndexSelect;
		if ((iter->images.size() < 2) || (iter->frame_rate == 0)) return;

		mCurrentTime += _frame;

		while (mCurrentTime >= iter->frame_rate)
		{
			mCurrentTime -= iter->frame_rate;
			mCurrentFrame ++;
			if (mCurrentFrame >= (iter->images.size())) mCurrentFrame = 0;
		}

		_setUVSet(iter->images[mCurrentFrame]);
	}
void RotatingSkin::setStateData(IStateInfo* _data)
{
    _setUVSet(_data->castType<SubSkinStateInfo>()->getRect());
}
	void TileRect::_setStateData(StateInfo * _data)
	{
		TileRectStateData * data = (TileRectStateData*)_data;
		_setUVSet(data->rect);
	}
	void PolygonalSkin::setStateData(IStateInfo* _data)
	{
		_setUVSet(_data->castType<SubSkinStateInfo>()->getRect());
	}
	void SubSkin::_setStateData(StateInfo * _data)
	{
		SubSkinStateData * data = (SubSkinStateData*)_data;
		_setUVSet(data->rect);
	}
Exemple #10
0
 void CopySubSkin::createDrawItem( MyGUI::ITexture* _texture, MyGUI::ILayerNode* _node) {
     Base::createDrawItem( _texture, _node);
     _setUVSet(MyGUI::FloatRect());
 }
Exemple #11
0
 void CopySubSkin::_updateView() {
     Base::_updateView();
     _setUVSet(MyGUI::FloatRect());
 }