skiav148
- Updated
Skia is an open source 2D graphics library which provides common APIs that work across a variety of hardware and software platforms.
It serves as the graphics engine for Google Chrome and Chrome OS, Android, Mozilla Firefox and Firefox OS, and many other products.
Skia is sponsored and managed by Google, but is available for use by anyone under the BSD Free Software License. While engineering of the core components is done by the Skia development team, we consider contributions from any source.
- Project website: https://skia.org
#Usage
skia provides CMake targets:
find_package(unofficial-skia CONFIG REQUIRED)
target_link_libraries(main PRIVATE unofficial::skia::skia)
# Similar for optional components, e.g. unofficial::skia::modules::skparagraph#Features
Default features: direct3d, dng, fontconfig, freetype, gl, harfbuzz, icu, jpeg, png, webp
#avif
AVIF support
Dependencies:
and 2 transitive dependencies:
- libjpeg-turbo (through libyuv)
- libyuv (through libavif)
Host Dependencies:
3 transitive dependencies:
- vcpkg-cmake (through libjpeg-turbo)
- vcpkg-cmake-config (through libjpeg-turbo)
- vcpkg-cmake-get-vars (through libyuv)
#dawn
dawn support for skia
Platforms: !android & !uwp
- ✅linux
- ✅osx
- ✅windows
- ❌
uwp
Dependencies:
and 8 transitive dependencies:
- directx-dxc (through dawn)
- egl-registry (through dawn)
- opengl-registry (through dawn)
- vulkan-headers (through dawn)
- vulkan-memory-allocator (through skia)
- vulkan-utility-libraries (through dawn)
zlib (through directx-dxc)
Platforms:
linux & !static
Host Dependencies:
3 transitive dependencies:
- vcpkg-cmake (through abseil)
- vcpkg-cmake-config (through abseil)
- vcpkg-get-python-packages (through dawn)
#direct3d
Direct3D support for skia
Platforms: windows
- ✅windows
- ❌
linux - ❌
osx - ❌
uwp
Dependencies:
No dependencies.
Host Dependencies:
No dependencies.
#dng
Support for DNG files
Platforms: !bsd
- ✅linux
- ✅osx
- ✅uwp
- ✅windows
Dependencies:
No dependencies.
Host Dependencies:
No dependencies.
#fontconfig
Fontconfig support
Dependencies:
- fontconfig
skia
Features:
freetype
and 8 transitive dependencies:
- dirent (through fontconfig)
dlfcn-win32 (through skia)
Platforms:
windows- expat (through fontconfig)
freetype (through fontconfig)
Features: (none)
- libiconv (through fontconfig)
libuuid (through fontconfig)
Platforms:
!osx & !windowspthread (through fontconfig)
Platforms:
!emscripten & !windows- pthreads (through pthread)
Host Dependencies:
6 transitive dependencies:
- gperf (through fontconfig)
- vcpkg-cmake (through expat)
- vcpkg-cmake-config (through expat)
- vcpkg-cmake-get-vars (through vcpkg-make)
- vcpkg-make (through gperf)
- vcpkg-tool-meson (through fontconfig)
#freetype
Freetype support
Host Dependencies:
2 transitive dependencies:
- vcpkg-cmake (through dlfcn-win32)
- vcpkg-cmake-config (through dlfcn-win32)
#gl
OpenGL support for skia
Platforms: !(windows & arm) & !uwp
- ✅linux
- ✅osx
- ✅windows-x64
- ✅windows-x86
- ❌
uwp - ❌
windows-arm64
Host Dependencies:
No dependencies.
#graphite
Graphite support
Dependencies:
skia
Features:
vulkan
and 2 transitive dependencies:
- vulkan-headers (through skia)
- vulkan-memory-allocator (through skia)
Host Dependencies:
2 transitive dependencies:
- vcpkg-cmake (through vulkan-headers)
- vcpkg-cmake-config (through vulkan-headers)
#harfbuzz
Harfbuzz support
Dependencies:
Host Dependencies:
4 transitive dependencies:
- vcpkg-cmake (through vcpkg-cmake-get-vars)
- vcpkg-cmake-get-vars (through vcpkg-tool-meson)
- vcpkg-make (through icu)
- vcpkg-tool-meson (through harfbuzz)
#icu
Use icu.
Host Dependencies:
3 transitive dependencies:
- vcpkg-cmake (through vcpkg-cmake-get-vars)
- vcpkg-cmake-get-vars (through icu)
- vcpkg-make (through icu)
#jpegdefault
Jpeg support
Host Dependencies:
2 transitive dependencies:
- vcpkg-cmake (through libjpeg-turbo)
- vcpkg-cmake-config (through libjpeg-turbo)
#metal
Metal support for skia
Platforms: ios, osx
- ✅osx
- ❌
linux - ❌
uwp - ❌
windows
Dependencies:
No dependencies.
Host Dependencies:
No dependencies.
#pngdefault
PNG support
Host Dependencies:
3 transitive dependencies:
- vcpkg-cmake (through libpng)
- vcpkg-cmake-config (through libpng)
vcpkg-cmake-get-vars (through libpng)
Platforms:
arm & android
#vulkan
Vulkan support for skia
Host Dependencies:
2 transitive dependencies:
- vcpkg-cmake (through vulkan-headers)
- vcpkg-cmake-config (through vulkan-headers)
#webpdefault
WebP support
Host Dependencies:
2 transitive dependencies:
- vcpkg-cmake (through libwebp)
- vcpkg-cmake-config (through libwebp)
#Dependencies
and 2 transitive dependencies:
- egl-registry (through opengl-registry)
- opengl-registry (through opengl)
#Host Dependencies
and 3 transitive dependencies:
- pkgconf (through vcpkg-pkgconfig-get-modules)
- vcpkg-cmake (through abseil)
- vcpkg-tool-meson (through pkgconf)
#Used By
- msdfgen (feature
geometry-preprocessing) - skia (feature
dawn) - skia (feature
fontconfig) - skia (feature
graphite) - skia (feature
harfbuzz)
#Host Tool For
No ports use this.
#Contributors
nicole mazzuca
Lily
Martin Vejdarski
NancyLi1013
Billy O'Neal
autoantwort
Benjamin Oldenburg
Kai Pastor
Viktor Chlumský
Lily Wang
Weihang Ding
reito
Frank
Clemens Wasser
Cheney Wang
Alexandre Bique
gerard-ryan-immersaview
ComputerKing12
Andrew Kaster
Dirk Farin
Nick Logozzo
R3dByt3
CQ_Undefine
ayeteadoe
Leia