Пример #1
0
 public Rectangle(ShapeBorder border, ShapeFill fill,int cornerSize, eCornerType cornerType)
 {
     m_Border = border;
     m_Fill = fill;
     m_CornerSize = cornerSize;
     this.CornerType = cornerType;
 }
Пример #2
0
 public Rectangle(ShapeBorder border, ShapeFill fill, int cornerSize, eCornerType cornerType, PaddingInfo padding)
 {
     m_Border = border;
     m_Fill = fill;
     m_CornerSize = cornerSize;
     this.Padding = padding;
     this.CornerType = cornerType;
 }
Пример #3
0
		private static eCornerType GetCornerType(eCornerType baseType, eCornerType specificType)
		{
			if(specificType!=eCornerType.Inherit)
				return specificType;
			return baseType;
		}
Пример #4
0
        public static GraphicsPath GetBorderPath(Rectangle clientRectangle, int cornerSize, eStyleBackgroundPathPart pathPart,
            eCornerType topLeftCornerType, eCornerType topRightCornerType, eCornerType bottomLeftCornerType, eCornerType bottomRightCornerType,
            bool leftBorder, bool rightBorder, bool topBorder, bool bottomBorder)
        {
            GraphicsPath path = new GraphicsPath();

            if (pathPart == eStyleBackgroundPathPart.TopHalf)
                clientRectangle.Height = clientRectangle.Height / 2;
            else if (pathPart == eStyleBackgroundPathPart.BottomHalf)
            {
                int h = clientRectangle.Height;
                clientRectangle.Height = clientRectangle.Height / 2;
                clientRectangle.Y += (h - clientRectangle.Height - 1);
            }

            eCornerType corner = topLeftCornerType;
            if (corner == eCornerType.Inherit)
                corner = eCornerType.Square;

            if (pathPart == eStyleBackgroundPathPart.BottomHalf)
                corner = eCornerType.Square;

            if (leftBorder)
            {
                path.AddLine(clientRectangle.X, clientRectangle.Bottom -
                    (bottomBorder && (bottomLeftCornerType == eCornerType.Diagonal || bottomLeftCornerType == eCornerType.Rounded) ? cornerSize : 0),
                    clientRectangle.X, clientRectangle.Y +
                    (topBorder && (topLeftCornerType == eCornerType.Diagonal || topLeftCornerType == eCornerType.Rounded) ? cornerSize : 0));
            }

            if (leftBorder && topBorder)
            {
                if (corner == eCornerType.Rounded)
                {
                    ArcData ad = ElementStyleDisplay.GetCornerArc(clientRectangle, cornerSize, eCornerArc.TopLeft);
                    path.AddArc(ad.X, ad.Y, ad.Width, ad.Height, ad.StartAngle, ad.SweepAngle);
                }
                else if (corner == eCornerType.Diagonal)
                {
                    path.AddLine(clientRectangle.X, clientRectangle.Y + cornerSize, clientRectangle.X + cornerSize, clientRectangle.Y);
                }
            }

            if (topBorder)
            {
                path.AddLine(clientRectangle.X + 
                    ((topLeftCornerType == eCornerType.Diagonal || topLeftCornerType == eCornerType.Rounded) ? cornerSize : 0)
                    , clientRectangle.Y, clientRectangle.Right -
                    (rightBorder && (topRightCornerType == eCornerType.Diagonal || topRightCornerType == eCornerType.Rounded) ? cornerSize : 0),
                    clientRectangle.Y);
            }

            corner = topRightCornerType;
            if (corner == eCornerType.Inherit)
                corner = eCornerType.Square;
            if (pathPart == eStyleBackgroundPathPart.BottomHalf)
                corner = eCornerType.Square;

            if (topBorder && rightBorder)
            {
                if (corner == eCornerType.Rounded)
                {
                    ArcData ad = ElementStyleDisplay.GetCornerArc(clientRectangle, cornerSize, eCornerArc.TopRight);
                    path.AddArc(ad.X, ad.Y, ad.Width, ad.Height, ad.StartAngle, ad.SweepAngle);
                }
                else if (corner == eCornerType.Diagonal)
                {
                    path.AddLine(clientRectangle.Right - cornerSize - 1, clientRectangle.Y, clientRectangle.Right, clientRectangle.Y + cornerSize);
                }
            }

            if (rightBorder)
            {
                path.AddLine(clientRectangle.Right, clientRectangle.Y +
                    ((topRightCornerType == eCornerType.Diagonal || topRightCornerType == eCornerType.Rounded) ? cornerSize : 0),
                    clientRectangle.Right, clientRectangle.Bottom -
                    (bottomBorder && (bottomRightCornerType == eCornerType.Diagonal || bottomRightCornerType == eCornerType.Rounded) ? cornerSize : 0));
            }

            corner = bottomRightCornerType;
            if (corner == eCornerType.Inherit)
                corner = eCornerType.Square;
            if (pathPart == eStyleBackgroundPathPart.TopHalf)
                corner = eCornerType.Square;
            if (corner == eCornerType.Rounded)
            {
                ArcData ad = ElementStyleDisplay.GetCornerArc(clientRectangle, cornerSize, eCornerArc.BottomRight);
                path.AddArc(ad.X, ad.Y, ad.Width, ad.Height, ad.StartAngle, ad.SweepAngle);
            }
            else if (corner == eCornerType.Diagonal)
            {
                path.AddLine(clientRectangle.Right, clientRectangle.Bottom - cornerSize - 1, clientRectangle.Right - cornerSize - 1, clientRectangle.Bottom);
            }

            if (bottomBorder)
            {
                path.AddLine(clientRectangle.Right -
                    ((bottomRightCornerType == eCornerType.Diagonal || bottomRightCornerType == eCornerType.Rounded) ? cornerSize : 0),
                    clientRectangle.Bottom,
                    clientRectangle.X + 
                    ((bottomLeftCornerType == eCornerType.Diagonal || bottomLeftCornerType == eCornerType.Rounded) ? cornerSize : 0),
                    clientRectangle.Bottom);
            }

            corner = bottomLeftCornerType;
            if (corner == eCornerType.Inherit)
                corner = eCornerType.Square;
            if (pathPart == eStyleBackgroundPathPart.TopHalf)
                corner = eCornerType.Square;
            if (corner == eCornerType.Rounded)
            {
                ArcData ad = ElementStyleDisplay.GetCornerArc(clientRectangle, cornerSize, eCornerArc.BottomLeft);
                path.AddArc(ad.X, ad.Y, ad.Width, ad.Height, ad.StartAngle, ad.SweepAngle);
            }
            else if (corner == eCornerType.Diagonal)
            {
                path.AddLine(clientRectangle.X + 2, clientRectangle.Bottom, clientRectangle.X, clientRectangle.Bottom - cornerSize - 1);
            }
            
            return path;
        }
