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.


      

Attachment: Managed window.patch.gz
Description: application/gzip

_______________________________________________
Mono-winforms-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-winforms-list

Reply via email to