/* * OnPaint */ /// <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) { Debug.Assert(this.Renderer != null, "this.Renderer != null"); Graphics g = e.Graphics; Rectangle bounds = this.ClientRectangle; NuGenControlState currentState = this.StateTracker.GetControlState(); _labelRectangle = this.GetLabelRectangle(g, bounds); _frameRectangle = this.GetFrameRectangle(_labelRectangle, bounds); NuGenPaintParams paintParams = new NuGenPaintParams(g); paintParams.Bounds = _frameRectangle; paintParams.State = currentState; if (this.Opaque) { this.Renderer.DrawBackground(paintParams); } this.Renderer.DrawFrame(paintParams); NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams(g); textPaintParams.Bounds = _labelRectangle; textPaintParams.Font = this.Font; textPaintParams.ForeColor = this.ForeColor; textPaintParams.Text = this.Text; textPaintParams.TextAlign = ContentAlignment.MiddleCenter; textPaintParams.State = currentState; this.Renderer.DrawLabel(textPaintParams); }
/* * OnPaint */ /// <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) { Debug.Assert(this.Renderer != null, "this.Renderer != null"); Debug.Assert(this.StateTracker != null, "this.StateTracker != null"); NuGenControlState state = this.StateTracker.GetControlState(); Rectangle bounds = this.ClientRectangle; Rectangle foreBounds = Rectangle.Empty; switch (this.Style) { case NuGenProgressBarStyle.Marquee: { if (this.Enabled && !this.DesignMode) { foreBounds = this.LayoutManager.GetMarqueeBlockBounds( bounds, _marqueeOffset, this.Orientation ); } break; } default: { foreBounds = this.LayoutManager.GetContinuousBounds( bounds, this.Minimum, this.Maximum, this.Value, this.Orientation ); break; } } NuGenPaintParams paintParams = new NuGenPaintParams(e.Graphics); paintParams.State = state; if (this.Style == NuGenProgressBarStyle.Blocks) { Rectangle[] blocks = this.LayoutManager.GetBlocks(foreBounds, this.Orientation); for (int i = 0; i < blocks.Length; i++) { paintParams.Bounds = blocks[i]; this.Renderer.DrawForeground(paintParams); } } else { paintParams.Bounds = foreBounds; this.Renderer.DrawForeground(paintParams); } paintParams.Bounds = bounds; this.Renderer.DrawBorder(paintParams); }
/* * OnPaint */ /// <summary> /// Raises the <see cref="System.Windows.Forms.Control.Paint"/> event. /// </summary> /// <param name="e">The <see cref="System.Windows.Forms.PaintEventArgs"/> instance containing the event data.</param> protected override void OnPaint(PaintEventArgs e) { NuGenPaintParams paintParams = new NuGenPaintParams(this, e.Graphics, this.ClientRectangle, NuGenControlState.Normal); this.Renderer.DrawBackground(paintParams); this.Renderer.DrawBorder(paintParams); }
/// <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); } }
/// <summary> /// </summary> /// <param name="paintParams"></param> 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++) { g.DrawRectangle(pen, bounds); pen.Color = Color.FromArgb(alpha += alphaStep, baseColor); bounds = NuGenControlPaint.DeflateRectangle(bounds, deflatePadding); if (i == 1) { alphaStep = 10; } } } } }
/// <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); }
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); }
/// <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) { NuGenPaintParams paintParams = new NuGenPaintParams(e.Graphics); paintParams.Bounds = this.Bounds; paintParams.State = this.ButtonStateTracker.GetControlState(); this.Renderer.DrawDropDownButton(paintParams); }
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); } } }
/// <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; } }
/// <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); }
/// <summary> /// </summary> /// <param name="paintParams"></param> public void DrawBorder(NuGenPaintParams paintParams) { base.DrawBorder( paintParams.Graphics , NuGenControlPaint.BorderRectangle(paintParams.Bounds) , paintParams.State ); }
/* * OnPaint */ /// <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) { Debug.Assert(this.ButtonStateTracker != null, "this.ButtonStateTracker != null"); Debug.Assert(this.Renderer != null, "this.Renderer != null"); Graphics g = e.Graphics; NuGenControlState currentState = this.ButtonStateTracker.GetControlState(); Rectangle bounds = this.ClientRectangle; Rectangle contentBounds = this.LayoutManager.GetContentRectangle(bounds); NuGenPaintParams paintParams = new NuGenPaintParams(g); paintParams.Bounds = bounds; paintParams.State = currentState; this.Renderer.DrawBackground(paintParams); this.Renderer.DrawShadow(paintParams); this.Renderer.DrawBorder(paintParams); Image image = this.Image; Rectangle imageBounds = Rectangle.Empty; ContentAlignment imageAlign = this.ImageAlign; if (image != null) { NuGenImagePaintParams imagePaintParams = new NuGenImagePaintParams(g); imagePaintParams.Bounds = imageBounds = this.LayoutManager.GetImageBounds( new NuGenBoundsParams( contentBounds , imageAlign , new Rectangle(Point.Empty, image.Size) , this.RightToLeft ) ); imagePaintParams.Image = image; imagePaintParams.State = currentState; this.Renderer.DrawImage(imagePaintParams); } if (imageBounds != Rectangle.Empty) { imageBounds.Inflate(3, 3); } NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams(g); textPaintParams.Bounds = this.LayoutManager.GetTextBounds( new NuGenBoundsParams(contentBounds, imageAlign, imageBounds, this.RightToLeft) ); textPaintParams.Font = this.Font; textPaintParams.ForeColor = this.ForeColor; textPaintParams.Text = this.Text; textPaintParams.TextAlign = NuGenControlPaint.RTLContentAlignment(this.TextAlign, this.RightToLeft); textPaintParams.State = currentState; this.Renderer.DrawText(textPaintParams); }
/* * 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); }
/* * OnPaint */ /// <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.StateTracker.GetControlState(); this.Renderer.DrawBackground(paintParams); this.Renderer.DrawNavigationPaneBorder(paintParams); }
/* * 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); }
/// <summary> /// </summary> /// <param name="paintParams"></param> /// <exception cref="ArgumentNullException"><paramref name="paintParams"/> is <see langword="null"/>.</exception> public void DrawBorder(NuGenPaintParams paintParams) { if (paintParams == null) { throw new ArgumentNullException("paintParams"); } base.DrawBorder(paintParams.Graphics, paintParams.Bounds, paintParams.State); }
/// <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); }
/* * 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); }
/// <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, NuGenControlPaint.BorderRectangle(paintParams.Bounds), paintParams.State); }
void INuGenPanelExRenderer.DrawBackground(NuGenPaintParams paintParams) { if (paintParams == null) { throw new ArgumentNullException("paintParams"); } base.DrawBackground(paintParams); RendererUtils.DrawBackground(this.ServiceProvider, paintParams); }
/// <summary> /// Initializes a new instance of the <see cref="NuGenPaintParams"/> class. /// </summary> /// <exception cref="ArgumentNullException"> /// <para><paramref name="initializeFrom"/> is <see langword="null"/>.</para> /// </exception> public NuGenPaintParams(NuGenPaintParams initializeFrom) { if (initializeFrom == null) { throw new ArgumentNullException("initializeFrom"); } _bounds = initializeFrom.Bounds; _graphics = initializeFrom.Graphics; _state = initializeFrom.State; }
/* * OnPaint */ /// <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) { Debug.Assert(this.Renderer != null, "this.Renderer != null"); NuGenPaintParams paintParams = new NuGenPaintParams(e.Graphics); paintParams.Bounds = this.ClientRectangle; paintParams.State = this.ButtonStateTracker.GetControlState(); this.Renderer.DrawCloseButton(paintParams); }
private void doccomment_Paint(object sender, PaintEventArgs e) { Debug.Assert(this.Renderer != null, "this.Renderer != null"); NuGenPaintParams paintParams = new NuGenPaintParams(e.Graphics); paintParams.Bounds = _doccomment.Properties["ClientRectangle"].GetValue <Rectangle>(); paintParams.State = this.StateTracker.GetControlState(); this.Renderer.DrawDocComment(paintParams); }
/// <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); }
/// <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 ); }
void INuGenButtonRenderer.DrawBackground(NuGenPaintParams paintParams) { if (paintParams == null) { throw new ArgumentNullException("paintParams"); } this.DrawBackground( paintParams.Graphics, Rectangle.Inflate(paintParams.Bounds, -2, -2), paintParams.State ); }
/// <summary> /// </summary> /// <param name="paintParams"></param> /// <exception cref="ArgumentNullException"> /// <para> /// <paramref name="paintParams"/> is <see langword="null"/>. /// </para> /// </exception> public void DrawDocComment(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); }
/* * OnPaint */ /// <summary> /// Raises the <see cref="M:System.Windows.Forms.ButtonBase.OnPaint(System.Windows.Forms.PaintEventArgs)"></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) { Graphics g = e.Graphics; Rectangle bounds = this.ClientRectangle; /* Translate e.Graphics to render different scroll-button styles. */ switch (this.Style) { case NuGenScrollButtonStyle.Left: { bounds = new Rectangle(bounds.Top, bounds.Left, bounds.Height, bounds.Width); NuGenControlPaint.Make90CWGraphics(g, bounds); break; } case NuGenScrollButtonStyle.Right: { NuGenControlPaint.Make90CCWGraphics(g, bounds); bounds = new Rectangle(bounds.Top, bounds.Left, bounds.Height, bounds.Width); break; } case NuGenScrollButtonStyle.Up: { NuGenControlPaint.Make180CCWGraphics(g, bounds); break; } } if ( bounds.Width > 0 && bounds.Height > 0 ) { NuGenPaintParams paintParams = new NuGenPaintParams(g); paintParams.Bounds = bounds; paintParams.State = this.ButtonStateTracker.GetControlState(); if (this.DoubleArrow) { this.Renderer.DrawDoubleScrollButton(paintParams); } else { this.Renderer.DrawScrollButton(paintParams); } } }
/// <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(); }
/* * DrawDropDown */ private void DrawDropDown(Graphics g) { Debug.Assert(g != null, "g != null"); NuGenControlState state = this.StateTracker.GetControlState(); if (_dropDownHovering) { state = NuGenControlState.Hot; } NuGenPaintParams dropDownPaintParams = new NuGenPaintParams(this, g, this.GetDropDownRectangle(), state); this.Renderer.DrawBackground(dropDownPaintParams); this.Renderer.DrawDropDownArrow(dropDownPaintParams); }
/// <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); } }
/// <summary> /// </summary> /// <param name="paintParams"></param> /// <exception cref="ArgumentNullException"> /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para> /// </exception> public void DrawSplitLine(NuGenPaintParams paintParams) { if (paintParams == null) { throw new ArgumentNullException("paintParams"); } Rectangle bounds = paintParams.Bounds; this.DrawLine( paintParams.Graphics , NuGenControlPaint.RectTLCorner(bounds) , NuGenControlPaint.RectBLCorner(bounds) , paintParams.State ); }
/* * OnPaint */ /// <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) { base.OnPaint(e); if ( this.ClientRectangle.Width > 0 && this.ClientRectangle.Height > 0 ) { NuGenPaintParams paintParams = new NuGenPaintParams(e.Graphics); paintParams.Bounds = NuGenControlPaint.OrientationAgnosticRectangle(this.ClientRectangle, this.Orientation); paintParams.State = this.ButtonStateTracker.GetControlState(); this.Renderer.DrawSizeBox(paintParams); } }
/* * OnPaint */ /// <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) { Debug.Assert(this.ButtonStateTracker != null, "this.ButtonStateTracker != null"); Debug.Assert(this.Renderer != null, "this.Renderer != null"); Graphics g = e.Graphics; NuGenControlState currentState = this.ButtonStateTracker.GetControlState(); Rectangle bounds = this.ClientRectangle; Rectangle contentBounds = this.LayoutManager.GetContentRectangle(this.ClientRectangle); NuGenPaintParams paintParams = new NuGenPaintParams(this, g, bounds, currentState); this.Renderer.DrawBackground(paintParams); this.Renderer.DrawShadow(paintParams); this.Renderer.DrawBorder(paintParams); Image image = this.Image; Rectangle imageBounds = Rectangle.Empty; ContentAlignment imageAlign = this.ImageAlign; if (image != null) { NuGenImagePaintParams imagePaintParams = new NuGenImagePaintParams( this, g, imageBounds = this.LayoutManager.GetImageBounds(new NuGenImageBoundsParams(contentBounds, image, imageAlign)), currentState, image ); this.Renderer.DrawImage(imagePaintParams); } NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams( this, g, this.LayoutManager.GetTextBounds(new NuGenTextBoundsParams(contentBounds, imageBounds, imageAlign)), currentState, this.Text ); textPaintParams.Font = this.Font; textPaintParams.ForeColor = this.ForeColor; textPaintParams.TextAlign = this.TextAlign; this.Renderer.DrawText(textPaintParams); }
/* * DrawButton */ private void DrawButton(Graphics g, NuGenNavigationButton button) { Debug.Assert(g != null, "g != null"); Debug.Assert(button != null, "button != null"); NuGenControlState buttonState = this.StateTracker.GetControlState(); if (button == _hoveringButton) { buttonState = button == _selectedButton ? NuGenControlState.Pressed : NuGenControlState.Hot; } else { if (button == _selectedButton) { buttonState = NuGenControlState.Pressed; } } NuGenPaintParams paintParams = new NuGenPaintParams(g); paintParams.Bounds = button.Bounds; paintParams.State = buttonState; this.Renderer.DrawBackground(paintParams); if (button.IsLarge) { NuGenItemPaintParams itemPaintParams = new NuGenItemPaintParams(paintParams); itemPaintParams.ContentAlign = ContentAlignment.MiddleLeft; itemPaintParams.Font = this.Font; itemPaintParams.ForeColor = this.ForeColor; itemPaintParams.Image = button.Image; itemPaintParams.Text = button.Text; this.Renderer.DrawLargeButtonBody(itemPaintParams); this.Renderer.DrawButtonBorder(paintParams); } else { NuGenImagePaintParams imagePaintParams = new NuGenImagePaintParams(paintParams); imagePaintParams.Image = button.Image; this.Renderer.DrawSmallButtonBody(imagePaintParams); } }
/* * OnPaint */ protected override void OnPaint(PaintEventArgs e) { Graphics g = e.Graphics; Size shadowSize = this.LayoutManager.GetShadowSize(); Rectangle bodyBounds = new Rectangle( this.ClientRectangle.Left, this.ClientRectangle.Top, this.ClientRectangle.Width - shadowSize.Width, this.ClientRectangle.Height - shadowSize.Height ); NuGenPaintParams bodyPaintParams = new NuGenPaintParams(this, g, bodyBounds, NuGenControlState.Normal); this.Renderer.DrawBackground(bodyPaintParams); this.Renderer.DrawBorder(bodyPaintParams); }
/* * 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); } }
/// <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.StateTracker.GetControlState(); if (this.DrawShadow) { this.Renderer.DrawShadow(paintParams); } paintParams.Bounds = this.DisplayRectangle; this.Renderer.DrawBackground(paintParams); this.Renderer.DrawBorder(paintParams); base.OnPaint(e); }
/* * OnPaint */ /// <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) { Graphics g = e.Graphics; Debug.Assert(this.StateTracker != null, "this.StateTracker != null"); NuGenPaintParams paintParams = new NuGenPaintParams( this, e.Graphics, this.ClientRectangle, this.StateTracker.GetControlState() ); this.Renderer.DrawBackground(paintParams); this.Renderer.DrawBorder(paintParams); base.OnPaint(e); }
/// <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) { Rectangle clientRect = this.ClientRectangle; NuGenPaintParams paintParams = new NuGenPaintParams(e.Graphics); paintParams.Bounds = clientRect; paintParams.State = this.StateTracker.GetControlState(); NuGenPaintParams borderPaintParams = new NuGenPaintParams(paintParams); borderPaintParams.Bounds = new Rectangle( clientRect.Left, clientRect.Top - 1, clientRect.Width - 1, clientRect.Height ); this.Renderer.DrawBackground(paintParams); this.Renderer.DrawBorder(borderPaintParams); base.OnPaint(e); }
/* * 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); } } }
/// <summary> /// </summary> /// <param name="serviceProvider"> /// <para>Requires:</para> /// <para><see cref="INuGenSmoothColorManager"/></para> /// </param> /// <param name="paintParams"></param> /// <exception cref="ArgumentNullException"> /// <para><paramref name="serviceProvider"/> is <see langword="null"/>.</para> /// -or- /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para> /// </exception> /// <exception cref="NuGenServiceNotFoundException"/> public static void DrawBackground(INuGenServiceProvider serviceProvider, NuGenPaintParams paintParams) { if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } if (paintParams == null) { throw new ArgumentNullException("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) { INuGenSmoothColorManager colorManager = serviceProvider.GetService<INuGenSmoothColorManager>(); if (colorManager == null) { throw new NuGenServiceNotFoundException<INuGenSmoothColorManager>(); } Color beginColor = Color.FromArgb(60, colorManager.GetBorderColor(state)); Color endColor = Color.FromArgb(10, colorManager.GetBackgroundGradientEnd(state)); using (Brush brush = new LinearGradientBrush(ellipseBounds, beginColor, endColor, 0.0f)) { g.SetClip(bounds, CombineMode.Replace); g.FillEllipse(brush, ellipseBounds); } } }
/* * DrawComboBox */ private void DrawComboBox(Graphics g) { if (g == null) { throw new ArgumentNullException("g"); } Debug.Assert(this.ButtonStateTracker != null, "this.ButtonStateTracker != null"); Debug.Assert(this.Renderer != null, "this.Renderer != null"); NuGenControlState currentState = this.ButtonStateTracker.GetControlState(); NuGenPaintParams paintParams = new NuGenPaintParams(g); paintParams.State = currentState; paintParams.Bounds = NuGenControlPaint.DropDownButtonBounds(this.ClientRectangle, this.RightToLeft); this.Renderer.DrawComboBoxButton(paintParams); paintParams.Bounds = this.ClientRectangle; this.Renderer.DrawBorder(paintParams); }
/// <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) { NuGenItemPaintParams titlePaintParams = new NuGenItemPaintParams(e.Graphics); titlePaintParams.Bounds = new Rectangle( this.ClientRectangle.Left , this.ClientRectangle.Top , this.ClientRectangle.Width , this.TitleHeight ); titlePaintParams.ContentAlign = this.RightToLeft == RightToLeft.Yes ? ContentAlignment.MiddleRight : ContentAlignment.MiddleLeft ; titlePaintParams.Font = this.Font; titlePaintParams.ForeColor = this.ForeColor; titlePaintParams.State = this.StateTracker.GetControlState(); titlePaintParams.Text = this.Text; NuGenPaintParams bkgndPaintParams = new NuGenPaintParams(titlePaintParams); bkgndPaintParams.Bounds = this.DisplayRectangle; NuGenBorderPaintParams borderPaintParams = new NuGenBorderPaintParams(bkgndPaintParams); borderPaintParams.Bounds = this.ClientRectangle; borderPaintParams.DrawBorder = this.DrawBorder; this.PanelRenderer.DrawBackground(bkgndPaintParams); this.PanelRenderer.DrawBorder(borderPaintParams); this.TitleRenderer.DrawBackground(titlePaintParams); this.TitleRenderer.DrawBody(titlePaintParams); this.TitleRenderer.DrawBorder(titlePaintParams); base.OnPaint(e); }
/* * DrawBevel */ /// <summary> /// </summary> /// <param name="paintParams"></param> /// <exception cref="ArgumentNullException"> /// <para> /// <paramref name="paintParams"/> is <see langword="null"/>. /// </para> /// </exception> public void DrawBevel(NuGenPaintParams paintParams) { if (paintParams == null) { throw new ArgumentNullException("paintParams"); } Graphics g = paintParams.Graphics; Point pt1 = paintParams.Bounds.Location; Point pt2 = (Point)paintParams.Bounds.Size; NuGenControlState state = paintParams.State; using (Pen topBevelPen = this.GetBorderPen(state)) using (Pen bottomBevelPen = new Pen(this.ColorManager.GetBackgroundGradientBegin(state))) { g.DrawLine(topBevelPen, pt1, pt2); pt1.Offset(0, 1); pt2.Offset(0, 1); g.DrawLine(bottomBevelPen, pt1, pt2); } }
/// <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); }
/* * OnPaint */ /// <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) { int bottomContainerHeight = this.GetBottomContainerRectangle().Height; int buttonHeight = this.GetButtonHeight(); int gripHeight = this.GetGripRectangle().Height; _maxLargeButtonCount = (int)Math.Floor( (double)((this.Height - bottomContainerHeight - gripHeight) / buttonHeight) ); int visibleCount = _buttons.GetVisibleCount(); if (visibleCount < _maxLargeButtonCount) { _maxLargeButtonCount = visibleCount; } _canShrink = _maxLargeButtonCount != 0; _canGrow = _maxLargeButtonCount < visibleCount; this.Height = _maxLargeButtonCount * buttonHeight + gripHeight + bottomContainerHeight; int bottomContainerLeftMargin = this.GetBottomContainerLeftMargin(); int dropDownWidth = this.GetDropDownRectangle().Width; int smallButtonWidth = this.GetSmallButtonWidth(); _maxSmallButtonCount = (int)Math.Floor( (double)((this.Width - dropDownWidth - bottomContainerLeftMargin) / smallButtonWidth) ); if (visibleCount - _maxLargeButtonCount <= 0) { _maxSmallButtonCount = 0; } if (_maxSmallButtonCount > (visibleCount - _maxLargeButtonCount)) { _maxSmallButtonCount = visibleCount - _maxLargeButtonCount; } Graphics g = e.Graphics; Rectangle bounds = this.ClientRectangle; NuGenControlState currentState = this.StateTracker.GetControlState(); NuGenPaintParams paintParams = new NuGenPaintParams(g); paintParams.State = currentState; /* Border */ paintParams.Bounds = bounds; this.Renderer.DrawBorder(paintParams); /* Grip */ paintParams.Bounds = this.GetGripRectangle(); this.Renderer.DrawGrip(paintParams); /* Large buttons */ int syncLargeButtons = 0; int iterateLargeButtons; for (iterateLargeButtons = 0; iterateLargeButtons < _buttons.Count; iterateLargeButtons++) { NuGenNavigationButton button = _buttons[iterateLargeButtons]; if (button.Visible) { Rectangle rect = new Rectangle(0, syncLargeButtons * this.GetButtonHeight() + this.GetGripHeight(), this.ClientRectangle.Width, this.GetButtonHeight()); button.Bounds = rect; button.IsLarge = true; this.DrawButton(g, button); if (syncLargeButtons == _maxLargeButtonCount) { break; } syncLargeButtons++; } } /* Bottom container */ paintParams.Bounds = this.GetBottomContainerRectangle(); this.Renderer.DrawBackground(paintParams); /* Small buttons */ int startX = this.ClientRectangle.Width - this.GetDropDownRectangle().Width - _maxSmallButtonCount * this.GetSmallButtonWidth(); int syncSmallButtons = 0; int iterateSmallButtons; for (iterateSmallButtons = iterateLargeButtons; iterateSmallButtons < _buttons.Count; iterateSmallButtons++) { if (syncSmallButtons == _maxSmallButtonCount) { break; } NuGenNavigationButton button = _buttons[iterateSmallButtons]; if (button.Visible) { Rectangle rect = new Rectangle(startX + (syncSmallButtons * this.GetSmallButtonWidth()), this.GetBottomContainerRectangle().Y, this.GetSmallButtonWidth(), this.GetBottomContainerRectangle().Height); button.Bounds = rect; button.IsLarge = false; this.DrawButton(g, button); syncSmallButtons++; } } for (int i = iterateSmallButtons; i < _buttons.Count; i++) { _buttons[i].Bounds = Rectangle.Empty; } /* DropDown */ this.DrawDropDown(g); /* Bottom container border */ this.Renderer.DrawBorder(paintParams); }
/// <summary> /// Initializes a new instance of the <see cref="NuGenItemPaintParams"/> class. /// </summary> /// <exception cref="ArgumentNullException"> /// <para><paramref name="initializeFrom"/> is <see langword="null"/>.</para> /// </exception> public NuGenItemPaintParams(NuGenPaintParams initializeFrom) : base(initializeFrom) { }
/// <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) { if (!_shouldRender) { return; } int i; int x; int y; int space; int size; int width = this.Width; int height = this.Height; Graphics g = e.Graphics; g.TextRenderingHint = TextRenderingHint.AntiAlias; /* * Fisheye */ y = _borderY; int y1 = 0; int y2 = height - _borderY; bool start; size = 0; if (_focusLock) { start = true; y = _flFocusPosition; for (i = _focusIndex - 1; i >= 0; i--) { size = _flSizeLUT[i]; space = _flSpaceLUT[i]; if (size == _minFontSize) { y1 = y + size + space; break; } y -= size + space; } y = _flFocusPosition; for (i = _focusIndex; i < this.Items.Count; i++) { size = _flSizeLUT[i]; space = _flSpaceLUT[i]; if (size == _minFontSize) { y2 = y; break; } y += size + space; } if (y1 < _borderY) { y1 = _borderY; } } else { start = true; for (i = 0; i < this.Items.Count; i++) { size = _sizeLUT[_focusIndex][i]; space = _spaceLUT[_focusIndex][i]; if (start) { if (size > _minFontSize) { y1 = y; start = false; } } else { if (size == _minFontSize) { y2 = y - size; break; } } y += size + space; } } if (this.Items.Count > 0 && !_noFishEye) { int expanderLeft = width / 2; int expanderTop = y1; int expanderWidth = width / 2 - _borderRight; int expanderHeight = y2 - y1; if (expanderWidth > 0 && expanderHeight > 0) { NuGenPaintParams expanderPaintParams = new NuGenPaintParams(g); expanderPaintParams.Bounds = new Rectangle( expanderLeft , expanderTop , expanderWidth , expanderHeight ); if (_focusLock) { expanderPaintParams.State = NuGenControlState.Hot; } else { expanderPaintParams.State = NuGenControlState.Normal; } this.Renderer.DrawFisheyeExpander(expanderPaintParams); } } /* * Items */ x = _borderLeft; y = _borderY; NuGenTextPaintParams itemPaintParams = new NuGenTextPaintParams(g); itemPaintParams.ForeColor = this.ForeColor; itemPaintParams.State = this.StateTracker.GetControlState(); itemPaintParams.TextAlign = ContentAlignment.MiddleLeft; List <string> sortedItems = this.GetSortedItems(this.Items); Debug.Assert(sortedItems != null, "sortedItems != null"); if (!_focusLock /* Normal mode. */) { for (i = 0; i < sortedItems.Count; i++) { size = _sizeLUT[_focusIndex][i]; space = _spaceLUT[_focusIndex][i]; // Draw focused element with a background hilight if (_selectedIndex == i) { NuGenPaintParams selPaintParams = new NuGenPaintParams(itemPaintParams); selPaintParams.Bounds = this.LayoutManager.GetSelectionFrameBounds( _borderLeft, y, width - (_borderLeft + _borderRight) - 1, size + space ); selPaintParams.State = NuGenControlState.Hot; this.Renderer.DrawSelectionFrame(selPaintParams); } // if itemPaintParams.Text = sortedItems[i]; itemPaintParams.Font = _fonts[size - 1]; itemPaintParams.Bounds = this.GetTextBounds(g, itemPaintParams.Text, itemPaintParams.Font, x, y); this.Renderer.DrawText(itemPaintParams); y += space + size; } // for foreach (KeyValuePair <string, int> pair in _labelLUT) { itemPaintParams.Text = pair.Key; itemPaintParams.Font = _boldFonts[_maxFontSize - 1]; itemPaintParams.Bounds = this.GetTextBounds( g , itemPaintParams.Text , itemPaintParams.Font , _labelBorderLeft , pair.Value - _sizeLUT[0][0] ); this.Renderer.DrawText(itemPaintParams); } // foreach } else /* Fisheye mode. */ { if (_focusIndex > 0 /* First render from focus up. */) { y = _flFocusPosition - _flSizeLUT[_focusIndex - 1] - _flSpaceLUT[_focusIndex - 1]; for (i = _focusIndex - 1; i >= 0; i--) { if (y < _borderY) { break; } size = _flSizeLUT[i]; space = _flSpaceLUT[i]; // Draw focused element with a background hilight. if (_selectedIndex == i) { NuGenPaintParams selPaintParams = new NuGenPaintParams(itemPaintParams); selPaintParams.Bounds = this.LayoutManager.GetSelectionFrameBounds( _borderLeft, y, width - (_borderLeft + _borderRight), size + space ); selPaintParams.State = NuGenControlState.Hot; this.Renderer.DrawSelectionFrame(selPaintParams); } // if itemPaintParams.Text = sortedItems[i]; itemPaintParams.Font = _fonts[size - 1]; itemPaintParams.Bounds = this.GetTextBounds(g, itemPaintParams.Text, itemPaintParams.Font, x, y); this.Renderer.DrawText(itemPaintParams); if (i > 0) { y -= _flSizeLUT[i - 1] + _flSpaceLUT[i - 1]; } } // for } // if /* Then render from focus down. */ y = _flFocusPosition; for (i = _focusIndex; i < sortedItems.Count; i++) { if (y > height - _borderY) { break; } size = _flSizeLUT[i]; space = _flSpaceLUT[i]; // Draw focused element with a background hilight if (_selectedIndex == i) { NuGenPaintParams selPaintParams = new NuGenPaintParams(itemPaintParams); selPaintParams.Bounds = this.LayoutManager.GetSelectionFrameBounds( _borderLeft, y, width - (_borderLeft + _borderRight), size + space ); selPaintParams.State = NuGenControlState.Hot; this.Renderer.DrawSelectionFrame(selPaintParams); } itemPaintParams.Text = sortedItems[i]; itemPaintParams.Font = _fonts[size - 1]; itemPaintParams.Bounds = this.GetTextBounds(g, itemPaintParams.Text, itemPaintParams.Font, x, y); this.Renderer.DrawText(itemPaintParams); y += space + size; } // for } base.OnPaint(e); }
/// <summary> /// Initializes a new instance of the <see cref="NuGenBorderPaintParams"/> class. /// </summary> /// <exception cref="ArgumentNullException"> /// <para><paramref name="initializeFrom"/> is <see langword="null"/>.</para> /// </exception> public NuGenBorderPaintParams(NuGenPaintParams initializeFrom) : base(initializeFrom) { }
/* * OnPaint */ protected override void OnPaint(PaintEventArgs e) { Graphics g = e.Graphics; Rectangle bounds = this.ClientRectangle; Size shadowSize = this.LayoutManager.GetShadowSize(); Rectangle shadowBounds = new Rectangle( bounds.Left + shadowSize.Width, bounds.Top + shadowSize.Height, bounds.Width - shadowSize.Width, bounds.Height - shadowSize.Height ); Rectangle bodyBounds = new Rectangle( bounds.Left, bounds.Top, bounds.Width - shadowSize.Width, bounds.Height - shadowSize.Height ); NuGenPaintParams paintParams = new NuGenPaintParams(g); paintParams.State = _state; paintParams.Bounds = shadowBounds; this.Renderer.DrawShadow(paintParams); paintParams.Bounds = bodyBounds; this.Renderer.DrawBackground(paintParams); this.Renderer.DrawBorder(paintParams); if (_tooltipInfo != null) { NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams(paintParams); textPaintParams.TextAlign = ContentAlignment.MiddleLeft; textPaintParams.ForeColor = this.ForeColor; NuGenImagePaintParams imagePaintParams = new NuGenImagePaintParams(paintParams); if (_tooltipInfo.IsHeaderVisible) { textPaintParams.Bounds = _layoutDescriptor.HeaderBounds; textPaintParams.Font = _headerFont; textPaintParams.Text = _tooltipInfo.Header; this.Renderer.DrawHeaderText(textPaintParams); } if (_tooltipInfo.IsTextVisible) { textPaintParams.Bounds = _layoutDescriptor.TextBounds; textPaintParams.Font = _textFont; textPaintParams.Text = _tooltipInfo.Text; this.Renderer.DrawText(textPaintParams); } if (_tooltipInfo.IsImageVisible) { imagePaintParams.Bounds = _layoutDescriptor.ImageBounds; imagePaintParams.Image = _tooltipInfo.Image; this.Renderer.DrawImage(imagePaintParams); } if (_tooltipInfo.IsRemarksHeaderVisible) { textPaintParams.Bounds = _layoutDescriptor.RemarksHeaderBounds; textPaintParams.Font = _headerFont; textPaintParams.Text = _tooltipInfo.RemarksHeader; this.Renderer.DrawHeaderText(textPaintParams); if (_tooltipInfo.IsRemarksVisible) { textPaintParams.Bounds = _layoutDescriptor.RemarksBounds; textPaintParams.Font = _textFont; textPaintParams.Text = _tooltipInfo.Remarks; this.Renderer.DrawText(textPaintParams); } if (_tooltipInfo.IsRemarksImageVisible) { imagePaintParams.Bounds = _layoutDescriptor.RemarksImageBounds; imagePaintParams.Image = _tooltipInfo.RemarksImage; this.Renderer.DrawImage(imagePaintParams); } paintParams.Bounds = _layoutDescriptor.BevelBounds; this.Renderer.DrawBevel(paintParams); } } }
/// <summary> /// Initializes a new instance of the <see cref="NuGenTextPaintParams"/> class. /// </summary> /// <exception cref="ArgumentNullException"> /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para> /// </exception> public NuGenTextPaintParams(NuGenPaintParams paintParams) : base(paintParams) { }
/// <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) { Graphics g = e.Graphics; Rectangle bounds = this.ClientRectangle; if (this.Orientation == NuGenOrientationStyle.Horizontal) { bounds.X++; bounds.Width -= 2; } else { bounds.Y++; bounds.Height -= 2; } Rectangle contentBounds = this.LayoutManager.GetContentRectangle(bounds); NuGenControlState currentState = this.ButtonStateTracker.GetControlState(); NuGenPaintParams paintParams = new NuGenPaintParams(e.Graphics); paintParams.Bounds = bounds; paintParams.State = currentState; if (currentState != NuGenControlState.Normal) { this.Renderer.DrawBackground(paintParams); NuGenPaintParams borderPaintParams = new NuGenPaintParams(paintParams); borderPaintParams.Bounds = NuGenControlPaint.BorderRectangle(borderPaintParams.Bounds); this.Renderer.DrawBorder(borderPaintParams); } Image image = this.Image; Rectangle imageBounds = Rectangle.Empty; ContentAlignment imageAlign = this.ImageAlign; if (image != null) { NuGenImagePaintParams imagePaintParams = new NuGenImagePaintParams(g); imagePaintParams.Bounds = imageBounds = this.LayoutManager.GetImageBounds( new NuGenBoundsParams(contentBounds , imageAlign , new Rectangle(Point.Empty, image.Size) , this.RightToLeft ) ); imagePaintParams.Image = image; imagePaintParams.State = currentState; this.Renderer.DrawImage(imagePaintParams); } if (imageBounds != Rectangle.Empty) { imageBounds.Inflate(3, 3); } NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams(g); textPaintParams.Bounds = this.LayoutManager.GetTextBounds( new NuGenBoundsParams(contentBounds, imageAlign, imageBounds, this.RightToLeft) ); textPaintParams.Font = this.Font; textPaintParams.ForeColor = this.ForeColor; textPaintParams.Text = this.Text; textPaintParams.TextAlign = NuGenControlPaint.RTLContentAlignment(this.TextAlign, this.RightToLeft); textPaintParams.State = currentState; this.Renderer.DrawText(textPaintParams); }
/* * OnPaint */ /// <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) { Graphics g = e.Graphics; Rectangle bounds = this.ClientRectangle; NuGenControlState currentState = this.StateTracker.GetControlState(); /* Border */ NuGenPaintParams borderPaintParams = new NuGenPaintParams(this, g, bounds, currentState); this.Renderer.DrawBorder(borderPaintParams); /* Grip */ NuGenPaintParams gripPaintParams = new NuGenPaintParams(this, g, this.GetGripRectangle(), currentState); this.Renderer.DrawGrip(gripPaintParams); /* Large buttons */ int syncLargeButtons = 0; int iterateLargeButtons; for (iterateLargeButtons = 0; iterateLargeButtons < this.Buttons.Count; iterateLargeButtons++) { NuGenNavigationButton button = this.Buttons[iterateLargeButtons]; if (button.Visible) { Rectangle rect = new Rectangle(0, syncLargeButtons * this.GetButtonHeight() + this.GetGripHeight(), this.ClientRectangle.Width, this.GetButtonHeight()); button.Bounds = rect; button.IsLarge = true; this.DrawButton(g, button); if (syncLargeButtons == _maxLargeButtonCount) { break; } syncLargeButtons++; } } /* Bottom container */ NuGenPaintParams bottomContainerPaintParams = new NuGenPaintParams(this, g, this.GetBottomContainerRectangle(), currentState); this.Renderer.DrawBackground(bottomContainerPaintParams); /* Small buttons */ int startX = this.ClientRectangle.Width - this.GetDropDownRectangle().Width - _maxSmallButtonCount * this.GetSmallButtonWidth(); int syncSmallButtons = 0; int iterateSmallButtons; for (iterateSmallButtons = iterateLargeButtons; iterateSmallButtons < this.Buttons.Count; iterateSmallButtons++) { if (syncSmallButtons == _maxSmallButtonCount) { break; } NuGenNavigationButton button = this.Buttons[iterateSmallButtons]; if (button.Visible) { Rectangle rect = new Rectangle(startX + (syncSmallButtons * this.GetSmallButtonWidth()), this.GetBottomContainerRectangle().Y, this.GetSmallButtonWidth(), this.GetBottomContainerRectangle().Height); button.Bounds = rect; button.IsLarge = false; this.DrawButton(g, button); syncSmallButtons++; } } for (int i = iterateSmallButtons; i < this.Buttons.Count; i++) { this.Buttons[i].Bounds = Rectangle.Empty; } /* DropDown */ this.DrawDropDown(g); /* Bottom container border */ this.Renderer.DrawBorder(bottomContainerPaintParams); }