/* * 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"); Debug.Assert(this.StateTracker != null, "this.StateTracker != null"); Graphics g = e.Graphics; this.Renderer.DrawCheckBox( new NuGenPaintParams( this, g, this.CheckBoxBounds, this.ButtonStateTracker.GetControlState() ) ); NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams( this, g, this.TextBounds, this.StateTracker.GetControlState(), this.Text ); textPaintParams.Font = this.Font; textPaintParams.ForeColor = this.ForeColor; textPaintParams.TextAlign = this.TextAlign; this.Renderer.DrawText(textPaintParams); }
/* * OnPaint */ /// <summary> /// Raises the 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) { Graphics g = e.Graphics; Rectangle bounds = this.ClientRectangle; NuGenControlState currentState = this.ButtonStateTracker.GetControlState(); Image image = this.Image; ContentAlignment imageAlign = this.ImageAlign; Rectangle imageBounds = Rectangle.Empty; if (image != null) { imageBounds = this.LayoutManager.GetImageBounds(new NuGenImageBoundsParams(bounds, image, imageAlign)); this.Renderer.DrawImage(new NuGenImagePaintParams(this, g, imageBounds, currentState, image)); } Rectangle textBounds = NuGenControlPaint.TextBoundsFromImageBounds( bounds, imageBounds, imageAlign ); NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams(this, g, textBounds, currentState, this.Text); textPaintParams.Font = this.Font; textPaintParams.ForeColor = this.ForeColor; textPaintParams.TextAlign = this.TextAlign; this.Renderer.DrawText(textPaintParams); }
/// <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) { string text = this.SelectedPath; if (text != null) { Graphics g = e.Graphics; Font font = this.Font; Rectangle bounds = this.GetTextBounds(); NuGenTextPaintParams pathPaintParams = new NuGenTextPaintParams(g); pathPaintParams.Bounds = bounds; pathPaintParams.Font = font; pathPaintParams.ForeColor = this.ForeColor; pathPaintParams.State = this.StateTracker.GetControlState(); pathPaintParams.Text = text; pathPaintParams.TextAlign = this.RightToLeft == RightToLeft.Yes ? ContentAlignment.MiddleRight : ContentAlignment.MiddleLeft ; this.Renderer.DrawText(pathPaintParams); _toolTip.SetToolTip( this , g.MeasureString(text, font).Width > bounds.Width ? new NuGenToolTipInfo("", null, text) : null ); } base.OnPaint(e); }
/* * 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; this.Renderer.DrawRadioButton( new NuGenPaintParams( this, g, this.RadioButtonBounds, this.ButtonStateTracker.GetControlState() ) ); NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams( this, g, this.TextBounds, this.StateTracker.GetControlState(), this.Text ); textPaintParams.Font = this.Font; textPaintParams.ForeColor = this.ForeColor; textPaintParams.TextAlign = this.TextAlign; 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) { 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.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); }
/* * 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); }
/// <summary> /// </summary> /// <param name="paintParams"></param> /// <exception cref="ArgumentNullException"> /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para> /// </exception> public void DrawText(NuGenTextPaintParams paintParams) { if (paintParams == null) { throw new ArgumentNullException("paintParams"); } this.DrawText( paintParams.Graphics, paintParams.Bounds, paintParams.State, paintParams.Text, paintParams.Font, paintParams.ForeColor, paintParams.TextAlign ); }
/* * 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"); Debug.Assert(this.StateTracker != null, "this.StateTracker != null"); Graphics g = e.Graphics; Rectangle bounds = this.ClientRectangle; Rectangle checkBounds = Rectangle.Empty; ContentAlignment checkAlign = this.CheckAlign; NuGenCheckBoxPaintParams paintParams = new NuGenCheckBoxPaintParams(g); paintParams.Bounds = checkBounds = this.LayoutManager.GetCheckBoxBounds( new NuGenBoundsParams( bounds , checkAlign , new Rectangle(Point.Empty, this.LayoutManager.GetCheckSize()) , this.RightToLeft ) ); paintParams.CheckState = this.CheckState; paintParams.State = this.ButtonStateTracker.GetControlState(); checkBounds.Inflate(3, 3); this.Renderer.DrawCheckBox(paintParams); NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams(paintParams); textPaintParams.Bounds = this.LayoutManager.GetTextBounds( new NuGenBoundsParams( bounds , checkAlign , checkBounds , this.RightToLeft ) ); textPaintParams.Font = this.Font; textPaintParams.ForeColor = this.ForeColor; textPaintParams.Text = this.Text; textPaintParams.TextAlign = NuGenControlPaint.RTLContentAlignment(this.TextAlign, this.RightToLeft); textPaintParams.State = this.StateTracker.GetControlState(); this.Renderer.DrawText(textPaintParams); }
/* * OnPaint */ /// <summary> /// Raises the 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) { Graphics g = e.Graphics; Rectangle bounds = this.ClientRectangle; NuGenControlState currentState = this.ButtonStateTracker.GetControlState(); Image image = this.Image; ContentAlignment imageAlign = this.ImageAlign; Rectangle imageBounds = Rectangle.Empty; if (image != null) { NuGenImagePaintParams imagePaintParams = new NuGenImagePaintParams(g); imagePaintParams.Bounds = imageBounds = this.LayoutManager.GetImageBounds( new NuGenBoundsParams( bounds , imageAlign , new Rectangle(Point.Empty, image.Size) , this.RightToLeft ) ); imagePaintParams.Image = image; imagePaintParams.State = currentState; this.Renderer.DrawImage(imagePaintParams); } NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams(g); textPaintParams.Bounds = this.LayoutManager.GetTextBounds( new NuGenBoundsParams( bounds , 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); }
/* * DrawLabel */ /// <summary> /// </summary> /// <param name="paintParams"></param> /// <exception cref="ArgumentNullException"> /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para> /// </exception> public void DrawLabel(NuGenTextPaintParams 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(paintParams.Graphics, paintParams.Bounds, paintParams.State); this.DrawText( g, bounds, state, paintParams.Text, paintParams.Font, paintParams.ForeColor, paintParams.TextAlign); }
/* * 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; Rectangle radioBounds = Rectangle.Empty; ContentAlignment radioAlign = this.CheckAlign; NuGenRadioButtonPaintParams paintParams = new NuGenRadioButtonPaintParams(g); paintParams.Bounds = radioBounds = this.LayoutManager.GetRadioButtonBounds( new NuGenBoundsParams( bounds , radioAlign , new Rectangle(Point.Empty, this.LayoutManager.GetRadioSize()) , this.RightToLeft ) ); paintParams.Checked = this.Checked; paintParams.State = this.ButtonStateTracker.GetControlState(); this.Renderer.DrawRadioButton(paintParams); radioBounds.Inflate(3, 3); NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams(paintParams); textPaintParams.Bounds = this.LayoutManager.GetTextBounds( new NuGenBoundsParams(bounds, radioAlign, radioBounds, this.RightToLeft) ); textPaintParams.Font = this.Font; textPaintParams.ForeColor = this.ForeColor; textPaintParams.Text = this.Text; textPaintParams.TextAlign = NuGenControlPaint.RTLContentAlignment(this.TextAlign, this.RightToLeft); textPaintParams.State = this.StateTracker.GetControlState(); this.Renderer.DrawText(textPaintParams); }
/// <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) { 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="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; Rectangle radioBounds = Rectangle.Empty; ContentAlignment radioAlign = this.CheckAlign; NuGenRadioButtonPaintParams paintParams = new NuGenRadioButtonPaintParams(g); paintParams.Bounds = radioBounds = this.LayoutManager.GetRadioButtonBounds( new NuGenBoundsParams( bounds , radioAlign , new Rectangle(Point.Empty, this.LayoutManager.GetRadioSize()) , this.RightToLeft ) ); paintParams.Checked = this.Checked; paintParams.State = this.ButtonStateTracker.GetControlState(); this.Renderer.DrawRadioButton(paintParams); radioBounds.Inflate(3, 3); NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams(paintParams); textPaintParams.Bounds = this.LayoutManager.GetTextBounds( new NuGenBoundsParams(bounds, radioAlign, radioBounds, this.RightToLeft) ); textPaintParams.Font = this.Font; textPaintParams.ForeColor = this.ForeColor; textPaintParams.Text = this.Text; textPaintParams.TextAlign = NuGenControlPaint.RTLContentAlignment(this.TextAlign, this.RightToLeft); textPaintParams.State = this.StateTracker.GetControlState(); 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) { 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); }
/// <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); }
/// <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); }
/// <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> /// </summary> /// <param name="paintParams"></param> /// <exception cref="ArgumentNullException"> /// <para><paramref name="paintParams"/> is <see langword="null"/>.</para> /// </exception> public void DrawText(NuGenTextPaintParams paintParams) { if (paintParams == null) { throw new ArgumentNullException("paintParams"); } this.DrawText( paintParams.Graphics, paintParams.Bounds, paintParams.State, paintParams.Text, paintParams.Font, paintParams.ForeColor, paintParams.TextAlign ); }
/* * DrawHeaderText */ /// <summary> /// </summary> /// <param name="paintParams"></param> /// <exception cref="ArgumentNullException"><paramref name="paintParams"/> is <see langword="null"/>.</exception> public void DrawHeaderText(NuGenTextPaintParams paintParams) { if (paintParams == null) { throw new ArgumentNullException("paintParams"); } this.DrawText(paintParams); }
/* * DrawText */ /// <summary> /// </summary> /// <param name="paintParams"></param> /// <exception cref="ArgumentNullException"><paramref name="paintParams"/> is <see langword="null"/>.</exception> public new void DrawText(NuGenTextPaintParams paintParams) { if (paintParams == null) { throw new ArgumentNullException("paintParams"); } Graphics g = paintParams.Graphics; using (NuGenGrfxMode mode = new NuGenGrfxMode(g)) { g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit; using (StringFormat sf = new StringFormat()) { sf.Trimming = StringTrimming.EllipsisCharacter; base.DrawText( paintParams.Graphics, paintParams.Bounds, paintParams.State, paintParams.Text, paintParams.Font, paintParams.ForeColor, sf ); } } }
/// <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) { string text = this.SelectedPath; if (text != null) { Graphics g = e.Graphics; Font font = this.Font; Rectangle bounds = this.GetTextBounds(); NuGenTextPaintParams pathPaintParams = new NuGenTextPaintParams(g); pathPaintParams.Bounds = bounds; pathPaintParams.Font = font; pathPaintParams.ForeColor = this.ForeColor; pathPaintParams.State = this.StateTracker.GetControlState(); pathPaintParams.Text = text; pathPaintParams.TextAlign = this.RightToLeft == RightToLeft.Yes ? ContentAlignment.MiddleRight : ContentAlignment.MiddleLeft ; this.Renderer.DrawText(pathPaintParams); _toolTip.SetToolTip( this , g.MeasureString(text, font).Width > bounds.Width ? new NuGenToolTipInfo("", null, text) : null ); } 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) { Debug.Assert(this.ButtonStateTracker != null, "this.ButtonStateTracker != null"); Debug.Assert(this.Renderer != null, "this.Renderer != null"); Debug.Assert(this.StateTracker != null, "this.StateTracker != null"); Graphics g = e.Graphics; Rectangle bounds = this.ClientRectangle; Rectangle checkBounds = Rectangle.Empty; ContentAlignment checkAlign = this.CheckAlign; NuGenCheckBoxPaintParams paintParams = new NuGenCheckBoxPaintParams(g); paintParams.Bounds = checkBounds = this.LayoutManager.GetCheckBoxBounds( new NuGenBoundsParams( bounds , checkAlign , new Rectangle(Point.Empty, this.LayoutManager.GetCheckSize()) , this.RightToLeft ) ); paintParams.CheckState = this.CheckState; paintParams.State = this.ButtonStateTracker.GetControlState(); checkBounds.Inflate(3, 3); this.Renderer.DrawCheckBox(paintParams); NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams(paintParams); textPaintParams.Bounds = this.LayoutManager.GetTextBounds( new NuGenBoundsParams( bounds , checkAlign , checkBounds , this.RightToLeft ) ); textPaintParams.Font = this.Font; textPaintParams.ForeColor = this.ForeColor; textPaintParams.Text = this.Text; textPaintParams.TextAlign = NuGenControlPaint.RTLContentAlignment(this.TextAlign, this.RightToLeft); textPaintParams.State = this.StateTracker.GetControlState(); this.Renderer.DrawText(textPaintParams); }
/* * 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> /// 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); }
/* * OnPaint */ /// <summary> /// Raises the 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) { Graphics g = e.Graphics; Rectangle bounds = this.ClientRectangle; NuGenControlState currentState = this.ButtonStateTracker.GetControlState(); Image image = this.Image; ContentAlignment imageAlign = this.ImageAlign; Rectangle imageBounds = Rectangle.Empty; if (image != null) { NuGenImagePaintParams imagePaintParams = new NuGenImagePaintParams(g); imagePaintParams.Bounds = imageBounds = this.LayoutManager.GetImageBounds( new NuGenBoundsParams( bounds , imageAlign , new Rectangle(Point.Empty, image.Size) , this.RightToLeft ) ); imagePaintParams.Image = image; imagePaintParams.State = currentState; this.Renderer.DrawImage(imagePaintParams); } NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams(g); textPaintParams.Bounds = this.LayoutManager.GetTextBounds( new NuGenBoundsParams( bounds , 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) { Debug.Assert(this.ButtonStateTracker != null, "this.ButtonStateTracker != null"); Debug.Assert(this.Renderer != null, "this.Renderer != null"); Debug.Assert(this.StateTracker != null, "this.StateTracker != null"); Graphics g = e.Graphics; this.Renderer.DrawCheckBox( new NuGenPaintParams( this, g, this.CheckBoxBounds, this.ButtonStateTracker.GetControlState() ) ); NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams( this, g, this.TextBounds, this.StateTracker.GetControlState(), this.Text ); textPaintParams.Font = this.Font; textPaintParams.ForeColor = this.ForeColor; textPaintParams.TextAlign = this.TextAlign; this.Renderer.DrawText(textPaintParams); }
/* * 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); } } }
/* * 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); }
/* * 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; this.Renderer.DrawRadioButton( new NuGenPaintParams( this, g, this.RadioButtonBounds, this.ButtonStateTracker.GetControlState() ) ); NuGenTextPaintParams textPaintParams = new NuGenTextPaintParams( this, g, this.TextBounds, this.StateTracker.GetControlState(), this.Text ); textPaintParams.Font = this.Font; textPaintParams.ForeColor = this.ForeColor; textPaintParams.TextAlign = this.TextAlign; this.Renderer.DrawText(textPaintParams); }