* update documentation
* Fix typo
* Added some examples
* changed window names
* Minor fix
* Added mfb_update_events to all platforms. Checked on Windows, X11 and Wayland
* simplify CMake
* Upgrade to CMake 3.5, simplify script and generalize it
Now the users only have to add_directory and link_libraries(minifb) in CMake
* Renamed typo scrool by scroll
Added some checks
Removed some warnings
* working Windows, X11 and Wayland
* fix issue 32
Co-authored-by: Carlos Aragones <>
Co-authored-by: caragones <carlos.aragonesmartinez-external@gemalto.com>
* update documentation
* Fix typo
* Added some examples
* changed window names
* Minor fix
* Added mfb_update_events to all platforms. Checked on Windows, X11 and Wayland
* simplify CMake
* Upgrade to CMake 3.5, simplify script and generalize it
Now the users only have to add_directory and link_libraries(minifb) in CMake
* Renamed typo scrool by scroll
Added some checks
Removed some warnings
* fix issue 32
In Catalina, shader creation will fail because of the following issue:
```
Compilation succeeded with:
program_source:22:21: warning: writable resources in non-void vertex function
vertex VertexOutput vertFunc2(unsigned int vID[[vertex_id]], device Vertex *pos [[buffer(0)]])
^
program_source:22:77: note: writable buffer defined here
vertex VertexOutput vertFunc2(unsigned int vID[[vertex_id]], device Vertex *pos [[buffer(0)]])
^
```
Adding const to ensure the buffer is read-only.
* update documentation
* Fix typo
* Added some examples
* changed window names
* Minor fix
* Added mfb_update_events to all platforms. Checked on Windows, X11 and Wayland
* simplify CMake
* Upgrade to CMake 3.5, simplify script and generalize it
Now the users only have to add_directory and link_libraries(minifb) in CMake
* update documentation
* Fix typo
* Added some examples
* changed window names
* Minor fix
* Added mfb_update_events to all platforms. Checked on Windows, X11 and Wayland
* update documentation
* Fix typo
* Added some examples
* changed window names
* Minor fix
* renamed callback setters (added _set_)
Direct / Poll Mode for asking events:
bool mfb_is_window_active(struct Window *window);
unsigned mfb_get_window_width(struct Window *window);
unsigned mfb_get_window_height(struct Window *window);
int mfb_get_mouse_x(struct Window *window); // Last mouse pos X
int mfb_get_mouse_y(struct Window *window); // Last mouse pos Y
float mfb_get_mouse_scrool_x(struct Window *window); // Mouse wheel X as a sum. When you call this function it resets.
float mfb_get_mouse_scrool_y(struct Window *window); // Mouse wheel Y as a sum. When you call this function it resets.
const uint8_t * mfb_get_mouse_button_buffer(struct Window *window); // One byte for every button. Press (1), Release 0.
const uint8_t * mfb_get_key_buffer(struct Window *window); // One byte for every key. Press (1), Release 0.
* Minor fixes
* Fixes related to mouse poll
* Minor fix on Win64
* MacOSX with input events and mfb_set_viewport
* Windows with input events and mfb_set_viewport
* Minor changes in macosx and windows
* X11 with input and mfb_set_viewport
* Minor changes on X11
* Fix bug in X11 resize event
* Fix bug in windows resize
* added scale image to X11
* Added stretch_image with & without bilinear interpolation
* moved MiniFB_internal.h
* Added wayland events
* minor changes
* unify a bit the window structs
* More work on wayland
* Added cmake file
* minor fix on windows
* modified test
* Fix on wayland.
Unset wayland as default for linux
* Use stdbool instead of our own macro eBool
Remove prefix e from all enums
* Remove _ex sufix in common files
* merge X11MiniFB_ex.c into X11MiniFB.c
* Merge WaylandMiniFB_ex.c into WaylandMiniFB.c
* Add user_data to callbacks
* Merge WinMiniFB_ex.c into WinMiniFB.c
* Some minor changes on Windows
* Fix bug on Wayland
* Multiple Windows for MacOS X & Linux
* Multiple Windows for Windows
Refactor
* Refactor
* Added mfb_get_key_name
* remove some warnings
* Events per window working on MacOS & Linux (maybe Windows)
* Fix on Windows
* Added default key callback on macos & wayland
* Unify keyboard_default on all platforms
* keyboard_default on all platforms
* MacOSX with input events and mfb_set_viewport
* Windows with input events and mfb_set_viewport
* Minor changes in macosx and windows
* X11 with input and mfb_set_viewport
* Minor changes on X11
* Fix bug in X11 resize event
* Fix bug in windows resize
* added scale image to X11
* Added stretch_image with & without bilinear interpolation
* moved MiniFB_internal.h
* Added wayland events
* minor changes
* unify a bit the window structs
* More work on wayland
* Added cmake file
* minor fix on windows
* modified test
* Fix on wayland.
Unset wayland as default for linux
* Use stdbool instead of our own macro eBool
Remove prefix e from all enums
* Remove _ex sufix in common files
* merge X11MiniFB_ex.c into X11MiniFB.c
* Merge WaylandMiniFB_ex.c into WaylandMiniFB.c
* Add user_data to callbacks
* Merge WinMiniFB_ex.c into WinMiniFB.c
* Some minor changes on Windows
* Fix bug on Wayland
* Added mfb_get_key_name
* keyboard_default on all platforms
The API for NSWindow's creation has a contentRect parameter,
but it seems to be handled like a frameRect. So convert from
contentRect to frameRect first. Without this change the
top 20-ish lines of the image are under the title bar.
It wasn't detecting that the window was closed when I closed it by
clicking the red X button. As a result, the window would close, but
mfb_update() didn't return -1, so the program kept running.
This was fixed by listening to the willClose event and using it to set a
flag. I'm not sure if this is the best way to do it, I really know
nothing about OSX/Cocoa.
Also, I fixed a few unused varible warnings. And warnings related to
NSUInteger not matching the expected signature with NSWindowStyleMask.
* x11: need to return somethin from processEvents()
* Added wayland support
* Documented how to use wayland support
* wayland: re-attach the buffer to actually trigger an update
* wayland: use the seat_listener
bmiColors is a C style flexible array with a default value of 1, so the bmiColors[1] and bmiColors[2] were accessing memory out of bounds and causing very weird stuff to happen. Fixed by doing the appropriate flexible buffer allocation.