RGFW 1.8.1
After nearly 7 months in development and testing, I'm finally excited to announce the latest release. (Note, this includes a quick patch which fixes failed release time workflows, freeBSD support and ensures the version name in the header is correct)
My goal with this release is to establish RGFW as more than just a GLFW alternative. RGFW is a windowing framework. This means some features found in GLFW fall outside its scope, and conversely, RGFW provides capabilities GLFW does not.
I also took inspiration from aspects of SDL’s user level API design that I found particularly well thought out.
Breaking Changes
- state checking functions renamed
RGFW_isPressed->RGFW_keyPressed - RGFW_isKeyPressed / RGFW_isKeyReleased only checks if the key is pressed in that frame, is
RGFW_isKeyDownif you want to know the current state. - removed
RGFW_wasMousePressed(RGFW_isMouseReleased/RGFW_isMouseDownshould be used now) - removed
RGFW_wasPressed(RGFW_isKeyReleased/RGFW_isKeyDownshould be used now) - removed
RGFW_isClicked(RGFW_isKeyReleasedshould be used now) - removed
RGFW_sleep - removed
RGFW_checkFPS - removed
RGFW_windowFreeOnClose - remove RGFW _ shape types and replace them with raw
i32 - Don't define
RGFW_OPENGLby default and theRGFW_windowOpenGLflag is required to create a window with OpenGL - rename
RGFW_KP_[Key]keys toRGFW_kp[Key] - rename
RGFW_MultiplytoRGFW_kpMultiply - remove RGFW_windowOpenglSoftware
- RGFW_errOpenglContext -> RGFW_errOpenGLContext
- switch to union of event structs of events
- use userside event structure for checking for events rather than one in
RGFW_window - use dynamic
RGFW_surfacefor software rendering rather thanwin->buffer - remove RGFW_sleep
- remove RGFW_checkFPS
- remove swapBuffers, keep swapBuffers_OpenGL
- remove getTime/setTime
- rename
RGFW_dndtoRGFW_drop - rename
RGFW_dndInittoRGFW_drag - rename
RGFW_window_initOpenGL/RGFW_window_freeOpenGLtoRGFW_window_createContext_OpenGL/RGFW_window_deleteContext_OpenGL - rename
RGFW_getCurrent->RGFW_window_getCurrentWindow_OpenGL/RGFW_window_getCurrentWindow_EGL - rename
RGFW_window_makeCurrent->RGFW_window_makeCurrentWindow_OpenGL/RGFW_window_makeCurrentWindow_EGL - rename
RGFW_window_makeCurrent_OpenGL/RGFW_window_makeCurrent_EGL->RGFW_window_makeCurrentContext_OpenGL/RGFW_window_makeCurrentContext_EGL - rename DirectX functions to _DirectX
RGFW_window_createSwapChain_DirectX - rename Vulkan functions to _Vulkan eg.
RGFW_window_createSurface_Vulkan - rename
RGFW_window_eventWaittoRGFW_waitForEvent - rename
RGFW_window_checkEventpolls the usesRGFW_window_pollEventsand then uses the event queue to get an event - replace
RGFW_window_checkEventswithRGFW_window_pollEvents - change typedef void (* RGFW_keyfunc)(RGFW_window* win, u8 key, u8 keyChar, RGFW_keymod keyMod, RGFW_bool pressed); to typedef void (* RGFW_keyfunc)(RGFW_window* win, u8 key, u8 keyChar, RGFW_keymod keyMod, RGFW_bool repeat, RGFW_bool pressed);
- rework OpenGL format attrib array creation to use a struct
- make it so
gl.hisn't included in RGFW, meaning you have to include it on your own - rename
RGFW_window_mouseHold->RGFW_window_holdMouse,RGFW_window_mouseUnhold->RGFW_window_unholdMouse - rename
RGFW_getGlobalMousePoint-> RGFW_getMousePoint` - rename
RGFW_window_mouseHidden-> `RGFW_window_isMouseHidden - remove
RGFW_windowNoInitAPIwithRGFW_windowOpenGLandRGFW_windowEGLto create an OpenGL or EGL window respectively. - remove
RGFW_windowOpenGLSoftwarein favor of an opengl context flag - cut
RGFW_getScreenSizein favor of fetching the window or primary monitor - replace
RGFW_setHint/RGFW_glHintwith single structRGFW_glHintsused increateContext` EGL/OpenGL functions - rename examples to be more clear
- rename
drag.droppedFilestodrag.filesanddrag.droppedFilesCounttodrag.count - rename+change behavior for keyboard and mouse events (pressed, released, down)
- remove
RGFW_windowCocoaCHDirToResflag in favor ofRGFW_moveToMacOSResourceDirfunction - remove internal OS Mesa support
- remove RGFW_BUFFER/window.buffer and add
RGFW_window_initBufferPtr,RGFW_window_copyBufferandRGFW_window_freeBuffer - cut gamepad support and add
minigamepad.hto the gamepad example - add
RGFW_window_isKey[X]andRGFW_windowIsMouse[X], and remove theRGFW_windowargument from the original functions - add
RGFW_windowUseEGLflag for choosing to use EGL - make sure ALL OpenGL functions have _OpenGL at the end of them
Major Changes
- fix support for C++, Objective-C/C++, Zig
- Allow the
RGFW_windowandRGFW_infostructs to be obfuscated - add functions for interacting with the
RGFW_windowstruct functionality - add win->exitKey to control which key is checked by
RGFW_window_shouldClose - fix OSX deprecations
- redesign RGFW state functions and add more state checking functions
- replace the CVDisplayLink fallback with IOKit (macOS 15.4 deprecation)
- move
RGFW_createWindowPtrandRGFW_freeWindowPtrto the global API so that way behavior is properly standardized - move keyboard map into private api as a global (helpful for a public API c89 and bindings)
- implement more missing features from the wayland backend (@uni-dos)
- add internal API section in header
- add
RGFW_gfxContextTypeandRGFW_window_src.gfxTypeto identify what type of context we're using and if the context was allocated by RGFW.
New Features:
- add
RGFW_window_getEnabledEvents,RGFW_window_setDisabledEventsandRGFW_window_setDisabledEvents - add RGFW_extensionSupported
- add
RGFW_enter,RGFW_printScreen,RGFW_F13-RGFW_F25,RGFW_kpEqual,RGFW_menu,RGFW_world1,RGFW_world2andRGFW_pausekeycodes - make in header documentation better and more descriptive
RGFW_EGLcan be used along side nativeRGFW_OPENGL- add RGFW_window_isHoldingMouse
- add support for native GLES support (GLX, WGL)
- added documentation for each RGFW_glHints value including their default values.
- new function: RGFW_getGLHint.
- make event queue use a circular buffer (@kjohns19)
Bug Fixes:
- add
RGFW_setGlobalHints_OpenGLandRGFW_getGlobalHints_OpenGL - add
RGFW_resetGlobalHints_OpenGL - fix set max/min window size (X11)
- make sure mouse is regrabbed on refocus
- try to fix black flashing issue, zero out XSetWindowAttributes object
- fix msvc warnings (wchar, explicitly request an "A" function)
- fix XRandr memory leak
- remove WS_THICKFRAME flag (winapi)
- fix wayland missing destructors
- fix usage of libc functions without RGFW_macro
- fix wayland compile errors
- fix ARM errors on Windows
- fix wayland object leaks
- fixed a bug with RGFW_BUFFER_ALLOC in the MacOS version of RGFW_window_initBufferPtr.
- fixed a bug in 'RGFW_window_initBufferSize'.
- fixed a bug in RGFW_GL_HINTS with how the RGFW_glStencil and RGFW_glSamples values were zero instead of their default RGFW values.
- fixed indenting in RGFW_initFormatAttribs.
- fix drag and drop and image copy bug
- fix inconsistent mouse function naming
- fix EGL and OpenGL extension checking
- fix OpenGL mismatches
- all bug fixes listed under Major Changes (e.g., XRandr memory leak, ARM errors, etc.)
- replace incorrect usage of
RGFW_MEMCPYwithRGFW_STRNCPY - have x11 resize events check an internal rect (fixes ignored resize event bug)
- Fix keycode for Right Super key on Linux
- fix issues with -Werror=stringop-truncation and alignment
- fix xdnd ghost bug
- remove X11 fallbacks from the wayland backend (in a wayland environment)
- make sure RGFW falls back to X11 if a wayland environment is not detected
- propers errors in X11, Wayland and Windows versions of RGFW_window_initBufferPtr
- don't use xdg-decorations if it's not supported
- fix event queue to handle circular buffering correctly
- fixed Wayland resizing behavior
Other / Miscellaneous:
- (X11) merge createContxt_OpenGL and createVisual_OpenGL
- add RGFW_bool RGFW_window_getDataDrag(RGFW_window* win, i32* x, i32* y) / RGFW_bool RGFW_window_isDataDragging(RGFW_window* win)
- add RGFW_bool RGFW_window_getDataDrop(RGFW_window* win, const char*** files, size_t* count) / RGFW_bool RGFW_window_didDataDrop(RGFW_window* win)
- add
RGFW_getMouseScrollfunction - add RGFW_mouseScroll event
- add
RGFW_getMouseVector - remove
RGFW_NO_APIbecause it's superfluous - general improvements, API consistency, internal refactoring, documentation updates, and backend reworks.
- includes reworked OpenGL/EGL context management, Wayland/X11 improvements, RGFW_image support, event queue refactoring, and cleanup of deprecated or confusing APIs.
- (Wayland) monitor support (uni-dos)
- (Wayland) mouse icon support (uni-dos)
- (Wayland) raw mouse movement support (@uni-dos)
- (Wayland) window icon support (@uni-dos)
- (Wayland) allow wayland windows to know which monitor the window is on. (@uni-dos)
- (Wayland) For pointer and keyboard use the passed in rgfw_info and not the global current. (@uni-dos)
- (Wayland) reduce the number of calls to create and configure a surface as some functions called the same code. (@uni-dos)
- (Wayland) rework poll event (@uni-dos)
- (Wayland) implement set border (@uni-dos)
- remove
basic/basic, split it intostandard-mouse-icons/icons,gl11/gl11custom_alloc/custom_alloc - remove
icons/icons, split intomouse-icons/iconsandwindow-icons-icons - rename
events/eventstoevent_queue/event_queue - add
void RGFW_window_setLayer_OSX(RGFW_window* win, void* layer); - add
void* RGFW_window_getView_OSX(RGFW_window* win); - add
void* RGFW_window_getWindow_OSX(RGFW_window* win); - add
void* RGFW_window_getHWND(RGFW_window* win); - add
void* RGFW_window_getHDC(RGFW_window* win); - add
u64 RGFW_window_getWindow_X11(RGFW_window* win); - add
struct wl_surface* RGFW_window_getWindow_Wayland(RGFW_window* win); - add RGFW_MEMSET
- if
RGFW_EXPORTorRGFW_IMPORTis defined, default to a blank RGFWDEF if RGFWDEF is not set - some of the RGFW_sendDebugInfo error messages have had their first letter capitalized as well have been made to end with a punctuation dot.
- update RGFW website
- added an assertion for RGFW_setGLHint.
- reset keypress data on refocus
- handle window resizing (wayland)
- add RGFW_PRINTF and RGFW_SNPRINTF
- added a generic error code RGFW_errNoMem
- initialize glstencil and glsamples to 0
- add EGL example
- add _EGL functions for using EGL (e.g.
RGFW_window_swapBuffers_EGL) - RGFW_window_swapBuffers-> RGFW_window_swapBuffers_OpenGL
- add
RGFW_window_getOSXView - add
RGFW_glContext, returnRGFW_glContext*if the user chooses to manually create a context - add
RGFW_glShareWithCurrentContextOpenGL hint for context sharing - add
RGFW_WEBGPUfor Linux, MacOS, Windows AND Web - add
RGFW_eventFlag, an enum of flags for all the RGFW events - add
RGFW_window_setEnabledEvents/RGFW_window._enabledEventsto set what events you want - update backends to use
RGFW_eventFlagto check if an internal event should be processing it before processing it - add
RGFW_window_pollEvents, cycles through ALL of the events WITHOUT STOPPING - add RGFW_window_checkQueuedEvent
- add RGFW_window_getFlags
- add
RGFW_windowClosePtrfor close the window without attempting to free the function pointer (rather than RGFW attempting to keep track of who owns the RGFW_window data) - add
RGFW_surface_freePtr - add get/set functions for the few elements of RGFW_window, (userPtr, rect and exitKey)
- add
RGFW_window_createContextPtr_OpenGL/RGFW_window_deleteContextPtr_OpenGLfor creating a context with a pointer - add
RGFW_eglContext - add
RGFW_formatARGB8andRGFW_formatRGBA8 - add functions to fetch source API data
- add state-checking example
- make
RGFW_image_copya public function - add
RGFW_glHintsCountas a proper limit - add OPTIONAL advanced
RGFW_initfunctions and give the user more OPTIONAL control of global vars - handle X11 errors manually (with a callback)
- Added prefix to wayland functions
- use
XRRConfigCurrentRateto get the refresh rate rather than using math - improved internal event queue system
- RGFW_glFinalHint -> RGFW_glHintsCount.
- RGFW_glHintsCount is now the actual maximum count of accepted OpenGL hints, not just a static 32.
RGFW_setGLHint`/`RGFW_getGLHint->RGFW_setHint_OpenGLRGFW_getHint_OpenGL- link EGL dynamically and fallback to native OpenGL if it fails to load
- make
RGFW_window_src.ctxunion,RGFW_gfxContextofRGFW_glContext*andRGFW_eglContextso that way it can point to either context (but not both) - refactor wayland+x11 backend to use function points (when wayland and x11 are used toghther)
- add internal API function
RGFW_createWindowPlatformandRGFW_window_closePlatform - move
createContextto the global createWindow function - define keycodes per platform instead of having 1 generic method
- simplified RGFW_BOOL logic
What's Changed (auto gen)
What's Changed
- Add win->exitKey by @ColleagueRiley in #146
- C++ fixes by @ColleagueRiley in #147
- fix set max/min window size (X11) by @ColleagueRiley in #150
- fix typo by @ColleagueRiley in #151
- minor changes by @ColleagueRiley in #152
- add RGFW_extensionSupported by @ColleagueRiley in #153
- replace the CVDisplayLink fallback with IOKit by @ColleagueRiley in #155
- reset keypress data on refocus and make sure mouse is regrabbed on refocus by @ColleagueRiley in #157
- update changelog by @ColleagueRiley in #158
- update readme by @ColleagueRiley in #159
- Dev by @ColleagueRiley in #160
- fix c++ warning by @ColleagueRiley in #161
- fix potential bug by @ColleagueRiley in #162
- Dev by @ColleagueRiley in #163
- load XDefaultScreen by @NishiOwO in #164
- update by @ColleagueRiley in #165
- replace incorrect usage of MEMCPY with STRNCPY by @ColleagueRiley in #166
- Fix keycode for Right Super key on Linux by @M374LX in #168
- fix x11 resize bug by @ColleagueRiley in #169
- fixing issues with -Werror=stringop-truncation and alignment by @DiarrheaMcgee in #167
- update changelog by @ColleagueRiley in #170
- fix xdnd ghost bug by @ColleagueRiley in #172
- Fix RGFW_window_setShouldClose usage in example files by @therealmarrakesh in #174
- Fix type mismatch in key callback and normalize float literal usage in OpenGL calls by @therealmarrakesh in #176
- send out key release events when the window loses focus by @ColleagueRiley in #173
- [dev] Various wayland fixes to push into the other PR by @m-doescode in #178
- Update Wayland | fix some bugs and compile errors by @ColleagueRiley in #177
- add missing keys by @ColleagueRiley in #179
- opengl software update by @ColleagueRiley in #180
- update TODO and changelog by @ColleagueRiley in #181
- RGFW internal rewrite/review by @ColleagueRiley in #182
- Dev by @ColleagueRiley in #186
- fix synax errors (wasm) by @ColleagueRiley in #187
- fix synax errors (wasm) by @ColleagueRiley in #188
- fix usage of libc functions without RGFW_ macro by @ColleagueRiley in #190
- fix reading to uninitalized data by @ColleagueRiley in #191
- RGFW can now resize windows on wayland by @uni-dos in #185
- Explicit cast from int to u8 by @yehoravramenko in #193
- add RGFW_PRINTF and RGFW_SPRINTF by @ColleagueRiley in #194
- Added prefix to wayland functions by @m-doescode in #195
- move keyboard map into private api as a global by @ColleagueRiley in #196
- remove multithreading from RGFW by @ColleagueRiley in #197
- changes to dev by @ColleagueRiley in #201
- make sure wayand compiles by @ColleagueRiley in #202
- Make RGFW_XErrorHandler available only if RGFW_X11 is defined by @uni-dos in #204
- Fix window flags on Windows by @yehoravramenko in #198
- update website by @ColleagueRiley in #206
- Call destructors on some wayland objects by @uni-dos in #205
- update dev branch with contribution fixes by @ColleagueRiley in #207
- update contributors list by @ColleagueRiley in #208
- update license by @ColleagueRiley in #209
- replace EMPTY callbacks with NULL by @ColleagueRiley in #210
- Improving event queue system by @EimaKve in #212
- Release more wayland object from memory by @uni-dos in #211
- fixed memory leak by @CrackedPixel in #218
- extra resize event no longer created by @uni-dos in #220
- update dev by @ColleagueRiley in #224
- remove gamepad support by @ColleagueRiley in #225
- fix minigamepad (C++) by @ColleagueRiley in #226
- fix: remove executable permissions from README and TODO by @sleeptightAnsiC in #221
- add egl example, add native gles, cleanup RGFW GLES by @ColleagueRiley in #227
- Minor improvements by @EimaKve in #214
- Fix memory leak and remove dupliated wayland free code by @uni-dos in #229
- OpenGL & buffer API improvements by @EimaKve in #230
- initialize glstencil and glsamples to 0 by @uni-dos in #232
- RGFW buffer & general API improvements by @EimaKve in #233
- [monitor/x11] changed refresh rate detection by @CrackedPixel in #217
- add RGFW_window_fat and remove window.src by @ColleagueRiley in #235
- remove buffer and event from window, remove RGFW_sleep, remove RGFW_checkFPS by @ColleagueRiley in #237
- Push new event if window has been minimized by @yehoravramenko in #238
- RGFW_image` and replace loadMouse/loadIcon args with RGFW_image, remove getTime/setTime change RGFW_BUFFER to RGFW_nativeImage by @ColleagueRiley in #239
- wayland can now maximize by @uni-dos in #234
- allow EGL to be enabled during runtime by @ColleagueRiley in #242
- "fix naming, make (current) opengl only by @ColleagueRiley in #243
- rename directX and Vulkan functions. add RGFW_surface for software rendering by @ColleagueRiley in #244
- update READMe by @ColleagueRiley in #245
- add webgpu backend for non-web platforms by @ColleagueRiley in #246
- refactor wayland+x11 backend to use function points (when wayland and x11 are used toghther) by @ColleagueRiley in #248
- update changelog by @ColleagueRiley in #249
- move RGFW_HEADER endif by @ColleagueRiley in #250
- use 0 bit alpha for non-transparent windows by @ColleagueRiley in #251
- revert RGFW_glAlpha change add RGFW_NATIVE move around enums by @ColleagueRiley in #253
- make surfaces opaque if transparency bit is not set by @uni-dos in #252
- webgpu (x11) fix missing return by @ColleagueRiley in #254
- fix some bugs | RGFW_image_copy and drag and drop by @ColleagueRiley in #255
- fix inconsistent mouse function naming, fix EGL bug, update examples by @ColleagueRiley in #256
- EGL request a opaque surface if transparency is not used under x11 and wayland by @uni-dos in #257
- (EGL) send EGL surface attribs on every OS, (EGL) fix disable double buffering, option, (OpenGL) make sure the right context is shared by @ColleagueRiley in #259
- fix key press callback by @ColleagueRiley in #261
- update readme by @ColleagueRiley in #262
- rework event system by @ColleagueRiley in #263
- prevent multi-define of DWM_BLURBEHIND by @ColleagueRiley in #265
- Fix horizontal client area offset on Windows by @a740g in #264
- allow RGFW to compile with objective-c by @ColleagueRiley in #266
- fix some silent warnings by @ColleagueRiley in #267
- use double instead of float for CGTypes by @ColleagueRiley in #268
- rework OpenGL format attrib array creation | make the array per OS in… by @ColleagueRiley in #270
- large series of internal changes (listed) by @ColleagueRiley in #272
- update readme by @ColleagueRiley in #274
- some refinements by @ColleagueRiley in #276
- do a memset for RGFW_window by @ColleagueRiley in #277
- event unionization by @ColleagueRiley in #278
- bug fixes by @ColleagueRiley in #279
- update keys by @ColleagueRiley in #280
- fix wayland bug, add a few more event setting functions by @ColleagueRiley in #281
- check if ARB is supported before using it by @ColleagueRiley in #282
- update changelog, add comments to OpenGL by @ColleagueRiley in #283
- fixed typo in RGFW.h and added vert.h and frag.h to make clean by @tkpmonke in #284
- update keyboard+mouse input behavior by @CrackedPixel in #269
- Update example by @yehoravramenko in #287
- Reintroduce mouse coordinates under wayland by @uni-dos in #285
- add more state checking functions to match event types by @ColleagueRiley in #286
- Don't link X11 when compiling with XDL (X11), compile with Objective C++ flags (MacOS) by @ColleagueRiley in #288
- Update examples to use correct RGFW_isMousePressed arguments by @rahulsenna in #289
- add -Wc++11-narrowing flag for macos testing by @ColleagueRiley in #290
- fix OSX bugs by @ColleagueRiley in #292
- update windowResize logic by @ColleagueRiley in #293
- update micro ui example by @ColleagueRiley in #294
- share the same seat under wayland by @uni-dos in #291
- make sure
-D UNICODEis tested, (windows) by @ColleagueRiley in #295 - create an opaque surface for examples by @uni-dos in #296
- Fix WGL context creation: moved WGL_CONTEXT attribs to the section be… by @r-lyeh in #298
- use wl_display_dispatch_pending instead; remove extra call as well by @uni-dos in #300
- make sure RGFW_quit event is pushed (winapi) by @ColleagueRiley in #301
- make sure all stack args are set with pushAttrib(s) so it's easier to… by @ColleagueRiley in #306
- use the proper ARB/EXT arg (SRGB) (GLX) by @ColleagueRiley in #307
- fix warnings and XRandr memory leak by @ColleagueRiley in #308
- Query monitor information under wayland by @uni-dos in #275
- make generic add/remove monitor functions, fix wayland memoryleaks by @ColleagueRiley in #309
- fix segfault when window closes with no focus by @uni-dos in #310
- add RGFW_mouseScroll event and add RGFW_getMouseVector by @ColleagueRiley in #311
- change double scroll to float by @ColleagueRiley in #312
- (wayland) check if an egl context is in use before trying to resize the egl window by @ColleagueRiley in #313
- update srgb (winapi) (new example) by @ColleagueRiley in #314
- edit typo in README.md file by @Gfaerny in #315
- fix webgpu osx casting issues by @ColleagueRiley in #316
- fix create vulkan surface (OSX) by @ColleagueRiley in #318
- fix mousescroll type cast bug (win32) by @ColleagueRiley in #320
- Support the xdg_toplevel_icon protocol by @uni-dos in #305
- Wayland Pointer/Cursor Improvements by @uni-dos in #303
- srgb example no longer crashes when using egl by @uni-dos in #321
- fix incorrect usage of RGFW_isKeyPressed in focusLost by @ColleagueRiley in #323
- fix wayland-x11 wayland crash by @ColleagueRiley in #326
- fix wayland_only in makefile by @ColleagueRiley in #327
- uncomment setName call by @ColleagueRiley in #328
- fix example program by @San7o in #329
- fix X11 window resize by @ColleagueRiley in #330
- Wayland refractor by @uni-dos in #322
- improve RGFW_createUTF8FromWideStringWin32 and fix winapi A/W mismatch by @ColleagueRiley in #334
- fix example in readme by @ColleagueRiley in #336
- Fix double close event by @uni-dos in #332
- Fix X11 events for raw mouse inputs and repeated key events, make event queue a queue by @kjohns19 in #337
- update win32 opengl context creation by @ColleagueRiley in #338
- Key repeat and Modifiers work correctly on Windows. by @GnikDroy in #341
- avoid false negative for key mods by @ColleagueRiley in #343
- fix NULL setCurrent bug (wgl) and fix wine wgl shared context bug in multi window example by @ColleagueRiley in #344
- Fix heap corruption while getting clipboard data. by @GnikDroy in #340
- Fix compile error and assertion failure when RGFW_NO_X11_CURSOR is defined by @adrianlizarraga in #345
- Fix webgl event listener crash on keydown and keyup. by @GnikDroy in #347
- fix opengl misatch and don't restore a window that wasn't fullscreened (win32) by @ColleagueRiley in #349
- fix half life 3 bug
- add missing SetWindowLong call by @ColleagueRiley in #352
- mark current version as 'pre-release' instead of '-dev' by @ColleagueRiley in #354
- changes required for zig compatibility by @DiarrheaMcgee in #353
- update RGFW documentation by @ColleagueRiley in #355
- update changelog by @ColleagueRiley in #356
- update workflows by @ColleagueRiley in #357
- allow windows.h to be included before RGFW without needing OEMRESOURCE by @ColleagueRiley in #359
- update minigamepad and disable osmesa by default on msvc by @ColleagueRiley in #360
- update webgpu support by @ColleagueRiley in #361
- fix icon example (use the right format type for the icon by @ColleagueRiley in #362
- update web examples by @ColleagueRiley in #363
- fix weird resize flashing issue (X11), use glXCreateWindow by @ColleagueRiley in #364
- Fixed the full-screen monitor setPosition in the Windows implementation. by @Delici0u-s in #365
- update setFullscreen (OSX) by @ColleagueRiley in #366
- support older versions of wayland by @ColleagueRiley in #368
- fix logo size by @ColleagueRiley in #369
- fix logo size by @ColleagueRiley in #370
- resize logo so it's less blurry by @ColleagueRiley in #371
- update logo placement in readme by @ColleagueRiley in #372
- update readme by @ColleagueRiley in #373
- fix wasm examples by @ColleagueRiley in #374
- fix issue with RGFW_window_swapInterval_OpenGL on X11 by @Code-Nycticebus in #375
- allow GLXWindow to be avoided by @ColleagueRiley in #377
- disable osmesa by default by @ColleagueRiley in #383
- fix osx missing prototypes warning by @ColleagueRiley in #384
- Incremental C89 support: Remove C++ style comments by @VisenDev in #385
- fix: keep window content size when move window on macOS by @turgenevivan in #389
- fix: remove incorrect gdi32 link from premake5 xcode4 configuration by @turgenevivan in #390
- Incremental C89 Support: Fix "initializer not computable at load time" errors by @VisenDev in #388
- fix: #382 Failure to compile on macos (Missing Prototypes) by @turgenevivan in #386
- fix microui example by @turgenevivan in #387
- [Wayland] Support reading and writing data from/to other clients by @uni-dos in #348
- add support for local window coords (X11) by @ColleagueRiley in #396
- fix glx typo by @ColleagueRiley in #398
- allocate native surface bitmap for copy (X11) by @ColleagueRiley in #399
- fix type casting (X11) (software rendering) by @ColleagueRiley in #400
- move wl_data_device creation to post global registry (wayland) by @ColleagueRiley in #401
- update workflows by @ColleagueRiley in #402
New Contributors
- @M374LX made their first contribution in #168
- @therealmarrakesh made their first contribution in #174
- @m-doescode made their first contribution in #178
- @uni-dos made their first contribution in #185
- @yehoravramenko made their first contribution in #193
- @CrackedPixel made their first contribution in #218
- @sleeptightAnsiC made their first contribution in #221
- @a740g made their first contribution in #264
- @tkpmonke made their first contribution in #284
- @rahulsenna made their first contribution in #289
- @r-lyeh made their first contribution in #298
- @Gfaerny made their first contribution in #315
- @San7o made their first contribution in #329
- @kjohns19 made their first contribution in #337
- @GnikDroy made their first contribution in #341
- @adrianlizarraga made their first contribution in #345
- @Delici0u-s made their first contribution in #365
- @VisenDev made their first contribution in #385
- @turgenevivan made their first contribution in #389
Full Changelog: 1.70...1.8.0