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. | ||
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. |