mirror of
https://github.com/Facepunch/sbox-public.git
synced 2026-01-21 20:59:56 -05:00
This commit imports the C# engine code and game files, excluding C++ source code. [Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
571 lines
11 KiB
C#
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
|
|
}
|