Plutonium is a high-level, C++ graphical library with the aim of making UIs in a more user-firendly way.
It uses libnx and SDL2, so both libraries are required.
To be more exact, this libraries should be installed via pacman:
pacman -S switch-sdl2 switch-sdl2_ttf switch-sdl2_image switch-sdl2_gfx switch-sdl2_mixer switch-mesa switch-glad switch-glm switch-libdrm_nouveau switch-libwebp switch-libpng switch-freetype switch-bzip2 switch-libjpeg-turbo switch-opusfile switch-libopus
Internal structure and performance
Plutonium uses SDL2 for UI rendering.
Plutonium's performance is based on WPF's system. The user doesn't directly interact with the rendering, as it's done via a main rendering system and different objects to render.
Same way WPF does, you can create an UI by making a custom Application class inheriting from pu::Application class, or simply creating a variable and adding elements to it.
The main function to initialize the application is Show().
Check the examples for a basic usage of the libraries. In case you want to see a really powerful app which really shows what Plutonium is capable of, take a look at Goldleaf.
Check the documentation for a more detailed explanation of the library's usage.
Simple project layout
This is how a regular Plutonium project would (more or less) have its Makefile and project layout using Plutonium:
... LIBS := -lpu -lfreetype -lSDL2_mixer -lopusfile -lopus -lmodplug -lmpg123 -lvorbisidec -logg -lSDL2_ttf -lSDL2_gfx -lSDL2_image -lSDL2 -lEGL -lGLESv2 -lglapi -ldrm_nouveau -lwebp -lpng -ljpeg `sdl2-config --libs` `freetype-config --libs` -lnx LIBDIRS := $(PORTLIBS) $(LIBNX) $(CURDIR)/Plutonium ...
Project | |-- Makefile |-- source |-- include |-- Plutonium | |-- include |-- lib