20 if (m_parent ==
nullptr) {
21 return absoluteOrigin();
23 return KDPoint(absoluteOrigin().x() - m_parent->absoluteOrigin().
x(),
24 absoluteOrigin().
y() - m_parent->absoluteOrigin().
y());
31 c->draw(ctx, p, expressionColor, backgroundColor);
33 render(ctx, absoluteOrigin().translatedBy(p), expressionColor, backgroundColor);
36 KDPoint ExpressionLayout::absoluteOrigin() {
38 if (m_parent !=
nullptr) {
53 return m_frame.
size();
virtual KDPoint positionOfChild(ExpressionLayout *child)=0
void draw(KDContext *ctx, KDPoint p, KDColor expressionColor=KDColorBlack, KDColor backgroundColor=KDColorWhite)
constexpr KDPoint KDPointZero
virtual void render(KDContext *ctx, KDPoint p, KDColor expressionColor, KDColor backgroundColor)=0
void setOrigin(KDPoint origin)
virtual ExpressionLayout * child(uint16_t index)=0
constexpr KDRect KDRectZero
void setSize(KDSize size)
KDPoint translatedBy(KDPoint other) const
void setParent(ExpressionLayout *parent)
virtual KDSize computeSize()=0