Az SMGUI alaprendszere hangolható néhány define-al az ui.h behúzása előtt.
WARN: Ezt mindig a modulok behúzása után szabad csak definiálni.
Akkor kell megadni, ha nemcsak a prototípusokra, de az implementációra is szükség van.
Anti-alias nélküli vonalat rajzol (kiiktatja a math.h és libm függőséget).
A várakozó események maximális száma. Ha nincs megadva, alapértelmezetten 16.
A látható felugrók maximális száma. Ha nincs megadva, alapértelmezetten 16.
Ha a kódból már meg lett hívva a glfwInit()
/ glfwTerminate()
, SDL_Init()
/ SDL_Quit()
stb., akkor használatos.
Erre akkor van szükség, ha az SMGUI-val több ablakot is akarunk kezelni egyszerre.
Ha nem akarod, hogy az ui_event()
érvényesítse a képet, hanem kódból magad hívod a glfwSwapBuffers()
/
SDL_RenderPresent()
/ stb. függvényeket. Erre akkor van szükség, ha az UI réteg fölé még rajzolni szeretnénk.
Függetlenül a GLFW3 motor is finomhangolható define-okkal, a ui_glfw.h behúzása előtt.
Alapból ez a motor OpenGL 3.3 core profile-os shaderekkel fordul, és egyaránt támogatja a glad
és glew
bővítménybetöltést.
A régi OpenGL API használata. Ez mindenhol működik és nem kell neki bővítménybetöltő se shader. A hátránya, hogy néhány videokártya meghajtóban bugos a visszafele kompatibilitás, emiatt nem lehet már saját shadert se használni, ha ez az opció engedélyezve lett.
Használjon shadereket, de csak OpenGL ES 2.0-t (mobil platform verzió). Csak régi mobilok támogatásához, a mai modern eszközök általában gond nélkül kezelik az OpenGL 3.3 core-t.
Akkor használatos, ha magunk akarjuk a GLFW3 visszacsatolásokat megadni. Ekkor a visszacsatolásokból meg kell hívni a motor visszacsatolásait is. Például:
/* visszacsatolás megadása a szokásos módon */
glfwSetMouseButtonCallback(ui_getwindow(ctx), my_glfw_mouse);
/* a visszacsatolásod */
void my_glfw_mouse(GLFWwindow *window, int button, int action, int mods)
{
/* tetszőlegesen értelmezhető */
/* ... */
/* a végén meg kell hívni az ui_glfw visszacsatolását is */
ui_glfw_mouse(window, button, action, mods);
}