Beispiel #1
0
	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 Canvas::loadResource( Ogre::Resource* _resource )
	{
		if( mTexPtr.get() == _resource )
		{
			mTexPtr->createInternalResources();

			_setTextureName( mGenTexName );

			correctUV();

			requestUpdateCanvas( this, Event( true, true, false ) );
		}
	}
Beispiel #3
0
    void Canvas::createExactTexture( int _width, int _height, TextureUsage _usage, PixelFormat _format )
    {
        int width = std::max(1, _width);
        int height = std::max(1, _height);

        destroyTexture();

        mTexture = RenderManager::getInstance().createTexture(mGenTexName);
        mTexture->setInvalidateListener(this);
        mTexture->createManual( width, height, _usage, _format );

        mTexManaged = true;

        _setTextureName( mGenTexName );
        correctUV();
        requestUpdateCanvas( this, Event( true, true, mInvalidateData ) );
    }
Beispiel #4
0
	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);
		}
	}