diff --git a/Use-multiple-windows.md b/Use-multiple-windows.md index 8f9a918..8267fb0 100644 --- a/Use-multiple-windows.md +++ b/Use-multiple-windows.md @@ -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