+
+ CPDrawBorder3D (dc, button.Rectangle, style, all_sides);
+ }
+
+ void DrawToolBarSeparator (Graphics dc, ToolBarButton button)
+ {
+ Rectangle area = button.Rectangle;
+ int offset = (int) ResPool.GetPen (ColorControl).Width + 1;
+ dc.DrawLine (ResPool.GetPen (ColorControlDark), area.X + 1, area.Y, area.X + 1, area.Bottom);
+ dc.DrawLine (ResPool.GetPen (ColorControlLight), area.X + offset, area.Y, area.X + offset, area.Bottom);
+ }
+
+ void DrawToolBarToggleButtonBackground (Graphics dc, ToolBarButton button)
+ {
+ Rectangle area = button.Rectangle;
+ area.X += ToolBarImageGripWidth;
+ area.Y += ToolBarImageGripWidth;
+ area.Width -= 2 * ToolBarImageGripWidth;
+ area.Height -= 2 * ToolBarImageGripWidth;
+
+ if (button.Pushed)
+ dc.FillRectangle (SystemBrushes.ControlLightLight, area);
+ else if (button.PartialPush)
+ dc.FillRectangle (SystemBrushes.ControlLight, area);
+ else
+ dc.FillRectangle (SystemBrushes.Control, area);
+ }
+
+ void DrawToolBarDropDownArrow (Graphics dc, ToolBarButton button, bool is_flat)
+ {
+ Rectangle rect = button.Rectangle;
+ rect.X = button.Rectangle.Right - ToolBarDropDownWidth;
+ rect.Width = ToolBarDropDownWidth;
+
+ if (button.dd_pressed) {
+ CPDrawBorder3D (dc, rect, Border3DStyle.SunkenOuter, all_sides);
+ CPDrawBorder3D (dc, rect, Border3DStyle.SunkenInner, Border3DSide.Bottom | Border3DSide.Right);
+ } else if (button.Pushed || button.Pressed)
+ CPDrawBorder3D (dc, rect, Border3DStyle.Sunken, all_sides);
+ else if (is_flat) {
+ if (button.Hilight)
+ CPDrawBorder3D (dc, rect, Border3DStyle.RaisedOuter, all_sides);
+ } else
+ CPDrawBorder3D (dc, rect, Border3DStyle.Raised, all_sides);
+
+ PointF [] vertices = new PointF [3];
+ PointF ddCenter = new PointF (rect.X + (rect.Width/2.0f), rect.Y + (rect.Height/2.0f));
+ vertices [0].X = ddCenter.X - ToolBarDropDownArrowWidth / 2.0f + 0.5f;
+ vertices [0].Y = ddCenter.Y;
+ vertices [1].X = ddCenter.X + ToolBarDropDownArrowWidth / 2.0f + 0.5f;
+ vertices [1].Y = ddCenter.Y;
+ vertices [2].X = ddCenter.X + 0.5f; // 0.5 is added for adjustment
+ vertices [2].Y = ddCenter.Y + ToolBarDropDownArrowHeight;
+ dc.FillPolygon (SystemBrushes.ControlText, vertices);
+ }
+
+ void DrawToolBarButtonContents (Graphics dc, ToolBar control, ToolBarButton button, StringFormat format)
+ {
+ if (button.Image != null) {
+ int x = button.ImageRectangle.X + ToolBarImageGripWidth;
+ int y = button.ImageRectangle.Y + ToolBarImageGripWidth;
+ if (button.Enabled)
+ dc.DrawImage (button.Image, x, y);
+ else
+ CPDrawImageDisabled (dc, button.Image, x, y, ColorControl);
+ }
+
+ if (button.Enabled)
+ dc.DrawString (button.Text, control.Font, ResPool.GetSolidBrush (ColorControlText), button.TextRectangle, format);
+ else
+ CPDrawStringDisabled (dc, button.Text, control.Font, ColorControlLight, button.TextRectangle, format);