# love.graphics

The primary responsibility for the love.graphics module is the drawing of lines, shapes, text, Images and other Drawable objects onto the screen. Its secondary responsibilities include loading external files (including Images and Fonts) into memory, creating specialized objects (such as ParticleSystems or Canvases) and managing screen geometry.

LÖVE's coordinate system is rooted in the upper-left corner of the screen, which is at location (0, 0). The x axis is horizontal: larger values are further to the right. The y axis is vertical: larger values are further towards the bottom.

In many cases, you draw images or shapes in terms of their upper-left corner (See the picture above).

Many of the functions are used to manipulate the graphics coordinate system, which is essentially the way coordinates are mapped to the display. You can change the position, scale, and even rotation in this way.

## Types

Canvas | Off-screen render target. | 0.8.0 |
Drawable | Superclass for all things that can be drawn on screen. |  |
Font | Defines the shape of characters than can be drawn onto the screen. |  |
Framebuffer | Off-screen render target. | 0.7.0 | 0.8.0
Image | Drawable image type. |  |
Mesh | A 2D polygon mesh used for drawing arbitrary textured shapes. | 0.9.0 |
ParticleSystem | Used to create cool effects, like fire. |  |
PixelEffect | Pixel shader effect. | 0.8.0 | 0.9.0
Quad | A quadrilateral with texture coordinate information. |  |
Shader | Shader effect. | 0.9.0 |
SpriteBatch | Store image positions in a buffer, and draw it in one call. |  |
Texture | Superclass for drawable objects which represent a texture. | 0.9.1 |

## Functions

### Drawing

love.graphics.arc | Draws an arc. | 0.8.0 |
love.graphics.circle | Draws a circle. |  |
love.graphics.clear | Clears the screen to background color. |  |
love.graphics.draw | Draws objects on screen. |  |
love.graphics.drawq | Draw a Quad with the specified Image on screen. |  | 0.9.0
love.graphics.line | Draws lines between points. |  |
love.graphics.point | Draws a point. |  |
love.graphics.polygon | Draw a polygon. | 0.4.0 |
love.graphics.present | Displays the results of drawing operations on the screen. |  |
love.graphics.print | Draws text on screen. If no Font is set, one will be created and set (once) if needed. |  |
love.graphics.printf | Draws formatted text, with word wrap and alignment. |  |
love.graphics.quad | Draws a quadrilateral shape. |  | 0.9.0
love.graphics.rectangle | Draws a rectangle. | 0.3.2 |
love.graphics.triangle | Draws a triangle. |  | 0.9.0

### Object Creation

love.graphics.newCanvas | Creates a new Canvas. | 0.8.0 |
love.graphics.newFont | Creates a new Font. |  |
love.graphics.newFramebuffer | Creates a new Framebuffer. | 0.7.0 | 0.8.0
love.graphics.newImage | Creates a new Image. |  |
love.graphics.newImageFont | Creates a new Font by loading a specifically formatted image. | 0.2.0 |
love.graphics.newMesh | Creates a new Mesh. | 0.9.0 |
love.graphics.newParticleSystem | Creates a new ParticleSystem. |  |
love.graphics.newPixelEffect | Creates a new PixelEffect. | 0.8.0 | 0.9.0
love.graphics.newQuad | Creates a new Quad. |  |
love.graphics.newScreenshot | Creates a screenshot and returns the ImageData. |  |
love.graphics.newShader | Creates a new Shader. | 0.9.0 |
love.graphics.newSpriteBatch | Creates a new SpriteBatch. |  |
love.graphics.newStencil | Creates a new stencil. | 0.8.0 | 0.9.0
love.graphics.setNewFont | Creates and sets a new Font. | 0.8.0 |

### Graphics State

