from comment https://bugs.webkit.org/show_bug.cgi?id=28862#c22 ariya said:
> +void QWebGraphicsItemPrivate::_q_doScroll(int dx, int dy, const QRect& rectToScroll)
> + q->scroll(qreal(dx), qreal(dy), QRectF(rectToScroll));
I found out that this does not really work if I subclass QWebGraphicsItem.
An example: I have my customized QWebGraphicsItem that clips the painting so
that the corners are rounded. When this function is invoked, say scrolling
vertically, the whole painted item is scrolled, meaning the bottom rounded
corners are also scrolled. The correct thing of course that the _contents_ of
the web page is scrolled, not merely the item.
The real fix would be to call update, instead of scroll. I understand that this
is optimization issue, but I'd rather have a correctly painted item than a fast
but garbage one.
According to Alexis, you are supposed to reimplement
QPainterPath QGraphicsItem::shape () const [virtual]
to not return a rectangular shape anymore, but the shape of the item with
clipping. This is also used for events (the clipped area should be able to
receive events), collision detection, and the QGraphicsScene::items() function.
If thsi doesn't work, it can be considered a graphics view bug, I suspect.
based on the comment below i will close this bug as INVALID.
------- Comment #55 From Kenneth Rohde Christiansen 2009-09-11 06:25:05
(In reply to comment #54)
> some follow up bugs:
> * Bug 29155 - [Qt] Implement autotests for QWebGraphicsItem
> * Bug 29156 - [Qt] Fix scrolling implementation on QWebGraphicsItem
That is a bit misleading, as the Oslo guys confirmed that our scrolling
implementation is indeed correct and that when subclassing you need to
implement the virtual shape function as well.
If that isn't working, that is a GraphicsView bug and not a WebKit one.