# Difference between revisions of "love.graphics.newQuad"

 This function can be slow if it is called repeatedly, such as from love.update or love.draw. If you need to use a specific resource often, create it once and store it somewhere it can be reused!

## Function

### Synopsis

`quad = love.graphics.newQuad( x, y, width, height, sw, sh )`

### Arguments

`number x`
The top-left position along the x-axis.
`number y`
The top-left position along the y-axis.
`number width`
The width of the Quad. (Must be greater than 0.)
`number height`
The height of the Quad. (Must be greater than 0.)
`number sw`
The reference width, the width of the Image. (Must be greater than 0.)
`number sh`
The reference height, the height of the Image. (Must be greater than 0.)

### Returns

`Quad quad`

### Note

The purpose of a Quad is to describe the result of the following transformation on any drawable object. The object is first scaled to dimensions sw × sh. The Quad then describes the rectangular area of dimensions width × height whose upper left corner is at position (x, y) inside the scaled object.

## Examples

### Use a Quad to display part of an Image:

```img = love.graphics.newImage("mushroom-64x64.png")

-- Let's say we want to display only the top-left
-- 32x32 quadrant of the Image:
top_left = love.graphics.newQuad(0, 0, 32, 32, 64, 64)

-- And here is bottom left:
bottom_left = love.graphics.newQuad(0, 32, 32, 32, 64, 64)

function love.draw()
love.graphics.draw(img, top_left, 50, 50)
love.graphics.draw(img, bottom_left, 50, 200)
-- v0.8:
-- love.graphics.drawq(img, top_left, 50, 50)
-- love.graphics.drawq(img, bottom_left, 50, 200)
end```