# love.graphics.newQuad

Creates a new Quad.

| 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`
  The new 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, img:getDimensions())

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

    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

## See Also

- love.graphics
- Quad

##

Category:

- Functions