Пример #5
0
        public static GraphicsPath GetRoundedRectanglePath(Rectangle clientRectangle, int topLeftCornerSize, int topRightCornerSize, int bottomLeftCornerSize, int bottomRightCornerSize, eStyleBackgroundPathPart pathPart,
            eCornerType topLeftCornerType, eCornerType topRightCornerType, eCornerType bottomLeftCornerType, eCornerType bottomRightCornerType, float partSize)
        {
            GraphicsPath path = new GraphicsPath();

            if (pathPart == eStyleBackgroundPathPart.TopHalf)
            {
                if (partSize == 0)
                    clientRectangle.Height = clientRectangle.Height / 2;
                else
                    clientRectangle.Height = (int)(clientRectangle.Height * partSize);
            }
            else if (pathPart == eStyleBackgroundPathPart.BottomHalf)
            {
                int h = clientRectangle.Height;
                if (partSize == 0)
                    clientRectangle.Height = clientRectangle.Height / 2;
                else
                    clientRectangle.Height = (int)(clientRectangle.Height * partSize);
                clientRectangle.Y += (h - clientRectangle.Height - 1);
            }

            eCornerType corner = topLeftCornerType;
            if (corner == eCornerType.Inherit)
                corner = eCornerType.Square;

            if (pathPart == eStyleBackgroundPathPart.BottomHalf)
                corner = eCornerType.Square;

            if (corner == eCornerType.Rounded && topLeftCornerSize>0)
            {
                ArcData ad = ElementStyleDisplay.GetCornerArc(clientRectangle, topLeftCornerSize, eCornerArc.TopLeft);
                path.AddArc(ad.X, ad.Y, ad.Width, ad.Height, ad.StartAngle, ad.SweepAngle);
            }
            else if (corner == eCornerType.Diagonal)
            {
                path.AddLine(clientRectangle.X, clientRectangle.Y + topLeftCornerSize, clientRectangle.X + topLeftCornerSize, clientRectangle.Y);
            }
            else
            {
                path.AddLine(clientRectangle.X, clientRectangle.Y + 2, clientRectangle.X, clientRectangle.Y);
                path.AddLine(clientRectangle.X, clientRectangle.Y, clientRectangle.X + 2, clientRectangle.Y);
            }

            corner = topRightCornerType;
            if (corner == eCornerType.Inherit)
                corner = eCornerType.Square;
            if (pathPart == eStyleBackgroundPathPart.BottomHalf)
                corner = eCornerType.Square;
            if (corner == eCornerType.Rounded && topRightCornerSize>0)
            {
                ArcData ad = ElementStyleDisplay.GetCornerArc(clientRectangle, topRightCornerSize, eCornerArc.TopRight);
                path.AddArc(ad.X, ad.Y, ad.Width, ad.Height, ad.StartAngle, ad.SweepAngle);
            }
            else if (corner == eCornerType.Diagonal)
            {
                path.AddLine(clientRectangle.Right - topRightCornerSize - 1, clientRectangle.Y, clientRectangle.Right, clientRectangle.Y + topRightCornerSize);
            }
            else
            {
                path.AddLine(clientRectangle.Right - 2, clientRectangle.Y, clientRectangle.Right, clientRectangle.Y);
                path.AddLine(clientRectangle.Right, clientRectangle.Y, clientRectangle.Right, clientRectangle.Y + 2);
            }

            corner = bottomRightCornerType;
            if (corner == eCornerType.Inherit)
                corner = eCornerType.Square;
            if (pathPart == eStyleBackgroundPathPart.TopHalf)
                corner = eCornerType.Square;
            if (corner == eCornerType.Rounded && bottomRightCornerSize>0)
            {
                ArcData ad = ElementStyleDisplay.GetCornerArc(clientRectangle, bottomRightCornerSize, eCornerArc.BottomRight);
                path.AddArc(ad.X, ad.Y, ad.Width, ad.Height, ad.StartAngle, ad.SweepAngle);
            }
            else if (corner == eCornerType.Diagonal)
            {
                path.AddLine(clientRectangle.Right, clientRectangle.Bottom - bottomRightCornerSize - 1, clientRectangle.Right - bottomRightCornerSize - 1, clientRectangle.Bottom);
            }
            else
            {
                path.AddLine(clientRectangle.Right, clientRectangle.Bottom - 2, clientRectangle.Right, clientRectangle.Bottom);
                path.AddLine(clientRectangle.Right, clientRectangle.Bottom, clientRectangle.Right - 2, clientRectangle.Bottom);
            }

            corner = bottomLeftCornerType;
            if (corner == eCornerType.Inherit)
                corner = eCornerType.Square;
            if (pathPart == eStyleBackgroundPathPart.TopHalf)
                corner = eCornerType.Square;
            if (corner == eCornerType.Rounded && bottomLeftCornerSize>0)
            {
                ArcData ad = ElementStyleDisplay.GetCornerArc(clientRectangle, bottomLeftCornerSize, eCornerArc.BottomLeft);
                path.AddArc(ad.X, ad.Y, ad.Width, ad.Height, ad.StartAngle, ad.SweepAngle);
            }
            else if (corner == eCornerType.Diagonal)
            {
                path.AddLine(clientRectangle.X + 2, clientRectangle.Bottom, clientRectangle.X, clientRectangle.Bottom - bottomLeftCornerSize - 1);
            }
            else
            {
                path.AddLine(clientRectangle.X + 2, clientRectangle.Bottom, clientRectangle.X, clientRectangle.Bottom);
                path.AddLine(clientRectangle.X, clientRectangle.Bottom, clientRectangle.X, clientRectangle.Bottom - 2);
            }

            path.CloseAllFigures();
            return path;
        }
Пример #6
0
 public static GraphicsPath GetRoundedRectanglePath(Rectangle clientRectangle, int cornerSize, eStyleBackgroundPathPart pathPart,
     eCornerType topLeftCornerType, eCornerType topRightCornerType, eCornerType bottomLeftCornerType, eCornerType bottomRightCornerType, float partSize)
 {
     return GetRoundedRectanglePath(clientRectangle, cornerSize, cornerSize, cornerSize, cornerSize, pathPart, topLeftCornerType, topRightCornerType, bottomLeftCornerType, bottomRightCornerType, partSize);
 }
Пример #7
0
        /// <summary>
        /// Reset all style properties to default values.
        /// </summary>
        public void Reset()
        {
            m_BackColor=Color.Empty;
		    m_BackColorSchemePart=eColorSchemePart.None;
		    m_BackColor2=Color.Empty;
		    m_BackColor2SchemePart=eColorSchemePart.None;
		    m_BackColorGradientAngle=0;
            m_BackColorGradientType = eGradientType.Linear;
		    m_BackgroundImage=null;
		    m_BackgroundImagePosition=eStyleBackgroundImage.Stretch;
		    m_BackgroundImageAlpha=255;
            m_BackColorBlend.Clear();

		    // Font
		    m_Font=null;

		    // Text Formating
		    m_WordWrap=false;
		    m_TextAlignment=eStyleTextAlignment.Near;
		    m_TextLineAlignment=eStyleTextAlignment.Center;
		    m_TextTrimming=eStyleTextTrimming.EllipsisCharacter;
		
            m_TextColor=Color.Empty;
		    m_TextColorSchemePart=eColorSchemePart.None;
            m_TextShadowColor = Color.Empty;
            m_TextShadowColorSchemePart = eColorSchemePart.None;
            m_TextShadowOffset = Point.Empty;

		    // Style margins
		    m_MarginLeft=0;
		    m_MarginRight=0;
		    m_MarginTop=0;
		    m_MarginBottom=0;

		    // Style inside padding
		    m_PaddingLeft=0;
		    m_PaddingRight=0;
		    m_PaddingTop=0;
		    m_PaddingBottom=0;

		    // Border
		    m_BorderLeft=eStyleBorderType.None;
		    m_BorderRight=eStyleBorderType.None;
		    m_BorderTop=eStyleBorderType.None;
		    m_BorderBottom=eStyleBorderType.None;

		    m_BorderColor=Color.Empty;
		    m_BorderColorSchemePart=eColorSchemePart.None;
            m_BorderColor2 = Color.Empty;
            m_BorderColor2SchemePart = eColorSchemePart.None;
            m_BorderGradientAngle = 90;
            m_BorderColorLight = Color.Empty;
            m_BorderColorLightSchemePart = eColorSchemePart.None;
            m_BorderColorLight2 = Color.Empty;
            m_BorderColorLight2SchemePart = eColorSchemePart.None;
            m_BorderLightGradientAngle = 90;

		    m_BorderLeftColor=Color.Empty;
		    m_BorderLeftColorSchemePart=eColorSchemePart.None;
		    m_BorderRightColor=Color.Empty;
		    m_BorderRightColorSchemePart=eColorSchemePart.None;
		    m_BorderTopColor=Color.Empty;
		    m_BorderTopColorSchemePart=eColorSchemePart.None;
		    m_BorderBottomColor=Color.Empty;
		    m_BorderBottomColorSchemePart=eColorSchemePart.None;

		    m_BorderLeftWidth=0;
		    m_BorderRightWidth=0;
		    m_BorderTopWidth=0;
		    m_BorderBottomWidth=0;

		    m_CornerType=eCornerType.Square;
		    m_CornerTypeTopLeft=eCornerType.Inherit;
		    m_CornerTypeTopRight=eCornerType.Inherit;
		    m_CornerTypeBottomLeft=eCornerType.Inherit;
		    m_CornerTypeBottomRight=eCornerType.Inherit;
		    m_CornerDiameter=DEFAULT_CORNER_DIAMETER;
            m_Class = "";
		    m_MaximumHeight=0;
        }
