public void PaintHeaderBackground() { Graphics g = Graphics; Rectangle r = ClientBounds; Color color = BackColor; Color startColor = ColorConverter.AlphaBlendColor(Color.White, color, 100); if (IsTransparent) { color = ColorConverter.AlphaColor(color, 200); startColor = ColorConverter.AlphaColor(startColor, 150); using (GraphicsPlus gp = new GraphicsPlus(g)) { PointF p1 = new PointF(r.X, r.Y); PointF p2 = new PointF(r.X, r.Bottom); using (LinearGradientBrush backGround = new LinearGradientBrush(p1, p2, startColor, color)) { gp.FillRectangle(backGround, r); } } } else { GdiExt.GradientFill(g, r, startColor, color, GdiExt.FillDirection.TopToBottom); } }
protected override void PaintButtonBackground(FluidPaintEventArgs e) { Rectangle r = e.ControlBounds; r.Width--; r.Height--; Graphics g = e.Graphics; Color darkColor = BackColor; Color lightColor = ColorConverter.AlphaBlendColor(darkColor, Color.White, 48); if (!Enabled) { darkColor = ColorConverter.AlphaBlendColor(Color.Black, darkColor, 128); lightColor = ColorConverter.AlphaBlendColor(Color.Black, lightColor, 128); } Color beginColor = IsDown ? darkColor : lightColor; Color endColor = IsDown ? lightColor : darkColor; GdiExt.GradientFill(e.Graphics, r, beginColor, endColor, Fluid.Drawing.GdiPlus.GdiExt.FillDirection.TopToBottom); Pen pen = Pens.GetPen(lightColor); e.Graphics.DrawRectangle(pen, r); PerformPaintButtonContent(e); }
/// <summary> /// Paints a background with a gradient. /// </summary> /// <param name="e"></param> /// <param name="alpha">the alpha value between white and the background color for the starting gradiant color.</param> /// <param name="gradientHeight">the height of the gradient until solid color.</param> public void PaintGradientBackground(FluidPaintEventArgs e, int alpha, int gradientHeight) { Graphics g = e.Graphics; Rectangle r = e.ControlBounds; Color color = BackColor; Color startColor = ColorConverter.AlphaBlendColor(Color.White, color, alpha); Rectangle gr = r; gr.Height = gradientHeight; GdiExt.GradientFill(g, gr, startColor, color, GdiExt.FillDirection.TopToBottom); if (gr.Height < r.Height) { gr.Y = r.Top + gradientHeight; gr.Height = r.Height - gradientHeight; using (SolidBrush brush = new SolidBrush(BackColor)) { g.FillRectangle(brush, gr); } } r.Width--; r.Height--; using (Pen pen = new Pen(color)) { g.DrawRectangle(pen, r); } }
public DefaultTheme() { //Buttons this.ButtonsGradianted = true; this.ButtonsBackColor = Color.SlateGray; this.ButtonsForeColor = Color.White; this.ButtonsBackColor = Color.White; this.ButtonsButtonBackColor = Color.Black; this.ItemButtonColor = Color.SlateGray; this.SettingsButtonBackColor = Color.Orange; this.SettingsButtonForeColor = Color.Black; //List this.ListBackColor = Color.White; this.ListBorderColor = Color.Silver; this.ListForeColor = Color.Black; this.ListHeaderBackColor = Color.LightSteelBlue; this.ListSecondaryForeColor = Color.FromArgb(100, 100, 100); this.ListSecondarySelectedForeColor = ColorConverter.AlphaBlendColor(Color.Black, Color.DarkOrange, 160); this.ListSelectedBackColor = Color.Orange; this.ListSelectedForeColor = Color.Black; //Tabs this.TabHeaderButtonForeColor = Color.White; this.TabHeaderBackColor = Color.SlateGray; //Scrolls this.ScrollbarBorderColor = Color.Silver; this.ScrollbarColor = Color.Black; //Other this.GrayTextColor = Color.Gray; //Header this.HeaderBackColor = Color.Black; this.HeaderForeColor = Color.White; this.HeaderBackButtonBackColor = Color.Gray; this.HeaderBackButtonForeColor = Color.White; this.HeaderSecondaryButtonBackColor = Color.FromArgb(32, 32, 32); this.HeaderGradianted = true; this.LogoutButtonBackColor = Color.Maroon; //Fonts this.HeaderFont = new Font("Tahoma", 8, FontStyle.Bold); this.ButtonFont = new Font("Tahoma", 8, FontStyle.Bold); this.ListPrimaryFont = new Font(FontFamily.GenericSansSerif, 10f, FontStyle.Bold); this.ListSecondaryFont = new Font(FontFamily.GenericSansSerif, 7f, FontStyle.Regular); this.ModalFont = new Font("Tahoma", 8, FontStyle.Bold); //Panels this.PanelBackColor = Color.FromArgb(33, 124, 197); this.PanelGradinated = true; }
public BlackWhiteTheme() { //Buttons this.ButtonsGradianted = false; this.ButtonsBackColor = Color.SlateGray; this.ButtonsForeColor = Color.White; this.ButtonsBackColor = Color.White; this.ButtonsButtonBackColor = Color.Black; this.ItemButtonColor = Color.SlateGray; this.SettingsButtonBackColor = Color.Black; this.SettingsButtonForeColor = Color.White; //List this.ListBackColor = Color.White; this.ListBorderColor = Color.FromArgb(233, 244, 255); this.ListForeColor = Color.FromArgb(32, 32, 32); this.ListHeaderBackColor = Color.Gray; this.ListSecondaryForeColor = Color.FromArgb(100, 100, 100); this.ListSecondarySelectedForeColor = ColorConverter.AlphaBlendColor(Color.Black, Color.LightGoldenrodYellow, 160); this.ListSelectedBackColor = Color.FromArgb(200, 200, 200); this.ListSelectedForeColor = Color.Black; //Tabs this.TabHeaderButtonForeColor = Color.White; this.TabHeaderBackColor = Color.SlateGray; //Scrolls this.ScrollbarBorderColor = Color.Silver; this.ScrollbarColor = Color.Black; //Other this.GrayTextColor = Color.Gray; //Header this.HeaderBackColor = Color.FromArgb(20, 20, 20); this.HeaderForeColor = Color.White; this.HeaderBackButtonBackColor = Color.FromArgb(210, 210, 210); this.HeaderBackButtonForeColor = Color.Black; this.HeaderSecondaryButtonBackColor = Color.FromArgb(230, 230, 230); this.HeaderGradianted = false; this.LogoutButtonBackColor = Color.FromArgb(130, 0, 0); //Fonts this.HeaderFont = new Font("Tahoma", 8, FontStyle.Bold); this.ButtonFont = new Font("Tahoma", 8, FontStyle.Bold); this.ListPrimaryFont = new Font(FontFamily.GenericSansSerif, 9f, FontStyle.Bold); this.ListSecondaryFont = new Font(FontFamily.GenericSansSerif, 7f, FontStyle.Regular); this.ModalFont = new Font("Tahoma", 8, FontStyle.Bold); //Panels this.PanelBackColor = Color.FromArgb(233, 244, 255); this.PanelGradinated = true; }
protected virtual void PaintButtonBackground(FluidPaintEventArgs e) { const int const_radius = 8; if (this.shape != ButtonShape.Flat || IsDown) { Rectangle rect = ButtonRectangle; rect.Width--; rect.Height--; if (rect.Width < 1 || rect.Height < 1) { return; } rect.Offset(e.ControlBounds.X, e.ControlBounds.Y); Graphics g = e.Graphics; int radius = e.ScaleX(const_radius); if (radius > rect.Width / 2) { radius = rect.Width / 2; } Color endColor = this.BackColor; if (!Enabled) { endColor = ColorConverter.AlphaBlendColor(Color.Black, endColor, 128); } int alpha = Enabled ? 127 : 32; Color startColor = ColorConverter.AlphaBlendColor(endColor, Color.White, alpha); //Color.FromArgb(0x7fffffff); Color borderColor = ColorConverter.AlphaBlendColor(endColor, Color.White, 100); GraphicShape shape = ButtonShapeToGraphic(this.shape); using (GraphicsPlus gp = new GraphicsPlus(g)) { GraphicsPlus.GradientMode mode = IsDown ? GraphicsPlus.GradientMode.Bottom : GraphicsPlus.GradientMode.Top; gp.GradientFillShape(rect, radius, startColor, endColor, mode, shape, corners); using (PenPlus pen = new PenPlus(borderColor, (float)1)) { gp.DrawShape(rect, radius, pen, shape, corners); } } } PerformPaintButtonContent(e); }
protected void PaintDefaultContent(FluidPaintEventArgs e) { Rectangle rect = ButtonRectangle; Color endColor = this.BackColor; Graphics g = e.Graphics; rect.Offset(e.ControlBounds.X, e.ControlBounds.Y); Color textColor = ForeColor; if (IsDown) { textColor = pressedForeColor.IsEmpty ? ColorConverter.AlphaBlendColor(endColor, textColor, 200) : pressedForeColor; } if (!Enabled) { textColor = ColorConverter.AlphaBlendColor(endColor, textColor, 32); } Brush foreBrush = Brushes.GetBrush(textColor); StringFormat sf = this.stringFormat; Rectangle r = rect; r.Inflate(e.ScaleX(-3), e.ScaleY(2)); RectangleF rf = new RectangleF(r.Left, r.Top, r.Width, r.Height); if (IsDown) { rf.X++; rf.Y++; } rf.X += (float)ScaleX(TextOffset.X); rf.Y += (float)ScaleY(TextOffset.Y); g.DrawString(Text, Font, foreBrush, rf, sf); if (Image != null) { int imW = ScaleX(Image.Width); int imH = ScaleY(Image.Height); int w = Math.Min(imW, rect.Width); int h = Math.Min(imH, rect.Height); rect.Y += (rect.Height - h) / 2; rect.X += (rect.Width - h) / 2; rect.Width = w; rect.Height = h; ImageAttributes ia = new ImageAttributes(); ia.SetColorKey(Color.Fuchsia, Color.Fuchsia); if (rect.Width > w) { rect.X += (rect.Width - w) / 2; rect.Width = w; } if (rect.Height > h) { rect.X += (rect.Height - h) / 2; rect.Height = h; } if (IsDown) { rect.X++; rect.Y++; } g.DrawImage(Image, rect, 0, 0, Image.Width, Image.Height, GraphicsUnit.Pixel, ia); // g.DrawImage(Image, rect, new Rectangle(0, 0, imW, imH), GraphicsUnit.Pixel); } }