Для крестов всё понятно, подключаешь Skia и спокойно кодишь. А если ограничен сями, как быть? По сути, можно запилить собственный велосипед. Тогда на офтопике всё просто, подключаешь Direct2D и спокойно кодишь. Но как быть с Ubuntu и Android? Через OpenGL что ли велосипедить вывод шрифтов? Или какие высокоуровневые либы есть?
UPD: Для Android нашел вот такую табличку https://stackoverflow.com/questions/22170228/native-graphics-in-android-ndk-opengles-vs-native-window-api
UPD: Пока оптимально Cairo. Под офтопик бекенд на Direct2D, под GTK и Android - OpenGL. Осталось разобраться с iOS и macOS. Возможно вот так https://github.com/jpbruyere/vkvg