// Peter Dennis Bartok, pbartok@novell.com
//
-
using System.Collections;
using System.Drawing;
using System.Drawing.Drawing2D;
internal static CPColor Empty;
}
- // Implements a pool of system resources
+ // Implements a pool of system resources
internal class SystemResPool
{
private Hashtable pens = new Hashtable ();
public Pen GetPen (Color color)
{
- int hash = color.ToArgb ();
+ int hash = color.ToArgb ();
lock (pens) {
Pen res = pens [hash] as Pen;
public HatchBrush GetHatchBrush (HatchStyle hatchStyle, Color foreColor, Color backColor)
{
- string hash = hatchStyle.ToString () + foreColor.ToString () + backColor.ToString ();
+ string hash = ((int)hatchStyle).ToString () + foreColor.ToString () + backColor.ToString ();
lock (hatchbrushes) {
- if (hatchbrushes.Contains (hash))
- return (HatchBrush) hatchbrushes[hash];
-
- HatchBrush brush = new HatchBrush (hatchStyle, foreColor, backColor);
- hatchbrushes.Add (hash, brush);
+ HatchBrush brush = (HatchBrush) hatchbrushes[hash];
+ if (brush == null) {
+ brush = new HatchBrush (hatchStyle, foreColor, backColor);
+ hatchbrushes.Add (hash, brush);
+ }
return brush;
}
}
}
internal abstract class Theme
- {
+ {
protected Array syscolors;
- protected Font default_font;
- protected Font window_border_font;
+ private readonly Font default_font;
+ protected Font window_border_font;
protected Color defaultWindowBackColor;
- protected Color defaultWindowForeColor;
- protected bool always_draw_hotkeys = true;
+ protected Color defaultWindowForeColor;
internal SystemResPool ResPool = new SystemResPool ();
- private Type system_colors = Type.GetType("System.Drawing.SystemColors, System.Drawing");
+ private MethodInfo update;
- private void SetSystemColors(string name, Color value) {
- if (system_colors != null) {
- MethodInfo update;
+ protected Theme ()
+ {
+#if NET_2_0
+ default_font = SystemFonts.DefaultFont;
+#else
+ default_font = new Font (FontFamily.GenericSansSerif, 8.25f);
+#endif
+ syscolors = null;
+ }
- system_colors.GetField(name, System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic).SetValue(null, value);
- update = system_colors.GetMethod("UpdateColors", BindingFlags.Static | BindingFlags.NonPublic);
- if (update != null) {
- update.Invoke(null, null);
- }
+ private void SetSystemColors (KnownColor kc, Color value)
+ {
+ if (update == null) {
+ Type known_colors = Type.GetType ("System.Drawing.KnownColors, " + Consts.AssemblySystem_Drawing);
+ if (known_colors != null)
+ update = known_colors.GetMethod ("Update", BindingFlags.Static | BindingFlags.Public);
}
+ if (update != null)
+ update.Invoke (null, new object [2] { (int)kc, value.ToArgb () });
}
-
/* OS Feature support */
public abstract Version Version {
get;
}
- /* Default properties */
+ /* Default properties */
public virtual Color ColorScrollBar {
- get { return SystemColors.ScrollBar;}
- set { SetSystemColors("scroll_bar", value); }
+ get { return SystemColors.ScrollBar; }
+ set { SetSystemColors (KnownColor.ScrollBar, value); }
}
public virtual Color ColorDesktop {
get { return SystemColors.Desktop;}
- set { SetSystemColors("desktop", value); }
+ set { SetSystemColors (KnownColor.Desktop, value); }
}
public virtual Color ColorActiveCaption {
get { return SystemColors.ActiveCaption;}
- set { SetSystemColors("active_caption", value); }
+ set { SetSystemColors (KnownColor.ActiveCaption, value); }
}
public virtual Color ColorInactiveCaption {
get { return SystemColors.InactiveCaption;}
- set { SetSystemColors("inactive_caption", value); }
+ set { SetSystemColors (KnownColor.InactiveCaption, value); }
}
public virtual Color ColorMenu {
get { return SystemColors.Menu;}
- set { SetSystemColors("menu", value); }
+ set { SetSystemColors (KnownColor.Menu, value); }
}
public virtual Color ColorWindow {
get { return SystemColors.Window;}
- set { SetSystemColors("window", value); }
+ set { SetSystemColors (KnownColor.Window, value); }
}
public virtual Color ColorWindowFrame {
get { return SystemColors.WindowFrame;}
- set { SetSystemColors("window_frame", value); }
+ set { SetSystemColors (KnownColor.WindowFrame, value); }
}
public virtual Color ColorMenuText {
get { return SystemColors.MenuText;}
- set { SetSystemColors("menu_text", value); }
+ set { SetSystemColors (KnownColor.MenuText, value); }
}
public virtual Color ColorWindowText {
get { return SystemColors.WindowText;}
- set { SetSystemColors("window_text", value); }
+ set { SetSystemColors (KnownColor.WindowText, value); }
}
public virtual Color ColorActiveCaptionText {
get { return SystemColors.ActiveCaptionText;}
- set { SetSystemColors("active_caption_text", value); }
+ set { SetSystemColors (KnownColor.ActiveCaptionText, value); }
}
public virtual Color ColorActiveBorder {
get { return SystemColors.ActiveBorder;}
- set { SetSystemColors("active_border", value); }
+ set { SetSystemColors (KnownColor.ActiveBorder, value); }
}
public virtual Color ColorInactiveBorder{
get { return SystemColors.InactiveBorder;}
- set { SetSystemColors("inactive_border", value); }
+ set { SetSystemColors (KnownColor.InactiveBorder, value); }
}
public virtual Color ColorAppWorkspace {
get { return SystemColors.AppWorkspace;}
- set { SetSystemColors("app_workspace", value); }
+ set { SetSystemColors (KnownColor.AppWorkspace, value); }
}
public virtual Color ColorHighlight {
get { return SystemColors.Highlight;}
- set { SetSystemColors("highlight", value); }
+ set { SetSystemColors (KnownColor.Highlight, value); }
}
public virtual Color ColorHighlightText {
get { return SystemColors.HighlightText;}
- set { SetSystemColors("highlight_text", value); }
+ set { SetSystemColors (KnownColor.HighlightText, value); }
}
public virtual Color ColorControl {
get { return SystemColors.Control;}
- set { SetSystemColors("control", value); }
+ set { SetSystemColors (KnownColor.Control, value); }
}
public virtual Color ColorControlDark {
get { return SystemColors.ControlDark;}
- set { SetSystemColors("control_dark", value); }
+ set { SetSystemColors (KnownColor.ControlDark, value); }
}
public virtual Color ColorGrayText {
get { return SystemColors.GrayText;}
- set { SetSystemColors("gray_text", value); }
+ set { SetSystemColors (KnownColor.GrayText, value); }
}
public virtual Color ColorControlText {
get { return SystemColors.ControlText;}
- set { SetSystemColors("control_text", value); }
+ set { SetSystemColors (KnownColor.ControlText, value); }
}
public virtual Color ColorInactiveCaptionText {
get { return SystemColors.InactiveCaptionText;}
- set { SetSystemColors("inactive_caption_text", value); }
+ set { SetSystemColors (KnownColor.InactiveCaptionText, value); }
}
public virtual Color ColorControlLight {
get { return SystemColors.ControlLight;}
- set { SetSystemColors("control_light", value); }
+ set { SetSystemColors (KnownColor.ControlLight, value); }
}
public virtual Color ColorControlDarkDark {
get { return SystemColors.ControlDarkDark;}
- set { SetSystemColors("control_dark_dark", value); }
+ set { SetSystemColors (KnownColor.ControlDarkDark, value); }
}
public virtual Color ColorControlLightLight {
get { return SystemColors.ControlLightLight;}
- set { SetSystemColors("control_light_light", value); }
+ set { SetSystemColors (KnownColor.ControlLightLight, value); }
}
public virtual Color ColorInfoText {
get { return SystemColors.InfoText;}
- set { SetSystemColors("info_text", value); }
+ set { SetSystemColors (KnownColor.InfoText, value); }
}
public virtual Color ColorInfo {
get { return SystemColors.Info;}
- set { SetSystemColors("info", value); }
+ set { SetSystemColors (KnownColor.Info, value); }
}
public virtual Color ColorHotTrack {
get { return SystemColors.HotTrack;}
- set { SetSystemColors("hot_track", value);}
+ set { SetSystemColors (KnownColor.HotTrack, value);}
}
public virtual Color DefaultControlBackColor {
}
public virtual Color DefaultWindowBackColor {
- get { return defaultWindowBackColor; }
+ get { return defaultWindowBackColor; }
}
public virtual Color DefaultWindowForeColor {
}
}
+ public virtual int BorderMultiplierFactor { get { return 1; } }
+
+ public virtual Size BorderSizableSize {
+ get {
+ return new Size (3, 3);
+ }
+ }
+
public virtual Size Border3DSize {
get {
- return new Size(2, 2);
+ return XplatUI.Border3DSize;
}
}
- public virtual Size BorderSize {
+ public virtual Size BorderStaticSize {
get {
return new Size(1, 1);
}
}
+ public virtual Size BorderSize {
+ get {
+ return XplatUI.BorderSize;
+ }
+ }
+
public virtual Size CaptionButtonSize {
get {
- return new Size(18, 18);
+ return XplatUI.CaptionButtonSize;
}
}
public virtual int DoubleClickTime {
get {
- return 500;
+ return XplatUI.DoubleClickTime;
}
}
public virtual Size FixedFrameBorderSize {
get {
- return new Size(3, 3);
+ return XplatUI.FixedFrameBorderSize;
}
}
}
}
+ public virtual int HorizontalFocusThickness { get { return 1; } }
+
public virtual int HorizontalScrollBarArrowWidth {
get {
return 16;
}
}
+ public virtual bool MenuAccessKeysUnderlined {
+ get {
+ return XplatUI.MenuAccessKeysUnderlined;
+ }
+ }
+
+ public virtual Size MenuBarButtonSize {
+ get { return XplatUI.MenuBarButtonSize; }
+ }
+
public virtual Size MenuButtonSize {
get {
- return new Size(18, 18);
+ return XplatUI.MenuButtonSize;
}
}
public virtual Size ToolWindowCaptionButtonSize {
get {
- return new Size(15, 15);
+ return XplatUI.ToolWindowCaptionButtonSize;
}
}
public virtual int ToolWindowCaptionHeight {
get {
- return 16;
+ return XplatUI.ToolWindowCaptionHeight;
}
}
+ public virtual int VerticalFocusThickness { get { return 1; } }
+
public virtual int VerticalScrollBarArrowHeight {
get {
return 16;
}
}
- public virtual Font WindowBorderFont {
- get {
- return window_border_font;
- }
- }
+ public virtual Font WindowBorderFont {
+ get {
+ return window_border_font;
+ }
+ }
public int Clamp (int value, int lower, int upper)
{
else return value;
}
- [MonoTODO("Figure out where to point for My Network Places")]
+ [MonoInternalNote ("Figure out where to point for My Network Places")]
public virtual string Places(UIIcon index) {
switch (index) {
case UIIcon.PlacesRecentDocuments: {
case UIIcon.PlacesDesktop: {
// Default = "Desktop"
- return Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
+ return Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
}
case UIIcon.PlacesPersonal: {
#endregion // OwnerDraw Support
#region Button
+#if NET_2_0
+ public abstract Size CalculateButtonAutoSize (Button button);
+#endif
+ public abstract void CalculateButtonTextAndImageLayout (ButtonBase b, out Rectangle textRectangle, out Rectangle imageRectangle);
+ public abstract void DrawButton (Graphics g, Button b, Rectangle textBounds, Rectangle imageBounds, Rectangle clipRectangle);
+ public abstract void DrawFlatButton (Graphics g, ButtonBase b, Rectangle textBounds, Rectangle imageBounds, Rectangle clipRectangle);
+ public abstract void DrawPopupButton (Graphics g, Button b, Rectangle textBounds, Rectangle imageBounds, Rectangle clipRectangle);
#endregion // Button
#region ButtonBase
#endregion // ButtonBase
#region CheckBox
- public abstract void DrawCheckBox(Graphics dc, Rectangle clip_area, CheckBox checkbox);
+#if NET_2_0
+ public abstract Size CalculateCheckBoxAutoSize (CheckBox checkBox);
+ public abstract void CalculateCheckBoxTextAndImageLayout (ButtonBase b, Point offset, out Rectangle glyphArea, out Rectangle textRectangle, out Rectangle imageRectangle);
+ public abstract void DrawCheckBox (Graphics g, CheckBox cb, Rectangle glyphArea, Rectangle textBounds, Rectangle imageBounds, Rectangle clipRectangle);
+#endif
+ public abstract void DrawCheckBox (Graphics dc, Rectangle clip_area, CheckBox checkbox);
+
#endregion // CheckBox
#region CheckedListBox
- // Drawing
+ // Drawing
public abstract void DrawCheckedListBoxItem (CheckedListBox ctrl, DrawItemEventArgs e);
#endregion // CheckedListBox
#region ComboBox
// Drawing
public abstract void DrawComboBoxItem (ComboBox ctrl, DrawItemEventArgs e);
+ public abstract void DrawFlatStyleComboButton (Graphics graphics, Rectangle rectangle, ButtonState state);
+ public abstract void ComboBoxDrawNormalDropDownButton (ComboBox comboBox, Graphics g, Rectangle clippingArea, Rectangle area, ButtonState state);
+ public abstract bool ComboBoxNormalDropDownButtonHasTransparentBackground (ComboBox comboBox, ButtonState state);
+ public abstract bool ComboBoxDropDownButtonHasHotElementStyle (ComboBox comboBox);
+ public abstract void ComboBoxDrawBackground (ComboBox comboBox, Graphics g, Rectangle clippingArea, FlatStyle style);
+ public abstract bool CombBoxBackgroundHasHotElementStyle (ComboBox comboBox);
#endregion // ComboBox
#region Control
+ public abstract Font GetLinkFont (Control control);
#endregion // Control
#region Datagrid
public abstract int DataGridMinimumColumnCheckBoxWidth { get; }
// Default colours
- public abstract Color DataGridAlternatingBackColor { get; }
- public abstract Color DataGridBackColor { get; }
+ public abstract Color DataGridAlternatingBackColor { get; }
+ public abstract Color DataGridBackColor { get; }
public abstract Color DataGridBackgroundColor { get; }
public abstract Color DataGridCaptionBackColor { get; }
- public abstract Color DataGridCaptionForeColor { get; }
+ public abstract Color DataGridCaptionForeColor { get; }
public abstract Color DataGridGridLineColor { get; }
public abstract Color DataGridHeaderBackColor { get; }
public abstract Color DataGridHeaderForeColor { get; }
public abstract void DataGridPaint (PaintEventArgs pe, DataGrid grid);
public abstract void DataGridPaintCaption (Graphics g, Rectangle clip, DataGrid grid);
public abstract void DataGridPaintColumnHeaders (Graphics g, Rectangle clip, DataGrid grid);
+ public abstract void DataGridPaintColumnHeader (Graphics g, Rectangle bounds, DataGrid grid, int col);
public abstract void DataGridPaintRowContents (Graphics g, int row, Rectangle row_rect, bool is_newrow, Rectangle clip, DataGrid grid);
public abstract void DataGridPaintRowHeader (Graphics g, Rectangle bounds, int row, DataGrid grid);
public abstract void DataGridPaintRowHeaderArrow (Graphics g, Rectangle bounds, DataGrid grid);
+ public abstract void DataGridPaintRowHeaderStar (Graphics g, Rectangle bounds, DataGrid grid);
public abstract void DataGridPaintParentRows (Graphics g, Rectangle bounds, DataGrid grid);
public abstract void DataGridPaintParentRow (Graphics g, Rectangle bounds, DataGridDataSource row, DataGrid grid);
public abstract void DataGridPaintRows (Graphics g, Rectangle cells, Rectangle clip, DataGrid grid);
#endregion // Datagrid
- #region DateTimePicker
+#if NET_2_0
+ #region DataGridView
+ #region DataGridViewHeaderCell
+ #region DataGridViewRowHeaderCell
+ public abstract bool DataGridViewRowHeaderCellDrawBackground (DataGridViewRowHeaderCell cell, Graphics g, Rectangle bounds);
+ public abstract bool DataGridViewRowHeaderCellDrawSelectionBackground (DataGridViewRowHeaderCell cell);
+ public abstract bool DataGridViewRowHeaderCellDrawBorder (DataGridViewRowHeaderCell cell, Graphics g, Rectangle bounds);
+ #endregion
+ #region DataGridViewColumnHeaderCell
+ public abstract bool DataGridViewColumnHeaderCellDrawBackground (DataGridViewColumnHeaderCell cell, Graphics g, Rectangle bounds);
+ public abstract bool DataGridViewColumnHeaderCellDrawBorder (DataGridViewColumnHeaderCell cell, Graphics g, Rectangle bounds);
+ #endregion
+ public abstract bool DataGridViewHeaderCellHasPressedStyle (DataGridView dataGridView);
+ public abstract bool DataGridViewHeaderCellHasHotStyle (DataGridView dataGridView);
+ #endregion
+ #endregion
+#endif
+ #region DateTimePicker
public abstract void DrawDateTimePicker(Graphics dc, Rectangle clip_rectangle, DateTimePicker dtp);
-
+ public abstract bool DateTimePickerBorderHasHotElementStyle { get; }
+ public abstract Rectangle DateTimePickerGetDropDownButtonArea (DateTimePicker dateTimePicker);
+ public abstract Rectangle DateTimePickerGetDateArea (DateTimePicker dateTimePicker);
+ public abstract bool DateTimePickerDropDownButtonHasHotElementStyle { get; }
#endregion // DateTimePicker
#region GroupBox
public abstract Size HScrollBarDefaultSize{get;} // Default size of the scrollbar
#endregion // HScrollBar
- #region Label
- // Drawing
- public abstract void DrawLabel (Graphics dc, Rectangle clip_rectangle, Label label);
-
- // Sizing
- public abstract Size LabelDefaultSize{get;}
- #endregion // Label
-
- #region LinkLabel
- public abstract void DrawLinkLabel (Graphics dc, Rectangle clip_rectangle, LinkLabel label);
- #endregion // LinkLabel
-
#region ListBox
// Drawing
- public abstract void DrawListBoxItem (ListBox ctrl, DrawItemEventArgs e);
- #endregion // ListBox
+ public abstract void DrawListBoxItem (ListBox ctrl, DrawItemEventArgs e);
+ #endregion // ListBox
#region ListView
// Drawing
public abstract void DrawListViewItems (Graphics dc, Rectangle clip_rectangle, ListView control);
public abstract void DrawListViewHeader (Graphics dc, Rectangle clip_rectangle, ListView control);
public abstract void DrawListViewHeaderDragDetails (Graphics dc, ListView control, ColumnHeader drag_column, int target_x);
+ public abstract bool ListViewHasHotHeaderStyle { get; }
// Sizing
+ public abstract int ListViewGetHeaderHeight (ListView listView, Font font);
public abstract Size ListViewCheckBoxSize { get; }
public abstract int ListViewColumnHeaderHeight { get; }
public abstract int ListViewDefaultColumnWidth { get; }
public abstract int ListViewEmptyColumnWidth { get; }
public abstract int ListViewHorizontalSpacing { get; }
public abstract Size ListViewDefaultSize { get; }
+ public abstract int ListViewGroupHeight { get; }
+ public abstract int ListViewItemPaddingWidth { get; }
+ public abstract int ListViewTileWidthFactor { get; }
+ public abstract int ListViewTileHeightFactor { get; }
#endregion // ListView
#region Menus
public abstract int CalcMenuBarSize (Graphics dc, Menu menu, int width);
public abstract void DrawMenuBar (Graphics dc, Menu menu, Rectangle rect);
public abstract void DrawMenuItem (MenuItem item, DrawItemEventArgs e);
- public abstract void DrawPopupMenu (Graphics dc, Menu menu, Rectangle cliparea, Rectangle rect);
+ public abstract void DrawPopupMenu (Graphics dc, Menu menu, Rectangle cliparea, Rectangle rect);
#endregion // Menus
#region MonthCalendar
#region RadioButton
// Drawing
+#if NET_2_0
+ public abstract Size CalculateRadioButtonAutoSize (RadioButton rb);
+ public abstract void CalculateRadioButtonTextAndImageLayout (ButtonBase b, Point offset, out Rectangle glyphArea, out Rectangle textRectangle, out Rectangle imageRectangle);
+ public abstract void DrawRadioButton (Graphics g, RadioButton rb, Rectangle glyphArea, Rectangle textBounds, Rectangle imageBounds, Rectangle clipRectangle);
+#endif
public abstract void DrawRadioButton (Graphics dc, Rectangle clip_rectangle, RadioButton radio_button);
// Sizing
// Sizing
public abstract int ScrollBarButtonSize {get;} // Size of the scroll button
+
+ public abstract bool ScrollBarHasHotElementStyles { get; }
+
+ public abstract bool ScrollBarHasPressedThumbStyle { get; }
+
+ public abstract bool ScrollBarHasHoverArrowButtonStyle { get; }
#endregion // ScrollBar
#region StatusBar
#endregion // StatusBar
#region TabControl
- public abstract Size TabControlDefaultItemSize { get; }
- public abstract Point TabControlDefaultPadding { get; }
- public abstract int TabControlMinimumTabWidth { get; }
-
- public abstract Rectangle GetTabControlLeftScrollRect (TabControl tab);
- public abstract Rectangle GetTabControlRightScrollRect (TabControl tab);
- public abstract Rectangle GetTabControlDisplayRectangle (TabControl tab);
+ public abstract Size TabControlDefaultItemSize {get; }
+ public abstract Point TabControlDefaultPadding {get; }
+ public abstract int TabControlMinimumTabWidth {get; }
+ public abstract Rectangle TabControlSelectedDelta { get; }
+ public abstract int TabControlSelectedSpacing { get; }
+ public abstract int TabPanelOffsetX { get; }
+ public abstract int TabPanelOffsetY { get; }
+ public abstract int TabControlColSpacing { get; }
+ public abstract Point TabControlImagePadding { get; }
+ public abstract int TabControlScrollerWidth { get; }
+
+ public abstract Rectangle TabControlGetDisplayRectangle (TabControl tab);
+ public abstract Rectangle TabControlGetPanelRect (TabControl tab);
public abstract Size TabControlGetSpacing (TabControl tab);
public abstract void DrawTabControl (Graphics dc, Rectangle area, TabControl tab);
#endregion
+ #region TextBoxBase
+ public abstract void TextBoxBaseFillBackground (TextBoxBase textBoxBase, Graphics g, Rectangle clippingArea);
+ public abstract bool TextBoxBaseHandleWmNcPaint (TextBoxBase textBoxBase, ref Message m);
+ public abstract bool TextBoxBaseShouldPaintBackground (TextBoxBase textBoxBase);
+ #endregion
+
#region ToolBar
// Drawing
public abstract void DrawToolBar (Graphics dc, Rectangle clip_rectangle, ToolBar control);
public abstract int ToolBarDropDownArrowWidth { get; } // width for the dropdown arrow on the ToolBarButton
public abstract int ToolBarDropDownArrowHeight { get; } // height for the dropdown arrow on the ToolBarButton
public abstract Size ToolBarDefaultSize{get;}
- public abstract bool ToolBarInvalidateEntireButton { get; }
+
+ public abstract bool ToolBarHasHotElementStyles (ToolBar toolBar);
+ public abstract bool ToolBarHasHotCheckedElementStyles { get; }
#endregion // ToolBar
#region ToolTip
public abstract void DrawToolTip(Graphics dc, Rectangle clip_rectangle, ToolTip.ToolTipWindow control);
public abstract Size ToolTipSize(ToolTip.ToolTipWindow tt, string text);
- #endregion // ToolTip
+ public abstract bool ToolTipTransparentBackground { get; }
+ #endregion // ToolTip
+ #region BalloonWindow
+#if NET_2_0
+ public abstract void ShowBalloonWindow (IntPtr handle, int timeout, string title, string text, ToolTipIcon icon);
+ public abstract void HideBalloonWindow (IntPtr handle);
+ public abstract void DrawBalloonWindow (Graphics dc, Rectangle clip, NotifyIcon.BalloonWindow control);
+ public abstract Rectangle BalloonWindowRect (NotifyIcon.BalloonWindow control);
+#endif
+ #endregion // BalloonWindow
#region TrackBar
// Drawing
// Sizing
public abstract Size TrackBarDefaultSize{get; } // Default size for the TrackBar control
+
+ public abstract int TrackBarValueFromMousePosition (int x, int y, TrackBar tb);
+
+ public abstract bool TrackBarHasHotThumbStyle { get; }
#endregion // TrackBar
+ #region UpDownBase
+ public abstract void UpDownBaseDrawButton (Graphics g, Rectangle bounds, bool top, VisualStyles.PushButtonState state);
+ public abstract bool UpDownBaseHasHotButtonStyle { get; }
+ #endregion
+
#region VScrollBar
public abstract Size VScrollBarDefaultSize{get;} // Default size of the scrollbar
#endregion // VScrollBar
#region TreeView
public abstract Size TreeViewDefaultSize { get; }
+ public abstract void TreeViewDrawNodePlusMinus (TreeView treeView, TreeNode node, Graphics dc, int x, int middle);
#endregion
- public virtual void DrawManagedWindowDecorations (Graphics dc, Rectangle clip, InternalWindowManager wm)
- {
- // Just making virtual for now so all the themes still build.
- }
-
- public virtual int ManagedWindowTitleBarHeight (InternalWindowManager wm)
- {
- // Just making virtual for now so all the themes still build.
- return 15;
- }
-
- public virtual int ManagedWindowBorderWidth (InternalWindowManager wm)
- {
- // Just making virtual for now so all the themes still build.
- return 3;
- }
-
- public virtual int ManagedWindowIconWidth (InternalWindowManager wm)
- {
- // Just making virtual for now so all the themes still build.
- return ManagedWindowTitleBarHeight (wm) - 5;
- }
-
- public virtual Size ManagedWindowButtonSize (InternalWindowManager wm)
- {
- // Just making virtual for now so all the themes still build.
- return new Size (10, 10);
- }
-
- public virtual void ManagedWindowSetButtonLocations (InternalWindowManager wm)
- {
- // Just making virtual for now so all the themes still build.
- }
+ #region Managed window
+ public abstract void DrawManagedWindowDecorations (Graphics dc, Rectangle clip, InternalWindowManager wm);
+ public abstract int ManagedWindowTitleBarHeight (InternalWindowManager wm);
+ public abstract int ManagedWindowBorderWidth (InternalWindowManager wm);
+ public abstract int ManagedWindowIconWidth (InternalWindowManager wm);
+ public abstract Size ManagedWindowButtonSize (InternalWindowManager wm);
+ public abstract void ManagedWindowSetButtonLocations (InternalWindowManager wm);
+ public abstract Rectangle ManagedWindowGetTitleBarIconArea (InternalWindowManager wm);
+ public abstract Size ManagedWindowGetMenuButtonSize (InternalWindowManager wm);
+ public abstract bool ManagedWindowTitleButtonHasHotElementStyle (TitleButton button, Form form);
+ public abstract void ManagedWindowDrawMenuButton (Graphics dc, TitleButton button, Rectangle clip, InternalWindowManager wm);
+ public abstract void ManagedWindowOnSizeInitializedOrChanged (Form form);
+ public const int ManagedWindowSpacingAfterLastTitleButton = 2;
+ #endregion
#region ControlPaint Methods
public abstract void CPDrawBorder (Graphics graphics, Rectangle bounds, Color leftColor, int leftWidth,
Color rightColor, int rightWidth, ButtonBorderStyle rightStyle, Color bottomColor,
int bottomWidth, ButtonBorderStyle bottomStyle);
+ public abstract void CPDrawBorder (Graphics graphics, RectangleF bounds, Color leftColor, int leftWidth,
+ ButtonBorderStyle leftStyle, Color topColor, int topWidth, ButtonBorderStyle topStyle,
+ Color rightColor, int rightWidth, ButtonBorderStyle rightStyle, Color bottomColor,
+ int bottomWidth, ButtonBorderStyle bottomStyle);
+
public abstract void CPDrawBorder3D (Graphics graphics, Rectangle rectangle, Border3DStyle style, Border3DSide sides);
+ public abstract void CPDrawBorder3D (Graphics graphics, Rectangle rectangle, Border3DStyle style, Border3DSide sides, Color control_color);
public abstract void CPDrawButton (Graphics graphics, Rectangle rectangle, ButtonState state);
public abstract void CPDrawCaptionButton (Graphics graphics, Rectangle rectangle, CaptionButton button, ButtonState state);
public abstract void CPDrawCheckBox (Graphics graphics, Rectangle rectangle, ButtonState state);
public abstract void CPDrawGrid (Graphics graphics, Rectangle area, Size pixelsBetweenDots, Color backColor);
public abstract void CPDrawImageDisabled (Graphics graphics, Image image, int x, int y, Color background);
public abstract void CPDrawLockedFrame (Graphics graphics, Rectangle rectangle, bool primary);
- public abstract void CPDrawMenuGlyph (Graphics graphics, Rectangle rectangle, MenuGlyph glyph, Color color);
+ public abstract void CPDrawMenuGlyph (Graphics graphics, Rectangle rectangle, MenuGlyph glyph, Color color, Color backColor);
+ public abstract void CPDrawMixedCheckBox (Graphics graphics, Rectangle rectangle, ButtonState state);
public abstract void CPDrawRadioButton (Graphics graphics, Rectangle rectangle, ButtonState state);
public abstract void CPDrawReversibleFrame (Rectangle rectangle, Color backColor, FrameStyle style);
public abstract void CPDrawReversibleLine (Point start, Point end, Color backColor);
public abstract void CPDrawSizeGrip (Graphics graphics, Color backColor, Rectangle bounds);
public abstract void CPDrawStringDisabled (Graphics graphics, string s, Font font, Color color, RectangleF layoutRectangle,
StringFormat format);
+#if NET_2_0
+ public abstract void CPDrawStringDisabled (IDeviceContext dc, string s, Font font, Color color, Rectangle layoutRectangle, TextFormatFlags format);
+ public abstract void CPDrawVisualStyleBorder (Graphics graphics, Rectangle bounds);
+#endif
public abstract void CPDrawBorderStyle (Graphics dc, Rectangle area, BorderStyle border_style);
#endregion // ControlPaint Methods
}