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. Added since 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. Added since 0.7.0 Removed in 0.8.0
Image Drawable image type.
Mesh A 2D polygon mesh used for drawing arbitrary textured shapes. Added since 0.9.0
ParticleSystem Used to create cool effects, like fire.
PixelEffect Pixel shader effect. Added since 0.8.0 Removed in 0.9.0
Quad A quadrilateral with texture coordinate information.
Shader Shader effect. Added since 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. Added since 0.9.1

Functions

Drawing

love.graphics.arc Draws an arc. Added since 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. Removed in 0.9.0
love.graphics.line Draws lines between points.
love.graphics.point Draws a point.
love.graphics.polygon Draw a polygon. Added since 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. Removed in 0.9.0
love.graphics.rectangle Draws a rectangle. Added since 0.3.2
love.graphics.triangle Draws a triangle. Removed in 0.9.0

Object Creation

love.graphics.newCanvas Creates a new Canvas. Added since 0.8.0
love.graphics.newFont Creates a new Font.
love.graphics.newFramebuffer Creates a new Framebuffer. Added since 0.7.0 Removed in 0.8.0
love.graphics.newImage Creates a new Image.
love.graphics.newImageFont Creates a new Font by loading a specifically formatted image. Added since 0.2.0
love.graphics.newMesh Creates a new Mesh. Added since 0.9.0
love.graphics.newParticleSystem Creates a new ParticleSystem.
love.graphics.newPixelEffect Creates a new PixelEffect. Added since 0.8.0 Removed in 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. Added since 0.9.0
love.graphics.newSpriteBatch Creates a new SpriteBatch.
love.graphics.newStencil Creates a new stencil. Added since 0.8.0 Removed in 0.9.0
love.graphics.setNewFont Creates and sets a new Font. Added since 0.8.0

Graphics State

love.graphics.getBackgroundColor Gets the current background color.
love.graphics.getBlendMode Gets the blending mode. Added since 0.2.0
love.graphics.getCanvas Returns the current target Canvas. Added since 0.8.0
love.graphics.getCanvasFormats Gets the available Canvas formats, and whether each is supported. Added since 0.9.2
love.graphics.getColor Gets the current color.
love.graphics.getColorMask Gets the active color components used when drawing. Added since 0.9.0
love.graphics.getColorMode Gets the color mode (which controls how images are affected by the current color). Added since 0.2.0 Removed in 0.9.0
love.graphics.getCompressedImageFormats Gets the available compressed image formats, and whether each is supported. Added since 0.9.2
love.graphics.getDefaultFilter Returns the default scaling filters used with Images, Canvases, and Fonts. Added since 0.9.0
love.graphics.getDefaultImageFilter Returns the default scaling filters. Added since 0.8.0 Removed in 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. Removed in 0.8.0
love.graphics.getLineStyle Gets the line style. Added since 0.3.2
love.graphics.getLineWidth Gets the current line width. Added since 0.3.2
love.graphics.getMaxImageSize Gets the max supported width or height of Images and Canvases. Added since 0.9.0
love.graphics.getMaxPointSize Gets the max supported point size.
love.graphics.getPixelEffect Returns the current PixelEffect. Added since 0.8.0 Removed in 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. Added since 0.9.0
love.graphics.getScissor Gets the current scissor box. Added since 0.4.0
love.graphics.getShader Gets the current Shader. Added since 0.9.0
love.graphics.getStats Gets performance-related rendering statistics. Added since 0.9.2
love.graphics.getSystemLimit Gets the system-dependent maximum value for a love.graphics feature. Added since 0.9.1
love.graphics.isSupported Checks for the support of graphics related functions. Added since 0.8.0
love.graphics.isWireframe Gets whether wireframe mode is used when drawing. Added since 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. Added since 0.2.0
love.graphics.setCanvas Captures drawing operations to a Canvas Added since 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. Added since 0.9.0
love.graphics.setColorMode Sets the color mode (which controls how images are affected by the current color). Added since 0.2.0 Removed in 0.9.0
love.graphics.setDefaultFilter Sets the default scaling filters used with Images, Canvases, and Fonts. Added since 0.9.0
love.graphics.setDefaultImageFilter Sets the default scaling filters. Added since 0.8.0 Removed in 0.9.0
love.graphics.setFont Set an already-loaded Font as the current font.
love.graphics.setInvertedStencil Defines an inverted stencil. Added since 0.8.0
love.graphics.setLine Sets the line width and style. Removed in 0.9.0
love.graphics.setLineJoin Sets the line join style.
love.graphics.setLineStipple Sets the line stipple pattern. Removed in 0.8.0
love.graphics.setLineStyle Sets the line style. Added since 0.3.2
love.graphics.setLineWidth Sets the line width. Added since 0.3.2
love.graphics.setPixelEffect Routes drawing operations through a pixel shader. Added since 0.8.0 Removed in 0.9.0
love.graphics.setPoint Sets the point size and style. Removed in 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 Added since 0.7.0 Removed in 0.8.0
love.graphics.setScissor Sets or disables scissor. Added since 0.4.0
love.graphics.setShader Routes drawing operations through a shader. Added since 0.9.0
love.graphics.setStencil Defines or releases a stencil. Added since 0.8.0
love.graphics.setWireframe Sets whether wireframe lines will be used when drawing. Added since 0.9.1

Coordinate System

love.graphics.origin Resets the current coordinate transformation. Added since 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. Added since 0.8.0
love.graphics.translate Translates the coordinate system in two dimensions.

Window

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

Enums

AlignMode Text alignment.
BlendMode Different ways you do alpha blending. Added since 0.2.0
CanvasFormat Canvas texture formats. Added since 0.9.2
ColorMode Controls how drawn images are affected by current color. Added since 0.2.0 Removed in 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. Added since 0.8.0
GraphicsLimit Types of system-dependent graphics limits. Added since 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. Added since 0.9.0
PointStyle How points should be drawn.
SpriteBatchUsage Usage hints for SpriteBatches. Added since 0.8.0
StackType Graphics state stack types used with love.graphics.push. Added since 0.9.2
TextureFormat Controls the canvas texture format. Added since 0.9.0
WrapMode How the image wraps inside a large Quad.

See Also

Other Languages