/// <summary> /// SidePanel on paint method /// </summary> private void OnPaint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; g.SmoothingMode = SmoothingMode.AntiAlias; g.Clear(tintColor); // Variables Point mouse = PointToClient(Cursor.Position); int distanceToCenterX = (sidePanel.Width / 2) - mouse.X; int distanceToCenterY = (sidePanel.Height / 2) - mouse.Y; int incX = (distanceToCenterX / 50); int incY = (distanceToCenterY / 30); int bWidth = 350; int bHeight = 300; int bX = (sidePanel.Width / 2) - (bWidth / 2); int bY = (sidePanel.Height / 2) - (bHeight / 2); // Draw ears DrawCircle(g, Brushes.White, new Point(bX + 30 + incX, bY + 65 + incY), 50 - (distanceToCenterX / 120)); DrawCircle(g, Brushes.White, new Point(bX + bWidth - 30 + incX, bY + 65 + incY), 50 + (distanceToCenterX / 120)); // Draw head g.FillEllipse(Brushes.White, new Rectangle(bX, bY, bWidth, bHeight)); g.FillRectangle(Brushes.White, new Rectangle(bX, bY + (bHeight / 2), bWidth, (this.Height / 2))); // Draw eyes DrawCircle(g, new SolidBrush(new Hex("#383838").ToColor()), new Point(bX + bWidth / 2 - 25 - incX, bY + 60 - incY), 8 - (distanceToCenterX / 650)); DrawCircle(g, new SolidBrush(new Hex("#383838").ToColor()), new Point(bX + bWidth / 2 + 25 - incX, bY + 60 - incY), 8 + (distanceToCenterX / 650)); // Draw muzzle SolidBrush brush = new SolidBrush(MColor.Lighten(210, tintColor, Color.White)); DrawCircle(g, brush, new Point(bX + bWidth / 2 - (distanceToCenterX / 20), bY + 150 - incY), 65); g.FillRectangle(brush, new Rectangle(bX + bWidth / 2 - 65 - (distanceToCenterX / 20), bY + 150 - incY, 130, 50)); DrawCircle(g, brush, new Point(bX + bWidth / 2 - (distanceToCenterX / 20), bY + 50 + 150 - incY), 65); // Draw mouth Pen pen = new Pen(new Hex("#383838").ToColor(), 4); g.DrawLine(pen, new Point(bX + bWidth / 2 - 10 - (distanceToCenterX / 15), bY + 225 - (distanceToCenterY / 15)), new Point(bX + bWidth / 2 + 10 - (distanceToCenterX / 15), bY + 225 - (distanceToCenterY / 15))); // Draw nose DrawCircle(g, new SolidBrush(new Hex("#383838").ToColor()), new Point(bX + bWidth / 2 - (distanceToCenterX / 15), bY + 150 - (distanceToCenterY / 15)), 45); DrawCircle(g, Brushes.White, new Point(bX + bWidth / 2 - (distanceToCenterX / 15) - 20, bY + 150 - (distanceToCenterY / 15) - 20), 10); // Draw slogan g.TextRenderingHint = TextRenderingHint.AntiAlias; g.DrawString("Bear strong protection!", new Font("Segoe UI Light", 48, FontStyle.Regular, GraphicsUnit.Pixel), Brushes.White, new Point(bX - 80, 50)); }
/// <summary> /// Draw method /// </summary> /// <param name="e"></param> protected override void OnPaint(PaintEventArgs e) { // Base painting base.OnPaint(e); // Handles control's source theme // Check if control has set own theme if (_usedTheme != null) { // Set custom theme as source theme _sourceTheme = _usedTheme; } else { // Control don't have its own theme // Try cast control's parent form to MForm try { MForm form = (MForm)FindForm(); _sourceTheme = form.UsedTheme; } catch { // Control's parent form is not MForm type // Set application wide theme _sourceTheme = Minimal.UsedTheme; } } // Graphics Graphics g = e.Graphics; // Clear control g.Clear(Parent.BackColor); // Draw raised button if (_buttonType == ButtonType.Raised) { // Fill color Color fill = new Color(); // Button is filled with his Tint color if (_fullColored) { if (Enabled) { fill = MColor.AddRGB((_sourceTheme.DARK_BASED) ? +(_hoverAlpha / 15) : -(_hoverAlpha / 15), _tint); } else { fill = _sourceTheme.CONTROL_FILL.Disabled.ToColor(); } g.FillRectangle(new SolidBrush(fill), ClientRectangle); } else { // Regular raised button fill = MColor.Mix(Color.FromArgb(_hoverAlpha, _sourceTheme.CONTROL_FILL.Hover.ToColor()), _sourceTheme.CONTROL_FILL.Normal.ToColor()); // Disabled if (!Enabled) { fill = _sourceTheme.CONTROL_FILL.Disabled.ToColor(); } g.FillRectangle(new SolidBrush(fill), ClientRectangle); } // Click effect DrawClick(e); // Focus rectangle if (Focused || _tintAlpha > 0) { Rectangle rc = new Rectangle(Location.X, Location.Y, Width, Height); Color frameColor = MColor.Mix(Color.FromArgb(_tintAlpha, Enabled ? _tint : fill), fill); Pen framePen = new Pen(frameColor); Rectangle frameRectangle = new Rectangle(0, 0, rc.Width - 1, rc.Height - 1); g.DrawRectangle(framePen, frameRectangle); } // Text DrawText(e); } if (_buttonType == ButtonType.Outline) { // Fill color Color fill = new Color(); Color border = new Color(); // Button is filled with his Tint color if (_fullColored) { // Fullcolored outlined button fill = MColor.Mix(Color.FromArgb(_hoverAlpha, MColor.Lighten(220, _tint, Parent.BackColor)), Parent.BackColor); border = (Enabled) ? _tint : _sourceTheme.CONTROL_FILL.Disabled.ToColor(); // Disabled if (!Enabled) { fill = Parent.BackColor; } Rectangle r = ClientRectangle; g.FillRectangle(new SolidBrush(fill), r); g.DrawRectangle(new Pen(border), new Rectangle(r.X, r.Y, r.Width - 1, r.Height - 1)); } else { // Fullcolored outlined button fill = MColor.Mix(Color.FromArgb(_hoverAlpha, MColor.Lighten(220, _sourceTheme.CONTROL_BORDER.Normal.ToColor(), Parent.BackColor)), Parent.BackColor); border = (Enabled) ? _sourceTheme.CONTROL_FILL.Normal.ToColor() : _sourceTheme.CONTROL_FILL.Disabled.ToColor(); // Disabled if (!Enabled) { fill = Parent.BackColor; } Rectangle r = ClientRectangle; g.FillRectangle(new SolidBrush(fill), r); g.DrawRectangle(new Pen(border), new Rectangle(r.X, r.Y, r.Width - 1, r.Height - 1)); } // Click effect DrawClick(e); // Text DrawText(e); } if (_buttonType == ButtonType.Flat) { // Fill color Color fill = new Color(); // Button is filled with his Tint color if (_fullColored) { // Fullcolored outlined button fill = MColor.Mix(Color.FromArgb(_hoverAlpha, MColor.Lighten(220, _tint, Parent.BackColor)), Parent.BackColor); // Disabled if (!Enabled) { fill = Parent.BackColor; } Rectangle r = ClientRectangle; g.FillRectangle(new SolidBrush(fill), r); } else { // Fullcolored outlined button fill = MColor.Mix(Color.FromArgb(_hoverAlpha, MColor.Lighten(160, _sourceTheme.CONTROL_BORDER.Normal.ToColor(), Parent.BackColor)), Parent.BackColor); // Disabled if (!Enabled) { fill = Parent.BackColor; } Rectangle r = ClientRectangle; g.FillRectangle(new SolidBrush(fill), r); } // Click effect DrawClick(e); // Text DrawText(e); } }
/// <summary> /// Draw method /// </summary> /// <param name="e"></param> protected override void OnPaint(PaintEventArgs e) { // Base painting base.OnPaint(e); Graphics g = e.Graphics; DIP.GetGraphics(g); // Handles control's source theme // Check if control has set own theme if (Owner.UsedTheme != null) { // Set custom theme as source theme _sourceTheme = Owner.UsedTheme; } else { // Control dont have its own theme // Try cast control's parent form to MForm try { MForm form = (MForm)FindForm(); _sourceTheme = form.UsedTheme; } catch { // Control's parent form is not MForm type // Set application wide theme _sourceTheme = Minimal.UsedTheme; } } // Draw item background Color fill = (Owner.MenuItem == this) ? _sourceTheme.WINDOW_CAPTIONBAR.Normal.ToColor() : MColor.Mix(Color.FromArgb(_hoverAlpha, MColor.Lighten(230, _tint, _sourceTheme.WINDOW_CAPTIONBAR.Normal.ToColor())), _sourceTheme.WINDOW_CAPTIONBAR.Normal.ToColor()); g.FillRectangle(new SolidBrush(fill), new Rectangle(0, 0, Width, Height)); if (FullColored) { g.FillRectangle(new SolidBrush(MColor.Mix(Color.FromArgb(_hoverAlpha, MColor.AddRGB((_sourceTheme.DARK_BASED) ? +(_hoverAlpha / 15) : -(_hoverAlpha / 15), _tint)), _tint)), new Rectangle(0, 0, Owner.MenuItem.Height, Owner.MenuItem.Height)); } // Click effect DrawClick(e); // Icon mode if (_icon != null && !_fullColored) { if (_sourceTheme.DARK_BASED) { _icon.DarkBased = true; } else { _icon.DarkBased = false; } } // Draw Icon if (_icon != null) { g.InterpolationMode = InterpolationMode.NearestNeighbor; if (Owner.SelectedItem == this) { Image img = MColor.SetImageColor(_icon.Icon, _tint); g.DrawImage(MColor.SetImageOpacity(img, 1f), 16, 16, 32, 32); } else { g.DrawImage(MColor.SetImageOpacity(_icon.Icon, 1f), 16, 16, 32, 32); } } else { // Icon rect g.DrawRectangle(new Pen(_sourceTheme.CONTROL_FOREGROUND.Normal.ToColor()), new Rectangle(20, 20, 20, 20)); } // Draw text SolidBrush brush = (Owner.SelectedItem == this) ? new SolidBrush(_tint) : (_fullColored) ? new SolidBrush(ForeColor) : new SolidBrush(_sourceTheme.CONTROL_FOREGROUND.Normal.ToColor()); g.DrawString(Text, Font, brush, new Rectangle(65, (Height / 2) - (Font.Height / 2), Width, Height)); }