kit icon indicating copy to clipboard operation
kit copied to clipboard

mouse pressed/released does not work

Open RednibCoding opened this issue 1 year ago • 0 comments

kit_mouse_pressed does not reset after kit_step: The function remains true once set, even after subsequent kit_stepcalls. This behavior persists across frames/steps, which is unexpected as it should only return true during the step where the mouse button was actually pressed.

kit_mouse_released always returns false: This function fails to return true when the mouse button is released, regardless of the actual mouse actions performed.

How to reproduce:

#include <stdio.h>

#define KIT_IMPL
#include "kit.h"

int main(void)
{
    kit_Context *ctx = kit_create("Mouse Issue", 200, 200, KIT_SCALE2X);
    double dt;

    while (kit_step(ctx, &dt))
    {
        kit_clear(ctx, KIT_BLACK);

        if (kit_key_pressed(ctx, VK_ESCAPE))
            break;

        char isMouseLeftPressed[50];
        char isMouseLeftReleased[50];
        char isMouseLeftDown[50];
        sprintf(isMouseLeftPressed, kit_mouse_pressed(ctx, VK_LBUTTON) ? "mouse pressed: true" : "mouse pressed: false");
        sprintf(isMouseLeftReleased, kit_mouse_released(ctx, VK_LBUTTON) ? "mouse released: true" : "mouse released: false");
        sprintf(isMouseLeftDown, kit_mouse_down(ctx, VK_LBUTTON) ? "mouse down: true" : "mouse down: false");
        kit_draw_text(ctx, KIT_WHITE, isMouseLeftPressed, 10, 10);
        kit_draw_text(ctx, KIT_WHITE, isMouseLeftReleased, 10, 20);
        kit_draw_text(ctx, KIT_WHITE, isMouseLeftDown, 10, 30);
    }

    kit_destroy(ctx);
    return 0;
}

RednibCoding avatar Apr 18 '24 21:04 RednibCoding