Пример #8
0
		internal void Deserialize(System.Xml.XmlElement styleElement)
		{
			m_BackColor1=ColorEx.Empty;
			if(styleElement.HasAttribute("bc1"))
			{
				m_BackColor1.Color=BarFunctions.ColorFromString(styleElement.GetAttribute("bc1"));
				m_BackColor1.Alpha=System.Xml.XmlConvert.ToByte(styleElement.GetAttribute("bc1a"));
			}
			else if(styleElement.HasAttribute("bc1csp"))
				m_BackColor1.ColorSchemePart=(eColorSchemePart)Enum.Parse(typeof(eColorSchemePart),styleElement.GetAttribute("bc1csp"));
			m_BackColor2=ColorEx.Empty;
			if(styleElement.HasAttribute("bc2"))
			{
				m_BackColor2.Color=BarFunctions.ColorFromString(styleElement.GetAttribute("bc2"));
				m_BackColor2.Alpha=System.Xml.XmlConvert.ToByte(styleElement.GetAttribute("bc2a"));
			}
			else if(styleElement.HasAttribute("bc2csp"))
				m_BackColor2.ColorSchemePart=(eColorSchemePart)Enum.Parse(typeof(eColorSchemePart),styleElement.GetAttribute("bc2csp"));
			m_ForeColor=ColorEx.Empty;
			if(styleElement.HasAttribute("fc"))
			{
				m_ForeColor.Color=BarFunctions.ColorFromString(styleElement.GetAttribute("fc"));
				m_ForeColor.Alpha=System.Xml.XmlConvert.ToByte(styleElement.GetAttribute("fca"));
			}
			else if(styleElement.HasAttribute("fccsp"))
				m_ForeColor.ColorSchemePart=(eColorSchemePart)Enum.Parse(typeof(eColorSchemePart),styleElement.GetAttribute("fccsp"));

			m_BorderColor=ColorEx.Empty;
			if(styleElement.HasAttribute("borderc"))
			{
				m_BorderColor.Color=BarFunctions.ColorFromString(styleElement.GetAttribute("borderc"));
				m_BorderColor.Alpha=System.Xml.XmlConvert.ToByte(styleElement.GetAttribute("borderca"));
			}
			else if(styleElement.HasAttribute("bordercsp"))
				m_BorderColor.ColorSchemePart=(eColorSchemePart)Enum.Parse(typeof(eColorSchemePart),styleElement.GetAttribute("bordercsp"));

			m_GradientAngle=System.Xml.XmlConvert.ToInt16(styleElement.GetAttribute("ga"));

			// Load font information if it exists
			m_Font=null;
			if(styleElement.HasAttribute("fontname"))
			{
				string FontName=styleElement.GetAttribute("fontname");
				float FontSize=System.Xml.XmlConvert.ToSingle(styleElement.GetAttribute("fontemsize"));
				System.Drawing.FontStyle FontStyle=(System.Drawing.FontStyle)System.Xml.XmlConvert.ToInt32(styleElement.GetAttribute("fontstyle"));
				try
				{
					m_Font=new Font(FontName,FontSize,FontStyle);
				}
				catch(Exception)
				{
					m_Font=null;
				}
			}
			// Load Image
			m_BackgroundImage=null;
			foreach(System.Xml.XmlElement xmlElem in styleElement.ChildNodes)
			{
				if(xmlElem.Name=="backimage")
				{
					m_BackgroundImage=BarFunctions.DeserializeImage(xmlElem);
					m_BackgroundImagePosition=(eBackgroundImagePosition)System.Xml.XmlConvert.ToInt32(xmlElem.GetAttribute("pos"));
					m_BackgroundImageAlpha=System.Xml.XmlConvert.ToByte(xmlElem.GetAttribute("alpha"));
				}
			}

			m_WordWrap=false;
			if(styleElement.HasAttribute("wordwrap"))
				m_WordWrap=System.Xml.XmlConvert.ToBoolean(styleElement.GetAttribute("wordwrap"));
            
			m_Alignment=StringAlignment.Near;
			if(styleElement.HasAttribute("align"))
				m_Alignment=(StringAlignment)System.Xml.XmlConvert.ToInt32(styleElement.GetAttribute("align"));
			m_LineAlignment=StringAlignment.Center;
			if(styleElement.HasAttribute("valign"))
				m_LineAlignment=(StringAlignment)System.Xml.XmlConvert.ToInt32(styleElement.GetAttribute("valign"));
			m_TextTrimming=StringTrimming.EllipsisCharacter;
			if(styleElement.HasAttribute("trim"))
				m_TextTrimming=(StringTrimming)System.Xml.XmlConvert.ToInt32(styleElement.GetAttribute("trim"));

			m_Border=eBorderType.None;
			if(styleElement.HasAttribute("border"))
				m_Border=(eBorderType)System.Xml.XmlConvert.ToInt32(styleElement.GetAttribute("border"));
	
			m_BorderWidth=1;
            if(styleElement.HasAttribute("borderw"))
				m_BorderWidth=System.Xml.XmlConvert.ToInt32(styleElement.GetAttribute("borderw"));

			m_CornerType=eCornerType.Square;
			if(styleElement.HasAttribute("cornertype"))
				m_CornerType=(eCornerType)System.Xml.XmlConvert.ToInt32(styleElement.GetAttribute("cornertype"));
			m_CornerDiameter=DEFAULT_CORNER_DIAMETER;
			if(styleElement.HasAttribute("cornerdiameter"))
				m_CornerDiameter=System.Xml.XmlConvert.ToInt32(styleElement.GetAttribute("cornerdiameter"));
		}
