Example #1
0
 // Token: 0x0600019A RID: 410 RVA: 0x00005EFC File Offset: 0x000040FC
 private void UpdateBaseTextBox()
 {
     if (!this.baseTextBox.Visible)
     {
         return;
     }
     base.SuspendLayout();
     this.baseTextBox.SuspendLayout();
     if (this.useCustomBackground)
     {
         this.baseTextBox.BackColor = this.BackColor;
     }
     else
     {
         this.baseTextBox.BackColor = MetroPaint.BackColor.Form(base.Theme);
     }
     if (!base.Enabled)
     {
         if (base.Parent != null)
         {
             if (base.Parent is MetroTile)
             {
                 this.baseTextBox.ForeColor = MetroPaint.ForeColor.Tile.Disabled(base.Theme);
             }
             else if (this.useStyleColors)
             {
                 this.baseTextBox.ForeColor = MetroPaint.GetStyleColor(base.Style);
             }
             else
             {
                 this.baseTextBox.ForeColor = MetroPaint.ForeColor.Label.Disabled(base.Theme);
             }
         }
         else if (this.useStyleColors)
         {
             this.baseTextBox.ForeColor = MetroPaint.GetStyleColor(base.Style);
         }
         else
         {
             this.baseTextBox.ForeColor = MetroPaint.ForeColor.Label.Disabled(base.Theme);
         }
     }
     else if (base.Parent != null)
     {
         if (base.Parent is MetroTile)
         {
             this.baseTextBox.ForeColor = MetroPaint.ForeColor.Tile.Normal(base.Theme);
         }
         else if (this.useStyleColors)
         {
             this.baseTextBox.ForeColor = MetroPaint.GetStyleColor(base.Style);
         }
         else
         {
             this.baseTextBox.ForeColor = MetroPaint.ForeColor.Label.Normal(base.Theme);
         }
     }
     else if (this.useStyleColors)
     {
         this.baseTextBox.ForeColor = MetroPaint.GetStyleColor(base.Style);
     }
     else
     {
         this.baseTextBox.ForeColor = MetroPaint.ForeColor.Label.Normal(base.Theme);
     }
     this.baseTextBox.Font        = MetroFonts.Label(this.metroLabelSize, this.metroLabelWeight);
     this.baseTextBox.Text        = this.Text;
     this.baseTextBox.BorderStyle = BorderStyle.None;
     base.Size = this.GetPreferredSize(Size.Empty);
     this.baseTextBox.ResumeLayout();
     base.ResumeLayout();
 }
Example #2
0
        protected virtual void OnPaintForeground(PaintEventArgs e)
        {
            Color foreColor;

            if (isHovered && !isPressed && Enabled)
            {
                foreColor = MetroPaint.ForeColor.Tile.Hover(Theme);
            }
            else if (isHovered && isPressed && Enabled)
            {
                foreColor = MetroPaint.ForeColor.Tile.Press(Theme);
            }
            else if (!Enabled)
            {
                foreColor = MetroPaint.ForeColor.Tile.Disabled(Theme);
            }
            else
            {
                foreColor = MetroPaint.ForeColor.Tile.Normal(Theme);
            }

            if (useCustomForeColor)
            {
                foreColor = ForeColor;
            }

            if (isPressed)
            {
            }

            e.Graphics.SmoothingMode      = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            e.Graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;

            if (useTileImage)
            {
                if (tileImage != null)
                {
                    Rectangle imageRectangle;
                    switch (tileImageAlign)
                    {
                    case ContentAlignment.BottomLeft:
                        imageRectangle = new Rectangle(new Point(0, Height - TileImage.Height), new System.Drawing.Size(TileImage.Width, TileImage.Height));
                        break;

                    case ContentAlignment.BottomCenter:
                        imageRectangle = new Rectangle(new Point(Width / 2 - TileImage.Width / 2, Height - TileImage.Height), new System.Drawing.Size(TileImage.Width, TileImage.Height));
                        break;

                    case ContentAlignment.BottomRight:
                        imageRectangle = new Rectangle(new Point(Width - TileImage.Width, Height - TileImage.Height), new System.Drawing.Size(TileImage.Width, TileImage.Height));
                        break;

                    case ContentAlignment.MiddleLeft:
                        imageRectangle = new Rectangle(new Point(0, Height / 2 - TileImage.Height / 2), new System.Drawing.Size(TileImage.Width, TileImage.Height));
                        break;

                    case ContentAlignment.MiddleCenter:
                        imageRectangle = new Rectangle(new Point(Width / 2 - TileImage.Width / 2, Height / 2 - TileImage.Height / 2), new System.Drawing.Size(TileImage.Width, TileImage.Height));
                        break;

                    case ContentAlignment.MiddleRight:
                        imageRectangle = new Rectangle(new Point(Width - TileImage.Width, Height / 2 - TileImage.Height / 2), new System.Drawing.Size(TileImage.Width, TileImage.Height));
                        break;

                    case ContentAlignment.TopLeft:
                        imageRectangle = new Rectangle(new Point(0, 0), new System.Drawing.Size(TileImage.Width, TileImage.Height));
                        break;

                    case ContentAlignment.TopCenter:
                        imageRectangle = new Rectangle(new Point(Width / 2 - TileImage.Width / 2, 0), new System.Drawing.Size(TileImage.Width, TileImage.Height));
                        break;

                    case ContentAlignment.TopRight:
                        imageRectangle = new Rectangle(new Point(Width - TileImage.Width, 0), new System.Drawing.Size(TileImage.Width, TileImage.Height));
                        break;

                    default:
                        imageRectangle = new Rectangle(new Point(0, 0), new System.Drawing.Size(TileImage.Width, TileImage.Height));
                        break;
                    }

                    e.Graphics.DrawImage(TileImage, imageRectangle);
                }
            }

            if (TileCount > 0 && paintTileCount)
            {
                Size countSize = TextRenderer.MeasureText(TileCount.ToString(), MetroFonts.TileCount);

                e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
                TextRenderer.DrawText(e.Graphics, TileCount.ToString(), MetroFonts.TileCount, new Point(Width - countSize.Width, 0), foreColor);
                e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
            }

            Size textSize = TextRenderer.MeasureText(Text, MetroFonts.Tile(tileTextFontSize, tileTextFontWeight));

            TextFormatFlags flags         = MetroPaint.GetTextFormatFlags(TextAlign) | TextFormatFlags.LeftAndRightPadding | TextFormatFlags.EndEllipsis;
            Rectangle       textRectangle = ClientRectangle;

            if (isPressed)
            {
                textRectangle.Inflate(-2, -2);
            }

            TextRenderer.DrawText(e.Graphics, Text, MetroFonts.Tile(tileTextFontSize, tileTextFontWeight), textRectangle, foreColor, flags);

            if (false && isFocused)
            {
                ControlPaint.DrawFocusRectangle(e.Graphics, ClientRectangle);
            }
        }
 private void DrawProgressMarquee(Graphics graphics)
 {
     graphics.FillRectangle(MetroPaint.GetStyleBrush(Style), marqueeX, 0, ProgressBarMarqueeWidth, ClientRectangle.Height);
 }
Example #4
0
        private void UpdateBaseTextBox()
        {
            if (!baseTextBox.Visible)
            {
                return;
            }

            SuspendLayout();
            baseTextBox.SuspendLayout();

            if (useCustomBackColor)
            {
                baseTextBox.BackColor = BackColor;
            }
            else
            {
                baseTextBox.BackColor = MetroPaint.BackColor.Form(Theme);
            }

            if (!Enabled)
            {
                if (Parent != null)
                {
                    if (Parent is MetroTile)
                    {
                        baseTextBox.ForeColor = MetroPaint.ForeColor.Tile.Disabled(Theme);
                    }
                    else
                    {
                        if (useStyleColors)
                        {
                            baseTextBox.ForeColor = MetroPaint.GetStyleColor(Style);
                        }
                        else
                        {
                            baseTextBox.ForeColor = MetroPaint.ForeColor.Label.Disabled(Theme);
                        }
                    }
                }
                else
                {
                    if (useStyleColors)
                    {
                        baseTextBox.ForeColor = MetroPaint.GetStyleColor(Style);
                    }
                    else
                    {
                        baseTextBox.ForeColor = MetroPaint.ForeColor.Label.Disabled(Theme);
                    }
                }
            }
            else
            {
                if (Parent != null)
                {
                    if (Parent is MetroTile)
                    {
                        baseTextBox.ForeColor = MetroPaint.ForeColor.Tile.Normal(Theme);
                    }
                    else
                    {
                        if (useStyleColors)
                        {
                            baseTextBox.ForeColor = MetroPaint.GetStyleColor(Style);
                        }
                        else
                        {
                            baseTextBox.ForeColor = MetroPaint.ForeColor.Label.Normal(Theme);
                        }
                    }
                }
                else
                {
                    if (useStyleColors)
                    {
                        baseTextBox.ForeColor = MetroPaint.GetStyleColor(Style);
                    }
                    else
                    {
                        baseTextBox.ForeColor = MetroPaint.ForeColor.Label.Normal(Theme);
                    }
                }
            }

            baseTextBox.Font        = MetroFonts.Label(metroLabelSize, metroLabelWeight);
            baseTextBox.Text        = Text;
            baseTextBox.BorderStyle = BorderStyle.None;

            Size = GetPreferredSize(Size.Empty);

            baseTextBox.ResumeLayout();
            ResumeLayout();
        }
Example #5
0
        // Token: 0x060000F3 RID: 243 RVA: 0x00004B14 File Offset: 0x00002D14
        public override Size GetPreferredSize(Size proposedSize)
        {
            base.GetPreferredSize(proposedSize);
            Size result;

            using (Graphics graphics = base.CreateGraphics())
            {
                proposedSize  = new Size(int.MaxValue, int.MaxValue);
                result        = TextRenderer.MeasureText(graphics, this.Text, MetroFonts.Link(this.metroLinkSize, this.metroLinkWeight), proposedSize, MetroPaint.GetTextFormatFlags(this.TextAlign));
                result.Width += 16;
            }
            return(result);
        }
        protected virtual void OnPaintForeground(PaintEventArgs e)
        {
            Color borderColor, foreColor;

            if (useCustomForeColor)
            {
                foreColor = ForeColor;

                if (isHovered && !isPressed && Enabled)
                {
                    borderColor = MetroPaint.BorderColor.CheckBox.Hover(Theme);
                }
                else if (isHovered && isPressed && Enabled)
                {
                    borderColor = MetroPaint.BorderColor.CheckBox.Press(Theme);
                }
                else if (!Enabled)
                {
                    borderColor = MetroPaint.BorderColor.CheckBox.Disabled(Theme);
                }
                else
                {
                    borderColor = MetroPaint.BorderColor.CheckBox.Normal(Theme);
                }
            }
            else
            {
                if (isHovered && !isPressed && Enabled)
                {
                    foreColor   = MetroPaint.ForeColor.CheckBox.Hover(Theme);
                    borderColor = MetroPaint.BorderColor.CheckBox.Hover(Theme);
                }
                else if (isHovered && isPressed && Enabled)
                {
                    foreColor   = MetroPaint.ForeColor.CheckBox.Press(Theme);
                    borderColor = MetroPaint.BorderColor.CheckBox.Press(Theme);
                }
                else if (!Enabled)
                {
                    foreColor   = MetroPaint.ForeColor.CheckBox.Disabled(Theme);
                    borderColor = MetroPaint.BorderColor.CheckBox.Disabled(Theme);
                }
                else
                {
                    foreColor = !useStyleColors?MetroPaint.ForeColor.CheckBox.Normal(Theme) : MetroPaint.GetStyleColor(Style);

                    borderColor = MetroPaint.BorderColor.CheckBox.Normal(Theme);
                }
            }

            using (Pen p = new Pen(borderColor))
            {
                Rectangle boxRect = new Rectangle(0, Height / 2 - 6, 12, 12);
                e.Graphics.DrawRectangle(p, boxRect);
            }

            if (Checked)
            {
                Color fillColor = CheckState == CheckState.Indeterminate ? borderColor : MetroPaint.GetStyleColor(Style);

                using (SolidBrush b = new SolidBrush(fillColor))
                {
                    Rectangle boxRect = new Rectangle(2, Height / 2 - 4, 9, 9);
                    e.Graphics.FillRectangle(b, boxRect);
                }
            }

            Rectangle textRect = new Rectangle(16, 0, Width - 16, Height);

            TextRenderer.DrawText(e.Graphics, Text, MetroFonts.CheckBox(metroCheckBoxSize, metroCheckBoxWeight), textRect, foreColor, MetroPaint.GetTextFormatFlags(TextAlign));

            OnCustomPaintForeground(new MetroPaintEventArgs(Color.Empty, foreColor, e.Graphics));

            if (displayFocusRectangle && isFocused)
            {
                ControlPaint.DrawFocusRectangle(e.Graphics, ClientRectangle);
            }
        }
