18        mGeometryOutdated(
false),
 
   24        mCurrentColour(0xFFFFFFFF),
 
   31    inline float len(
float x, 
float y)
 
   33        return std::sqrt(x * x + y * y);
 
   41            mResultVerticiesPos.clear();
 
   42            mResultVerticiesUV.clear();
 
   66#ifdef MYGUI_NO_POLYGONAL_SKIN_CROPPING 
   74        if (count > mVertexCount)
 
   77            if (
nullptr != mRenderItem) mRenderItem->
reallockDrawItem(
this, mVertexCount);
 
  101        mGeometryOutdated = 
true;
 
  103        if (
nullptr != mNode)
 
  110        mCurrentColour = (mCurrentColour & 0x00FFFFFF) | (alpha & 0xFF000000);
 
  112        if (
nullptr != mNode)
 
  118        mGeometryOutdated = 
true;
 
  120        if (
nullptr != mNode)
 
  171        mGeometryOutdated = 
true;
 
  186                if (
nullptr != mNode)
 
  202        if (
nullptr != mNode)
 
  208        MYGUI_ASSERT(!mRenderItem, 
"mRenderItem must be nullptr");
 
  217        MYGUI_ASSERT(mRenderItem, 
"mRenderItem must be not nullptr");
 
  221        mRenderItem = 
nullptr;
 
  231            mGeometryOutdated = 
true;
 
  237        if (mGeometryOutdated)
 
  242        size_t size = mResultVerticiesPos.size();
 
  244        for (
size_t i = 0; 
i < size; ++
i)
 
  246            verticies[
i].set(mResultVerticiesPos[
i].left, mResultVerticiesPos[
i].top, 
vertex_z, mResultVerticiesUV[
i].left, mResultVerticiesUV[
i].top, mCurrentColour);
 
  255        mCurrentColour = (colour & 0x00FFFFFF) | (mCurrentColour & 0xFF000000);
 
  257        if (
nullptr != mNode)
 
  268        mCurrentTexture = 
_rect;
 
  270        mGeometryOutdated = 
true;
 
  272        if (
nullptr != mNode)
 
  278        if (mLinePoints.size() < 2)
 
  283        mGeometryOutdated = 
false;
 
  302        mResultVerticiesPos.clear();
 
  303        mResultVerticiesUV.clear();
 
  315        for (
size_t i = 1; 
i < mLinePoints.size(); ++
i)
 
  317            if (mLineStroke != 0)
 
  320                if (
stroke == mLineStroke)
 
  327            currentLength += 
len(mLinePoints[
i - 1].left - mLinePoints[
i].left,  mLinePoints[
i - 1].top - mLinePoints[
i].top);
 
  330            if (
i != mLinePoints.size() - 1)
 
  360                mResultVerticiesPos.push_back(
points[0]);
 
  361                mResultVerticiesPos.push_back(
points[1]);
 
  362                mResultVerticiesPos.push_back(mLinePoints[
i] + 
normal);
 
  363                mResultVerticiesUV.push_back(
pointsUV[0]);
 
  364                mResultVerticiesUV.push_back(
pointsUV[1]);
 
  367                mResultVerticiesPos.push_back(
points[1]);
 
  368                mResultVerticiesPos.push_back(mLinePoints[
i] - 
normal);
 
  369                mResultVerticiesPos.push_back(mLinePoints[
i] + 
normal);
 
  370                mResultVerticiesUV.push_back(
pointsUV[1]);
 
  391                lineDir = mLinePoints[
i] - mLinePoints[
i - 1];
 
  407                lineDir = mLinePoints[
i - 1] - mLinePoints[
i];
 
  418                    mResultVerticiesPos.push_back(
points[0]);
 
  419                    mResultVerticiesPos.push_back(mLinePoints[
i] + 
normal);
 
  420                    mResultVerticiesPos.push_back(mLinePoints[
i]);
 
  421                    mResultVerticiesUV.push_back(
pointsUV[0]);
 
  425                    mResultVerticiesPos.push_back(mLinePoints[
i] + 
normal);
 
  426                    mResultVerticiesPos.push_back(mLinePoints[
i] + 
normal2);
 
  427                    mResultVerticiesPos.push_back(mLinePoints[
i]);
 
  441#ifndef MYGUI_NO_POLYGONAL_SKIN_CROPPING 
  454        for (
size_t i = 0; 
i < mResultVerticiesPos.size(); 
i += 3)
 
  460                FloatPoint v0 = mResultVerticiesUV[
i + 2] - mResultVerticiesUV[
i];
 
  461                FloatPoint v1 = mResultVerticiesUV[
i + 1] - mResultVerticiesUV[
i];
 
  490        for (
size_t i = 0; 
i < mResultVerticiesPos.size(); ++
i)
 
  505        result.left *= mLineWidth / 2;
 
  506        result.top *= mLineWidth / 2;
 
  516        line1.left /= length;
 
  519        line2.left /= length;
 
  535        if (std::fabs(
angle) < 1e-6f )
 
  538        float width = mLineWidth / 2 / std::sin(
angle);
 
#define MYGUI_ASSERT(exp, dest)
 
int getAbsoluteLeft() const
 
bool _checkOutside() const
 
ICroppedRectangle * mCroppedParent
 
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
 
FloatPoint _getMiddleLine(const FloatPoint &_point1, const FloatPoint &_point2, const FloatPoint &_point3) const
 
void _correctView() override
 
void destroyDrawItem() override
 
void createDrawItem(ITexture *_texture, ILayerNode *_node) override
 
void _setAlign(const IntSize &_oldsize) override
 
FloatPoint _getPerpendicular(const FloatPoint &_point1, const FloatPoint &_point2) const
 
void setPoints(const std::vector< FloatPoint > &_points)
 
void setStateData(IStateInfo *_data) override
 
void setVisible(bool _visible) override
 
void setAlpha(float _alpha) override
 
void _setUVSet(const FloatRect &_rect) override
 
void setWidth(float _width)
 
void _updateView() override
 
void _setColour(const Colour &_value) override
 
void setStroke(size_t _value)
 
void addDrawItem(ISubWidget *_item, size_t _count)
 
bool getCurrentUpdate() const
 
IRenderTarget * getRenderTarget()
 
void reallockDrawItem(ISubWidget *_item, size_t _count)
 
void removeDrawItem(ISubWidget *_item)
 
Vertex * getCurrentVertexBuffer() const
 
void setLastVertexCount(size_t _count)
 
static RenderManager & getInstance()
 
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.
 
std::vector< FloatPoint > VectorFloatPoint
 
types::TPoint< float > FloatPoint
 
float len(float x, float y)