Maybe I need to reword the way that I refer to a bug. Here is one of many examples which I run into:
When working with OpenGL or the Canvas, using a plugin in Windows causes issues when a mouse is moved over the canvas/OpenGL canvas. Whether a callback, polling, or some other event is called, or workarounds in a Plugin. The event fires, and the canvas/OpenGL control does not update. Repeated mouse moving can literally slow the refresh rate to 1 frame per second.
Another issue is interference from the Xojo mouse, where continuous tracking causes slow-downs in refresh rates. Completely bypassing Xojo’s mouse event and implementing my own will remove the issue. An example of this issue is shown with Javier’s How To Speed Timers in Windows - AprendeXojo . Download it and repeatedly move the mouse over the canvas. The refresh numbers are impressive, and the canvas literally stops working until mouse-movement is stopped. Then I attempt to create a workaround and am unable to change the window position. The next workaround is required.
Cannot use glfwSetWindowPos in a GLFW window, and a GetWindowLong Window API must be used instead. Xojo OpenGL does not allow glfwSetWindowPos to work (nothing draws).
You are correct, that I am able to program and use the commands. Unfortunately, the C++ code/Plugin/Declare does not work when viewed visually, possibly due to the way in which Xojo works with windows in Windows?
I can create a program in C++ for a plugin, however the possible implementation of Xojo’s own calls in the background interferes with the use of Canvas and OpenGL.
Don’t get me wrong, completely rewriting all OpenGL, canvas, mouse, and keyboard functions so that they do not interact with a Xojo created window works with a plugin. However, attempting to use native Canvas and OpenGL hooks are incredibly buggy. Maybe this is a better way to describe it?
Edit: I left a reply weeks or months ago, with details to repeat the bug, and have not received any feedback. shrugs. I am writing an updated OpenGL control and starting with OpenGL version 2.1. Performance is MUCH better and significantly less issues. The next step after this would be to work with OpenGL 3.0, then OpenGL 4.0, then Vulkan. Jumping straight to Vulkan with Xojo created too many incompatibilities. I am required to start with OpenGL 2.1 to work around the Xojo graphics/canvas bugs first. Working in baby steps to get to the final Vulkan goal.