Example #7
0
        protected virtual void OnPaintForeground(PaintEventArgs e)
        {
            Color foreColor;

            if (useCustomForeColor)
            {
                foreColor = ForeColor;
            }
            else
            {
                if (!Enabled)
                {
                    if (Parent != null)
                    {
                        if (Parent is MetroTile)
                        {
                            foreColor = MetroPaint.ForeColor.Tile.Disabled(Theme);
                        }
                        else
                        {
                            foreColor = MetroPaint.ForeColor.Label.Normal(Theme);
                        }
                    }
                    else
                    {
                        foreColor = MetroPaint.ForeColor.Label.Disabled(Theme);
                    }
                }
                else
                {
                    if (Parent != null)
                    {
                        if (Parent is MetroTile)
                        {
                            foreColor = MetroPaint.ForeColor.Tile.Normal(Theme);
                        }
                        else
                        {
                            if (useStyleColors)
                            {
                                foreColor = MetroPaint.GetStyleColor(Style);
                            }
                            else
                            {
                                foreColor = MetroPaint.ForeColor.Label.Normal(Theme);
                            }
                        }
                    }
                    else
                    {
                        if (useStyleColors)
                        {
                            foreColor = MetroPaint.GetStyleColor(Style);
                        }
                        else
                        {
                            foreColor = MetroPaint.ForeColor.Label.Normal(Theme);
                        }
                    }
                }
            }

            if (LabelMode == MetroLabelMode.Selectable)
            {
                CreateBaseTextBox();
                UpdateBaseTextBox();

                if (!baseTextBox.Visible)
                {
                    TextRenderer.DrawText(e.Graphics, Text, MetroFonts.Label(metroLabelSize, metroLabelWeight), ClientRectangle, foreColor, MetroPaint.GetTextFormatFlags(TextAlign));
                }
            }
            else
            {
                DestroyBaseTextbox();
                TextRenderer.DrawText(e.Graphics, Text, MetroFonts.Label(metroLabelSize, metroLabelWeight), ClientRectangle, foreColor, MetroPaint.GetTextFormatFlags(TextAlign, wrapToLine));
                OnCustomPaintForeground(new MetroPaintEventArgs(Color.Empty, foreColor, e.Graphics));
            }
        }
        protected virtual void OnPaintForeground(PaintEventArgs e)
        {
            Color     foreColor;
            Rectangle rectangle;
            Color     color = MetroPaint.BorderColor.Button.Normal(this.Theme);

            if (this.isHovered && !this.isPressed && base.Enabled)
            {
                foreColor = MetroPaint.ForeColor.Tile.Hover(this.Theme);
            }
            else if (!this.isHovered || !this.isPressed || !base.Enabled)
            {
                foreColor = (base.Enabled ? MetroPaint.ForeColor.Tile.Normal(this.Theme) : MetroPaint.ForeColor.Tile.Disabled(this.Theme));
            }
            else
            {
                foreColor = MetroPaint.ForeColor.Tile.Press(this.Theme);
            }
            if (this.useCustomForeColor)
            {
                foreColor = this.ForeColor;
            }
            if (this.isPressed || this.isHovered || this.isFocused)
            {
                using (Pen pen = new Pen(color))
                {
                    pen.Width = 3f;
                    Rectangle rectangle1 = new Rectangle(1, 1, base.Width - 3, base.Height - 3);
                    e.Graphics.DrawRectangle(pen, rectangle1);
                }
            }
            e.Graphics.SmoothingMode      = SmoothingMode.HighQuality;
            e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
            if (this.useTileImage && this.tileImage != null)
            {
                ContentAlignment contentAlignment = this.tileImageAlign;
                if (contentAlignment <= ContentAlignment.MiddleCenter)
                {
                    switch (contentAlignment)
                    {
                    case ContentAlignment.TopLeft:
                        rectangle = new Rectangle(new Point(0, 0), new System.Drawing.Size(this.TileImage.Width, this.TileImage.Height));
                        break;

                    case ContentAlignment.TopCenter:
                        rectangle = new Rectangle(new Point(base.Width / 2 - this.TileImage.Width / 2, 0), new System.Drawing.Size(this.TileImage.Width, this.TileImage.Height));
                        break;

                    case ContentAlignment.TopLeft | ContentAlignment.TopCenter:
                        rectangle = new Rectangle(new Point(0, 0), new System.Drawing.Size(this.TileImage.Width, this.TileImage.Height));
                        break;

                    case ContentAlignment.TopRight:
                        rectangle = new Rectangle(new Point(base.Width - this.TileImage.Width, 0), new System.Drawing.Size(this.TileImage.Width, this.TileImage.Height));
                        break;

                    default:
                        if (contentAlignment == ContentAlignment.MiddleLeft)
                        {
                            rectangle = new Rectangle(new Point(0, base.Height / 2 - this.TileImage.Height / 2), new System.Drawing.Size(this.TileImage.Width, this.TileImage.Height));
                            break;
                        }
                        else if (contentAlignment == ContentAlignment.MiddleCenter)
                        {
                            rectangle = new Rectangle(new Point(base.Width / 2 - this.TileImage.Width / 2, base.Height / 2 - this.TileImage.Height / 2), new System.Drawing.Size(this.TileImage.Width, this.TileImage.Height));
                            break;
                        }
                        else
                        {
                            rectangle = new Rectangle(new Point(0, 0), new System.Drawing.Size(this.TileImage.Width, this.TileImage.Height));
                        }
                        break;
                    }
                }
                else if (contentAlignment <= ContentAlignment.BottomLeft)
                {
                    if (contentAlignment == ContentAlignment.MiddleRight)
                    {
                        rectangle = new Rectangle(new Point(base.Width - this.TileImage.Width, base.Height / 2 - this.TileImage.Height / 2), new System.Drawing.Size(this.TileImage.Width, this.TileImage.Height));
                    }
                    else
                    {
                        if (contentAlignment != ContentAlignment.BottomLeft)
                        {
                            rectangle = new Rectangle(new Point(0, 0), new System.Drawing.Size(this.TileImage.Width, this.TileImage.Height));
                        }
                        else
                        {
                            rectangle = new Rectangle(new Point(0, base.Height - this.TileImage.Height), new System.Drawing.Size(this.TileImage.Width, this.TileImage.Height));
                        }
                    }
                }
                else if (contentAlignment == ContentAlignment.BottomCenter)
                {
                    rectangle = new Rectangle(new Point(base.Width / 2 - this.TileImage.Width / 2, base.Height - this.TileImage.Height), new System.Drawing.Size(this.TileImage.Width, this.TileImage.Height));
                }
                else
                {
                    if (contentAlignment != ContentAlignment.BottomRight)
                    {
                        rectangle = new Rectangle(new Point(0, 0), new System.Drawing.Size(this.TileImage.Width, this.TileImage.Height));
                    }
                    else
                    {
                        rectangle = new Rectangle(new Point(base.Width - this.TileImage.Width, base.Height - this.TileImage.Height), new System.Drawing.Size(this.TileImage.Width, this.TileImage.Height));
                    }
                }
                e.Graphics.DrawImage(this.TileImage, rectangle);
            }
            if (this.TileCount > 0 && this.paintTileCount)
            {
                int tileCount            = this.TileCount;
                System.Drawing.Size size = TextRenderer.MeasureText(tileCount.ToString(), MetroFonts.TileCount);
                e.Graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
                Graphics graphics = e.Graphics;
                int      num      = this.TileCount;
                TextRenderer.DrawText(graphics, num.ToString(), MetroFonts.TileCount, new Point(base.Width - size.Width, 0), foreColor);
                e.Graphics.TextRenderingHint = TextRenderingHint.SystemDefault;
            }
            TextRenderer.MeasureText(this.Text, MetroFonts.Tile(this.tileTextFontSize, this.tileTextFontWeight));
            TextFormatFlags textFormatFlags = MetroPaint.GetTextFormatFlags(this.TextAlign) | TextFormatFlags.LeftAndRightPadding | TextFormatFlags.EndEllipsis;
            Rectangle       clientRectangle = base.ClientRectangle;

            if (!this.isPressed)
            {
                clientRectangle.Inflate(-2, -10);
            }
            else
            {
                clientRectangle.Inflate(-4, -12);
            }
            TextRenderer.DrawText(e.Graphics, this.Text, MetroFonts.Tile(this.tileTextFontSize, this.tileTextFontWeight), clientRectangle, foreColor, textFormatFlags);
            return;
        }
        private void StyleGrid()
        {
            this.BorderStyle               = System.Windows.Forms.BorderStyle.None;
            this.CellBorderStyle           = DataGridViewCellBorderStyle.None;
            this.EnableHeadersVisualStyles = false;
            this.SelectionMode             = DataGridViewSelectionMode.FullRowSelect;
            this.BackColor       = MetroPaint.BackColor.Form(Theme);
            this.BackgroundColor = MetroPaint.BackColor.Form(Theme);
            this.GridColor       = MetroPaint.BackColor.Form(Theme);
            this.ForeColor       = MetroPaint.ForeColor.Button.Disabled(Theme);
            this.Font            = new Font("Segoe UI", 11f, FontStyle.Regular, GraphicsUnit.Pixel);

            this.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing;
            this.AllowUserToResizeRows   = false;

            this.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.None;
            this.ColumnHeadersDefaultCellStyle.BackColor = MetroPaint.GetStyleColor(Style);
            this.ColumnHeadersDefaultCellStyle.ForeColor = MetroPaint.ForeColor.Button.Press(Theme);

            this.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.None;
            this.RowHeadersDefaultCellStyle.BackColor = MetroPaint.GetStyleColor(Style);
            this.RowHeadersDefaultCellStyle.ForeColor = MetroPaint.ForeColor.Button.Press(Theme);

            this.DefaultCellStyle.BackColor = MetroPaint.BackColor.Form(Theme);

            this.DefaultCellStyle.SelectionBackColor = ControlPaint.Light(MetroPaint.GetStyleColor(Style), _offset);
            this.DefaultCellStyle.SelectionForeColor = Color.FromArgb(17, 17, 17);

            this.DefaultCellStyle.SelectionBackColor = ControlPaint.Light(MetroPaint.GetStyleColor(Style), _offset);
            this.DefaultCellStyle.SelectionForeColor = Color.FromArgb(17, 17, 17);

            this.RowHeadersDefaultCellStyle.SelectionBackColor = ControlPaint.Light(MetroPaint.GetStyleColor(Style), _offset);
            this.RowHeadersDefaultCellStyle.SelectionForeColor = Color.FromArgb(17, 17, 17);

            this.ColumnHeadersDefaultCellStyle.SelectionBackColor = ControlPaint.Light(MetroPaint.GetStyleColor(Style), _offset);
            this.ColumnHeadersDefaultCellStyle.SelectionForeColor = Color.FromArgb(17, 17, 17);
        }
Example #10
0
        protected override void OnPaint(PaintEventArgs e)
        {
            Color backColor, foreColor;

            if (useCustomBackground)
            {
                backColor = BackColor;
            }
            else
            {
                backColor = MetroPaint.BackColor.Form(Theme);
                if (Parent is MetroTile)
                {
                    backColor = MetroPaint.GetStyleColor(Style);
                }
            }

            if (!Enabled)
            {
                if (Parent != null)
                {
                    if (Parent is MetroTile)
                    {
                        foreColor = MetroPaint.ForeColor.Tile.Disabled(Theme);
                    }
                    else
                    {
                        foreColor = MetroPaint.ForeColor.Label.Normal(Theme);
                    }
                }
                else
                {
                    foreColor = MetroPaint.ForeColor.Label.Disabled(Theme);
                }
            }
            else
            {
                if (Parent != null)
                {
                    if (Parent is MetroTile)
                    {
                        foreColor = MetroPaint.ForeColor.Tile.Normal(Theme, Style);
                    }
                    else
                    {
                        if (useStyleColors)
                        {
                            foreColor = MetroPaint.GetStyleColor(Style);
                        }
                        else
                        {
                            foreColor = MetroPaint.ForeColor.Label.Normal(Theme);
                        }
                    }
                }
                else
                {
                    if (useStyleColors)
                    {
                        foreColor = MetroPaint.GetStyleColor(Style);
                    }
                    else
                    {
                        foreColor = MetroPaint.ForeColor.Label.Normal(Theme);
                    }
                }
            }

            e.Graphics.Clear(backColor);

            if (LabelMode == MetroLabelMode.Selectable)
            {
                CreateBaseTextBox();
                UpdateBaseTextBox();
            }
            else
            {
                DestroyBaseTextbox();
                TextRenderer.DrawText(e.Graphics, Text, MetroFonts.Label(metroLabelSize, metroLabelWeight), ClientRectangle, foreColor, backColor, MetroPaint.GetTextFormatFlags(TextAlign));
            }
        }
Example #11
0
 private void m_themeManager_OnStyleChanged(object sender, EventArgs e)
 {
     menuInfo.BackColor = menuPlugins.BackColor = menuPackets.BackColor = menuSettings.BackColor = MetroPaint.GetStyleColor(Style);
 }
Example #12
0
        public override Size GetPreferredSize(Size proposedSize)
        {
            Size preferredSize;

            base.GetPreferredSize(proposedSize);

            using (var g = CreateGraphics())
            {
                proposedSize         = new Size(int.MaxValue, int.MaxValue);
                preferredSize        = TextRenderer.MeasureText(g, Text, MetroFonts.CheckBox(metroCheckBoxSize, metroCheckBoxWeight), proposedSize, MetroPaint.GetTextFormatFlags(TextAlign));
                preferredSize.Width += 16;

                if (CheckAlign == ContentAlignment.TopCenter || CheckAlign == ContentAlignment.BottomCenter)
                {
                    preferredSize.Height += 16;
                }
            }

            return(preferredSize);
        }
