[Mono-winforms-list] Managed window patch
georgegiolfan at yahoo.com
Sun Jun 22 15:29:20 EDT 2008
Unlike previous patches this one also contains changes to ThemeVisualStyles. I would appreciate any feedback. I did not test thoroughly (lack of time).
So far I know about the following issues:
* Translation between client and non-client coordinates is wrong. (There are actually two cases: buttons and borders on the managed window for non-maximized MDI children and buttons on the parent menu for maximized MDI children. This bug existed before I started making my changes. I did not fix it yet because it may involve changing other pieces of code that rely on the wrong coordinates and it doesn't affect rendering.)
* I am not able to render the buttons on inactive windows properly since no Visual Styles states seem to be exposed for that case.
* The minimum size for tool windows is the same as for normal windows. So far I did not find any API to obtain the proper value.
* The minimized MDI children are not rendered properly. This has been confirmed as a bug and is not related to the theme code.
* Maximized MDI children sometimes render their buttons in the client area. This should be fixed by the previous patch.
* The title bar flickers a lot if you move the mouse cursor over the title buttons rapidly. This happens because rendering hot title buttons is done the same way as pressed ones: by calling XplatUI.InvalidateNC, which does not support invalidating only a region.
* The caption text is rendered using a hard coded height. I did not find any working API to get the caption font size.
* The menu buttons look too small. The API returns wrong values. I might try to improve this in the future.
* I need to make sure that the cases that are not supported by Visual Styles (such as maximize buttons on tool windows) are invalid, or change the code to fall back on classic rendering.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Managed window.patch.gz
Size: 4955 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-winforms-list/attachments/20080622/9b261e40/attachment-0001.bin
More information about the Mono-winforms-list