Skip to content

Commit

Permalink
Added a separate property to enable mipmapping on QSGPaintedItem.
Browse files Browse the repository at this point in the history
Don't use QSGItem's smooth property for that anymore.
  • Loading branch information
Yoann Lopes committed May 10, 2011
1 parent 21deca5 commit b909a24
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 1 deletion.
38 changes: 37 additions & 1 deletion src/declarative/items/qsgpainteditem.cpp
Expand Up @@ -103,6 +103,8 @@ QSGPaintedItemPrivate::QSGPaintedItemPrivate()
, geometryDirty(false)
, contentsDirty(false)
, opaquePainting(false)
, antialiasing(false)
, mipmap(false)
{
}

Expand Down Expand Up @@ -225,6 +227,40 @@ void QSGPaintedItem::setAntialiasing(bool enable)
update();
}

/*!
Returns true if mipmaps are enabled; otherwise, false is returned.
By default, mipmapping is not enabled.
\sa setMipmap()
*/
bool QSGPaintedItem::mipmap() const
{
Q_D(const QSGPaintedItem);
return d->mipmap;
}

/*!
If \a enable is true, mipmapping is enabled on the associated texture.
Mipmapping increases rendering speed and reduces aliasing artifacts when the item is
scaled down.
By default, mipmapping is not enabled.
\sa mipmap()
*/
void QSGPaintedItem::setMipmap(bool enable)
{
Q_D(QSGPaintedItem);

if (d->mipmap == enable)
return;

d->mipmap = enable;
update();
}

/*!
This function returns the outer bounds of the item as a rectangle; all painting must be
restricted to inside an item's bounding rect.
Expand Down Expand Up @@ -416,7 +452,7 @@ QSGNode *QSGPaintedItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *
node->setSize(QSize(qRound(br.width()), qRound(br.height())));
node->setSmoothPainting(d->antialiasing);
node->setLinearFiltering(d->smooth);
node->setMipmapping(d->smooth);
node->setMipmapping(d->mipmap);
node->setOpaquePainting(d->opaquePainting);
node->setFillColor(d->fillColor);
node->setContentsScale(d->contentsScale);
Expand Down
3 changes: 3 additions & 0 deletions src/declarative/items/qsgpainteditem.h
Expand Up @@ -75,6 +75,9 @@ class Q_DECLARATIVE_EXPORT QSGPaintedItem : public QSGItem
bool antialiasing() const;
void setAntialiasing(bool enable);

bool mipmap() const;
void setMipmap(bool enable);

QRectF contentsBoundingRect() const;

QSize contentsSize() const;
Expand Down
1 change: 1 addition & 0 deletions src/declarative/items/qsgpainteditem_p.h
Expand Up @@ -63,6 +63,7 @@ class QSGPaintedItemPrivate : public QSGItemPrivate
bool contentsDirty : 1;
bool opaquePainting: 1;
bool antialiasing: 1;
bool mipmap: 1;
};

QT_END_NAMESPACE
Expand Down

0 comments on commit b909a24

Please sign in to comment.