Example #13
0
        protected virtual void OnPaintForeground(PaintEventArgs e)
        {
            Color borderColor, foreColor;

            if (useCustomForeColor)
            {
                foreColor = ForeColor;

                if (isHovered && !isPressed && Enabled)
                {
                    borderColor = ForeColor;// MetroPaint.BorderColor.CheckBox.Hover(Theme);
                }
                else if (isHovered && isPressed && Enabled)
                {
                    borderColor = MetroPaint.BorderColor.CheckBox.Press(Theme);
                }
                else if (!Enabled)
                {
                    borderColor = MetroPaint.BorderColor.CheckBox.Disabled(Theme);
                }
                else
                {
                    borderColor = MetroPaint.BorderColor.CheckBox.Normal(Theme);
                }
            }
            else
            {
                if (isHovered && !isPressed && Enabled)
                {
                    foreColor   = MetroPaint.ForeColor.CheckBox.Hover(Theme);
                    borderColor = MetroPaint.BorderColor.CheckBox.Hover(Theme);
                }
                else if (isHovered && isPressed && Enabled)
                {
                    foreColor   = MetroPaint.ForeColor.CheckBox.Press(Theme);
                    borderColor = MetroPaint.BorderColor.CheckBox.Press(Theme);
                }
                else if (!Enabled)
                {
                    foreColor   = MetroPaint.ForeColor.CheckBox.Disabled(Theme);
                    borderColor = MetroPaint.BorderColor.CheckBox.Disabled(Theme);
                }
                else
                {
                    foreColor = !useStyleColors?MetroPaint.ForeColor.CheckBox.Normal(Theme) : MetroPaint.GetStyleColor(Style);

                    borderColor = MetroPaint.BorderColor.CheckBox.Normal(Theme);
                }
            }

            Rectangle textRect = new Rectangle(16, 0, Width - 16, Height);
            Rectangle boxRect  = new Rectangle(0, Height / 2 - 6, 12, 12);

            using (Pen p = new Pen(borderColor))
            {
                switch (CheckAlign)
                {
                case ContentAlignment.TopLeft:
                    boxRect = new Rectangle(0, 0, 12, 12);
                    break;

                case ContentAlignment.MiddleLeft:
                    boxRect = new Rectangle(0, Height / 2 - 6, 12, 12);
                    break;

                case ContentAlignment.BottomLeft:
                    boxRect = new Rectangle(0, Height - 13, 12, 12);
                    break;

                case ContentAlignment.TopCenter:
                    boxRect  = new Rectangle(Width / 2 - 6, 0, 12, 12);
                    textRect = new Rectangle(16, boxRect.Top + boxRect.Height - 5, Width - 16 / 2, Height);
                    break;

                case ContentAlignment.BottomCenter:
                    boxRect  = new Rectangle(Width / 2 - 6, Height - 13, 12, 12);
                    textRect = new Rectangle(16, -10, Width - 16 / 2, Height);
                    break;

                case ContentAlignment.MiddleCenter:
                    boxRect = new Rectangle(Width / 2 - 6, Height / 2 - 6, 12, 12);
                    break;

                case ContentAlignment.TopRight:
                    boxRect  = new Rectangle(Width - 13, 0, 12, 12);
                    textRect = new Rectangle(0, 0, Width - 16, Height);
                    break;

                case ContentAlignment.MiddleRight:
                    boxRect  = new Rectangle(Width - 13, Height / 2 - 6, 12, 12);
                    textRect = new Rectangle(0, 0, Width - 16, Height);
                    break;

                case ContentAlignment.BottomRight:
                    boxRect  = new Rectangle(Width - 13, Height - 13, 12, 12);
                    textRect = new Rectangle(0, 0, Width - 16, Height);
                    break;
                }

                e.Graphics.DrawRectangle(p, boxRect);
            }

            if (Checked)
            {
                Color fillColor = CheckState == CheckState.Indeterminate ? borderColor : MetroPaint.GetStyleColor(Style);

                using (SolidBrush b = new SolidBrush(fillColor))
                {
                    Rectangle boxCheck = new Rectangle(boxRect.Left + 2, boxRect.Top + 2, 9, 9);
                    e.Graphics.FillRectangle(b, boxCheck);
                }
            }


            TextRenderer.DrawText(e.Graphics, Text, MetroFonts.CheckBox(metroCheckBoxSize, metroCheckBoxWeight), textRect, foreColor, MetroPaint.GetTextFormatFlags(TextAlign));

            OnCustomPaintForeground(new MetroPaintEventArgs(Color.Empty, foreColor, e.Graphics));

            if (displayFocusRectangle && isFocused)
            {
                ControlPaint.DrawFocusRectangle(e.Graphics, ClientRectangle);
            }
        }
Example #14
0
            protected override void OnPaint(PaintEventArgs e)
            {
                Color backColor, foreColor;

                MetroThemeStyle _Theme = Theme;
                MetroColorStyle _Style = Style;

                if (Parent != null)
                {
                    if (Parent is IMetroForm)
                    {
                        _Theme    = ((IMetroForm)Parent).Theme;
                        _Style    = ((IMetroForm)Parent).Style;
                        foreColor = MetroPaint.ForeColor.Button.Press(_Theme);
                        backColor = MetroPaint.GetStyleColor(_Style);
                    }
                    else if (Parent is IMetroControl)
                    {
                        _Theme    = ((IMetroControl)Parent).Theme;
                        _Style    = ((IMetroControl)Parent).Style;
                        foreColor = MetroPaint.ForeColor.Button.Press(_Theme);
                        backColor = MetroPaint.GetStyleColor(_Style);
                    }
                    else
                    {
                        foreColor = MetroPaint.ForeColor.Button.Press(_Theme);
                        backColor = MetroPaint.GetStyleColor(_Style);
                    }
                }
                else
                {
                    foreColor = MetroPaint.ForeColor.Button.Press(_Theme);
                    backColor = MetroPaint.BackColor.Form(_Theme);
                }

                if (isHovered && !isPressed && Enabled)
                {
                    int _r = backColor.R;
                    int _g = backColor.G;
                    int _b = backColor.B;

                    backColor = ControlPaint.Light(backColor, 0.25f);
                }
                else if (isHovered && isPressed && Enabled)
                {
                    foreColor = MetroPaint.ForeColor.Button.Press(_Theme);
                    backColor = MetroPaint.GetStyleColor(_Style);
                }
                else if (!Enabled)
                {
                    foreColor = MetroPaint.ForeColor.Button.Disabled(_Theme);
                    backColor = MetroPaint.BackColor.Button.Disabled(_Theme);
                }
                else
                {
                    foreColor = MetroPaint.ForeColor.Button.Press(_Theme);
                }

                e.Graphics.Clear(backColor);
                Font buttonFont = MetroFonts.Button(MetroButtonSize.Small, MetroButtonWeight.Bold);

                TextRenderer.DrawText(e.Graphics, Text, buttonFont, ClientRectangle, foreColor, backColor, TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter | TextFormatFlags.EndEllipsis);

                DrawIcon(e.Graphics);
            }
Example #15
0
        protected override void OnPaint(PaintEventArgs e)
        {
            Color backColor, borderColor, foreColor;

            if (useCustomBackground)
            {
                backColor = BackColor;
            }
            else
            {
                backColor = MetroPaint.BackColor.Form(Theme);
            }

            if (isHovered && !isPressed && Enabled)
            {
                foreColor   = MetroPaint.ForeColor.CheckBox.Hover(Theme);
                borderColor = MetroPaint.BorderColor.CheckBox.Hover(Theme);
            }
            else if (isHovered && isPressed && Enabled)
            {
                foreColor   = MetroPaint.ForeColor.CheckBox.Press(Theme);
                borderColor = MetroPaint.BorderColor.CheckBox.Press(Theme);
            }
            else if (!Enabled)
            {
                foreColor   = MetroPaint.ForeColor.CheckBox.Disabled(Theme);
                borderColor = MetroPaint.BorderColor.CheckBox.Disabled(Theme);
            }
            else
            {
                foreColor = !useStyleColors?MetroPaint.ForeColor.CheckBox.Normal(Theme) : MetroPaint.GetStyleColor(Style);

                borderColor = MetroPaint.BorderColor.CheckBox.Normal(Theme);
            }

            e.Graphics.Clear(backColor);

            using (Pen p = new Pen(borderColor))
            {
                Rectangle boxRect = new Rectangle(0, Height / 2 - 6, 12, 12);
                e.Graphics.DrawRectangle(p, boxRect);
            }

            if (Checked)
            {
                Color fillColor = CheckState == CheckState.Indeterminate ? borderColor : MetroPaint.GetStyleColor(Style);

                using (SolidBrush b = new SolidBrush(fillColor))
                {
                    Rectangle boxRect = new Rectangle(2, Height / 2 - 4, 9, 9);
                    e.Graphics.FillRectangle(b, boxRect);
                }
            }

            Rectangle textRect = new Rectangle(16, 0, Width - 16, Height);

            TextRenderer.DrawText(e.Graphics, Text, MetroFonts.Link(metroLinkSize, metroLinkWeight), textRect, foreColor, backColor, MetroPaint.GetTextFormatFlags(TextAlign));

            if (false && isFocused)
            {
                ControlPaint.DrawFocusRectangle(e.Graphics, ClientRectangle);
            }
        }
