lima-city: Webhosting, Domains und Cloud
2 Pluspunkte 0 Minuspunkte

Wie kann ich mit GLFW ausgeben an welcher x/y Position sich die Maus gerade befindet?

#include <GLFW/glfw3.h>
#include <stdio.h>

int main()
{

    if (!glfwInit())
        return -1;

    GLFWwindow* window = glfwCreateWindow(800, 600, "Maus Beispiel", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    while (!glfwWindowShouldClose(window))
    {

        // printf("%d:%d", mouseX, mouseY);

        glfwPollEvents();

    }

    glfwTerminate();
    return 0;

}
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Mit der GLFW internen Funktion

glfwSetCursorPosCallback(window, callback);

kannst du einen eigenen Callback registrieren. Der wird dann automatisch jedes mal aufgerufen wenn sich die Maus bewegt und ruft die von dir registrierte Callback Funktion auf. Dabei übergibt sie jedes mal die x/y Koordinaten.

#include <GLFW/glfw3.h>
#include <stdio.h>

void mouse_callback(GLFWwindow* window, double xpos, double ypos)
{
    printf("Mausposition: (%f, %f)\n", xpos, ypos);
}

int main()
{

    if (!glfwInit())
        return -1;

    GLFWwindow* window = glfwCreateWindow(800, 600, "Maus Beispiel", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    // Setze den Maus-Callback
    glfwSetCursorPosCallback(window, mouse_callback);

    while (!glfwWindowShouldClose(window))
    {

        // Handle events
        glfwPollEvents();

    }

    glfwTerminate();
    return 0;

}
von (714 Punkte)  
GLFW Position von Mausklick anzeigen
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Beiträge bewerten
  • Inhalte bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft. Unser Ziel: Guter Inhalt. Für alle.

2.3k Fragen

2.8k Antworten

260 Kommentare

12 Nutzer