Files
sbox-public/engine/Sandbox.System/UI/Styles/StyleEnums.cs
s&box team 71f266059a Open source release
This commit imports the C# engine code and game files, excluding C++ source code.

[Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
2025-11-24 09:05:18 +00:00

571 lines
11 KiB
C#

namespace Sandbox.UI;
/// <summary>
/// Possible values for the "overflow" CSS rule, dictating what to do with content that is outside of a panels bounds.
/// </summary>
public enum OverflowMode
{
/// <summary>
/// Overflowing content is visible at all times.
/// </summary>
Visible = 0,
/// <summary>
/// Overflowing contents are hidden at all times.
/// </summary>
Hidden = 1,
/// <summary>
/// Overflowing contents are hidden, but can be scrolled to.
/// </summary>
Scroll = 2
}
/// <summary>
/// Possible values for <c>align-items</c> CSS property.
/// </summary>
public enum Align
{
Auto = 0,
FlexStart = 1,
Center = 2,
FlexEnd = 3,
Stretch = 4,
Baseline = 5,
SpaceBetween = 6,
SpaceAround = 7,
SpaceEvenly = 8
}
/// <summary>
/// Possible values for <c>position</c> CSS property.
/// </summary>
public enum PositionMode
{
/// <summary>
/// Default, the <c>top</c>, <c>right</c>, <c>bottom</c>, <c>left</c>, and <c>z-index</c> properties have no effect.
/// </summary>
Static = 0,
/// <summary>
/// Enables <c>top</c>, <c>right</c>, <c>bottom</c>, <c>left</c>, and <c>z-index</c> to offset the element from its
/// would-be position with <see cref="Static"/>.
/// </summary>
Relative = 1,
/// <summary>
/// Same as <see cref="Relative"/>, but the elements size does not affect other elements at all.
/// </summary>
Absolute = 2
}
/// <summary>
/// Possible values for <c>flex-direction</c> CSS property.
/// </summary>
public enum FlexDirection
{
/// <summary>
/// A column, align items from top to bottom.
/// </summary>
Column = 0,
/// <summary>
/// A reverse column, align items from bottom to top.
/// </summary>
ColumnReverse = 1,
/// <summary>
/// A row, align items from left to right.
/// </summary>
Row = 2,
/// <summary>
/// A reverse row, align items from right to left.
/// </summary>
RowReverse = 3
}
/// <summary>
/// Possible values for <c>justify-content</c> CSS property.
/// </summary>
public enum Justify
{
/// <summary>
/// [OOOO ]
/// </summary>
FlexStart = 0,
/// <summary>
/// [ OOOO ]
/// </summary>
Center = 1,
/// <summary>
/// [ OOOO]
/// </summary>
FlexEnd = 2,
/// <summary>
/// [O O O O]
/// </summary>
SpaceBetween = 3,
/// <summary>
/// [ O O O O ]
/// </summary>
SpaceAround = 4,
/// <summary>
/// [ O O O O ]
/// </summary>
SpaceEvenly = 5
}
/// <summary>
/// Possible values for <c>display</c> CSS property.
/// </summary>
public enum DisplayMode
{
/// <summary>
/// Display via CSS flexbox.
/// </summary>
Flex = 0,
/// <summary>
/// Do not display at all.
/// </summary>
None = 1,
/// <summary>
/// Causes an element's children to appear as if they were direct children of the element's parent, ignoring the element itself. This can be useful when a wrapper element should be ignored.
/// </summary>
Contents = 2
}
/// <summary>
/// Possible values for <c>pointer-events</c> CSS property.
/// </summary>
public enum PointerEvents
{
/// <summary>
/// Accept all events in all cases.
/// </summary>
All = 0,
/// <summary>
/// Do not accept any pointer events.
/// </summary>
None = 1
}
/// <summary>
/// Possible values for <c>flex-wrap</c> CSS property.
/// </summary>
public enum Wrap
{
/// <summary>
/// Elements will be laid out in a single line.
/// </summary>
NoWrap = 0,
/// <summary>
/// Elements will be moved to subsequent lines on overflow.
/// </summary>
Wrap = 1,
/// <summary>
/// Same as <see cref="Wrap"/>, but the line order will be reversed, i.e. if one item overflows the width,
/// it will be placed on the first line, and the others will be placed on the second line.
/// </summary>
WrapReverse = 2
}
/// <summary>
/// Possible values for <c>text-align</c> CSS property.
/// </summary>
public enum TextAlign
{
/// <summary>
/// Unused.
/// </summary>
Auto = 0,
/// <summary>
/// Align the text to the left.
/// </summary>
Left = 1,
/// <summary>
/// Align the text to the horizontal center.
/// </summary>
Center = 2,
/// <summary>
/// Align the text to the right.
/// </summary>
Right = 3
}
/// <summary>
/// Possible values for <c>text-overflow</c> CSS property.
/// </summary>
public enum TextOverflow
{
/// <summary>
/// Display overflown text.
/// </summary>
None = 0,
/// <summary>
/// Replace part of the text near the overflow point with ellipsis, and cut off the rest.
/// </summary>
Ellipsis = 1,
/// <summary>
/// Visually cut off the overflowing text.
/// </summary>
Clip = 2
}
/// <summary>
/// Possible values for <c>word-break</c> CSS property.
/// </summary>
public enum WordBreak
{
/// <summary>
/// Break overflowing lines at the closest word.
/// </summary>
Normal,
/// <summary>
/// Break overflowing lines at the closest character.
/// </summary>
BreakAll
}
/// <summary>
/// Possible values for <c>text-transform</c> CSS property.
/// </summary>
public enum TextTransform
{
/// <summary>
/// No change, default.
/// </summary>
None = 0,
/// <summary>
/// Capitalize each word.
/// </summary>
Capitalize = 1,
/// <summary>
/// Make every character capital.
/// </summary>
Uppercase = 2,
/// <summary>
/// Make every character lowercase.
/// </summary>
Lowercase = 3
}
/// <summary>
/// Possible values for <c>text-decoration-skip-ink</c> CSS property.
/// </summary>
public enum TextSkipInk
{
/// <summary>
/// Don't overlap any glyphs.
/// </summary>
All = 0,
/// <summary>
/// Overlap all glyphs.
/// </summary>
None = 1,
}
/// <summary>
/// Possible values for <c>text-decoration-style</c> CSS property.
/// </summary>
public enum TextDecorationStyle
{
/// <summary>
/// Draw a single solid line.
/// </summary>
Solid = 0,
/// <summary>
/// Draw two solid lines.
/// </summary>
Double = 1,
/// <summary>
/// Draw a dotted line.
/// </summary>
Dotted = 2,
/// <summary>
/// Draw a dashed line.
/// </summary>
Dashed = 3,
/// <summary>
/// Draw a wavy/squiggly line.
/// </summary>
Wavy = 4,
}
/// <summary>
/// Possible values for <c>text-decoration</c> CSS property.
/// </summary>
[Flags]
public enum TextDecoration
{
/// <summary>
/// No decoration, default.
/// </summary>
None = 0,
/// <summary>
/// Underline the text.
/// </summary>
Underline = 2,
/// <summary>
/// Strike through, a line in the middle of the text.
/// </summary>
LineThrough = 4,
/// <summary>
/// A line above the text.
/// </summary>
Overline = 8,
}
/// <summary>
/// Possible values for <c>white-space</c> CSS property.
/// </summary>
public enum WhiteSpace
{
/// <summary>
/// Sequences of white spaces are collapsed, text will wrap when necessary. Default.
/// </summary>
Normal = 0,
/// <summary>
/// Sequences of white spaces are collapsed and linebreaks are suppressed.
/// </summary>
NoWrap = 1,
/// <summary>
/// Sequences of white spaces are collapsed, text will wrap when necessary, linebreaks are preserved.
/// </summary>
PreLine = 2,
/// <summary>
/// Sequences of white space are preserved, lines are only broken at newline characters in the source.
/// </summary>
Pre = 3
}
/// <summary>
/// Possible values for <c>font-style</c> CSS property.
/// </summary>
[Flags]
public enum FontStyle
{
/// <summary>
/// No font styling, default.
/// </summary>
None = 0,
/// <summary>
/// Italic/cursive slanted text.
/// </summary>
Italic = 2,
/// <summary>
/// Non cursive slanted text, if the font supports it, italic otherwise.
/// </summary>
Oblique = 4,
}
/// <summary>
/// Possible values for <c>image-rendering</c> CSS property.
/// </summary>
public enum ImageRendering
{
/// <summary>
/// <a href="https://en.wikipedia.org/wiki/Anisotropic_filtering">Anisotropic</a> filtering.
/// </summary>
Anisotropic = 0,
/// <summary>
/// <a href="https://en.wikipedia.org/wiki/Bilinear_interpolation">Anisotropic</a> interpolation/filtering.
/// </summary>
Bilinear = 1,
/// <summary>
/// <a href="https://en.wikipedia.org/wiki/Trilinear_filtering">Trilinear</a> filtering.
/// </summary>
Trilinear = 2,
/// <summary>
/// No filtering.
/// </summary>
Point = 3,
}
/// <summary>
/// State of <c>fill</c> setting of <c>border-image-slice</c> (<c>border-image</c>) CSS property.
/// </summary>
public enum BorderImageFill
{
/// <summary>
/// Do not fill the middle of the container with the border's background image.
/// </summary>
Unfilled,
/// <summary>
/// Do fill the middle of the container with the border's background image.
/// </summary>
Filled
};
/// <summary>
/// Possible values for <c>border-image-repeat</c> (<c>border-image</c>) CSS property.
/// </summary>
public enum BorderImageRepeat
{
/// <summary>
/// The source image's edge regions are stretched to fill the gap between each border.
/// </summary>
Stretch,
/// <summary>
/// The source image's edge regions are tiled (repeated) to fill the gap between each border. Tiles may be stretched to achieve the proper fit.
/// </summary>
Round
// Missing Repeat
// Missing Space
};
/// <summary>
/// Possible values for <c>background-repeat</c> CSS property.
/// </summary>
public enum BackgroundRepeat
{
/// <summary>
/// Repeat the background image on X and Y axises.
/// </summary>
Repeat = 0,
/// <summary>
/// Repeat the background image on X axis.
/// </summary>
RepeatX = 1,
/// <summary>
/// Repeat the background image on Y axis.
/// </summary>
RepeatY = 2,
/// <summary>
/// Do not repeat the background image.
/// </summary>
NoRepeat = 3,
/// <summary>
/// Stretch the edges of the image to fill empty space.
/// </summary>
Clamp = 4
}
/// <summary>
/// Possible values for <c>mask-mode</c> CSS property.
/// </summary>
public enum MaskMode
{
/// <summary>
/// If the mask-image property is of type 'mask-source', the luminance values of the mask layer image should be used as the mask values.
/// If it is of type 'image', the alpha values of the mask layer image should be used as the mask values.
/// </summary>
MatchSource = 0,
/// <summary>
/// The alpha channel values of the mask layer image should be used as the mask values.
/// </summary>
Alpha = 1,
/// <summary>
/// The luminance values of the mask layer image should be used as the mask values.
/// </summary>
Luminance = 2
}
/// <summary>
/// Possible values for <c>mask-scope</c> CSS property.
/// </summary>
public enum MaskScope
{
/// <summary>
/// Standard mask.
/// </summary>
Default,
/// <summary>
/// Mask used for filters.
/// </summary>
Filter
}
/// <summary>
/// Possible values for <c>font-smooth</c> CSS property.
/// </summary>
public enum FontSmooth
{
/// <summary>
/// Let us decide (we'll anti-alias where available)
/// </summary>
Auto,
/// <summary>
/// Turn font smoothing off
/// </summary>
Never,
/// <summary>
/// Always anti-alias
/// </summary>
Always
}
public enum ObjectFit
{
/// <summary>
/// The content is sized to fill the element's content box. This does not preserve aspect ratio.
/// </summary>
Fill,
/// <summary>
/// The content is scaled to maintain its aspect ratio while fitting within the element's content box
/// </summary>
Contain,
/// <summary>
/// The content is sized to maintain its aspect ratio while filling the element's entire content box
/// </summary>
Cover,
/// <summary>
/// The content is not resized
/// </summary>
None
}