diff --git a/docs/scripting-doc/index.d.ts b/docs/scripting-doc/index.d.ts index c6042e6fe5..be4a4c35ea 100644 --- a/docs/scripting-doc/index.d.ts +++ b/docs/scripting-doc/index.d.ts @@ -2473,6 +2473,16 @@ declare class Tile extends TiledObject { */ image: Image; + /** + * Returns the image of this tile, cropped to its {@link imageRect} + * to include only the visible portion of the image. + * + * This property is read-only. + * + * @since 1.11 + */ + displayImage: Image; + /** * The source rectangle (in pixels) for this tile. * diff --git a/src/tiled/editabletile.cpp b/src/tiled/editabletile.cpp index bce795092b..61756aa781 100644 --- a/src/tiled/editabletile.cpp +++ b/src/tiled/editabletile.cpp @@ -54,6 +54,12 @@ ScriptImage *EditableTile::image() const return new ScriptImage(tile()->image().toImage()); } +ScriptImage *EditableTile::displayImage() const +{ + QPixmap cropped = tile()->image().copy(tile()->imageRect()); + return new ScriptImage(cropped.toImage()); +} + EditableObjectGroup *EditableTile::objectGroup() const { if (!mAttachedObjectGroup) { diff --git a/src/tiled/editabletile.h b/src/tiled/editabletile.h index de58a2158e..31193e8f52 100644 --- a/src/tiled/editabletile.h +++ b/src/tiled/editabletile.h @@ -43,6 +43,7 @@ class EditableTile : public EditableObject Q_PROPERTY(QString type READ className WRITE setClassName) // compatibility with Tiled < 1.9 Q_PROPERTY(QString imageFileName READ imageFileName WRITE setImageFileName) Q_PROPERTY(Tiled::ScriptImage *image READ image WRITE setImage) + Q_PROPERTY(Tiled::ScriptImage *displayImage READ displayImage) Q_PROPERTY(QRect imageRect READ imageRect WRITE setImageRect) Q_PROPERTY(qreal probability READ probability WRITE setProbability) Q_PROPERTY(Tiled::EditableObjectGroup *objectGroup READ objectGroup WRITE setObjectGroup) @@ -78,6 +79,7 @@ class EditableTile : public EditableObject QSize size() const; QString imageFileName() const; ScriptImage *image() const; + ScriptImage *displayImage() const; QRect imageRect() const; qreal probability() const; EditableObjectGroup *objectGroup() const;