25 mGeometryOutdated =
true;
34 mGeometryOutdated =
true;
51 mGeometryOutdated =
true;
60 mCurrentColour = (mCurrentColour & 0x00FFFFFF) | (alpha & 0xFF000000);
68 mGeometryOutdated =
true;
119 mGeometryOutdated =
true;
121 if (
nullptr != mNode)
127 MYGUI_ASSERT(!mRenderItem,
"mRenderItem must be nullptr");
131 mRenderItem->
addDrawItem(
this, (GEOMETRY_VERTICIES_TOTAL_COUNT - 2) * 3);
136 MYGUI_ASSERT(mRenderItem,
"mRenderItem must be not nullptr");
140 mRenderItem =
nullptr;
152 if (mGeometryOutdated)
155 mGeometryOutdated =
false;
158 for (
int i = 1;
i < GEOMETRY_VERTICIES_TOTAL_COUNT - 1; ++
i)
161 mResultVerticiesPos[0].left,
162 mResultVerticiesPos[0].top,
164 mResultVerticiesUV[0].left,
165 mResultVerticiesUV[0].top,
168 mResultVerticiesPos[
i].left,
169 mResultVerticiesPos[
i].top,
171 mResultVerticiesUV[
i].left,
172 mResultVerticiesUV[
i].top,
175 mResultVerticiesPos[
i + 1].left,
176 mResultVerticiesPos[
i + 1].top,
178 mResultVerticiesUV[
i + 1].left,
179 mResultVerticiesUV[
i + 1].top,
189 mCurrentColour = (colour & 0x00FFFFFF) | (mCurrentColour & 0xFF000000);
191 if (
nullptr != mNode)
207 mCurrentTexture =
_rect;
209 mGeometryOutdated =
true;
211 if (
nullptr != mNode)
215 inline float len(
float x,
float y)
217 return std::sqrt(x * x + y * y);
229 const float M_PI = 3.141593f;
256 for (
int i = 0;
i < RECT_VERTICIES_COUNT; ++
i)
276 size_t size = RECT_VERTICIES_COUNT;
279 for (
int i = 0;
i < RECT_VERTICIES_COUNT; ++
i)
291 RECT_VERTICIES_COUNT,
296 parent->_getViewHeight()));
308 for (
size_t i = 0;
i < GEOMETRY_VERTICIES_TOTAL_COUNT; ++
i)
313 mResultVerticiesPos[
i],
317 mResultVerticiesUV[
i] =
323 mResultVerticiesUV[
i] = mResultVerticiesUV[size == 0 ? 0 : (size - 1)];
335 for (
size_t i = 0;
i < GEOMETRY_VERTICIES_TOTAL_COUNT; ++
i)
345 mResultVerticiesPos[
i] = mResultVerticiesPos[size == 0 ? 0 : (size - 1)];
#define MYGUI_ASSERT(exp, dest)
int getAbsoluteLeft() const
const IntPoint & getAbsolutePosition() const
ICroppedRectangle * mCroppedParent
ICroppedRectangle * getCroppedParent()
int getAbsoluteTop() const
int _getViewWidth() const
int _getViewHeight() const
virtual float getNodeDepth() const =0
virtual void outOfDate(RenderItem *_item)=0
virtual RenderItem * addToRenderItem(ITexture *_texture, bool _firstQueue, bool _separate)=0
virtual const RenderTargetInfo & getInfo() const =0
void addDrawItem(ISubWidget *_item, size_t _count)
IRenderTarget * getRenderTarget()
void removeDrawItem(ISubWidget *_item)
Vertex * getCurrentVertexBuffer() const
void setLastVertexCount(size_t _count)
static RenderManager & getInstance()
void setAlpha(float _alpha) override
void setAngle(float _angle)
void _setColour(const Colour &_value) override
void _setUVSet(const FloatRect &_rect) override
IntPoint getCenter(bool _local=true) const
void setStateData(IStateInfo *_data) override
void _correctView() override
void destroyDrawItem() override
void setVisible(bool _visible) override
void _updateView() override
void createDrawItem(ITexture *_texture, ILayerNode *_node) override
void setCenter(const IntPoint &_center)
void _setAlign(const IntSize &_oldsize) override
const IntPoint & getCenter() const
const FloatRect & getRect() const
FloatPoint getUVFromPositionInsideRect(const FloatPoint &_point, const FloatPoint &_v0, const FloatPoint &_v1, const FloatPoint &_baseUV)
FloatPoint getPositionInsideRect(const FloatPoint &_point, const FloatPoint &_corner0, const FloatPoint &_corner1, const FloatPoint &_corner2)
VectorFloatPoint cropPolygon(FloatPoint *_baseVerticiesPos, size_t _size, const IntCoord &_cropRectangle)
uint32 toNativeColour(const Colour &_colour, VertexColourType _format)
Convert Colour to 32-bit representation.
types::TPoint< int > IntPoint
types::TPoint< float > FloatPoint
std::vector< FloatPoint > VectorFloatPoint
types::TCoord< int > IntCoord
float len(float x, float y)