diff options
Diffstat (limited to 'src/canvas.cpp')
-rw-r--r-- | src/canvas.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/canvas.cpp b/src/canvas.cpp index e5c6bf8..73adff3 100644 --- a/src/canvas.cpp +++ b/src/canvas.cpp @@ -46,11 +46,11 @@ Canvas::Canvas(QDeclarativeItem *parent) : QDeclarativeItem(parent), - m_context(new Context2D(this)), - m_canvasWidth(0), - m_canvasHeight(0), - m_fillMode(Canvas::Stretch), - m_color(Qt::white) + m_context(new Context2D(this)), + m_canvasWidth(0), + m_canvasHeight(0), + m_fillMode(Canvas::Stretch), + m_color(Qt::white) { setFlag(QGraphicsItem::ItemHasNoContents, false); setCacheMode(QGraphicsItem::DeviceCoordinateCache); @@ -66,6 +66,7 @@ void Canvas::componentComplete() connect(m_context, SIGNAL(changed()), this, SLOT(requestPaint())); emit init(); + QDeclarativeItem::componentComplete(); } void Canvas::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) @@ -163,12 +164,13 @@ void Canvas::requestPaint() update(); } -void Canvas::geometryChanged(const QRectF &newGeometry, const QRectF &) +void Canvas::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) { if (m_canvasWidth == 0 && m_canvasHeight == 0 - && newGeometry.width() > 0 && newGeometry.height() > 0) { + && newGeometry.width() > 0 && newGeometry.height() > 0) { m_context->setSize(width(), height()); } + QDeclarativeItem::geometryChanged(newGeometry, oldGeometry); } void Canvas::setCanvasWidth(int newWidth) @@ -248,3 +250,4 @@ void Canvas::clearInterval(const QScriptValue &handler) { CanvasTimer::removeTimer(handler); } + |