[Mono-winforms-list] First version of ThemeVisualStyles

Ernesto equistango at gmail.com
Thu Apr 24 20:49:22 EDT 2008

Here are the original patch comments, for the list to have:


Ok, here's what I got so far:

* Button, CheckBox, ProgressBar, RadioButton and ScrollBar mostly working.
* TabControl mostly not working (I mean working, but looking really bad).
* Implemented CheckBoxGlyph and RadioButtonGlyph for other controls to 
use (like ListBox w/CheckBoxes).
* Drawing of ManagedWindowDecorations (for MDI child windows) is working 
but transparency (to make window corner's round) is not implemented.

Per file:

* ThemeVisualStyles.cs: incomplete initial implementation.
* FontProperty.cs, VisualStyleElement.cs: Implemented some enums.
* ButtonBase.cs: changed IsDefault from private to internal, so the 
theme can draw a window's default button with a special frame (this 
should be back ported to other themes).
* ScrollBar.cs: implemented thumb_state, firstbutton_entered, 
secondbutton_entered and thumb_entered to allow for different "hot" 
effects of XP and Vista.
* XplatUIWin32: changed Win32GetSystemMetrics from private to internal, 
so Theme.ScrollBarButtonSize uses the system's default.

The code in ThemeVisualStyles.cs is slightly Windows-dependent. I guess 
this is ok given that this is basically a wrapper for a Windows-only 
feature. I guess other visual styles (or whatever they are called on OS 
X et al) should be implemented as separate classes. In case I'm wrong, 
Windows dependencies can be reworked easily.


George Giolfan wrote:
> Please review this.
>       __

More information about the Mono-winforms-list mailing list