On GitHub, aseprite/skia has picked up 274 stars, C++. Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Skia is a 2D graphic library developed by Google Inc., you can find
the official website in skia.org.
This fork is used to compile Skia automatically for
laf and
Aseprite using GitHub Actions.
Building Skia
In the following sections you will find straightforward steps to
compile Skia. You can always check the official Skia
instructions and select the OS you are
building for. Aseprite and
laf use the aseprite-m124 branch.
So remember to checkout that specific branch.
These are the platform-specific steps to compile Skia:
Skia on Windows
Skia on macOS
Skia on Linux
After this you should have all Skia libraries compiled. After that,
when you compile laf or Aseprite remember to add
-DSKIA_DIR=$HOME/deps/skia parameter to your cmake call and all
other parameters.
Skia on Windows
Download
Google depot tools
and uncompress it in some place like C:\deps\depot_tools.
It's recommended to compile Skia with Clang
to get better performance. So you will need to download Clang,
and install it on a folder like C:\deps\llvm (a folder without whitespaces).
The command above is required while attempting to compile the 64-bit version of skia. When compiling the 32-bit version, it is possible to open a developer command prompt instead.
Then:
set PATH=C:\deps\depot_tools;%PATH%
cd C:\deps\depot_tools
gclient sync
(The gclient command might print an error like
Error: client not configured; see 'gclient config'.
Just ignore it.)
cd C:\deps
git clone -b aseprite-m124 https://github.com/aseprite/skia.git
cd skia
set GIT_EXECUTABLE=git.bat
python3 tools/git-sync-deps
python3 bin/fetch-ninja
(The tools/git-sync-deps will take some minutes because it downloads
a lot of packages, please wait and re-run the same command in case it
fails.)
Finally, if you've downloaded Clang, use this command:
If you haven't installed Clang, and want to compile Skia with MSVC
(anyway it's not recommended because the performance penalty is too
big), you can use the following commands instead:
These steps will create a deps folder in your home directory with a
couple of subdirectories needed to build Skia (you can change the
$HOME/deps with other directory). Some of these commands will take
several minutes to finish:
These steps will create a deps folder in your home directory with a
couple of subdirectories needed to build Skia (you can change the
$HOME/deps with other directory). Some of these commands will take
several minutes to finish:
is_trivial_abi: As we are mixing MSVC/Clang, the Windows
compilation needs the is_trivial_abi=false option as indicated
here,
in other case we can get an infinite loop SkOnce::operator()
-MT: We are creating a static-linked version of Skia library,
that's why we have the extra_cflags=["-MTd"] option, so we don't
need to distribute the MSVC C++ runtime DLLs.
-frtti: On macOS we've detected a strange bug
where linking object files compiled with -frtti and -fno-rtti
(the default Skia option) breaks the normal function of
std::exception hierarchy. That's why we're compiling with run-time
type information extra_cflags_cc=["-frtti"].
Yes — aseprite/skia ships under the BSD-3-Clause license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/aseprite/skia.
What is aseprite/skia?
aseprite/skia (aseprite/skia) is a C++ project on GitHub. From the project's own README: Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
Where do I read more about aseprite/skia?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/aseprite/skia is the definitive source.
Read full README in the tab above.
Still deciding about skia?
One click hands the question to an AI along with this page — see what it says about skia.