Customizable Stylebox with a given set of parameters. (no texture required)
    public class StyleBoxFlat : StyleBox

This stylebox can be used to achieve all kinds of looks without the need of a texture. Those properties are customizable:

  • Color

  • Border width (individual width for each border)

  • Rounded corners (individual radius for each corner)

  • Shadow

Setting corner radius to high values is allowed. As soon as corners would overlap the stylebox will switch to a relative system. Example:

[codeblock]

height = 30

corner_radius_top_left = 50

corner_radius_bottom_left = 100

[/codeblock]

The relative system now would take the 1:2 ratio of the two left corners to calculate the actual corner width. Both corners added will never be more than the height. Result:

[codeblock]

corner_radius_top_left: 10

corner_radius_bottom_left: 20

[/codeblock]

Inheritance Chain

Constructors

    public StyleBoxFlat()

Properties

    public bool AntiAliasing { get; set; }

Anti Aliasing draws a small ring around edges. This ring fades to transparent. As a result edges look much smoother. This is only noticeable when using rounded corners.

    public int AntiAliasingSize { get; set; }

This changes the size of the faded ring. Higher values can be used to achieve a “blurry” effect.

    public Color BgColor { get; set; }

The background color of the stylebox.

    public bool BorderBlend { get; set; }

When set to true, the border will fade into the background color.

    public Color BorderColor { get; set; }

Sets the color of the border.

    public int BorderWidthBottom { get; set; }

Border width for the bottom border.

    public int BorderWidthLeft { get; set; }

Border width for the left border.

    public int BorderWidthRight { get; set; }

Border width for the right border.

    public int BorderWidthTop { get; set; }

Border width for the top border.

    public int CornerDetail { get; set; }

This sets the amount of vertices used for each corner. Higher values result in rounder corners but take more processing power to compute. When choosing a value you should take the corner radius (SetCornerRadiusAll(int)) into account.

For corner radius smaller than 10, 4-5 should be enough.

For corner radius smaller than 30, 8-12 should be enough.

    public int CornerRadiusBottomLeft { get; set; }

The corner radius of the bottom left corner. When set to 0 the corner is not rounded.

    public int CornerRadiusBottomRight { get; set; }

The corner radius of the bottom right corner. When set to 0 the corner is not rounded.

    public int CornerRadiusTopLeft { get; set; }

The corner radius of the top left corner. When set to 0 the corner is not rounded.

    public int CornerRadiusTopRight { get; set; }

The corner radius of the top right corner. When set to 0 the corner is not rounded.

    public bool DrawCenter { get; set; }

Toggels drawing of the inner part of the stylebox.

    public float ExpandMarginBottom { get; set; }

Expands the stylebox outside of the control rect on the bottom edge. Useful in combination with border_width_bottom. To draw a border outside the control rect.

    public float ExpandMarginLeft { get; set; }

Expands the stylebox outside of the control rect on the left edge. Useful in combination with border_width_left. To draw a border outside the control rect.

    public float ExpandMarginRight { get; set; }

Expands the stylebox outside of the control rect on the right edge. Useful in combination with border_width_right. To draw a border outside the control rect.

    public float ExpandMarginTop { get; set; }

Expands the stylebox outside of the control rect on the top edge. Useful in combination with border_width_top. To draw a border outside the control rect.

    public Color ShadowColor { get; set; }

The color of the shadow. (This has no effect when shadow_size < 1)

    public int ShadowSize { get; set; }

The shadow size in pixels.

Methods

    public int GetAaSize()

Getter for AntiAliasingSize

    public Color GetBgColor()

Getter for BgColor

    public bool GetBorderBlend()

Getter for BorderBlend

    public Color GetBorderColor()

Getter for BorderColor

    public int GetBorderWidth(Margin margin)

    public int GetBorderWidthMin()

    public int GetCornerDetail()

Getter for CornerDetail

    public int GetCornerRadius(Corner corner)

    public float GetExpandMargin(Margin margin)

    public Color GetShadowColor()

Getter for ShadowColor

    public int GetShadowSize()

Getter for ShadowSize

    public bool IsAntiAliased()

Getter for AntiAliasing

    public bool IsDrawCenterEnabled()

Getter for DrawCenter

    public void SetAaSize(int size)

Setter for AntiAliasingSize

    public void SetAntiAliased(bool antiAliased)

Setter for AntiAliasing

    public void SetBgColor(Color color)

Setter for BgColor

    public void SetBorderBlend(bool blend)

Setter for BorderBlend

    public void SetBorderColor(Color color)

Setter for BorderColor

    public void SetBorderWidth(Margin margin, int width)

    public void SetBorderWidthAll(int width)

    public void SetCornerDetail(int detail)

Setter for CornerDetail

    public void SetCornerRadius(Corner corner, int radius)

    public void SetCornerRadiusAll(int radius)

    public void SetCornerRadiusIndividual(int radiusTopLeft, int radiusTopRight, int radiusBottomRight, int radiusBottomLeft)

    public void SetDrawCenter(bool drawCenter)

Setter for DrawCenter

    public void SetExpandMargin(Margin margin, float size)

    public void SetExpandMarginAll(float size)

    public void SetExpandMarginIndividual(float sizeLeft, float sizeTop, float sizeRight, float sizeBottom)

    public void SetShadowColor(Color color)

Setter for ShadowColor

    public void SetShadowSize(int size)

Setter for ShadowSize

Tags: