ink

User Guide

  • Quick Start
    • Installation
    • Hello ink
    • Frame Cycle
    • Text Rendering
  • Backend Selection
    • Available Backends
    • CPU Backend
    • OpenGL Backend
    • Metal Backend
    • Fallback Behavior
  • Multi-Layer Compositing
    • Basic Compositing
    • Transparent Layers
    • GPU Snapshots
  • Building ink
    • Requirements
    • Build Options
    • Common Build Configurations
    • Integration
    • Building Documentation

API Reference

  • Surface
    • ink::Surface
      • ~Surface()
      • beginFrame()
      • canvas()
      • endFrame()
      • flush()
      • getPixelData()
      • isGPU()
      • makeSnapshot()
      • peekPixels()
      • peekPixels()
      • resize()
      • setGlyphCache()
      • takeRecording()
      • MakeGpu()
      • MakeRaster()
      • MakeRasterDirect()
      • MakeRecording()
  • Canvas
    • ink::Canvas
      • Canvas()
      • clipRect()
      • drawImage()
      • drawLine()
      • drawPolyline()
      • drawText()
      • fillRect()
      • restore()
      • save()
      • strokeRect()
  • Image
    • ink::Image
      • StorageType
        • CpuPixmap
        • GpuTexture
      • backendTextureHandle()
      • format()
      • glTextureId()
      • height()
      • info()
      • isCpuBacked()
      • isGpuBacked()
      • pixels()
      • pixels32()
      • storageType()
      • stride()
      • uniqueId()
      • valid()
      • width()
      • MakeFromBackendTexture()
      • MakeFromGLTexture()
      • MakeFromPixmap()
      • MakeFromPixmapNoCopy()
  • Pixmap
    • ink::Pixmap
      • Pixmap()
      • Pixmap()
      • Pixmap()
      • ~Pixmap()
      • addr()
      • addr()
      • addr32()
      • addr32()
      • addr8()
      • addr8()
      • clear()
      • format()
      • height()
      • info()
      • operator=()
      • operator=()
      • reallocate()
      • reset()
      • rowAddr()
      • rowAddr()
      • stride()
      • valid()
      • width()
      • Alloc()
      • Wrap()
    • ink::PixmapInfo
      • bytesPerPixel()
      • computeByteSize()
      • format
      • height
      • stride
      • width
      • Make()
      • MakeBGRA()
      • MakeRGBA()
    • PixelFormat
      • RGBA8888
      • BGRA8888
  • Recording
    • ink::Recording
      • Recording()
      • accept()
      • arena()
      • dispatch()
      • getImage()
      • images()
      • ops()
    • ink::Recorder
      • clearClip()
      • drawImage()
      • drawLine()
      • drawPolyline()
      • drawText()
      • fillRect()
      • finish()
      • reset()
      • setClip()
      • strokeRect()
    • ink::DrawOpArena
      • DrawOpArena()
      • allocate()
      • getPoints()
      • getString()
      • reset()
      • storePoints()
      • storeString()
  • Gpu Context
    • ink::GpuContext
      • beginFrame()
      • endFrame()
      • execute()
      • resize()
      • makeSnapshot()
      • setGlyphCache()
      • readPixels()
      • textureId()
      • fboId()
      • ~GpuContext()
      • valid()
  • Glyph Cache
    • ink::GlyphCache
      • ~GlyphCache()
      • ascent()
      • atlasData()
      • atlasDirty()
      • atlasHeight()
      • atlasWidth()
      • drawText()
      • getGlyph()
      • init()
      • lineHeight()
      • markClean()
      • measureText()
      • release()
    • ink::GlyphMetrics
      • advance
      • u0
      • u1
      • v0
      • v1
      • x0
      • x1
      • y0
      • y1
  • Types
    • ink::Point
      • x
      • y
    • ink::Rect
      • h
      • w
      • x
      • y
    • ink::Color
      • a
      • b
      • g
      • r
ink
  • ink Documentation
  • View page source

ink Documentation

ink is a lightweight C++17 2D rendering library with pluggable backends (CPU software rasterization, OpenGL 3.3+, planned Vulkan).

User Guide

  • Quick Start
    • Installation
    • Hello ink
    • Frame Cycle
    • Text Rendering
  • Backend Selection
    • Available Backends
    • CPU Backend
    • OpenGL Backend
    • Metal Backend
    • Fallback Behavior
  • Multi-Layer Compositing
    • Basic Compositing
    • Transparent Layers
    • GPU Snapshots
  • Building ink
    • Requirements
    • Build Options
    • Common Build Configurations
    • Integration
    • Building Documentation

API Reference

  • Surface
    • ink::Surface
  • Canvas
    • ink::Canvas
  • Image
    • ink::Image
  • Pixmap
    • ink::Pixmap
    • ink::PixmapInfo
    • PixelFormat
  • Recording
    • ink::Recording
    • ink::Recorder
    • ink::DrawOpArena
  • Gpu Context
    • ink::GpuContext
  • Glyph Cache
    • ink::GlyphCache
    • ink::GlyphMetrics
  • Types
    • ink::Point
    • ink::Rect
    • ink::Color
Next

© Copyright 2024, ink contributors.

Built with Sphinx using a theme provided by Read the Docs.