7/5/08
:- Changed min/max height/width so if you attempt to set them < 1 they will be set to 1. Also changed the resize functions to not allow widths/heights < 1.
:- There was a problem with horizontal and vertical scrollbars where a stack overflow would happen if you attempted to make them smaller than the combined height or width of the buttons on each end. Fixed it so they can't be resized smaller than the button size * 3. The buttons used to auto-resize down to accomodate smaller windows, but no longer do so. Such functionality can be handled by developers by handling the resize event of the scrollbar, and by adjusting the height of a horizontal, or width of a vertical, scrollbar.
:- Made it so the minimum size of horizontal and vertical scrollbars determines the minimum size of the control they're attached to. Controls will no longer be allowed to be resized below the scrollbar minimum size.
:- Made it so if a dragging object is "stuck" in place due to sizing or positioning restrictions (like "ConstrainWithinParent", or for a resizer object, or a scroll bar), the object will wait to move the other direction until the mouse is back over the object.
Those things above were nagging little things that were annoying… I think a few of you had pointed out that stupid crash with the resizing window going < 0 width or height. I have to test it a bit more, because so far I’ve only tested it with an enhanced window with scrollbars, and right now the scrollbars themselves are keeping the window the proper size. I may have to test without the scrollbars.
While I’m all motivated and such, I’d like you all to reiterate whatever problems you’re having that you think I can fix.
I still need to fix the damn focus and zorder issues… they’re annoying as hell, and the way I have the project right now, I think I’d be making things worse if I were to release it… so I need to really re-examine the whole thing and see where my logic is flawed.
The redraw throttle will be coming back soon… again, I don’t know why it went away… all I know is that I had it in there and the next time I looked, somehow it was gone… maybe I took it out for some reason I can’t remember while testing something, and forgot to put it back in. *shrug*… I think I may have been trying to make the GUI run in its own thread to improve performance, and got rid of it then, but then reverted back and forgot to put it back.
Anyway…
Anything else?