Example #16
0
        void MetroListView_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
        {
            Color itemForeColor = MetroPaint.ForeColor.Button.Disabled(Theme);

            if (this.View == View.Details)
            {
                if (e.Item.Selected)
                {
                    e.Graphics.FillRectangle(new SolidBrush(ControlPaint.Light(MetroPaint.GetStyleColor(Style), _offset)), e.Bounds);
                    itemForeColor = Color.White;
                }

                TextFormatFlags align = TextFormatFlags.Left;

                int _ded = 0, _left = 0;
                if (this.CheckBoxes && e.ColumnIndex == 0)
                {
                    _ded = 12; _left = 14;
                    int _top = (e.Bounds.Height / 2) - 6;
                    using (Pen p = new Pen(itemForeColor))
                    {
                        Rectangle boxRect = new Rectangle(e.Bounds.X + 2, e.Bounds.Y + _top, 12, 12);
                        e.Graphics.DrawRectangle(p, boxRect);
                    }

                    if (e.Item.Checked)
                    {
                        Color fillColor = MetroPaint.GetStyleColor(Style);
                        if (e.Item.Selected)
                        {
                            fillColor = Color.White;
                        }

                        using (SolidBrush b = new SolidBrush(fillColor))
                        {
                            _top = (e.Bounds.Height / 2) - 4;
                            Rectangle boxRect = new Rectangle(e.Bounds.X + 4, e.Bounds.Y + _top, 9, 9);
                            e.Graphics.FillRectangle(b, boxRect);
                        }
                    }
                }

                if (this.SmallImageList != null)
                {
                    int   _top = 0;
                    Image _img = null;
                    if (e.Item.ImageIndex > -1)
                    {
                        _img = this.SmallImageList.Images[e.Item.ImageIndex];
                    }
                    if (e.Item.ImageKey != "")
                    {
                        _img = this.SmallImageList.Images[e.Item.ImageKey];
                    }
                    if (_img != null)
                    {
                        _left += _left > 0 ? 4 : 2;
                        _top   = (e.Item.Bounds.Height - _img.Height) / 2;
                        e.Graphics.DrawImage(_img, new Rectangle(e.Item.Bounds.Left + _left, e.Item.Bounds.Top + _top, _img.Width, _img.Height));

                        _left += this.SmallImageList.ImageSize.Width;
                        _ded  += this.SmallImageList.ImageSize.Width;
                    }
                }

                int _colWidth = e.Item.Bounds.Width;
                if (this.View == View.Details)
                {
                    _colWidth = this.Columns[e.ColumnIndex].Width;
                }

                using (StringFormat sf = new StringFormat())
                {
                    switch (e.Header.TextAlign)
                    {
                    case HorizontalAlignment.Center:
                        sf.Alignment = StringAlignment.Center;
                        //flags = TextFormatFlags.HorizontalCenter;
                        break;

                    case HorizontalAlignment.Right:
                        sf.Alignment = StringAlignment.Far;
                        //flags = TextFormatFlags.Right;
                        break;

                    default:
                        sf.Alignment = StringAlignment.Near;
                        //flags = TextFormatFlags.Left;
                        break;
                    }

                    if (e.ColumnIndex > 0 && Double.TryParse(e.SubItem.Text, NumberStyles.Currency, NumberFormatInfo.CurrentInfo, out double subItemValue))
                    {
                        sf.Alignment = StringAlignment.Far;
                        //flags = TextFormatFlags.Right;
                    }


                    //TextFormatFlags align = TextFormatFlags.Left;
                    Rectangle rect = new Rectangle(e.Bounds.X + _left, e.Bounds.Y, _colWidth - _ded, e.Item.Bounds.Height);
                    TextRenderer.DrawText(e.Graphics, e.SubItem.Text, stdFont, rect, itemForeColor, align | TextFormatFlags.SingleLine | TextFormatFlags.GlyphOverhangPadding | TextFormatFlags.VerticalCenter | TextFormatFlags.WordEllipsis);
                }
            }
            else
            {
                e.DrawDefault = true;
            }
        }
        protected override void OnPaintForeground(PaintEventArgs e)
        {
            try
            {
                //base.OnPaintForeground(e);
                Color foreColor = Color.Empty;

                if (isHovered && !isPressed && Enabled)
                {
                    foreColor = BaseAntButton.ChangeColor(MetroPaint.GetStyleColor(Style), 0.2f);
                }
                else if (isHovered && isPressed && Enabled)
                {
                    foreColor = BaseAntButton.ChangeColor(MetroPaint.GetStyleColor(Style), -0.2f);
                }
                else if (!Enabled)
                {
                    foreColor = MetroPaint.ForeColor.Button.Disabled(Theme);
                }
                else if (Enabled)
                {
                    foreColor = MetroPaint.ForeColor.Button.Disabled(Theme);
                }
                e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;

                if (AntIcon.Equals(AntButtonIcon.None))
                {
                    TextRenderer.DrawText(e.Graphics, Text, MetroFonts.Button(metroButtonSize, metroButtonWeight),
                                          ClientRectangle
                                          , foreColor, MetroPaint.GetTextFormatFlags(TextAlign));
                }
                else
                {
                    int iconX = 0, iconY = 0, iconSize = 20, textLeftPadding = 0;

                    if (AntSize.Equals(AntButtonSize.Large))
                    {
                        iconX           = (int)IconLoaction.LargeIconX;
                        iconY           = (int)IconLoaction.LargeIconY;
                        iconSize        = (int)IconLoaction.LargeSize;
                        textLeftPadding = 20;
                    }
                    else if (AntSize.Equals(AntButtonSize.Default))
                    {
                        iconX           = (int)IconLoaction.DefaultIconX;
                        iconY           = (int)IconLoaction.DefaultIconY;
                        iconSize        = (int)IconLoaction.DefaultSize;
                        textLeftPadding = 20;
                    }
                    else if (AntSize.Equals(AntButtonSize.Small))
                    {
                        iconX           = (int)IconLoaction.SmallIconX;
                        iconY           = (int)IconLoaction.SmallIconY;
                        iconSize        = (int)IconLoaction.SmallISize;
                        textLeftPadding = 20;
                    }
                    using (Brush brush = new SolidBrush(foreColor))
                    {
                        var rec = BaseAntButton.DrawRoundRect(0, 0, Width - 1, Height - 1, AntShape.Equals(AntButtonShape.Circle) ? (int)AntSize : 10);
                        e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;

                        e.Graphics.DrawString(
                            Icon.Style[AntIcon],
                            UseMemoryFont(iconSize),
                            brush, new RectangleF()
                        {
                            X = iconX, Y = iconY, Width = (int)AntSize, Height = (int)AntSize
                        });
                    }
                    TextRenderer.DrawText(e.Graphics, Text, MetroFonts.Button(metroButtonSize, metroButtonWeight),
                                          new Rectangle {
                        X = textLeftPadding, Y = ClientRectangle.Y, Width = ClientRectangle.Width - textLeftPadding, Height = ClientRectangle.Height
                    }

                                          , foreColor, MetroPaint.GetTextFormatFlags(TextAlign));
                }
            }
            catch (Exception)
            {
                Invalidate();
            }
        }
