diff options
4 files changed, 17 insertions, 18 deletions
diff --git a/external/api-snapshot b/external/api-snapshot -Subproject 5f6d34ae3f35a3063f6084845fcdbd80393b3e1 +Subproject 5b8247e289d17cef9ff645e21d896ea75bfe632 diff --git a/mcs/class/System.Windows.Forms/System.Windows.Forms/Control.cs b/mcs/class/System.Windows.Forms/System.Windows.Forms/Control.cs index d85c52dff6e..53f489d751b 100644 --- a/mcs/class/System.Windows.Forms/System.Windows.Forms/Control.cs +++ b/mcs/class/System.Windows.Forms/System.Windows.Forms/Control.cs @@ -1406,8 +1406,7 @@ namespace System.Windows.Forms if (background_image == null) { if (!tbstyle_flat) { Rectangle paintRect = pevent.ClipRectangle; - Brush pen = ThemeEngine.Current.ResPool.GetSolidBrush(BackColor); - pevent.Graphics.FillRectangle(pen, paintRect); + pevent.Graphics.FillRectangle(BackColorBrush, paintRect); } return; } @@ -1417,8 +1416,8 @@ namespace System.Windows.Forms void DrawBackgroundImage (Graphics g) { Rectangle drawing_rectangle = new Rectangle (); - g.FillRectangle (ThemeEngine.Current.ResPool.GetSolidBrush (BackColor), ClientRectangle); - + g.FillRectangle (BackColorBrush, ClientRectangle); + switch (backgroundimage_layout) { case ImageLayout.Tile: @@ -3469,6 +3468,8 @@ namespace System.Windows.Forms } } + protected SolidBrush BackColorBrush => ThemeEngine.Current.ResPool.GetSolidBrush (BackColor); + #endregion // Protected Instance Properties #region Public Static Methods diff --git a/mcs/class/System.Windows.Forms/System.Windows.Forms/ControlPaint.cs b/mcs/class/System.Windows.Forms/System.Windows.Forms/ControlPaint.cs index 4004c1ec8ec..5a933f1dc10 100644 --- a/mcs/class/System.Windows.Forms/System.Windows.Forms/ControlPaint.cs +++ b/mcs/class/System.Windows.Forms/System.Windows.Forms/ControlPaint.cs @@ -370,11 +370,11 @@ namespace System.Windows.Forms { ThemeEngine.Current.CPDrawContainerGrabHandle (graphics, bounds); } - public static void DrawFocusRectangle( Graphics graphics, Rectangle rectangle) { + public static void DrawFocusRectangle(Graphics graphics, Rectangle rectangle) { DrawFocusRectangle(graphics, rectangle, SystemColors.Control, SystemColors.ControlText); } - public static void DrawFocusRectangle( Graphics graphics, Rectangle rectangle, Color foreColor, Color backColor) { + public static void DrawFocusRectangle(Graphics graphics, Rectangle rectangle, Color foreColor, Color backColor) { ThemeEngine.Current.CPDrawFocusRectangle (graphics, rectangle, foreColor, backColor); } diff --git a/mcs/class/System.Windows.Forms/System.Windows.Forms/TreeView.cs b/mcs/class/System.Windows.Forms/System.Windows.Forms/TreeView.cs index 74d77f5f80f..a66f82ccc36 100644 --- a/mcs/class/System.Windows.Forms/System.Windows.Forms/TreeView.cs +++ b/mcs/class/System.Windows.Forms/System.Windows.Forms/TreeView.cs @@ -1419,7 +1419,7 @@ namespace System.Windows.Forms { private void Draw (Rectangle clip, Graphics dc) { - dc.FillRectangle (ThemeEngine.Current.ResPool.GetSolidBrush (BackColor), clip); + dc.FillRectangle (BackColorBrush, clip); if (dash == null) CreateDashPen (); @@ -1670,7 +1670,6 @@ namespace System.Windows.Forms { { if (!full_row_select || show_lines) DrawSelectionAndFocus(node, dc, node.Bounds); - Font font = node.NodeFont; if (node.NodeFont == null) @@ -1691,7 +1690,7 @@ namespace System.Windows.Forms { int middle = y + (ActualItemHeight / 2); if (full_row_select && !show_lines) { - Rectangle r = new Rectangle (1, y, ViewportRectangle.Width - 2, ActualItemHeight); + var r = new Rectangle (1, y, ViewportRectangle.Width - 2, ActualItemHeight); DrawSelectionAndFocus (node, dc, r); } @@ -1716,26 +1715,25 @@ namespace System.Windows.Forms { } if (draw_mode != TreeViewDrawMode.Normal) { - dc.FillRectangle (Brushes.White, node.Bounds); - TreeNodeStates tree_node_state = TreeNodeStates.Default;; + dc.FillRectangle (BackColorBrush, node.Bounds); + + var tree_node_state = TreeNodeStates.Default;; if (node.IsSelected) tree_node_state = TreeNodeStates.Selected; if (node.Checked) tree_node_state |= TreeNodeStates.Checked; if (node == focused_node) tree_node_state |= TreeNodeStates.Focused; - Rectangle node_bounds = node.Bounds; - if (draw_mode == TreeViewDrawMode.OwnerDrawText) { - node_bounds.X += 3; - node_bounds.Y += 1; - } else { + + var node_bounds = node.Bounds; + if (draw_mode != TreeViewDrawMode.OwnerDrawText) { node_bounds.X = 0; node_bounds.Width = Width; } - DrawTreeNodeEventArgs e = new DrawTreeNodeEventArgs (dc, node, node_bounds, tree_node_state); + var e = new DrawTreeNodeEventArgs (dc, node, node_bounds, tree_node_state); - OnDrawNode (e); + OnDrawNode (e); if (!e.DrawDefault) return; } |