[Webkit-unassigned] [Bug 35146] [Qt] Support tiled backing store
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Feb 19 04:59:31 PST 2010
https://bugs.webkit.org/show_bug.cgi?id=35146
--- Comment #2 from Kenneth Rohde Christiansen <kenneth at webkit.org> 2010-02-19 04:59:31 PST ---
(From update of attachment 49067)
> +void Frame::setTiledBackingStoreEnabled(bool enabled)
> +{
> + if (!enabled) {
> + m_tiledBackingStore.clear();
> + return;
> + }
> + if (m_tiledBackingStore)
> + return;
> + m_tiledBackingStore.set(new TiledBackingStore(this));
> +}
Where are you freeing this?
> +void Frame::tiledBackingStorePaintBegin()
> +{
> + if (!m_view)
> + return;
> + m_view->layoutIfNeededRecursive();
> + m_view->flushDeferredRepaints();
> +}
I don't like these names very much, they don't seem to be only dealing with the
tiled backing store.
> +void Frame::tiledBackingStorePaintEnd(const Vector<IntRect>& paintedArea)
So when you are finished painting, you have to inform where you painted? Maybe
the API should reflect that?
> +IntRect Frame::tiledBackingStoreContentRect()
IS there a difference between the contents rect and the actual rect of the
backing store?
> + OwnPtr<TiledBackingStore> m_tiledBackingStore;
> };
Ah, now I see :-)
> + void viewportChanged(const IntRect& viewportRect);
Frame uses setFrameRect, maybe setViewportRect?
> +
> + float scale() { return m_scale; }
> + void setScale(float);
scale, zoom? so this actually scales the widgets?
> +
> + void invalidate(const IntRect& dirtyRect);
> + void paint(GraphicsContext*, const IntRect&);
> +
> + enum State {
> + StateNormal,
> + StateNoTileCreation
> + };
Shouldn't you put State as a suffix instead of as a prefix? Also, State doesn't
say much, coudl we find a better name? What is StateNormal? Let's use a better
name
> + void dropOverhangingTiles();
What is overhanging?
> + void dropTilesOutsideRect(const IntRect&);
> +
> + struct TileCoordinate {
Why can't you use IntPoint? and maybe you should consider TilePoint?
> + public:
> + TileCoordinate(unsigned x, unsigned y) : m_x(x), m_y(y) { }
> +
> + PassRefPtr<Tile> tile(const TileCoordinate&) const;
> + void setTile(const TileCoordinate& coordinate, PassRefPtr<Tile> tile);
> + void removeTile(const TileCoordinate& coordinate);
> +
> + IntRect rectToDocument(const IntRect&) const;
> + IntRect rectFromDocument(const IntRect&) const;
> +
> + IntRect contentRect() const;
contentsRect ?
More comments to follow, but I have a meeting now!
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list