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.

The LÖVE coordinate system

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.
Text Drawable text. 0.10.0
Texture Superclass for drawable objects which represent a texture. 0.9.1
Video A drawable video. 0.10.0

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.discard Discards the contents of the screen or active Canvas. 0.10.0
love.graphics.draw Draws objects on screen.
love.graphics.drawq Draw a Quad with the specified Image on screen. 0.9.0
love.graphics.ellipse Draws an ellipse. 0.10.0
love.graphics.line Draws lines between points.
love.graphics.point Draws a point. 0.10.0
love.graphics.points Draws one or more points. 0.10.0
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.stencil Draws geometry as a stencil. 0.10.0
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.newText Creates a new drawable Text object. 0.10.0
love.graphics.newVideo Creates a new Video. 0.10.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. 0.9.0
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 0.10.0
love.graphics.getMaxPointSize Gets the max supported point size. 0.10.0
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. 0.10.0
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.getStencilTest Gets the current stencil test configuration. 0.10.0
love.graphics.getSupported Gets the optional graphics features and whether they're supported. 0.10.0
love.graphics.getSystemLimit Gets the system-dependent maximum value for a love.graphics feature. 0.9.1 0.10.0
love.graphics.getSystemLimits Gets the system-dependent maximum values for love.graphics features. 0.10.0
love.graphics.intersectScissor Sets the scissor to the rectangle created by the intersection of the specified rectangle with the existing scissor. 0.10.0
love.graphics.isActive Gets whether the graphics module is able to be used. 0.10.0
love.graphics.isGammaCorrect Gets whether gamma-correct rendering is enabled. 0.10.0
love.graphics.isSupported Checks for the support of graphics related functions. 0.8.0 0.10.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 0.10.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. 0.10.0
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 0.10.0
love.graphics.setStencilTest Configures or disables stencil testing. 0.10.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 window has been created. 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.
ArcType Different types of arcs that can be drawn. 0.10.1
BlendAlphaMode Different ways alpha affects color blending. 0.10.0
BlendMode Different ways to do color blending. 0.2.0
CanvasFormat Canvas texture formats. 0.9.0
ColorMode Controls how drawn images are affected by current color. 0.2.0 0.9.0
CompareMode Different types of stencil test comparisons. 0.10.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.getSupported. 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. 0.10.0
SpriteBatchUsage Usage hints for SpriteBatches and Meshes. 0.8.0
StackType Graphics state stack types used with love.graphics.push. 0.9.2
StencilAction How a stencil function modifies the stencil values of pixels it touches. 0.10.0
TextureFormat Controls the canvas texture format. 0.9.0 0.10.0
WrapMode How the image wraps inside a large Quad.

See Also

love.graphics.getDefaultFilter

love.graphics.getDefaultFilter Available since LÖVE 0.9.0 It has been renamed from

2017-03-21 15:47:05
love.graphics.getBackgroundColor

love.graphics.getBackgroundColor Gets the current background color. Function Synopsis

2017-03-21 15:46:57
love.graphics.push

love.graphics.push Copies and pushes the current coordinate transformation to the transformation stack. This function is always used to prepare for a corresponding

2017-03-21 15:48:00
love.graphics.isWireframe

love.graphics.isWireframe Available since LÖVE 0.9.1 This function is not supported in earlier versions. Gets whether wireframe mode is used

2017-03-21 15:47:33
love.graphics.getDimensions

love.graphics.getDimensions Available since LÖVE 0.9.0 This function is not supported in earlier versions. Gets the width and height in pixels

2017-03-21 15:47:07
love.graphics.newMesh

love.graphics.newMesh Available since LÖVE 0.9.0 This function is not supported in earlier versions. Creates a new

2017-03-21 15:47:42
love.graphics.newText

love.graphics.newText Available since LÖVE 0.10.0 This function is not supported in earlier versions. Creates a new drawable

2017-03-21 15:47:50
love.graphics.setNewFont

love.graphics.setNewFont Available since LÖVE 0.8.0 This function is not supported in earlier versions. Creates and sets a new

2017-03-21 15:48:21
love.graphics.draw

love.graphics.draw Draws a Drawable object (an

2017-03-21 15:46:54
love.graphics.setLineStipple

love.graphics.setLineStipple Removed in LÖVE 0.8.0 This function is not supported in that and later versions. Sets the line stipple pattern.

2017-03-21 15:48:18