Example #18
0
        void MetroListView_DrawItem(object sender, DrawListViewItemEventArgs e)
        {
            Color itemForeColor = MetroPaint.ForeColor.Button.Disabled(Theme);

            if (this.View == View.Details | this.View == View.List | this.View == View.SmallIcon)
            {
                Color fillColor = MetroPaint.GetStyleColor(Style);

                if (e.Item.Selected)
                {
                    e.Graphics.FillRectangle(new SolidBrush(ControlPaint.Light(MetroPaint.GetStyleColor(Style), _offset)), e.Bounds);
                    itemForeColor = Color.White;
                    fillColor     = Color.White;
                }

                TextFormatFlags align = TextFormatFlags.Left;

                int _ded = 0, _left = 0;
                if (this.CheckBoxes)
                {
                    _ded = 12; _left = 14;
                    int _top = (e.Bounds.Height / 2) - 6;
                    using (Pen p = new Pen(itemForeColor))
                    {
                        Rectangle boxRect = new Rectangle(e.Bounds.X + 2, e.Bounds.Y + _top, 12, 12);
                        e.Graphics.DrawRectangle(p, boxRect);
                    }

                    if (e.Item.Checked)
                    {
                        using (SolidBrush b = new SolidBrush(fillColor))
                        {
                            _top = (e.Bounds.Height / 2) - 4;
                            Rectangle boxRect = new Rectangle(e.Bounds.X + 4, e.Bounds.Y + _top, 9, 9);
                            e.Graphics.FillRectangle(b, boxRect);
                        }
                    }
                }

                if (this.SmallImageList != null)
                {
                    int   _top = 0;
                    Image _img = null;
                    if (e.Item.ImageIndex > -1)
                    {
                        _img = this.SmallImageList.Images[e.Item.ImageIndex];
                    }
                    if (e.Item.ImageKey != "")
                    {
                        _img = this.SmallImageList.Images[e.Item.ImageKey];
                    }
                    if (_img != null)
                    {
                        _left += _left > 0 ? 4 : 2;
                        _top   = (e.Item.Bounds.Height - _img.Height) / 2;
                        e.Graphics.DrawImage(_img, new Rectangle(e.Item.Bounds.Left + _left, e.Item.Bounds.Top + _top, _img.Width, _img.Height));

                        _left += this.SmallImageList.ImageSize.Width;
                        _ded  += this.SmallImageList.ImageSize.Width;
                    }
                }

                if (this.View == View.Details)
                {
                    return;
                }
                int _colWidth = e.Item.Bounds.Width;
                if (this.View == View.Details)
                {
                    _colWidth = this.Columns[0].Width;
                }

                Rectangle rect = new Rectangle(e.Bounds.X + _left, e.Bounds.Y, _colWidth - _ded, e.Item.Bounds.Height);
                TextRenderer.DrawText(e.Graphics, e.Item.Text, stdFont, rect, itemForeColor, align | TextFormatFlags.SingleLine | TextFormatFlags.GlyphOverhangPadding | TextFormatFlags.VerticalCenter | TextFormatFlags.WordEllipsis);
            }

            else if (this.View == View.Tile)
            {
                int _left = 0;

                if (this.LargeImageList != null)
                {
                    int _top = 0;
                    _left = this.LargeImageList.ImageSize.Width + 2;

                    Image _img = null;
                    if (e.Item.ImageIndex > -1)
                    {
                        _img = this.LargeImageList.Images[e.Item.ImageIndex];
                    }
                    if (e.Item.ImageKey != "")
                    {
                        _img = this.LargeImageList.Images[e.Item.ImageKey];
                    }
                    if (_img != null)
                    {
                        _top = (e.Item.Bounds.Height - _img.Height) / 2;
                        e.Graphics.DrawImage(_img, new Rectangle(e.Item.Bounds.Left + _left, e.Item.Bounds.Top + _top, _img.Width, _img.Height));
                    }
                }

                if (e.Item.Selected)
                {
                    Rectangle rect = new Rectangle(e.Item.Bounds.X + _left, e.Item.Bounds.Y, e.Item.Bounds.Width, e.Item.Bounds.Height);
                    e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(250, 194, 87)), rect);
                }

                int _fill = 0;
                foreach (ListViewItem.ListViewSubItem item in e.Item.SubItems)
                {
                    if (_fill > 0 && !e.Item.Selected)
                    {
                        itemForeColor = Color.Silver;
                    }
                    int _y = (e.Item.Bounds.Y + _fill) + ((e.Item.Bounds.Height - ((e.Item.SubItems.Count) * 15)) / 2);

                    Rectangle rect = new Rectangle(e.Item.Bounds.X + _left, e.Item.Bounds.Y + _fill, e.Item.Bounds.Width, e.Item.Bounds.Height);

                    TextFormatFlags align = TextFormatFlags.Left;
                    TextRenderer.DrawText(e.Graphics, item.Text, new Font("Segoe UI", 9.0f), rect, itemForeColor, align | TextFormatFlags.SingleLine | TextFormatFlags.GlyphOverhangPadding | TextFormatFlags.WordEllipsis);
                    _fill += 15;
                }
            }
            else
            {
                if (this.CheckBoxes)
                {
                    int _top = (e.Bounds.Height / 2) - 6;
                    using (Pen p = new Pen(Color.Black))
                    {
                        Rectangle boxRect = new Rectangle(e.Bounds.X + 6, e.Bounds.Y + _top, 12, 12);
                        e.Graphics.DrawRectangle(p, boxRect);
                    }

                    if (e.Item.Checked)
                    {
                        Color fillColor = MetroPaint.GetStyleColor(Style);
                        if (e.Item.Selected)
                        {
                            fillColor = Color.White;
                        }
                        using (SolidBrush b = new SolidBrush(fillColor))
                        {
                            _top = (e.Bounds.Height / 2) - 4;

                            Rectangle boxRect = new Rectangle(e.Bounds.X + 8, e.Bounds.Y + _top, 9, 9);
                            e.Graphics.FillRectangle(b, boxRect);
                        }
                    }

                    Rectangle rect = new Rectangle(e.Bounds.X + 23, e.Bounds.Y + 1, e.Bounds.Width, e.Bounds.Height);

                    e.Graphics.DrawString(e.Item.Text, stdFont, new SolidBrush(itemForeColor), rect);
                }

                this.Font     = stdFont;
                e.DrawDefault = true;
            }
        }
        private void DrawTab(int index, Graphics graphics)
        {
            Color foreColor;
            Color backColor = BackColor;

            if (!useCustomBackColor)
            {
                backColor = MetroPaint.BackColor.Form(Theme);
            }

            TabPage   tabPage = TabPages[index];
            Rectangle tabRect = GetTabRect(index);

            if (!Enabled)
            {
                foreColor = MetroPaint.ForeColor.Label.Disabled(Theme);
            }
            else
            {
                if (useCustomForeColor)
                {
                    foreColor = DefaultForeColor;
                }
                else
                {
                    foreColor = !useStyleColors?MetroPaint.ForeColor.TabControl.Normal(Theme) : MetroPaint.GetStyleColor(Style);
                }
            }

            if (index == 0)
            {
                tabRect.X = DisplayRectangle.X;
            }

            Rectangle bgRect = tabRect;

            tabRect.Width += 20;

            using (Brush bgBrush = new SolidBrush(backColor))
            {
                graphics.FillRectangle(bgBrush, bgRect);
            }

            TextRenderer.DrawText(
                graphics,
                $@"{tabPage.Text}",
                MetroFonts.TabControl(metroLabelSize, metroLabelWeight),
                tabRect,
                foreColor, backColor, MetroPaint.GetTextFormatFlags(TextAlign));
            //Pen p = new Pen(MetroPaint.ForeColor.TabControl.Normal(Theme));
            //p.Width = 2;
            //graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
            //graphics.DrawLine(p, (float)tabRect.X, (float)tabRect.Y, (float)(tabRect.X + tabRect.Width), (float)(tabRect.Y + tabRect.Height));
            //graphics.Dispose();
            //DrawImage(icon, new Point(tabRect.X + tabRect.Width - icon.Width - 22, tabRect.Y + 9));
        }
Example #20
0
        protected virtual void OnPaintForeground(PaintEventArgs e)
        {
            Color borderColor, foreColor;

            if (isHovered && !isPressed && Enabled)
            {
                foreColor   = MetroPaint.ForeColor.CheckBox.Hover(Theme);
                borderColor = MetroPaint.BorderColor.CheckBox.Hover(Theme);
            }
            else if (isHovered && isPressed && Enabled)
            {
                foreColor   = MetroPaint.ForeColor.CheckBox.Press(Theme);
                borderColor = MetroPaint.BorderColor.CheckBox.Press(Theme);
            }
            else if (!Enabled)
            {
                foreColor   = MetroPaint.ForeColor.CheckBox.Disabled(Theme);
                borderColor = MetroPaint.BorderColor.CheckBox.Disabled(Theme);
            }
            else
            {
                foreColor = !useStyleColors?MetroPaint.ForeColor.CheckBox.Normal(Theme) : MetroPaint.GetStyleColor(Style);

                borderColor = MetroPaint.BorderColor.CheckBox.Normal(Theme);
            }

            using (Pen p = new Pen(borderColor))
            {
                Rectangle boxRect = new Rectangle((DisplayStatus ? 30 : 0), 0, ClientRectangle.Width - (DisplayStatus ? 31 : 1), ClientRectangle.Height - 1);
                e.Graphics.DrawRectangle(p, boxRect);
            }

            Color fillColor = Checked ? MetroPaint.GetStyleColor(Style) : MetroPaint.BorderColor.CheckBox.Normal(Theme);

            using (SolidBrush b = new SolidBrush(fillColor))
            {
                Rectangle boxRect = new Rectangle(DisplayStatus ? 32 : 2, 2, ClientRectangle.Width - (DisplayStatus ? 34 : 4), ClientRectangle.Height - 4);
                e.Graphics.FillRectangle(b, boxRect);
            }

            Color backColor = BackColor;

            if (!useCustomBackColor)
            {
                backColor = MetroPaint.BackColor.Form(Theme);
            }

            using (SolidBrush b = new SolidBrush(backColor))
            {
                int left = Checked ? Width - 11 : (DisplayStatus ? 30 : 0);

                Rectangle boxRect = new Rectangle(left, 0, 11, ClientRectangle.Height);
                e.Graphics.FillRectangle(b, boxRect);
            }
            using (SolidBrush b = new SolidBrush(MetroPaint.BorderColor.CheckBox.Hover(Theme)))
            {
                int left = Checked ? Width - 10 : (DisplayStatus ? 30 : 0);

                Rectangle boxRect = new Rectangle(left, 0, 10, ClientRectangle.Height);
                e.Graphics.FillRectangle(b, boxRect);
            }

            if (DisplayStatus)
            {
                Rectangle textRect = new Rectangle(0, 0, 30, ClientRectangle.Height);
                TextRenderer.DrawText(e.Graphics, Text, MetroFonts.Link(metroLinkSize, metroLinkWeight), textRect, foreColor, MetroPaint.GetTextFormatFlags(TextAlign));
            }

            if (displayFocusRectangle && isFocused)
            {
                ControlPaint.DrawFocusRectangle(e.Graphics, ClientRectangle);
            }
        }
