/*
		 * DrawSpinButton
		 */

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

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

			this.DrawBackground(paintParams);
			this.DrawBorder(g, NuGenControlPaint.BorderRectangle(bounds), state);
			this.DrawSpinArrow(g, state, style);
		}
			/*
			 * 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)
			{
				NuGenSpinButtonPaintParams paintParams = new NuGenSpinButtonPaintParams(e.Graphics);
				paintParams.Bounds = this.ClientRectangle;
				paintParams.State = this.ButtonStateTracker.GetControlState();
				paintParams.Style = this.Style;

				this.Renderer.DrawSpinButton(paintParams);
			}