ATMLCommonLibrary.controls.awb.AWBTabControl.DrawIcons C# (CSharp) Method

DrawIcons() private method

private DrawIcons ( Graphics g ) : void
g System.Drawing.Graphics
return void
        internal void DrawIcons( Graphics g )
        {
            if (( leftRightImages == null ) || ( leftRightImages.Images.Count != 4 ))
                return;

            //----------------------------
            // calc positions
            Rectangle tabControlArea = ClientRectangle;

            var r0 = new Rectangle();
            Win32.GetClientRect( _scUpDown.Handle, ref r0 );

            Brush br = new SolidBrush( SystemColors.Control );
            g.FillRectangle( br, r0 );
            br.Dispose();

            var border = new Pen( SystemColors.ControlDark );
            Rectangle rborder = r0;
            rborder.Inflate( -1, -1 );
            g.DrawRectangle( border, rborder );
            border.Dispose();

            int nMiddle = ( r0.Width/2 );
            int nTop = ( r0.Height - 16 )/2;
            int nLeft = ( nMiddle - 16 )/2;

            var r1 = new Rectangle( nLeft, nTop, 16, 16 );
            var r2 = new Rectangle( nMiddle + nLeft, nTop, 16, 16 );
            //----------------------------

            //----------------------------
            // draw buttons
            Image img = leftRightImages.Images[1];
            if (TabCount > 0)
            {
                Rectangle r3 = GetTabRect( 0 );
                if (r3.Left < tabControlArea.Left)
                    g.DrawImage( img, r1 );
                else
                {
                    img = leftRightImages.Images[3];
                    if (img != null)
                        g.DrawImage( img, r1 );
                }
            }

            img = leftRightImages.Images[0];
            if (TabCount > 0)
            {
                Rectangle r3 = GetTabRect( TabCount - 1 );
                if (r3.Right > ( tabControlArea.Width - r0.Width ))
                    g.DrawImage( img, r2 );
                else
                {
                    img = leftRightImages.Images[2];
                    g.DrawImage( img, r2 );
                }
            }
            //----------------------------
        }