mirror of
https://github.com/raysan5/raylib.git
synced 2025-12-25 10:22:33 -05:00
Updated Use multiple windows (markdown)
@ -1,4 +1,6 @@
|
||||
raylib does not support multiple Windows by default, it was designed with simplicity in main and multi-window option was not considered as a core feature.
|
||||
raylib does not support multiple Windows by default, it was designed with simplicity in mmind and multi-window option was not considered as a core feature. Multiple windows break some of the core concepts and APIs in raylib.
|
||||
|
||||
Multiple windows are possible with modifications to raylib and the understanding that some simple things may not work in as simple of a way as they did before.
|
||||
|
||||
# support for raylib 5.0+
|
||||
Adding support for multiple windows is somewhat complicated to support in raylib versions 5.0+. The platform split means that each platform needs to have information about all the windows. Also the older instructions did not handle events properly on multiple windows.
|
||||
@ -7,12 +9,12 @@ Adding support for multiple windows is somewhat complicated to support in raylib
|
||||
The branch of raylib has been modified to support multiple windows
|
||||
https://github.com/JeffM2501/raylib/tree/multi-monitor_50
|
||||
|
||||
The changes are similar to what is listed below, but more detailed and go into a lot of different platform code.
|
||||
|
||||
# Old info for raylib V4.5 and below.
|
||||
**These instructions will not work for Raylib 5.0 or above, they are here for historical purposes only.**
|
||||
|
||||
Fortunately raylib's current design allows adding multi-window support in an easy way, in case some user requires this functionality.
|
||||
|
||||
the steps to follow to modify the raylib source code and add multi-window support are as follows:
|
||||
The rough steps to follow to modify the raylib source code and add multi-window support are as follows:
|
||||
|
||||
- [raylib.h] A `MAX_CONTEXTS` constant is defined to give the size of `RLGL[]` and `CoreData.Window[]`
|
||||
- [core] Change the `CoreData.Window` struct into `CoreData.Window[MAX_CONTEXTS]` and add a `currentWindow` variable as global index to switch between the structures, as well as a `numWindows` variable to keep count of the total number of windows
|
||||
|
||||
Reference in New Issue
Block a user