diff options
Diffstat (limited to 'test/pugl_test.c')
-rw-r--r-- | test/pugl_test.c | 126 |
1 files changed, 2 insertions, 124 deletions
diff --git a/test/pugl_test.c b/test/pugl_test.c index 866e3c2..fdf78c1 100644 --- a/test/pugl_test.c +++ b/test/pugl_test.c @@ -20,6 +20,8 @@ #define GL_SILENCE_DEPRECATION 1 +#include "test_utils.h" + #include "pugl/gl.h" #include "pugl/pugl.h" @@ -39,72 +41,6 @@ static float lastDrawTime = 0.0; static unsigned framesDrawn = 0; static bool mouseEntered = false; -static const float cubeVertices[] = { - -1.0f, -1.0f, -1.0f, - -1.0f, -1.0f, 1.0f, - -1.0f, 1.0f, 1.0f, - - 1.0f, 1.0f, -1.0f, - -1.0f, -1.0f, -1.0f, - -1.0f, 1.0f, -1.0f, - - 1.0f, -1.0f, 1.0f, - -1.0f, -1.0f, -1.0f, - 1.0f, -1.0f, -1.0f, - - 1.0f, 1.0f, -1.0f, - 1.0f, -1.0f, -1.0f, - -1.0f, -1.0f, -1.0f, - - -1.0f, -1.0f, -1.0f, - -1.0f, 1.0f, 1.0f, - -1.0f, 1.0f, -1.0f, - - 1.0f, -1.0f, 1.0f, - -1.0f, -1.0f, 1.0f, - -1.0f, -1.0f, -1.0f, - - -1.0f, 1.0f, 1.0f, - -1.0f, -1.0f, 1.0f, - 1.0f, -1.0f, 1.0f, - - 1.0f, 1.0f, 1.0f, - 1.0f, -1.0f, -1.0f, - 1.0f, 1.0f, -1.0f, - - 1.0f, -1.0f, -1.0f, - 1.0f, 1.0f, 1.0f, - 1.0f, -1.0f, 1.0f, - - 1.0f, 1.0f, 1.0f, - 1.0f, 1.0f, -1.0f, - -1.0f, 1.0f, -1.0f, - - 1.0f, 1.0f, 1.0f, - -1.0f, 1.0f, -1.0f, - -1.0f, 1.0f, 1.0f, - - 1.0f, 1.0f, 1.0f, - -1.0f, 1.0f, 1.0f, - 1.0f, -1.0f, 1.0f -}; - -/** Calculate a projection matrix for a given perspective. */ -static void -perspective(float* m, float fov, float aspect, float zNear, float zFar) -{ - const float h = tanf(fov); - const float w = h / aspect; - const float depth = zNear - zFar; - const float q = (zFar + zNear) / depth; - const float qn = 2 * zFar * zNear / depth; - - m[0] = w; m[1] = 0; m[2] = 0; m[3] = 0; - m[4] = 0; m[5] = h; m[6] = 0; m[7] = 0; - m[8] = 0; m[9] = 0; m[10] = q; m[11] = -1; - m[12] = 0; m[13] = 0; m[14] = qn; m[15] = 0; -} - static void onReshape(PuglView* view, int width, int height) { @@ -151,64 +87,6 @@ onDisplay(PuglView* view) ++framesDrawn; } -static int -printModifiers(const uint32_t mods) -{ - return fprintf(stderr, "Modifiers:%s%s%s%s\n", - (mods & PUGL_MOD_SHIFT) ? " Shift" : "", - (mods & PUGL_MOD_CTRL) ? " Ctrl" : "", - (mods & PUGL_MOD_ALT) ? " Alt" : "", - (mods & PUGL_MOD_SUPER) ? " Super" : ""); -} - -static int -printEvent(const PuglEvent* event, const char* prefix) -{ - switch (event->type) { - case PUGL_KEY_PRESS: - return fprintf(stderr, "%sKey %u (char U+%04X special U+%04X) press (%s)%s\n", - prefix, - event->key.keycode, event->key.character, event->key.special, - event->key.utf8, event->key.filter ? " (filtered)" : ""); - - case PUGL_KEY_RELEASE: - return fprintf(stderr, "%sKey %u (char U+%04X special U+%04X) release (%s)%s\n", - prefix, - event->key.keycode, event->key.character, event->key.special, - event->key.utf8, event->key.filter ? " (filtered)" : ""); - case PUGL_BUTTON_PRESS: - case PUGL_BUTTON_RELEASE: - return (fprintf(stderr, "%sMouse %d %s at %f,%f ", - prefix, - event->button.button, - (event->type == PUGL_BUTTON_PRESS) ? "down" : "up", - event->button.x, - event->button.y) + - printModifiers(event->scroll.state)); - case PUGL_SCROLL: - return (fprintf(stderr, "%sScroll %f %f %f %f ", - prefix, - event->scroll.x, event->scroll.y, - event->scroll.dx, event->scroll.dy) + - printModifiers(event->scroll.state)); - case PUGL_ENTER_NOTIFY: - return fprintf(stderr, "%sMouse enter at %f,%f\n", - prefix, event->crossing.x, event->crossing.y); - case PUGL_LEAVE_NOTIFY: - return fprintf(stderr, "%sMouse leave at %f,%f\n", - prefix, event->crossing.x, event->crossing.y); - case PUGL_FOCUS_IN: - return fprintf(stderr, "%sFocus in%s\n", - prefix, event->focus.grab ? " (grab)" : ""); - case PUGL_FOCUS_OUT: - return fprintf(stderr, "%sFocus out%s\n", - prefix, event->focus.grab ? " (ungrab)" : ""); - default: break; - } - - return 0; -} - static void onEvent(PuglView* view, const PuglEvent* event) { |