Example #21
0
        public override Size GetPreferredSize(Size proposedSize)
        {
            Size preferredSize;

            base.GetPreferredSize(proposedSize);

            using (var g = CreateGraphics())
            {
                proposedSize  = new Size(int.MaxValue, int.MaxValue);
                preferredSize = TextRenderer.MeasureText(g, Text, MetroFonts.Label(metroLabelSize, metroLabelWeight), proposedSize, MetroPaint.GetTextFormatFlags(TextAlign));
            }

            return(preferredSize);
        }
Example #22
0
        private void DrawTab(int index, Graphics graphics)
        {
            Color foreColor;
            bool  bHot      = false;
            var   backColor = Parent != null ? Parent.BackColor : MetroPaint.BackColor.Form(Theme);
            var   tabPage   = TabPages[index];
            var   tabRect   = GetTabRect(index);

            if (tabPage.Tag != null)
            {
                bHot = (bool)tabPage.Tag;
            }

            if (!Enabled)
            {
                foreColor = MetroPaint.ForeColor.Label.Disabled(Theme);
            }
            else
            {
                if (bHot)
                {
                    foreColor = MetroPaint.GetStyleColor(Style);
                }
                else
                {
                    foreColor = !useStyleColors?MetroPaint.ForeColor.TabControl.Normal(Theme) : MetroPaint.GetStyleColor(Style);
                }
            }

            if (index == 0 && (Alignment == TabAlignment.Bottom || Alignment == TabAlignment.Top))
            {
                tabRect.X = DisplayRectangle.X;
            }

            tabRect.Width += 20;

            TextRenderer.DrawText(graphics, tabPage.Text, MetroFonts.TabControl(metroLabelSize, metroLabelWeight),
                                  tabRect, foreColor, backColor, MetroPaint.GetTextFormatFlags(TextAlign));
        }
Example #23
0
        // Token: 0x060000E6 RID: 230 RVA: 0x00004764 File Offset: 0x00002964
        protected override void OnPaint(PaintEventArgs e)
        {
            Color color;

            if (this.useCustomBackground)
            {
                color = this.BackColor;
            }
            else
            {
                color = MetroPaint.BackColor.Form(base.Theme);
            }
            Color foreColor;
            Color color2;

            if (this.useCustomForeColor)
            {
                foreColor = this.ForeColor;
                if (this.isHovered && !this.isPressed && base.Enabled)
                {
                    color2 = MetroPaint.BorderColor.CheckBox.Hover(base.Theme);
                }
                else if (this.isHovered && this.isPressed && base.Enabled)
                {
                    color2 = MetroPaint.BorderColor.CheckBox.Press(base.Theme);
                }
                else if (!base.Enabled)
                {
                    color2 = MetroPaint.BorderColor.CheckBox.Disabled(base.Theme);
                }
                else
                {
                    color2 = MetroPaint.BorderColor.CheckBox.Normal(base.Theme);
                }
            }
            else if (this.isHovered && !this.isPressed && base.Enabled)
            {
                foreColor = MetroPaint.ForeColor.CheckBox.Hover(base.Theme);
                color2    = MetroPaint.BorderColor.CheckBox.Hover(base.Theme);
            }
            else if (this.isHovered && this.isPressed && base.Enabled)
            {
                foreColor = MetroPaint.ForeColor.CheckBox.Press(base.Theme);
                color2    = MetroPaint.BorderColor.CheckBox.Press(base.Theme);
            }
            else if (!base.Enabled)
            {
                foreColor = MetroPaint.ForeColor.CheckBox.Disabled(base.Theme);
                color2    = MetroPaint.BorderColor.CheckBox.Disabled(base.Theme);
            }
            else
            {
                foreColor = ((!this.useStyleColors) ? MetroPaint.ForeColor.CheckBox.Normal(base.Theme) : MetroPaint.GetStyleColor(base.Style));
                color2    = MetroPaint.BorderColor.CheckBox.Normal(base.Theme);
            }
            e.Graphics.Clear(color);
            using (Pen pen = new Pen(color2))
            {
                Rectangle rect = new Rectangle(0, base.Height / 2 - 6, 12, 12);
                e.Graphics.DrawRectangle(pen, rect);
            }
            if (base.Checked)
            {
                Color color3 = (base.CheckState == CheckState.Indeterminate) ? color2 : MetroPaint.GetStyleColor(base.Style);
                using (SolidBrush solidBrush = new SolidBrush(color3))
                {
                    Rectangle rect2 = new Rectangle(2, base.Height / 2 - 4, 9, 9);
                    e.Graphics.FillRectangle(solidBrush, rect2);
                }
            }
            Rectangle bounds = new Rectangle(16, 0, base.Width - 16, base.Height);

            TextRenderer.DrawText(e.Graphics, this.Text, MetroFonts.Link(this.metroLinkSize, this.metroLinkWeight), bounds, foreColor, color, MetroPaint.GetTextFormatFlags(this.TextAlign));
        }
        //public MetroFormButton()
        //{
        //    SetStyle(ControlStyles.AllPaintingInWmPaint |
        //             ControlStyles.OptimizedDoubleBuffer |
        //             ControlStyles.ResizeRedraw |
        //             ControlStyles.UserPaint, true);
        //}

        #endregion

        #region Paint Methods

        protected override void OnPaint(PaintEventArgs e)
        {
            Color backColor, foreColor;

            MetroThemeStyle _Theme = Theme;
            MetroColorStyle _Style = Style;

            if (Parent != null)
            {
                if (Parent is IMetroForm)
                {
                    _Theme    = ((IMetroForm)Parent).Theme;
                    _Style    = ((IMetroForm)Parent).Style;
                    backColor = MetroPaint.BackColor.Form(_Theme);
                }
                else if (Parent is IMetroControl)
                {
                    _Theme    = ((IMetroControl)Parent).Theme;
                    _Style    = ((IMetroControl)Parent).Style;
                    backColor = MetroPaint.BackColor.Form(_Theme);
                }
                else
                {
                    backColor = Parent.BackColor;
                }
            }
            else
            {
                backColor = MetroPaint.BackColor.Form(_Theme);
            }

            if (isHovered && !isPressed && Enabled)
            {
                foreColor = MetroPaint.ForeColor.Button.Normal(_Theme);
                backColor = MetroPaint.BackColor.Button.Normal(_Theme);
            }
            else if (isHovered && isPressed && Enabled)
            {
                foreColor = MetroPaint.ForeColor.Button.Press(_Theme);
                backColor = MetroPaint.GetStyleColor(_Style);
            }
            else if (!Enabled)
            {
                foreColor = MetroPaint.ForeColor.Button.Disabled(_Theme);
                backColor = MetroPaint.BackColor.Button.Disabled(_Theme);
            }
            else
            {
                foreColor = MetroPaint.ForeColor.Button.Normal(_Theme);
            }

            e.Graphics.Clear(backColor);
            //Font buttonFont = new Font("Webdings", 9.25f);
            TextFormatFlags _firstflag  = TextFormatFlags.HorizontalCenter;
            TextFormatFlags _secondflag = TextFormatFlags.VerticalCenter;

            switch (TextAlign)
            {
            case ContentAlignment.BottomCenter:
                _secondflag = TextFormatFlags.Bottom;
                break;

            case ContentAlignment.BottomLeft:
                _firstflag  = TextFormatFlags.Left;
                _secondflag = TextFormatFlags.Bottom;
                break;

            case ContentAlignment.BottomRight:
                _firstflag  = TextFormatFlags.Right;
                _secondflag = TextFormatFlags.Bottom;
                break;

            case ContentAlignment.MiddleLeft:
                _firstflag = TextFormatFlags.Left;
                break;

            case ContentAlignment.MiddleRight:
                _firstflag = TextFormatFlags.Right;
                break;

            case ContentAlignment.TopCenter:
                _secondflag = TextFormatFlags.Top;
                break;

            case ContentAlignment.TopLeft:
                _firstflag  = TextFormatFlags.Left;
                _secondflag = TextFormatFlags.Top;
                break;

            case ContentAlignment.TopRight:
                _firstflag  = TextFormatFlags.Right;
                _secondflag = TextFormatFlags.Top;
                break;
            }

            TextRenderer.DrawText(e.Graphics, Text, _customfont ? MetroFonts.Button(metroButtonSize, metroButtonWeight) : Font, ClientRectangle, foreColor, backColor, _firstflag | _secondflag | TextFormatFlags.EndEllipsis);

            DrawIcon(e.Graphics);
        }
        protected virtual void OnPaintForeground(PaintEventArgs e)
        {
            Color color;
            Color foreColor;

            if (this.isHovered && !this.isPressed && base.Enabled)
            {
                color     = MetroPaint.BorderColor.Button.Hover(this.Theme);
                foreColor = MetroPaint.ForeColor.Button.Hover(this.Theme);
            }
            else if (this.isHovered && this.isPressed && base.Enabled)
            {
                color     = MetroPaint.BorderColor.Button.Press(this.Theme);
                foreColor = MetroPaint.ForeColor.Button.Press(this.Theme);
            }
            else if (base.Enabled)
            {
                color = MetroPaint.BorderColor.Button.Normal(this.Theme);
                if (!this.useCustomForeColor)
                {
                    foreColor = (!this.useStyleColors ? MetroPaint.ForeColor.Button.Normal(this.Theme) : MetroPaint.GetStyleColor(this.Style));
                }
                else
                {
                    foreColor = this.ForeColor;
                }
            }
            else
            {
                color     = MetroPaint.BorderColor.Button.Disabled(this.Theme);
                foreColor = MetroPaint.ForeColor.Button.Disabled(this.Theme);
            }
            using (Pen pen = new Pen(color))
            {
                Rectangle rectangle = new Rectangle(0, 0, base.Width - 1, base.Height - 1);
                e.Graphics.DrawRectangle(pen, rectangle);
            }
            if (this.Highlight && !this.isHovered && !this.isPressed && base.Enabled)
            {
                using (Pen stylePen = MetroPaint.GetStylePen(this.Style))
                {
                    Rectangle rectangle1 = new Rectangle(0, 0, base.Width - 1, base.Height - 1);
                    e.Graphics.DrawRectangle(stylePen, rectangle1);
                    rectangle1 = new Rectangle(1, 1, base.Width - 3, base.Height - 3);
                    e.Graphics.DrawRectangle(stylePen, rectangle1);
                }
            }
            TextRenderer.DrawText(e.Graphics, this.Text, MetroFonts.Button(this.metroButtonSize, this.metroButtonWeight), base.ClientRectangle, foreColor, MetroPaint.GetTextFormatFlags(this.TextAlign));
            this.OnCustomPaintForeground(new MetroPaintEventArgs(Color.Empty, foreColor, e.Graphics));
            if (this.displayFocusRectangle && this.isFocused)
            {
                ControlPaint.DrawFocusRectangle(e.Graphics, base.ClientRectangle);
            }
        }