Пример #9
0
		internal void ApplyStyle(ItemStyle style)
		{
			if(style==null)
				return;

			m_Alignment=style.Alignment;
			if(!style.BackColor1.IsEmpty)
				m_BackColor1=style.BackColor1;
			if(!style.BackColor2.IsEmpty)
				m_BackColor2=style.BackColor2;
			if(style.BackgroundImage!=null)
                m_BackgroundImage=style.BackgroundImage;
			if(style.BackgroundImageAlpha!=255)
				m_BackgroundImageAlpha=style.BackgroundImageAlpha;
			if(style.BackgroundImagePosition!=eBackgroundImagePosition.Stretch)
				m_BackgroundImagePosition=style.BackgroundImagePosition;
			if(style.Border!=eBorderType.None)
				m_Border=style.Border;
			if(style.BorderDashStyle!=DashStyle.Solid)
				m_BorderDashStyle=style.BorderDashStyle;
			if(!style.BorderColor.IsEmpty)
				m_BorderColor=style.BorderColor;
			if(style.BorderSide!=DEFAULT_BORDERSIDE)
				m_BorderSide=style.BorderSide;
			if(style.BorderWidth!=1)
				m_BorderWidth=style.BorderWidth;
			if(style.Font!=null)
				m_Font=style.Font;
			if(!style.ForeColor.IsEmpty)
				m_ForeColor=style.ForeColor;
			if(style.LineAlignment!=StringAlignment.Center)
				m_LineAlignment=style.LineAlignment;
			if(style.TextTrimming!=StringTrimming.EllipsisCharacter)
				m_TextTrimming=style.TextTrimming;
			if(style.WordWrap!=false)
				m_WordWrap=style.WordWrap;
			if(style.MarginBottom!=0)
				m_MarginBottom=style.MarginBottom;
			if(style.MarginLeft!=0)
				m_MarginLeft=style.MarginLeft;
			if(style.MarginRight!=0)
				m_MarginRight=style.MarginRight;
			if(style.MarginTop!=0)
				m_MarginTop=style.MarginTop;
            if(style.CornerType!=eCornerType.Square)
				m_CornerType=style.CornerType;
			if(style.CornerDiameter!=DEFAULT_CORNER_DIAMETER)
				m_CornerDiameter=style.CornerDiameter;
            if (style.VerticalText)
                m_VerticalText = style.VerticalText;
            if (!style.UseMnemonic)
                _UseMnemonic = style.UseMnemonic;
		}
