ViewGUI
Current version: 0.1b
Speed:
ViewGUI is incredibly fast due to an efficient window sorting method, and Cloggy's amazingly fast d3d plugin.
Here is a screenshot of over 100 overlapped, depth sorted, draggable windows with alpha, and all generating dynamic events running at ~60fps:
Customizeable:
With the dynamic event system, you can tap into the 'window painted' event to draw whatever you want to that particular window, and it will appear in the correct z-depth
Also, each window has its own properties so you can control the entire look of a window without using a single draw command.
Open source:
Download source
HERE
Dynamic events:
Utilising IanM's function pointer plugin allows each window to have their own event function which can be changed easily at run-time. A function can handle events of multiple windows and use the sender argument to get a handle on the window that raised the event.
Events that can only happen once per update (such as mousedown) can also be retreived as a variable to avoid complexity.
External DLLs required:
IanM's Matrix1 Utility plugin for function pointers and peek/poke commands
Cloggy's d3d plugin for fast 2d drawing
Todo:
Add more types of window than just form and button
Add more events
Done:
Main engine
Depth sorting
Parent/child window sorting
Border styles
Colours
Cursors (on a per-window basis)
Form windows
Button windows
Window OOP
Common events for all classes of window
Different events for each class
Draw window text
Text align
Form title text is automatically cut to fit form
Different cursors for each window (including screen)
Extra info:
A hwnd of 0 means the screen.
Current windows:
Form
Button
Line count:
1,269 lines
Please post how many windows you get when you run the example (it only creates windows when the framerate is above 60fps)