[Mono-winforms-list] First version of ThemeVisualStyles

George Giolfan georgegiolfan at yahoo.com
Thu Apr 24 23:44:45 EDT 2008

Ernesto, first of all thank you for the patch. I will
try to incorporate as much as possible. However I will
need to make some changes due to the following

We decided to implement this theme by using only the
managed VisualStyles API, so that it will work when
this API is implemented on other platforms. 
Also, we must maintain public API compatibility, so
adding public members is not acceptable.
Finally, I chose to reuse classes like ButtonRenderer
where possible, in order to avoid duplicating code.

--- Ernesto <equistango at gmail.com> wrote:

> 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.
> Ernesto
> George Giolfan wrote:
> > Please review this.
> >
> >
> >       __

Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

More information about the Mono-winforms-list mailing list