コード例 #1
0
        /// <summary>
        /// Internally called by <see cref="DrawScrollButton"/> to draw the arrow itself.
        /// </summary>
        /// <exception cref="ArgumentNullException">
        /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
        /// </exception>
        public void DrawScrollButtonBody(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            Graphics          g      = paintParams.Graphics;
            Rectangle         bounds = paintParams.Bounds;
            NuGenControlState state  = paintParams.State;

            using (Pen pen = this.GetBorderPen(state))
            {
                pen.Width = 2f;

                int width  = 8;
                int height = 4;

                Rectangle arrowBounds = new Rectangle(
                    bounds.Left + bounds.Width / 2 - width / 2,
                    bounds.Top + bounds.Height / 2 - height / 2,
                    width,
                    height
                    );

                Point p1 = new Point(arrowBounds.Left, arrowBounds.Top);
                Point p2 = new Point(arrowBounds.Left + arrowBounds.Width / 2, arrowBounds.Bottom);
                Point p3 = new Point(arrowBounds.Right, arrowBounds.Top);

                g.DrawLines(pen, new Point[] { p1, p2, p3 });
            }
        }
コード例 #2
0
        /*
         * DrawShadow
         */

        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException">
        /// <para>
        ///		<paramref name="paintParams"/> is <see langword="null"/>.
        /// </para>
        /// </exception>
        public void DrawShadow(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            Graphics  g      = paintParams.Graphics;
            Rectangle bounds = paintParams.Bounds;

            using (NuGenGrfxMode mode = new NuGenGrfxMode(g))
            {
                g.SmoothingMode   = SmoothingMode.AntiAlias;
                g.PixelOffsetMode = PixelOffsetMode.HighQuality;

                for (int i = 0; i < _shadowColorsCount; i++)
                {
                    using (Pen pen = new Pen(_shadowColors[i]))
                    {
                        NuGenControlPaint.DrawRoundRectangle(g, pen, bounds, _shadowColorsCount - i);
                    }

                    bounds.Inflate(-1, -1);
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// </summary>
        /// <exception cref="ArgumentNullException"><para><paramref name="paintParams"/> is <see langword="null"/>.</para></exception>
        public void DrawShadow(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            Graphics  g      = paintParams.Graphics;
            Rectangle bounds = paintParams.Bounds;

            int     alpha          = 0;
            Color   baseColor      = Color.Black;
            int     alphaStep      = 5;
            Padding deflatePadding = new Padding(1);

            using (NuGenGrfxMode mode = new NuGenGrfxMode(g))
            {
                NuGenControlPaint.SetGraphicsVeryHighQuality(g);

                using (Pen pen = new Pen(Color.FromArgb(alpha, baseColor)))
                {
                    for (int i = 0; i <= _shadowStepCount; i++)
                    {
                        NuGenControlPaint.DrawRoundRectangle(g, pen, bounds, _shadowRadius);
                        pen.Color = Color.FromArgb(alpha += alphaStep, baseColor);
                        bounds    = NuGenControlPaint.DeflateRectangle(bounds, deflatePadding);

                        if (i == 1)
                        {
                            alphaStep = 10;
                        }
                    }
                }
            }
        }
コード例 #4
0
        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException">
        /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
        /// </exception>
        public void DrawExtendedBackground(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            this.DrawBackground(paintParams);
            Color     borderColor = this.ColorManager.GetBorderColor(paintParams.State);
            Graphics  g           = paintParams.Graphics;
            Rectangle bounds      = paintParams.Bounds;

            int ellipseWidth  = 2 * bounds.Width;
            int ellipseHeight = 2 * bounds.Height;

            int ellipseStart = 0;
            int ellipseStep  = 50;

            using (SolidBrush sb = new SolidBrush(Color.FromArgb(20, borderColor)))
            {
                g.FillEllipse(sb, ellipseStart, ellipseStart, ellipseWidth, ellipseHeight);
                g.FillEllipse(sb, ellipseStart + ellipseStep, ellipseStart + ellipseStep, ellipseWidth, ellipseHeight);
                g.FillEllipse(sb, ellipseStart + ellipseStep * 2, ellipseStart + ellipseStep * 2, ellipseWidth, ellipseHeight);
            }
        }
コード例 #5
0
        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException">
        /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
        /// </exception>
        public void DrawDoubleScrollButton(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            this.DrawBackground(paintParams);
            this.DrawBorder(paintParams);

            Rectangle bounds = paintParams.Bounds;

            paintParams.Bounds = new Rectangle(
                bounds.Left
                , bounds.Top - 3
                , bounds.Width
                , bounds.Height
                );
            this.DrawScrollButtonBody(paintParams);

            paintParams.Bounds = new Rectangle(
                bounds.Left
                , bounds.Top + 3
                , bounds.Width
                , bounds.Height
                );
            this.DrawScrollButtonBody(paintParams);
        }
コード例 #6
0
        void INuGenRoundedPanelRenderer.DrawBackground(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            base.DrawRoundBackground(paintParams);

            Graphics          g      = paintParams.Graphics;
            Rectangle         bounds = paintParams.Bounds;
            NuGenControlState state  = paintParams.State;

            RectangleF ellipseBounds = new RectangleF(
                bounds.Left - bounds.Width * 0.2f
                , bounds.Top + bounds.Height * 0.6f
                , bounds.Width * 2
                , bounds.Height
                );

            if (ellipseBounds.Width > 0 && ellipseBounds.Height > 0)
            {
                Color beginColor = Color.FromArgb(60, this.ColorManager.GetBorderColor(state));
                Color endColor   = Color.FromArgb(10, this.ColorManager.GetBackgroundGradientEnd(state));

                using (Brush brush = new LinearGradientBrush(ellipseBounds, beginColor, endColor, 0.0f))
                {
                    g.SetClip(bounds, CombineMode.Replace);
                    g.FillEllipse(brush, ellipseBounds);
                }
            }
        }
コード例 #7
0
        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException">
        /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
        /// </exception>
        public void DrawDropDownArrow(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            Graphics          g      = paintParams.Graphics;
            Rectangle         bounds = paintParams.Bounds;
            NuGenControlState state  = paintParams.State;

            int x = bounds.Left + bounds.Width / 2;
            int y = bounds.Top + bounds.Height / 2 - 3;

            Point[] arrowPoints = new Point[] {
                new Point(x - 3, y),
                new Point(x + 2, y),
                new Point(x, y + 3)
            };

            using (SolidBrush sb = new SolidBrush(this.ColorManager.GetBorderColor(state)))
            {
                PixelOffsetMode oldPixelOffsetMode = g.PixelOffsetMode;
                g.PixelOffsetMode = PixelOffsetMode.HighQuality;
                g.FillPolygon(sb, arrowPoints);
                g.PixelOffsetMode = oldPixelOffsetMode;
            }
        }
コード例 #8
0
            /// <summary>
            /// Add custom logic before the <see cref="E:Genetibase.Shared.Windows.NuGenWndLessControl.Paint"/> event will be raised.
            /// </summary>
            /// <param name="e"></param>
            protected override void OnPaint(PaintEventArgs e)
            {
                NuGenControlState currentState = this.ButtonStateTracker.GetControlState();
                NuGenPaintParams  paintParams  = new NuGenPaintParams(e.Graphics);

                paintParams.Bounds = this.Bounds;
                paintParams.State  = currentState;

                switch (this.Style)
                {
                case ImageRotationStyle.CCW:
                {
                    this.Renderer.DrawCCWRotateButton(paintParams);
                    break;
                }

                default:
                {
                    this.Renderer.DrawCWRotateButton(paintParams);
                    break;
                }
                }

                base.OnPaint(e);
            }
コード例 #9
0
        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException">
        /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
        /// </exception>
        public void DrawCCWRotateButton(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            NuGenImagePaintParams imagePaintParams = new NuGenImagePaintParams(paintParams);

            switch (imagePaintParams.State)
            {
            case NuGenControlState.Hot:
            case NuGenControlState.Pressed:
            {
                imagePaintParams.Image = res.RotateCCW_Hot;
                break;
            }

            default:
            {
                imagePaintParams.Image = res.RotateCCW_Normal;
                break;
            }
            }

            this.DrawImage(imagePaintParams);
        }
            protected override void OnPaint(PaintEventArgs e)
            {
                NuGenPaintParams paintParams = new NuGenPaintParams(e.Graphics);

                paintParams.Bounds = this.ClientRectangle;
                paintParams.State  = this.StateTracker.GetControlState();
                this.Renderer.DrawToolBarSeparator(paintParams);
            }
コード例 #11
0
 /// <summary>
 /// </summary>
 /// <param name="paintParams"></param>
 public void DrawBorder(NuGenPaintParams paintParams)
 {
     base.DrawBorder(
         paintParams.Graphics
         , NuGenControlPaint.BorderRectangle(paintParams.Bounds)
         , paintParams.State
         );
 }
コード例 #12
0
        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException">
        /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
        /// </exception>
        public void DrawBorder(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            this.DrawBorder(paintParams.Graphics, paintParams.Bounds, paintParams.State);
        }
コード例 #13
0
        /*
         * DrawBackground
         */

        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException"><paramref name="paintParams"/> is <see langword="null"/>.</exception>
        public new void DrawBackground(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            base.DrawRoundBackground(paintParams);
        }
コード例 #14
0
        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException"><para><paramref name="paintParams"/> is <see langword="null"/>.</para></exception>
        public void DrawDropDownButton(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            this.DrawScrollButtonBody(paintParams);
        }
コード例 #15
0
        /*
         * DrawComboBoxButton
         */

        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException">
        /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
        /// </exception>
        /// <exception cref="InvalidOperationException">
        /// <para>
        ///		Border should return an array containing at least 1 element.
        /// </para>
        /// </exception>
        public void DrawComboBoxButton(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            this.DrawScrollButton(paintParams);
        }
コード例 #16
0
        /// <summary>
        /// </summary>
        /// <exception cref="ArgumentNullException">
        /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
        /// </exception>
        public void DrawRoundBackground(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            DrawRoundBackground(paintParams.Graphics, paintParams.Bounds, paintParams.State);
        }
コード例 #17
0
        /*
         * DrawShadow
         */

        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        public void DrawShadow(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            this.DrawShadow(paintParams.Graphics, NuGenSmoothButtonRenderer.GetBorderRectangle(paintParams.Bounds), paintParams.State);
        }
コード例 #18
0
        protected override void OnPaint(PaintEventArgs e)
        {
            NuGenPaintParams paintParams = new NuGenPaintParams(e.Graphics);

            paintParams.Bounds = this.ClientRectangle;
            paintParams.State  = NuGenControlState.Normal;

            this.Renderer.DrawExtendedBackground(paintParams);
        }
コード例 #19
0
        void INuGenPanelExRenderer.DrawBackground(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            base.DrawRoundBackground(paintParams);
            RendererUtils.DrawBackground(this.ServiceProvider, paintParams);
        }
コード例 #20
0
        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException">
        /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
        /// </exception>
        public void DrawScrollTrack(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            Graphics          g      = paintParams.Graphics;
            Rectangle         bounds = paintParams.Bounds;
            NuGenControlState state  = paintParams.State;

            Color borderColor = this.ColorManager.GetBorderColor(NuGenControlState.Normal);
            Color bkgndColor;

            switch (state)
            {
            case NuGenControlState.Pressed:
            {
                bkgndColor = Color.FromArgb(130, borderColor);
                break;
            }

            case NuGenControlState.Hot:
            {
                bkgndColor = Color.FromArgb(90, borderColor);
                break;
            }

            default:
            {
                bkgndColor = Color.FromArgb(50, borderColor);
                break;
            }
            }

            using (SolidBrush sb = new SolidBrush(bkgndColor))
            {
                g.FillRectangle(sb, bounds);
            }

            Rectangle borderRectangle = NuGenControlPaint.BorderRectangle(bounds);

            this.DrawLine(
                g,
                NuGenControlPaint.RectTLCorner(borderRectangle),
                NuGenControlPaint.RectTRCorner(borderRectangle),
                NuGenControlState.Normal
                );
            this.DrawLine(
                g,
                NuGenControlPaint.RectBLCorner(borderRectangle),
                NuGenControlPaint.RectBRCorner(borderRectangle),
                NuGenControlState.Normal
                );
        }
コード例 #21
0
        /// <summary>
        /// Raises the <see cref="E:System.Windows.Forms.Control.Paint"></see> event.
        /// </summary>
        /// <param name="e">A <see cref="T:System.Windows.Forms.PaintEventArgs"></see> that contains the event data.</param>
        protected override void OnPaint(PaintEventArgs e)
        {
            NuGenPaintParams paintParams = new NuGenPaintParams(e.Graphics);

            paintParams.Bounds = this.ClientRectangle;
            paintParams.State  = this.ButtonStateTracker.GetControlState();

            switch (paintParams.State)
            {
            case NuGenControlState.Pressed:
            case NuGenControlState.Hot:
            {
                _cwRotateButton.Visible = _ccwRotateButton.Visible = true;
                break;
            }

            default:
            {
                _cwRotateButton.Visible = _ccwRotateButton.Visible = false;
                break;
            }
            }

            this.Renderer.DrawBackground(paintParams);
            this.Renderer.DrawBorder(paintParams);

            NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams(paintParams);

            using (Font font = this.Renderer.GetFont(textPaintParams.Bounds))
            {
                textPaintParams.Bounds    = this.LayoutManager.GetTextBounds(textPaintParams.Bounds, font.Size);
                textPaintParams.Font      = font;
                textPaintParams.ForeColor = this.Renderer.GetForeColor(textPaintParams.State);
                textPaintParams.Text      = this.Text;
                textPaintParams.TextAlign = this.TextAlign;

                this.Renderer.DrawText(textPaintParams);
            }

            Image image = this.Image;

            if (image != null)
            {
                NuGenImagePaintParams imagePaintParams = new NuGenImagePaintParams(paintParams);
                imagePaintParams.Bounds = this.LayoutManager.GetImageBounds(imagePaintParams.Bounds, image.Size);
                imagePaintParams.Image  = image;

                this.Renderer.DrawImage(imagePaintParams);
                this.Renderer.DrawBorder(imagePaintParams);
            }

            base.OnPaint(e);
        }
コード例 #22
0
        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException">
        /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
        /// </exception>
        public void DrawButtonBorder(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            Rectangle borderRectangle = paintParams.Bounds;

            borderRectangle.Width--;
            this.DrawBorder(paintParams.Graphics, borderRectangle, paintParams.State);
        }
コード例 #23
0
        void INuGenButtonRenderer.DrawBackground(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            this.DrawBackground(
                paintParams.Graphics,
                Rectangle.Inflate(paintParams.Bounds, -2, -2),
                paintParams.State
                );
        }
コード例 #24
0
        /// <summary>
        /// </summary>
        /// <exception cref="ArgumentNullException"><paramref name="paintParams"/> is <see langword="null"/>.</exception>
        public void DrawSelectionFrame(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            Graphics          g      = paintParams.Graphics;
            Rectangle         bounds = paintParams.Bounds;
            NuGenControlState state  = paintParams.State;

            this.DrawBackground(paintParams);
            this.DrawBorder(g, NuGenControlPaint.BorderRectangle(bounds), state);
        }
コード例 #25
0
        /// <summary>
        /// </summary>
        /// <exception cref="ArgumentNullException"><paramref name="paintParams"/> is <see langword="null"/>.</exception>
        public void DrawFisheyeExpander(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            Graphics          g             = paintParams.Graphics;
            Rectangle         bounds        = paintParams.Bounds;
            NuGenControlState state         = paintParams.State;
            NuGenControlState expanderState = NuGenControlState.Normal;

            if (state == NuGenControlState.Hot)
            {
                using (SolidBrush sb = new SolidBrush(Color.FromArgb(30, this.ColorManager.GetBorderColor(expanderState))))
                {
                    g.FillRectangle(sb, bounds);
                }

                this.DrawBorder(g, bounds, expanderState);
            }
            else if (state == NuGenControlState.Normal)
            {
                this.DrawBorder(g, NuGenControlPaint.BorderRectangle(bounds), expanderState);
            }

            NuGenPaintParams arrowPaintParams = new NuGenPaintParams(paintParams);

            arrowPaintParams.State  = expanderState;
            arrowPaintParams.Bounds = Rectangle.FromLTRB(
                bounds.Left
                , bounds.Bottom - 20
                , bounds.Right
                , bounds.Bottom
                );

            this.DrawScrollButtonBody(arrowPaintParams);

            arrowPaintParams.Bounds = Rectangle.FromLTRB(
                bounds.Left
                , bounds.Top
                , bounds.Right
                , bounds.Top + 30
                );

            g.RotateTransform(180);
            g.TranslateTransform(-(bounds.Width * 2 + bounds.Left + 3), -(24 + bounds.Y * 2));
            this.DrawScrollButtonBody(arrowPaintParams);
            g.ResetTransform();
        }
コード例 #26
0
        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException"><para><paramref name="paintParams"/> is <see langword="null"/>.</para></exception>
        public void DrawBorder(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            Graphics g = paintParams.Graphics;

            using (NuGenGrfxMode mode = new NuGenGrfxMode(g))
            {
                g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
                this.DrawRoundBorder(g, NuGenControlPaint.BorderRectangle(paintParams.Bounds), paintParams.State);
            }
        }
コード例 #27
0
        /// <summary>
        /// </summary>
        /// <exception cref="ArgumentNullException">
        /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
        /// </exception>
        public void DrawToolBarSeparator(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            Rectangle bounds = paintParams.Bounds;

            this.DrawLine(
                paintParams.Graphics
                , NuGenControlPaint.RectTCCorner(bounds)
                , NuGenControlPaint.RectBCCorner(bounds)
                , paintParams.State
                );
        }
コード例 #28
0
        /*
         * DrawBackground
         */

        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException">
        /// <para>
        ///		<paramref name="paintParams"/> is <see langword="null"/>.
        /// </para>
        /// </exception>
        public new void DrawBackground(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            Graphics          g      = paintParams.Graphics;
            Rectangle         bounds = paintParams.Bounds;
            NuGenControlState state  = paintParams.State;

            using (NuGenGrfxMode mode = new NuGenGrfxMode(g))
            {
                g.SmoothingMode   = SmoothingMode.AntiAlias;
                g.PixelOffsetMode = PixelOffsetMode.HighQuality;
                this.DrawRoundBackground(g, bounds, state);
            }
        }
コード例 #29
0
        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException">
        /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
        /// </exception>
        public void DrawNavigationPaneBorder(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            Graphics          g      = paintParams.Graphics;
            Rectangle         bounds = NuGenControlPaint.BorderRectangle(paintParams.Bounds);
            NuGenControlState state  = paintParams.State;

            Point topLeftCorner     = NuGenControlPaint.RectTLCorner(bounds);
            Point bottomLeftCorner  = NuGenControlPaint.RectBLCorner(bounds);
            Point topRightCorner    = NuGenControlPaint.RectTRCorner(bounds);
            Point bottomRightCorner = NuGenControlPaint.RectBRCorner(bounds);

            this.DrawLine(g, topLeftCorner, bottomLeftCorner, state);
            this.DrawLine(g, topRightCorner, bottomRightCorner, state);
        }
コード例 #30
0
        /*
         * DrawForeground
         */

        /// <summary>
        /// </summary>
        /// <param name="paintParams"></param>
        /// <exception cref="ArgumentNullException">
        /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
        /// </exception>
        public void DrawForeground(NuGenPaintParams paintParams)
        {
            if (paintParams == null)
            {
                throw new ArgumentNullException("paintParams");
            }

            Graphics  g      = paintParams.Graphics;
            Rectangle bounds = paintParams.Bounds;

            if (bounds.Height > 0 && bounds.Width > 0)
            {
                using (NuGenGrfxMode mode = new NuGenGrfxMode(g))
                {
                    g.SmoothingMode = SmoothingMode.AntiAlias;
                    this.DrawBackground(paintParams.Graphics, bounds, NuGenControlState.Pressed);
                }
            }
        }
コード例 #31
0
		/// <summary>
		/// </summary>
		/// <exception cref="ArgumentNullException">
		/// <para><paramref name="paintParams"/> is <see langword="null"/>.</para>
		/// </exception>
		public void DrawCloseButton(NuGenPaintParams paintParams)
		{
			if (paintParams == null)
			{
				throw new ArgumentNullException("paintParams");
			}

			Graphics g = paintParams.Graphics;
			Rectangle bounds = paintParams.Bounds;
			NuGenControlState state = paintParams.State;
			Image imageToDraw = null;

			switch (state)
			{
				case NuGenControlState.Hot:
				{
					imageToDraw = Resources.Image_CloseButton_Hot;
					break;
				}
				case NuGenControlState.Pressed:
				{
					imageToDraw = Resources.Image_CloseButton_Pressed;
					break;
				}
				default:
				{
					imageToDraw = Resources.Image_CloseButton_Normal;
					break;
				}
			}

			if (state == NuGenControlState.Disabled)
			{
				ControlPaint.DrawImageDisabled(g, imageToDraw, bounds.X, bounds.Y, SystemColors.Control);
			}
			else
			{
				g.DrawImageUnscaled(imageToDraw, bounds.X, bounds.Y);
			}
		}
コード例 #32
0
			public void DrawSelectionFrame(NuGenPaintParams paintParams)
			{
				Assert.IsNotNull(paintParams);
			}
コード例 #33
0
			public void DrawFisheyeExpander(NuGenPaintParams paintParams)
			{
				Assert.IsNotNull(paintParams);
			}
コード例 #34
0
			public void DrawBorder(NuGenPaintParams paintParams)
			{
				Assert.IsNotNull(paintParams);
			}
コード例 #35
0
			public void DrawComboBoxButton(NuGenPaintParams paintParams)
			{
				Assert.IsNotNull(paintParams);
			}
コード例 #36
0
		private void DrawButton(Graphics g, HeaderButtonState state, HeaderButtons button, Rectangle bounds)
		{
			NuGenControlState currentState = NuGenControlState.Normal;

			if (_calendar.Enabled)
			{
				if (state == HeaderButtonState.Hot)
					currentState = NuGenControlState.Hot;
				else if (state == HeaderButtonState.Inactive)
					currentState = NuGenControlState.Disabled;
				else if (state == HeaderButtonState.Pushed)
					currentState = NuGenControlState.Pressed;
			}
			else
				currentState = NuGenControlState.Disabled;

			NuGenPaintParams paintParams = new NuGenPaintParams(g);
			paintParams.Bounds = bounds;
			paintParams.State = currentState;

			this.Renderer.DrawBackground(paintParams);
			this.Renderer.DrawBorder(paintParams);

			Image buttonImage;

			switch (button)
			{
				case HeaderButtons.NextYear:
				{
					buttonImage = this.Renderer.GetNextYearImage();
					break;
				}
				case HeaderButtons.NextMonth:
				{
					buttonImage = this.Renderer.GetNextMonthImage();
					break;
				}
				case HeaderButtons.PreviousYear:
				{
					buttonImage = this.Renderer.GetPreviousYearImage();
					break;
				}
				default:
				{
					buttonImage = this.Renderer.GetPreviousMonthImage();
					break;
				}
			}

			Debug.Assert(buttonImage != null, "buttonImage != null");

			NuGenImagePaintParams imagePaintParams = new NuGenImagePaintParams(paintParams);
			imagePaintParams.Image = buttonImage;
			Size imageSize = buttonImage.Size;
			imagePaintParams.Bounds = new Rectangle(
				bounds.Left + (bounds.Width - imageSize.Width) / 2
				, bounds.Top + (bounds.Height - imageSize.Height) / 2
				, imageSize.Width
				, imageSize.Height
			);

			this.Renderer.DrawImage(imagePaintParams);	
		}
コード例 #37
0
		/// <summary>
		/// </summary>
		/// <param name="paintParams"></param>
		public void DrawDocComment(NuGenPaintParams paintParams)
		{
			return;
		}