love.graphics.getBackgroundColor | Gets the current background color. |  |
love.graphics.getBlendMode | Gets the blending mode. | 0.2.0 |
love.graphics.getCanvas | Returns the current target Canvas. | 0.8.0 |
love.graphics.getCanvasFormats | Gets the available Canvas formats, and whether each is supported. | 0.9.2 |
love.graphics.getColor | Gets the current color. |  |
love.graphics.getColorMask | Gets the active color components used when drawing. | 0.9.0 |
love.graphics.getColorMode | Gets the color mode (which controls how images are affected by the current color). | 0.2.0 | 0.9.0
love.graphics.getCompressedImageFormats | Gets the available compressed image formats, and whether each is supported. | 0.9.2 |
love.graphics.getDefaultFilter | Returns the default scaling filters used with Images, Canvases, and Fonts. | 0.9.0 |
love.graphics.getDefaultImageFilter | Returns the default scaling filters. | 0.8.0 | 0.9.0
love.graphics.getFont | Gets the current Font object. |  |
love.graphics.getLineJoin | Gets the line join style. |  |
love.graphics.getLineStipple | Gets the current line stipple. |  | 0.8.0
love.graphics.getLineStyle | Gets the line style. | 0.3.2 |
love.graphics.getLineWidth | Gets the current line width. | 0.3.2 |
love.graphics.getMaxImageSize | Gets the max supported width or height of Images and Canvases. | 0.9.0 |
love.graphics.getMaxPointSize | Gets the max supported point size. |  |
love.graphics.getPixelEffect | Returns the current PixelEffect. | 0.8.0 | 0.9.0
love.graphics.getPointSize | Gets the point size. |  |
love.graphics.getPointStyle | Gets the current point style. |  |
love.graphics.getRendererInfo | Gets information about the system's video card and drivers. | 0.9.0 |
love.graphics.getScissor | Gets the current scissor box. | 0.4.0 |
love.graphics.getShader | Gets the current Shader. | 0.9.0 |
love.graphics.getStats | Gets performance-related rendering statistics. | 0.9.2 |
love.graphics.getSystemLimit | Gets the system-dependent maximum value for a love.graphics feature. | 0.9.1 |
love.graphics.isSupported | Checks for the support of graphics related functions. | 0.8.0 |
love.graphics.isWireframe | Gets whether wireframe mode is used when drawing. | 0.9.1 |
love.graphics.reset | Resets the current graphics settings. |  |
love.graphics.setBackgroundColor | Sets the background color. |  |
love.graphics.setBlendMode | Sets the blending mode. | 0.2.0 |
love.graphics.setCanvas | Captures drawing operations to a Canvas | 0.8.0 |
love.graphics.setColor | Sets the color used for drawing. |  |
love.graphics.setColorMask | Sets the color mask. Enables or disables specific color components when rendering. | 0.9.0 |
love.graphics.setColorMode | Sets the color mode (which controls how images are affected by the current color). | 0.2.0 | 0.9.0
love.graphics.setDefaultFilter | Sets the default scaling filters used with Images, Canvases, and Fonts. | 0.9.0 |
love.graphics.setDefaultImageFilter | Sets the default scaling filters. | 0.8.0 | 0.9.0
love.graphics.setFont | Set an already-loaded Font as the current font. |  |
love.graphics.setInvertedStencil | Defines an inverted stencil. | 0.8.0 |
love.graphics.setLine | Sets the line width and style. |  | 0.9.0
love.graphics.setLineJoin | Sets the line join style. |  |
love.graphics.setLineStipple | Sets the line stipple pattern. |  | 0.8.0
love.graphics.setLineStyle | Sets the line style. | 0.3.2 |
love.graphics.setLineWidth | Sets the line width. | 0.3.2 |
love.graphics.setPixelEffect | Routes drawing operations through a pixel shader. | 0.8.0 | 0.9.0
love.graphics.setPoint | Sets the point size and style. |  | 0.9.0
love.graphics.setPointSize | Sets the point size. |  |
love.graphics.setPointStyle | Sets the point style. |  |
love.graphics.setRenderTarget | Captures drawing operations to a Framebuffer | 0.7.0 | 0.8.0
love.graphics.setScissor | Sets or disables scissor. | 0.4.0 |
love.graphics.setShader | Routes drawing operations through a shader. | 0.9.0 |
love.graphics.setStencil | Defines or releases a stencil. | 0.8.0 |
love.graphics.setWireframe | Sets whether wireframe lines will be used when drawing. | 0.9.1 |

### Coordinate System

love.graphics.origin | Resets the current coordinate transformation. | 0.9.0 |
love.graphics.pop | Pops the current coordinate transformation from the transformation stack. |  |
love.graphics.push | Copies and pushes the current coordinate transformation to the transformation stack. |  |
love.graphics.rotate | Rotates the coordinate system in two dimensions. |  |
love.graphics.scale | Scales the coordinate system in two dimensions. |  |
love.graphics.shear | Shears the coordinate system. | 0.8.0 |
love.graphics.translate | Translates the coordinate system in two dimensions. |  |

### Window

love.graphics.checkMode | Checks if a display mode is supported. |  | 0.9.0
love.graphics.getCaption | Gets the window caption. |  | 0.9.0
love.graphics.getDimensions | Gets the width and height of the window. | 0.9.0 |
love.graphics.getHeight | Gets the height in pixels of the window. | 0.2.1 |
love.graphics.getMode | Returns the current display mode. | 0.8.0 | 0.9.0
love.graphics.getModes | Gets a list of supported fullscreen modes. |  | 0.9.0
love.graphics.getWidth | Gets the width in pixels of the window. | 0.2.1 |
love.graphics.hasFocus | Checks if the game window has keyboard focus. | 0.8.0 | 0.9.0
love.graphics.isCreated | Checks if the display has been set. |  | 0.9.0
love.graphics.setCaption | Sets the window caption. |  | 0.9.0
love.graphics.setIcon | Set window icon. | 0.7.0 | 0.9.0
love.graphics.setMode | Changes the display mode. |  | 0.9.0
love.graphics.toggleFullscreen | Toggles fullscreen. |  | 0.9.0

## Enums

AlignMode | Text alignment. |  |
BlendMode | Different ways you do alpha blending. | 0.2.0 |
CanvasFormat | Canvas texture formats. | 0.9.2 |
ColorMode | Controls how drawn images are affected by current color. | 0.2.0 | 0.9.0
DrawMode | Controls whether shapes are drawn as an outline, or filled. |  |
FilterMode | How the image is filtered when scaling. |  |
GraphicsFeature | Graphics features that can be checked for with love.graphics.isSupported. | 0.8.0 |
GraphicsLimit | Types of system-dependent graphics limits. | 0.9.1 |
LineJoin | Line join style. |  |
LineStyle | The styles in which lines are drawn. |  |
MeshDrawMode | How a Mesh's vertices are used when drawing. | 0.9.0 |
PointStyle | How points should be drawn. |  |
SpriteBatchUsage | Usage hints for SpriteBatches. | 0.8.0 |
StackType | Graphics state stack types used with love.graphics.push. | 0.9.2 |
TextureFormat | Controls the canvas texture format. | 0.9.0 |
WrapMode | How the image wraps inside a large Quad. |  |

## See Also

- love

##

Category:

- Modules