mirror of
https://github.com/zserge/fenster.git
synced 2025-07-17 09:16:12 +03:00
input working
This commit is contained in:
@ -1,15 +1,25 @@
|
||||
CFLAGS ?= -Wall -Wextra -std=c99
|
||||
CFLAGS ?= -I../.. -Wall -Wextra -std=c99
|
||||
|
||||
# debug
|
||||
# CFLAGS += -g
|
||||
|
||||
ifeq ($(OS),Windows_NT)
|
||||
LDFLAGS = -lgdi32
|
||||
TARGET_EXT = .exe
|
||||
else
|
||||
UNAME_S := $(shell uname -s)
|
||||
ifeq ($(UNAME_S),Darwin)
|
||||
ifneq (,$(findstring emcc,$(CC)))
|
||||
LDFLAGS = -lm -sASYNCIFY=1 -sSTACK_SIZE=524288
|
||||
TARGET_EXT = .html
|
||||
else ifeq ($(UNAME_S),Darwin)
|
||||
LDFLAGS = -framework Cocoa
|
||||
else
|
||||
LDFLAGS = -lX11
|
||||
LDFLAGS = -lX11 -lasound -lm
|
||||
TARGET_EXT =
|
||||
endif
|
||||
endif
|
||||
|
||||
main: main.c ../../fenster.h
|
||||
$(CC) main.c -I../.. -o $@ $(CFLAGS) $(LDFLAGS)
|
||||
TARGET = main$(TARGET_EXT)
|
||||
|
||||
$(TARGET): main.c
|
||||
$(CC) $? -o $(TARGET) $(CFLAGS) $(LDFLAGS)
|
||||
|
@ -1,4 +1,8 @@
|
||||
#ifdef EMSCRIPTEN
|
||||
#include "fenster-emscripten.h"
|
||||
#else
|
||||
#include "fenster.h"
|
||||
#endif
|
||||
|
||||
#define W 320
|
||||
#define H 240
|
||||
|
@ -1,15 +1,25 @@
|
||||
CFLAGS ?= -Wall -Wextra -std=c99
|
||||
CFLAGS ?= -I../.. -Wall -Wextra -std=c99
|
||||
|
||||
# debug
|
||||
# CFLAGS += -g
|
||||
|
||||
ifeq ($(OS),Windows_NT)
|
||||
LDFLAGS = -lgdi32
|
||||
TARGET_EXT = .exe
|
||||
else
|
||||
UNAME_S := $(shell uname -s)
|
||||
ifeq ($(UNAME_S),Darwin)
|
||||
ifneq (,$(findstring emcc,$(CC)))
|
||||
LDFLAGS = -lm -sASYNCIFY=1 -sSTACK_SIZE=524288
|
||||
TARGET_EXT = .html
|
||||
else ifeq ($(UNAME_S),Darwin)
|
||||
LDFLAGS = -framework Cocoa
|
||||
else
|
||||
LDFLAGS = -lX11
|
||||
LDFLAGS = -lX11 -lasound -lm
|
||||
TARGET_EXT =
|
||||
endif
|
||||
endif
|
||||
|
||||
main: main.c ../../fenster.h
|
||||
$(CC) main.c -I../.. -o $@ $(CFLAGS) $(LDFLAGS)
|
||||
TARGET = main$(TARGET_EXT)
|
||||
|
||||
$(TARGET): main.c
|
||||
$(CC) $? -o $(TARGET) $(CFLAGS) $(LDFLAGS)
|
||||
|
@ -1,4 +1,8 @@
|
||||
#ifdef EMSCRIPTEN
|
||||
#include "fenster-emscripten.h"
|
||||
#else
|
||||
#include "fenster.h"
|
||||
#endif
|
||||
|
||||
#define W 320
|
||||
#define H 240
|
||||
|
@ -12,7 +12,7 @@ else
|
||||
LDFLAGS = -lm -sASYNCIFY=1 -sSTACK_SIZE=524288
|
||||
TARGET_EXT = .html
|
||||
else ifeq ($(UNAME_S),Darwin)
|
||||
LDFLAGS = -framework Cocoa -framework AudioToolbox
|
||||
LDFLAGS = -framework Cocoa
|
||||
else
|
||||
LDFLAGS = -lX11 -lasound -lm
|
||||
TARGET_EXT =
|
||||
|
@ -12,10 +12,10 @@ struct fenster { // byte 32bit
|
||||
const int height; // 8 2
|
||||
uint32_t *buf; // 12 3
|
||||
int keys[256]; // 16 4
|
||||
int mod; // 1040 257
|
||||
int x; // 1044 258
|
||||
int y; // 1048 259
|
||||
int mouse; // 1052 260
|
||||
int mod; // 1040 260
|
||||
int x; // 1044 261
|
||||
int y; // 1048 262
|
||||
int mouse; // 1052 263
|
||||
};
|
||||
|
||||
#define fenster_pixel(f, x, y) ((f)->buf[((y) * (f)->width) + (x)])
|
||||
@ -42,16 +42,16 @@ EM_JS(int, fenster_open, (struct fenster *f), {
|
||||
// TODO: handle mod
|
||||
|
||||
Module.canvas.addEventListener('mousemove', e => {
|
||||
Module.HEAP32[p32 + 258] = e.offsetX;
|
||||
Module.HEAP32[p32 + 259] = e.offsetY;
|
||||
Module.HEAP32[p32 + 261] = e.offsetX;
|
||||
Module.HEAP32[p32 + 262] = e.offsetY;
|
||||
});
|
||||
|
||||
Module.canvas.addEventListener('mousedown', e => {
|
||||
Module.HEAP32[p32 + 260] = e.which;
|
||||
Module.HEAP32[p32 + 263] = e.which;
|
||||
});
|
||||
|
||||
Module.canvas.addEventListener('mouseup', e => {
|
||||
Module.HEAP32[p32 + 260] = 0;
|
||||
Module.HEAP32[p32 + 263] = 0;
|
||||
});
|
||||
|
||||
Module.canvas.addEventListener('keydown', e => {
|
||||
|
Reference in New Issue
Block a user