SidebarLibrary.WinControls.OutlookBar.DrawFlatArrowButton C# (CSharp) Method

DrawFlatArrowButton() private method

private DrawFlatArrowButton ( Graphics g, Rectangle rc, bool up, DrawState state ) : void
g System.Drawing.Graphics
rc System.Drawing.Rectangle
up bool
state DrawState
return void
		void DrawFlatArrowButton(Graphics g, Rectangle rc, bool up, DrawState state)
		{
			if ( HasChild() )
			{
				// Dont' draw flat button if there is a band with a child control
				return;
			}

			using (Brush b = new SolidBrush((state == DrawState.Hot) ? ColorUtil.VSNetCheckedColor : ColorUtil.VSNetControlColor))
				g.FillRectangle(b, rc.Left, rc.Top, rc.Width-1, rc.Height-1);

			using ( Pen p = new Pen(ColorUtil.VSNetBorderColor) )
			{
				if ( state == DrawState.Hot )
					g.DrawRectangle(p, rc.Left, rc.Top, rc.Width-2, rc.Height-2);
				GDIUtil.DrawArrowGlyph(g, rc, 7, 4, up, Brushes.Black);
			}

			// Remember last state of the flat arrow button
			if ( up )
			{
				UpFlatArrowState = state;
			}
			else
			{
				DownFlatArrowState = state;
			}
		}