mirror of https://github.com/anoshenko/rui.git
416 lines
20 KiB
Go
416 lines
20 KiB
Go
package rui
|
||
|
||
// Constants for various specific properties of a views
|
||
const (
|
||
// Visible - default value of the view Visibility property: View is visible
|
||
Visible = 0
|
||
|
||
// Invisible - value of the view Visibility property: View is invisible but takes place
|
||
Invisible = 1
|
||
|
||
// Gone - value of the view Visibility property: View is invisible and does not take place
|
||
Gone = 2
|
||
|
||
// OverflowHidden - value of the view "overflow" property:
|
||
// Content is clipped if necessary to fit the padding box. No scrollbars are provided,
|
||
// and no support for allowing the user to scroll (such as by dragging or using a scroll wheel) is allowed.
|
||
// The content can be scrolled programmatically, so the element is still a scroll container.
|
||
OverflowHidden = 0
|
||
|
||
// OverflowVisible - value of the view "overflow" property:
|
||
// Content is not clipped and may be rendered outside the padding box.
|
||
OverflowVisible = 1
|
||
|
||
// OverflowScroll - value of the view "overflow" property:
|
||
// Content is clipped if necessary to fit the padding box. Browsers always display scrollbars whether or
|
||
// not any content is actually clipped, preventing scrollbars from appearing or disappearing as content changes.
|
||
OverflowScroll = 2
|
||
|
||
// OverflowAuto - value of the view "overflow" property:
|
||
// Depends on the browser user agent. If content fits inside the padding box, it looks the same as OverflowVisible,
|
||
// but still establishes a new block formatting context. Desktop browsers provide scrollbars if content overflows.
|
||
OverflowAuto = 3
|
||
|
||
// NoneTextTransform - not transform text
|
||
NoneTextTransform = 0
|
||
|
||
// CapitalizeTextTransform - capitalize text
|
||
CapitalizeTextTransform = 1
|
||
|
||
// LowerCaseTextTransform - transform text to lower case
|
||
LowerCaseTextTransform = 2
|
||
|
||
// UpperCaseTextTransform - transform text to upper case
|
||
UpperCaseTextTransform = 3
|
||
|
||
// HorizontalTopToBottom - content flows horizontally from left to right, vertically from top to bottom.
|
||
// The next horizontal line is positioned below the previous line.
|
||
HorizontalTopToBottom = 0
|
||
|
||
// HorizontalBottomToTop - content flows horizontally from left to right, vertically from bottom to top.
|
||
// The next horizontal line is positioned above the previous line.
|
||
HorizontalBottomToTop = 1
|
||
|
||
// VerticalRightToLeft - content flows vertically from top to bottom, horizontally from right to left.
|
||
// The next vertical line is positioned to the left of the previous line.
|
||
VerticalRightToLeft = 2
|
||
|
||
// VerticalLeftToRight - content flows vertically from top to bottom, horizontally from left to right.
|
||
// The next vertical line is positioned to the right of the previous line.
|
||
VerticalLeftToRight = 3
|
||
|
||
// MixedTextOrientation - rotates the characters of horizontal scripts 90° clockwise.
|
||
// Lays out the characters of vertical scripts naturally. Default value.
|
||
MixedTextOrientation = 0
|
||
|
||
// UprightTextOrientation - lays out the characters of horizontal scripts naturally (upright),
|
||
// as well as the glyphs for vertical scripts. Note that this keyword causes all characters
|
||
// to be considered as left-to-right: the used value of "text-direction" is forced to be "left-to-right".
|
||
UprightTextOrientation = 1
|
||
|
||
// SystemTextDirection - direction of a text and other elements defined by system. This is the default value.
|
||
SystemTextDirection = 0
|
||
|
||
// LeftToRightDirection - text and other elements go from left to right.
|
||
LeftToRightDirection = 1
|
||
|
||
//RightToLeftDirection - text and other elements go from right to left.
|
||
RightToLeftDirection = 2
|
||
|
||
// ThinFont - the value of "text-weight" property: the thin (hairline) text weight
|
||
ThinFont = 1
|
||
|
||
// ExtraLightFont - the value of "text-weight" property: the extra light (ultra light) text weight
|
||
ExtraLightFont = 2
|
||
|
||
// LightFont - the value of "text-weight" property: the light text weight
|
||
LightFont = 3
|
||
|
||
// NormalFont - the value of "text-weight" property (default value): the normal text weight
|
||
NormalFont = 4
|
||
|
||
// MediumFont - the value of "text-weight" property: the medium text weight
|
||
MediumFont = 5
|
||
|
||
// SemiBoldFont - the value of "text-weight" property: the semi bold (demi bold) text weight
|
||
SemiBoldFont = 6
|
||
|
||
// BoldFont - the value of "text-weight" property: the bold text weight
|
||
BoldFont = 7
|
||
|
||
// ExtraBoldFont - the value of "text-weight" property: the extra bold (ultra bold) text weight
|
||
ExtraBoldFont = 8
|
||
|
||
// BlackFont - the value of "text-weight" property: the black (heavy) text weight
|
||
BlackFont = 9
|
||
|
||
// TopAlign - top vertical-align for the "vertical-align" property
|
||
TopAlign = 0
|
||
|
||
// BottomAlign - bottom vertical-align for the "vertical-align" property
|
||
BottomAlign = 1
|
||
|
||
// LeftAlign - the left horizontal-align for the "horizontal-align" property
|
||
LeftAlign = 0
|
||
|
||
// RightAlign - the right horizontal-align for the "horizontal-align" property
|
||
RightAlign = 1
|
||
|
||
// CenterAlign - the center horizontal/vertical-align for the "horizontal-align"/"vertical-align" property
|
||
CenterAlign = 2
|
||
|
||
// StretchAlign - the stretch horizontal/vertical-align for the "horizontal-align"/"vertical-align" property
|
||
StretchAlign = 3
|
||
|
||
// JustifyAlign - the justify text align for "text-align" property
|
||
JustifyAlign = 3
|
||
|
||
// BaselineAlign - the baseline cell-vertical-align for the "cell-vertical-align" property
|
||
BaselineAlign = 4
|
||
|
||
// WhiteSpaceNormal - sequences of white space are collapsed. Newline characters in the source
|
||
// are handled the same as other white space. Lines are broken as necessary to fill line boxes.
|
||
WhiteSpaceNormal = 0
|
||
|
||
// WhiteSpaceNowrap - collapses white space as for normal, but suppresses line breaks (text wrapping)
|
||
// within the source.
|
||
WhiteSpaceNowrap = 1
|
||
|
||
// WhiteSpacePre - sequences of white space are preserved. Lines are only broken at newline
|
||
// characters in the source and at <br> elements.
|
||
WhiteSpacePre = 2
|
||
|
||
// WhiteSpacePreWrap - Sequences of white space are preserved. Lines are broken at newline
|
||
// characters, at <br>, and as necessary to fill line boxes.
|
||
WhiteSpacePreWrap = 3
|
||
|
||
// WhiteSpacePreLine - sequences of white space are collapsed. Lines are broken at newline characters,
|
||
// at <br>, and as necessary to fill line boxes.
|
||
WhiteSpacePreLine = 4
|
||
|
||
// WhiteSpaceBreakSpaces - the behavior is identical to that of WhiteSpacePreWrap, except that:
|
||
// - Any sequence of preserved white space always takes up space, including at the end of the line.
|
||
// - A line breaking opportunity exists after every preserved white space character, including between white space characters.
|
||
// - Such preserved spaces take up space and do not hang, and thus affect the box’s intrinsic sizes (min-content size and max-content size).
|
||
WhiteSpaceBreakSpaces = 5
|
||
|
||
// WordBreakNormal - use the default line break rule.
|
||
WordBreakNormal = 0
|
||
|
||
// WordBreakAll - to prevent overflow, word breaks should be inserted between any two characters
|
||
// (excluding Chinese/Japanese/Korean text).
|
||
WordBreakAll = 1
|
||
|
||
// WordBreakKeepAll - word breaks should not be used for Chinese/Japanese/Korean (CJK) text.
|
||
// Non-CJK text behavior is the same as for normal.
|
||
WordBreakKeepAll = 2
|
||
|
||
// WordBreakWord - when the block boundaries are exceeded, the remaining whole words can be split
|
||
// in an arbitrary place, unless a more suitable place for the line break is found.
|
||
WordBreakWord = 3
|
||
|
||
// TextOverflowClip - truncate the text at the limit of the content area, therefore the truncation
|
||
// can happen in the middle of a character.
|
||
TextOverflowClip = 0
|
||
|
||
// TextOverflowEllipsis - display an ellipsis ('…', U+2026 HORIZONTAL ELLIPSIS) to represent clipped text.
|
||
// The ellipsis is displayed inside the content area, decreasing the amount of text displayed.
|
||
// If there is not enough space to display the ellipsis, it is clipped.
|
||
TextOverflowEllipsis = 1
|
||
|
||
// DefaultSemantics - default value of the view Semantic property
|
||
DefaultSemantics = 0
|
||
|
||
// ArticleSemantics - value of the view Semantic property: view represents a self-contained
|
||
// composition in a document, page, application, or site, which is intended to be
|
||
// independently distributable or reusable (e.g., in syndication)
|
||
ArticleSemantics = 1
|
||
|
||
// SectionSemantics - value of the view Semantic property: view represents
|
||
// a generic standalone section of a document, which doesn't have a more specific
|
||
// semantic element to represent it.
|
||
SectionSemantics = 2
|
||
|
||
// AsideSemantics - value of the view Semantic property: view represents a portion
|
||
// of a document whose content is only indirectly related to the document's main content.
|
||
// Asides are frequently presented as sidebars or call-out boxes.
|
||
AsideSemantics = 3
|
||
|
||
// HeaderSemantics - value of the view Semantic property: view represents introductory
|
||
// content, typically a group of introductory or navigational aids. It may contain
|
||
// some heading elements but also a logo, a search form, an author name, and other elements.
|
||
HeaderSemantics = 4
|
||
|
||
// MainSemantics - value of the view Semantic property: view represents the dominant content
|
||
// of the application. The main content area consists of content that is directly related
|
||
// to or expands upon the central topic of a document, or the central functionality of an application.
|
||
MainSemantics = 5
|
||
|
||
// FooterSemantics - value of the view Semantic property: view represents a footer for its
|
||
// nearest sectioning content or sectioning root element. A footer view typically contains
|
||
// information about the author of the section, copyright data or links to related documents.
|
||
FooterSemantics = 6
|
||
|
||
// NavigationSemantics - value of the view Semantic property: view represents a section of
|
||
// a page whose purpose is to provide navigation links, either within the current document
|
||
// or to other documents. Common examples of navigation sections are menus, tables of contents,
|
||
// and indexes.
|
||
NavigationSemantics = 7
|
||
|
||
// FigureSemantics - value of the view Semantic property: view represents self-contained content,
|
||
// potentially with an optional caption, which is specified using the FigureCaptionSemantics view.
|
||
FigureSemantics = 8
|
||
|
||
// FigureCaptionSemantics - value of the view Semantic property: view represents a caption or
|
||
// legend describing the rest of the contents of its parent FigureSemantics view.
|
||
FigureCaptionSemantics = 9
|
||
|
||
// ButtonSemantics - value of the view Semantic property: view a clickable button
|
||
ButtonSemantics = 10
|
||
|
||
// ParagraphSemantics - value of the view Semantic property: view represents a paragraph.
|
||
// Paragraphs are usually represented in visual media as blocks of text separated
|
||
// from adjacent blocks by blank lines and/or first-line indentation
|
||
ParagraphSemantics = 11
|
||
|
||
// H1Semantics - value of the view Semantic property: view represent of first level section headings.
|
||
// H1Semantics is the highest section level and H6Semantics is the lowest.
|
||
H1Semantics = 12
|
||
|
||
// H2Semantics - value of the view Semantic property: view represent of second level section headings.
|
||
// H1Semantics is the highest section level and H6Semantics is the lowest.
|
||
H2Semantics = 13
|
||
|
||
// H3Semantics - value of the view Semantic property: view represent of third level section headings.
|
||
// H1Semantics is the highest section level and H6Semantics is the lowest.
|
||
H3Semantics = 14
|
||
|
||
// H4Semantics - value of the view Semantic property: view represent of fourth level section headings.
|
||
// H1Semantics is the highest section level and H6Semantics is the lowest.
|
||
H4Semantics = 15
|
||
|
||
// H5Semantics - value of the view Semantic property: view represent of fifth level section headings.
|
||
// H1Semantics is the highest section level and H6Semantics is the lowest.
|
||
H5Semantics = 16
|
||
|
||
// H6Semantics - value of the view Semantic property: view represent of sixth level section headings.
|
||
// H1Semantics is the highest section level and H6Semantics is the lowest.
|
||
H6Semantics = 17
|
||
|
||
// BlockquoteSemantics - value of the view Semantic property: view indicates that
|
||
// the enclosed text is an extended quotation.
|
||
BlockquoteSemantics = 18
|
||
|
||
// CodeSemantics - value of the view Semantic property: view displays its contents styled
|
||
// in a fashion intended to indicate that the text is a short fragment of computer code
|
||
CodeSemantics = 19
|
||
|
||
// NoneFloat - value of the view "float" property: the View must not float.
|
||
NoneFloat = 0
|
||
|
||
// LeftFloat - value of the view "float" property: the View must float on the left side of its containing block.
|
||
LeftFloat = 1
|
||
|
||
// RightFloat - value of the view "float" property: the View must float on the right side of its containing block.
|
||
RightFloat = 2
|
||
|
||
// NoneResize - value of the view "resize" property: the View The offers no user-controllable method for resizing it.
|
||
NoneResize = 0
|
||
|
||
// BothResize - value of the view "resize" property: the View displays a mechanism for allowing
|
||
// the user to resize it, which may be resized both horizontally and vertically.
|
||
BothResize = 1
|
||
|
||
// HorizontalResize - value of the view "resize" property: the View displays a mechanism for allowing
|
||
// the user to resize it in the horizontal direction.
|
||
HorizontalResize = 2
|
||
|
||
// VerticalResize - value of the view "resize" property: the View displays a mechanism for allowing
|
||
// the user to resize it in the vertical direction.
|
||
VerticalResize = 3
|
||
|
||
// RowAutoFlow - value of the "grid-auto-flow" property of the GridLayout:
|
||
// Views are placed by filling each row in turn, adding new rows as necessary.
|
||
RowAutoFlow = 0
|
||
|
||
// ColumnAutoFlow - value of the "grid-auto-flow" property of the GridLayout:
|
||
// Views are placed by filling each column in turn, adding new columns as necessary.
|
||
ColumnAutoFlow = 1
|
||
|
||
// RowDenseAutoFlow - value of the "grid-auto-flow" property of the GridLayout:
|
||
// Views are placed by filling each row, adding new rows as necessary.
|
||
// "dense" packing algorithm attempts to fill in holes earlier in the grid, if smaller items come up later.
|
||
// This may cause views to appear out-of-order, when doing so would fill in holes left by larger views.
|
||
RowDenseAutoFlow = 2
|
||
|
||
// ColumnDenseAutoFlow - value of the "grid-auto-flow" property of the GridLayout:
|
||
// Views are placed by filling each column, adding new columns as necessary.
|
||
// "dense" packing algorithm attempts to fill in holes earlier in the grid, if smaller items come up later.
|
||
// This may cause views to appear out-of-order, when doing so would fill in holes left by larger views.
|
||
ColumnDenseAutoFlow = 3
|
||
|
||
// BlendNormal - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color is the top color, regardless of what the bottom color is.
|
||
// The effect is like two opaque pieces of paper overlapping.
|
||
BlendNormal = 0
|
||
|
||
// BlendMultiply - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color is the result of multiplying the top and bottom colors.
|
||
// A black layer leads to a black final layer, and a white layer leads to no change.
|
||
// The effect is like two images printed on transparent film overlapping.
|
||
BlendMultiply = 1
|
||
|
||
// BlendScreen - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color is the result of inverting the colors, multiplying them, and inverting that value.
|
||
// A black layer leads to no change, and a white layer leads to a white final layer.
|
||
// The effect is like two images shone onto a projection screen.
|
||
BlendScreen = 2
|
||
|
||
// BlendOverlay - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color is the result of multiply if the bottom color is darker, or screen if the bottom color is lighter.
|
||
// This blend mode is equivalent to hard-light but with the layers swapped.
|
||
BlendOverlay = 3
|
||
|
||
// BlendDarken - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color is composed of the darkest values of each color channel.
|
||
BlendDarken = 4
|
||
|
||
// BlendLighten - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color is composed of the lightest values of each color channel.
|
||
BlendLighten = 5
|
||
|
||
// BlendColorDodge - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color is the result of dividing the bottom color by the inverse of the top color.
|
||
// A black foreground leads to no change. A foreground with the inverse color of the backdrop leads to a fully lit color.
|
||
// This blend mode is similar to screen, but the foreground need only be as light as the inverse of the backdrop to create a fully lit color.
|
||
BlendColorDodge = 6
|
||
|
||
// BlendColorBurn - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color is the result of inverting the bottom color, dividing the value by the top color, and inverting that value.
|
||
// A white foreground leads to no change. A foreground with the inverse color of the backdrop leads to a black final image.
|
||
// This blend mode is similar to multiply, but the foreground need only be as dark as the inverse of the backdrop to make the final image black.
|
||
BlendColorBurn = 7
|
||
|
||
// BlendHardLight - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color is the result of multiply if the top color is darker, or screen if the top color is lighter.
|
||
// This blend mode is equivalent to overlay but with the layers swapped. The effect is similar to shining a harsh spotlight on the backdrop.
|
||
BlendHardLight = 8
|
||
|
||
// BlendSoftLight - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color is similar to hard-light, but softer. This blend mode behaves similar to hard-light.
|
||
// The effect is similar to shining a diffused spotlight on the backdrop*.*
|
||
BlendSoftLight = 9
|
||
|
||
// BlendDifference - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color is the result of subtracting the darker of the two colors from the lighter one.
|
||
// A black layer has no effect, while a white layer inverts the other layer's color.
|
||
BlendDifference = 10
|
||
|
||
// BlendExclusion - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color is similar to difference, but with less contrast.
|
||
// As with difference, a black layer has no effect, while a white layer inverts the other layer's color.
|
||
BlendExclusion = 11
|
||
|
||
// BlendHue - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color has the hue of the top color, while using the saturation and luminosity of the bottom color.
|
||
BlendHue = 12
|
||
|
||
// BlendSaturation - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color has the saturation of the top color, while using the hue and luminosity of the bottom color.
|
||
// A pure gray backdrop, having no saturation, will have no effect.
|
||
BlendSaturation = 13
|
||
|
||
// BlendColor - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color has the hue and saturation of the top color, while using the luminosity of the bottom color.
|
||
// The effect preserves gray levels and can be used to colorize the foreground.
|
||
BlendColor = 14
|
||
|
||
// BlendLuminosity - value of the "mix-blend-mode" and "background-blend-mode" property:
|
||
// The final color has the luminosity of the top color, while using the hue and saturation of the bottom color.
|
||
// This blend mode is equivalent to BlendColor, but with the layers swapped.
|
||
BlendLuminosity = 15
|
||
|
||
// ColumnFillBalance - value of the "column-fill" property: content is equally divided between columns.
|
||
ColumnFillBalance = 0
|
||
|
||
// ColumnFillAuto - value of the "column-fill" property:
|
||
// Columns are filled sequentially. Content takes up only the room it needs, possibly resulting in some columns remaining empty.
|
||
ColumnFillAuto = 1
|
||
|
||
// TextWrapOn - value of the "text-wrap" property:
|
||
// text is wrapped across lines at appropriate characters (for example spaces,
|
||
// in languages like English that use space separators) to minimize overflow.
|
||
TextWrapOn = 0
|
||
|
||
// TextWrapOff - value of the "text-wrap" property: text does not wrap across lines.
|
||
// It will overflow its containing element rather than breaking onto a new line.
|
||
TextWrapOff = 1
|
||
|
||
// TextWrapBalance - value of the "text-wrap" property: text is wrapped in a way
|
||
// that best balances the number of characters on each line, enhancing layout quality
|
||
// and legibility. Because counting characters and balancing them across multiple lines
|
||
// is computationally expensive, this value is only supported for blocks of text
|
||
// spanning a limited number of lines (six or less for Chromium and ten or less for Firefox).
|
||
TextWrapBalance = 2
|
||
)
|