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);
            }
        }
Example #2
0
        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);
        }
Example #3
0
        /// <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);
            }
        }
Example #4
0
        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;
        }
Example #5
0
        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;
        }
Example #6
0
        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);
        }
Example #7
0
        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);
            }
        }