Пример #10
0
		private void SetRegion(bool bResize)
		{
			if(bResize || m_CurrentCornerType!=m_Style.CornerType || m_CornerDiameter!=m_Style.CornerDiameter)
			{
				m_CurrentCornerType=m_Style.CornerType;
				m_CornerDiameter=m_Style.CornerDiameter;
				if(m_Style!=null && !(DrawThemedPane && BarFunctions.ThemedOS) && m_Style.CornerType!=eCornerType.Square)
				{
					this.Region=m_Style.GetRegion(this.ClientRectangle);
				}
				else
					this.Region=null;
			}
		}
Пример #11
0
 private void SetRegion(bool bResize)
 {
     if (!CanSetRegion) return;
     ElementStyle style = GetStyle();
     if (bResize || m_CurrentCornerType != style.CornerType || m_CornerDiameter != style.CornerDiameter)
     {
         m_CurrentCornerType = style.CornerType;
         m_CornerDiameter = style.CornerDiameter;
         if (style != null && !(DrawThemedPane && BarFunctions.ThemedOS) && style.CornerType != eCornerType.Square)
         {
             this.Region = ElementStyleDisplay.GetStyleRegion(new ElementStyleDisplayInfo(style, null, new Rectangle(0,0,this.Width, this.Height)));
         }
         else
             this.Region = null;
     }
 }