Example #26
0
        private void DrawTab(int index, Graphics graphics)
        {
            Color foreColor;
            Color backColor = BackColor;

            if (!useCustomBackColor)
            {
                backColor = MetroPaint.BackColor.Form(Theme);
            }

            TabPage   tabPage = TabPages[index];
            Rectangle tabRect = GetTabRect(index);

            if (!Enabled)
            {
                foreColor = MetroPaint.ForeColor.Label.Disabled(Theme);
            }
            else
            {
                if (useCustomForeColor)
                {
                    foreColor = DefaultForeColor;
                }
                else
                {
                    foreColor = !useStyleColors?MetroPaint.ForeColor.TabControl.Normal(Theme) : MetroPaint.GetStyleColor(Style);
                }
            }

            if (index == 0)
            {
                tabRect.X = DisplayRectangle.X;
            }

            Rectangle bgRect = tabRect;

            tabRect.Width += 20;

            using (Brush bgBrush = new SolidBrush(backColor))
            {
                graphics.FillRectangle(bgBrush, bgRect);
            }

            TextRenderer.DrawText(graphics, tabPage.Text, MetroFonts.TabControl(metroLabelSize, metroLabelWeight),
                                  tabRect, foreColor, backColor, MetroPaint.GetTextFormatFlags(TextAlign));
        }
 private void DrawProgressContinuous(Graphics graphics)
 {
     graphics.FillRectangle(MetroPaint.GetStyleBrush(Style), 0, 0, (int)ProgressBarWidth, ClientRectangle.Height);
 }
Example #28
0
        protected virtual void OnPaintForeground(PaintEventArgs e)
        {
            Color foreColor;

            if (useCustomForeColor)
            {
                foreColor = ForeColor;
            }
            else
            {
                if (isHovered && !isPressed && Enabled)
                {
                    foreColor = MetroPaint.ForeColor.Link.Hover(Theme);
                }
                else if (isHovered && isPressed && Enabled)
                {
                    foreColor = MetroPaint.ForeColor.Link.Press(Theme);
                }
                else if (!Enabled)
                {
                    foreColor = MetroPaint.ForeColor.Link.Disabled(Theme);
                }
                else
                {
                    foreColor = !useStyleColors?MetroPaint.ForeColor.Link.Normal(Theme) : MetroPaint.GetStyleColor(Style);
                }
            }

            TextRenderer.DrawText(e.Graphics, Text, MetroFonts.Link(metroLinkSize, metroLinkWeight), ClientRectangle, foreColor, MetroPaint.GetTextFormatFlags(TextAlign));

            OnCustomPaintForeground(new MetroPaintEventArgs(Color.Empty, foreColor, e.Graphics));

            if (displayFocusRectangle && isFocused)
            {
                ControlPaint.DrawFocusRectangle(e.Graphics, ClientRectangle);
            }
        }
        private void DrawProgressText(Graphics graphics)
        {
            if (HideProgressText)
            {
                return;
            }

            Color foreColor;

            if (!Enabled)
            {
                foreColor = MetroPaint.ForeColor.ProgressBar.Disabled(Theme);
            }
            else
            {
                foreColor = MetroPaint.ForeColor.ProgressBar.Normal(Theme);
            }

            TextRenderer.DrawText(graphics, ProgressPercentText, MetroFonts.ProgressBar(metroLabelSize, metroLabelWeight), ClientRectangle, foreColor, MetroPaint.GetTextFormatFlags(TextAlign));
        }
Example #30
0
        // Token: 0x06000190 RID: 400 RVA: 0x00005AE0 File Offset: 0x00003CE0
        protected override void OnPaint(PaintEventArgs e)
        {
            Color color;

            if (this.useCustomBackground)
            {
                color = this.BackColor;
            }
            else
            {
                color = MetroPaint.BackColor.Form(base.Theme);
                if (base.Parent is MetroTile)
                {
                    color = MetroPaint.GetStyleColor(base.Style);
                }
            }
            Color foreColor;

            if (this.useCustomForeColor)
            {
                foreColor = this.ForeColor;
            }
            else if (!base.Enabled)
            {
                if (base.Parent != null)
                {
                    if (base.Parent is MetroTile)
                    {
                        foreColor = MetroPaint.ForeColor.Tile.Disabled(base.Theme);
                    }
                    else
                    {
                        foreColor = MetroPaint.ForeColor.Label.Normal(base.Theme);
                    }
                }
                else
                {
                    foreColor = MetroPaint.ForeColor.Label.Disabled(base.Theme);
                }
            }
            else if (base.Parent != null)
            {
                if (base.Parent is MetroTile)
                {
                    foreColor = MetroPaint.ForeColor.Tile.Normal(base.Theme);
                }
                else if (this.useStyleColors)
                {
                    foreColor = MetroPaint.GetStyleColor(base.Style);
                }
                else
                {
                    foreColor = MetroPaint.ForeColor.Label.Normal(base.Theme);
                }
            }
            else if (this.useStyleColors)
            {
                foreColor = MetroPaint.GetStyleColor(base.Style);
            }
            else
            {
                foreColor = MetroPaint.ForeColor.Label.Normal(base.Theme);
            }
            e.Graphics.Clear(color);
            if (this.LabelMode == MetroLabelMode.Selectable)
            {
                this.CreateBaseTextBox();
                this.UpdateBaseTextBox();
                if (!this.baseTextBox.Visible)
                {
                    TextRenderer.DrawText(e.Graphics, this.Text, MetroFonts.Label(this.metroLabelSize, this.metroLabelWeight), base.ClientRectangle, foreColor, color, MetroPaint.GetTextFormatFlags(this.TextAlign));
                    return;
                }
            }
            else
            {
                this.DestroyBaseTextbox();
                TextRenderer.DrawText(e.Graphics, this.Text, MetroFonts.Label(this.metroLabelSize, this.metroLabelWeight), base.ClientRectangle, foreColor, color, MetroPaint.GetTextFormatFlags(this.TextAlign));
            }
        }