first commit
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
#ifndef FGCANVASGROUP_H
|
||||
#define FGCANVASGROUP_H
|
||||
|
||||
#include "fgcanvaselement.h"
|
||||
|
||||
class FGCanvasGroup : public FGCanvasElement
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit FGCanvasGroup(FGCanvasGroup* pr, LocalProp* prop);
|
||||
|
||||
const FGCanvasElementVec& children() const;
|
||||
|
||||
void markChildZIndicesDirty() const;
|
||||
|
||||
bool hasChilden() const;
|
||||
|
||||
unsigned int childCount() const;
|
||||
|
||||
FGCanvasElement* childAt(unsigned int index) const;
|
||||
|
||||
unsigned int indexOfChild(const FGCanvasElement* e) const;
|
||||
|
||||
CanvasItem* createQuickItem(QQuickItem *parent) override;
|
||||
CanvasItem* quickItem() const override
|
||||
{ return _quick; }
|
||||
|
||||
void removeChild(FGCanvasElement* child);
|
||||
|
||||
void dumpElement() override;
|
||||
signals:
|
||||
void childAdded();
|
||||
void childRemoved(int index);
|
||||
|
||||
void canvasSizeChanged();
|
||||
protected:
|
||||
virtual void doPaint(FGCanvasPaintContext* context) const override;
|
||||
|
||||
void doPolish() override;
|
||||
|
||||
bool onChildAdded(LocalProp *prop) override;
|
||||
bool onChildRemoved(LocalProp *prop) override;
|
||||
|
||||
virtual void markStyleDirty() override;
|
||||
|
||||
void doDestroy() override;
|
||||
private:
|
||||
void markCachedSymbolDirty();
|
||||
int indexOfChildWithProp(LocalProp *prop) const;
|
||||
void resetChildQuickItemZValues();
|
||||
|
||||
private:
|
||||
mutable FGCanvasElementVec _children;
|
||||
mutable bool _zIndicesDirty = false;
|
||||
mutable bool _cachedSymbolDirty = false;
|
||||
|
||||
|
||||
CanvasItem* _quick = nullptr;
|
||||
};
|
||||
|
||||
#endif // FGCANVASGROUP_H
|
||||
Reference in New Issue
Block a user