[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