7#ifndef MYGUI_LAYER_NODE_H_
8#define MYGUI_LAYER_NODE_H_
31 ILayer* getLayer()
const override;
37 void destroyChildItemNode(
ILayerNode* _node)
override;
40 void upChildItemNode(
ILayerNode* _item)
override;
45 size_t getLayerNodeCount()
const override;
47 ILayerNode* getLayerNodeAt(
size_t _index)
const override;
50 void attachLayerItem(
ILayerItem* _item)
override;
52 void detachLayerItem(
ILayerItem* _item)
override;
55 RenderItem* addToRenderItem(
ITexture* _texture,
bool _firstQueue,
bool _manualRender)
override;
60 ILayerItem* getLayerItemByPoint(
int _left,
int _top)
const override;
63 void renderToTarget(
IRenderTarget* _target,
bool _update)
override;
65 void resizeView(
const IntSize& _viewSize)
override;
67 float getNodeDepth()
const override;
69 bool isOutOfDate()
const;
73 void updateCompression();
84 size_t mLastNotEmptyItem{0};
94 bool mOutOfDate{
false};
95 bool mOutOfDateCompression{
false};
#define MYGUI_RTTI_DERIVED(DerivedType)
VectorRenderItem mSecondRenderItems
VectorLayerItem mLayerItems
VectorRenderItem mFirstRenderItems
VectorILayerNode mChildItems
std::vector< ILayerItem * > VectorLayerItem
std::vector< RenderItem * > VectorRenderItem
std::vector< ILayerNode * > VectorILayerNode