public static void setStyleFromTable(Color4[] table) { Style style = UI.style; style.font = FontManager.findFont("SANS"); // default text StyleText text = new StyleText(); text.color = table[(int)StyleColors.TEXT]; text.padding = Vector2.Zero; style.text = text; // default button StyleButton button = new StyleButton(); button.normal = styleItemColor(table[(int)StyleColors.BUTTON]); button.hover = styleItemColor(table[(int)StyleColors.BUTTON_HOVER]); button.active = styleItemColor(table[(int)StyleColors.BUTTON_ACTIVE]); button.borderColor = table[(int)StyleColors.BORDER]; button.textBackground = table[(int)StyleColors.BUTTON]; button.textNormal = table[(int)StyleColors.TEXT]; button.textHover = table[(int)StyleColors.TEXT]; button.textActive = table[(int)StyleColors.TEXT]; button.padding = new Vector2(2.0f, 2.0f); button.imagePadding = new Vector2(0.0f, 0.0f); button.touchPadding = new Vector2(0.0f, 0.0f); button.textAlignment = Alignment.Middle; button.border = 1.0f; button.rounding = 4.0f; style.button = button; // contextual button button = new StyleButton(); button.normal = styleItemColor(table[(int)StyleColors.WINDOW]); button.hover = styleItemColor(table[(int)StyleColors.BUTTON_HOVER]); button.active = styleItemColor(table[(int)StyleColors.BUTTON_ACTIVE]); button.borderColor = table[(int)StyleColors.WINDOW]; button.textBackground = table[(int)StyleColors.WINDOW]; button.textNormal = table[(int)StyleColors.TEXT]; button.textHover = table[(int)StyleColors.TEXT]; button.textActive = table[(int)StyleColors.TEXT]; button.padding = new Vector2(2.0f, 2.0f); button.touchPadding = new Vector2(0.0f, 0.0f); button.textAlignment = Alignment.Middle; button.border = 0.0f; button.rounding = 0.0f; style.contextualButton = button; // menu button button = new StyleButton(); button.normal = styleItemColor(table[(int)StyleColors.WINDOW]); button.hover = styleItemColor(table[(int)StyleColors.WINDOW]); button.active = styleItemColor(table[(int)StyleColors.WINDOW]); button.borderColor = table[(int)StyleColors.WINDOW]; button.textBackground = table[(int)StyleColors.WINDOW]; button.textNormal = table[(int)StyleColors.TEXT]; button.textHover = table[(int)StyleColors.TEXT]; button.textActive = table[(int)StyleColors.TEXT]; button.padding = new Vector2(2.0f, 2.0f); button.touchPadding = new Vector2(0.0f, 0.0f); button.textAlignment = Alignment.Middle; button.border = 0.0f; button.rounding = 1.0f; style.menuButton = button; // checkbox toggle StyleToggle toggle = new StyleToggle(); toggle.normal = styleItemColor(table[(int)StyleColors.TOGGLE]); toggle.hover = styleItemColor(table[(int)StyleColors.TOGGLE_HOVER]); toggle.active = styleItemColor(table[(int)StyleColors.TOGGLE_HOVER]); toggle.cursorNormal = styleItemColor(table[(int)StyleColors.TOGGLE_CURSOR]); toggle.cursorHover = styleItemColor(table[(int)StyleColors.TOGGLE_CURSOR]); toggle.textBackground = table[(int)StyleColors.WINDOW]; toggle.textNormal = table[(int)StyleColors.TEXT]; toggle.textHover = table[(int)StyleColors.TEXT]; toggle.textActive = table[(int)StyleColors.TEXT]; toggle.padding = new Vector2(2.0f, 2.0f); toggle.touchPadding = new Vector2(0, 0); toggle.borderColor = new Color4(0, 0, 0, 0); toggle.border = 0.0f; toggle.spacing = 4; style.checkbox = toggle; // option toggle toggle = new StyleToggle(); toggle.normal = styleItemColor(table[(int)StyleColors.TOGGLE]); toggle.hover = styleItemColor(table[(int)StyleColors.TOGGLE_HOVER]); toggle.active = styleItemColor(table[(int)StyleColors.TOGGLE_HOVER]); toggle.cursorNormal = styleItemColor(table[(int)StyleColors.TOGGLE_CURSOR]); toggle.cursorHover = styleItemColor(table[(int)StyleColors.TOGGLE_CURSOR]); toggle.textBackground = table[(int)StyleColors.WINDOW]; toggle.textNormal = table[(int)StyleColors.TEXT]; toggle.textHover = table[(int)StyleColors.TEXT]; toggle.textActive = table[(int)StyleColors.TEXT]; toggle.padding = new Vector2(3.0f, 3.0f); toggle.touchPadding = new Vector2(0, 0); toggle.borderColor = new Color4(0, 0, 0, 0); toggle.border = 0.0f; toggle.spacing = 4; style.option = toggle; // selectable StyleSelectable select = new StyleSelectable(); select.normal = styleItemColor(table[(int)StyleColors.SELECT]); select.hover = styleItemColor(table[(int)StyleColors.SELECT]); select.pressed = styleItemColor(table[(int)StyleColors.SELECT]); select.normalActive = styleItemColor(table[(int)StyleColors.SELECT_ACTIVE]); select.hoverActive = styleItemColor(table[(int)StyleColors.SELECT_ACTIVE]); select.pressedActive = styleItemColor(table[(int)StyleColors.SELECT_ACTIVE]); select.textNormal = table[(int)StyleColors.TEXT]; select.textHover = table[(int)StyleColors.TEXT]; select.textPressed = table[(int)StyleColors.TEXT]; select.textNormalActive = table[(int)StyleColors.TEXT]; select.textHoverActive = table[(int)StyleColors.TEXT]; select.textPressedActive = table[(int)StyleColors.TEXT]; select.padding = new Vector2(4.0f, 4.0f); select.touchPadding = new Vector2(0, 0); select.rounding = 0.0f; select.textAlignment = Alignment.Middle; style.selectable = select; // slider StyleSlider slider = new StyleSlider(); slider.normal = styleItemHide(); slider.hover = styleItemHide(); slider.active = styleItemHide(); slider.barNormal = table[(int)StyleColors.SLIDER]; slider.barHover = table[(int)StyleColors.SLIDER]; slider.barActive = table[(int)StyleColors.SLIDER]; slider.barFilled = table[(int)StyleColors.SLIDER_CURSOR]; slider.cursorNormal = styleItemColor(table[(int)StyleColors.SLIDER_CURSOR]); slider.cursorHover = styleItemColor(table[(int)StyleColors.SLIDER_CURSOR_HOVER]); slider.cursorActive = styleItemColor(table[(int)StyleColors.SLIDER_CURSOR_ACTIVE]); slider.incSymbol = Icons.TRIANGLE_RIGHT; slider.decSymbol = Icons.TRIANGLE_LEFT; slider.cursorSize = new Vector2(16, 16); slider.padding = new Vector2(2, 2); slider.spacing = new Vector2(2, 2); slider.showButtons = false; slider.barHeight = 8; slider.rounding = 0; style.slider = slider; // slider buttons button = new StyleButton(); button.normal = styleItemColor(new Color4(40, 40, 40, 255)); button.hover = styleItemColor(new Color4(42, 42, 42, 255)); button.active = styleItemColor(new Color4(44, 44, 44, 255)); button.borderColor = new Color4(65, 65, 65, 255); button.textBackground = new Color4(40, 40, 40, 255); button.textNormal = new Color4(175, 175, 175, 255); button.textHover = new Color4(175, 175, 175, 255); button.textActive = new Color4(175, 175, 175, 255); button.padding = new Vector2(8.0f, 8.0f); button.touchPadding = new Vector2(0.0f, 0.0f); button.textAlignment = Alignment.Middle; button.border = 1.0f; button.rounding = 0.0f; style.slider.incButton = button; style.slider.decButton = button; // progressbar StyleProgress prog = new StyleProgress(); prog.normal = styleItemColor(table[(int)StyleColors.SLIDER]); prog.hover = styleItemColor(table[(int)StyleColors.SLIDER]); prog.active = styleItemColor(table[(int)StyleColors.SLIDER]); prog.cursorNormal = styleItemColor(table[(int)StyleColors.SLIDER_CURSOR]); prog.cursorHover = styleItemColor(table[(int)StyleColors.SLIDER_CURSOR_HOVER]); prog.cursorActive = styleItemColor(table[(int)StyleColors.SLIDER_CURSOR_ACTIVE]); prog.borderColor = new Color4(0, 0, 0, 0); prog.cursorBorderColor = new Color4(0, 0, 0, 0); prog.padding = new Vector2(4, 4); prog.rounding = 0; prog.border = 0; prog.cursorRounding = 0; prog.cursorBorder = 0; style.progress = prog; // scrollbars StyleScrollbar scroll = new StyleScrollbar(); scroll.normal = styleItemColor(table[(int)StyleColors.SCROLLBAR]); scroll.hover = styleItemColor(table[(int)StyleColors.SCROLLBAR]); scroll.active = styleItemColor(table[(int)StyleColors.SCROLLBAR]); scroll.cursorNormal = styleItemColor(table[(int)StyleColors.SCROLLBAR_CURSOR]); scroll.cursorHover = styleItemColor(table[(int)StyleColors.SCROLLBAR_CURSOR_HOVER]); scroll.cursorActive = styleItemColor(table[(int)StyleColors.SCROLLBAR_CURSOR_ACTIVE]); scroll.decSymbol = Icons.CIRCLE_SOLID; scroll.incSymbol = Icons.CIRCLE_SOLID; scroll.borderColor = table[(int)StyleColors.SCROLLBAR]; scroll.cursorBorderColor = table[(int)StyleColors.SCROLLBAR]; scroll.padding = new Vector2(0, 0); scroll.showButtons = false; scroll.border = 0; scroll.rounding = 0; scroll.borderCursor = 0; scroll.roundingCursor = 0; style.scrollH = scroll; style.scrollV = scroll; // scrollbars buttons button = new StyleButton(); button.normal = styleItemColor(new Color4(40, 40, 40, 255)); button.hover = styleItemColor(new Color4(42, 42, 42, 255)); button.active = styleItemColor(new Color4(44, 44, 44, 255)); button.borderColor = new Color4(65, 65, 65, 255); button.textBackground = new Color4(40, 40, 40, 255); button.textNormal = new Color4(175, 175, 175, 255); button.textHover = new Color4(175, 175, 175, 255); button.textActive = new Color4(175, 175, 175, 255); button.padding = new Vector2(4.0f, 4.0f); button.touchPadding = new Vector2(0.0f, 0.0f); button.textAlignment = Alignment.Middle; button.border = 1.0f; button.rounding = 0.0f; style.scrollH.incButton = button; style.scrollH.decButton = button; style.scrollV.incButton = button; style.scrollV.decButton = button; // edit StyleEdit edit = new StyleEdit(); edit.normal = styleItemColor(table[(int)StyleColors.EDIT]); edit.hover = styleItemColor(table[(int)StyleColors.EDIT]); edit.active = styleItemColor(table[(int)StyleColors.EDIT]); edit.cursorNormal = table[(int)StyleColors.TEXT]; edit.cursorHover = table[(int)StyleColors.TEXT]; edit.cursorTextNormal = table[(int)StyleColors.EDIT]; edit.cursorTextHover = table[(int)StyleColors.EDIT]; edit.borderColor = table[(int)StyleColors.BORDER]; edit.textNormal = table[(int)StyleColors.TEXT]; edit.textHover = table[(int)StyleColors.TEXT]; edit.textActive = table[(int)StyleColors.TEXT]; edit.selectedNormal = table[(int)StyleColors.TEXT]; edit.selectedHover = table[(int)StyleColors.TEXT]; edit.selectedTextNormal = table[(int)StyleColors.EDIT]; edit.selectedTextHover = table[(int)StyleColors.EDIT]; edit.scrollbarSize = new Vector2(10, 10); edit.scrollbar = style.scrollV; edit.padding = new Vector2(4, 4); edit.rowPadding = 2; edit.cursorSize = 4; edit.border = 1; edit.rounding = 0; style.edit = edit; // property StyleProperty property = new StyleProperty(); property.normal = styleItemColor(table[(int)StyleColors.PROPERTY]); property.hover = styleItemColor(table[(int)StyleColors.PROPERTY]); property.active = styleItemColor(table[(int)StyleColors.PROPERTY]); property.borderColor = table[(int)StyleColors.BORDER]; property.labelNormal = table[(int)StyleColors.TEXT]; property.labelHover = table[(int)StyleColors.TEXT]; property.labelActive = table[(int)StyleColors.TEXT]; property.symLeft = Icons.TRIANGLE_LEFT; property.symRight = Icons.TRIANGLE_RIGHT; property.padding = new Vector2(4, 4); property.border = 1; property.rounding = 10; style.property = property; // property buttons button = new StyleButton(); button.normal = styleItemColor(table[(int)StyleColors.PROPERTY]); button.hover = styleItemColor(table[(int)StyleColors.PROPERTY]); button.active = styleItemColor(table[(int)StyleColors.PROPERTY]); button.borderColor = new Color4(0, 0, 0, 0); button.textBackground = table[(int)StyleColors.PROPERTY]; button.textNormal = table[(int)StyleColors.TEXT]; button.textHover = table[(int)StyleColors.TEXT]; button.textActive = table[(int)StyleColors.TEXT]; button.padding = new Vector2(0.0f, 0.0f); button.touchPadding = new Vector2(0.0f, 0.0f); button.textAlignment = Alignment.Middle; button.border = 0.0f; button.rounding = 0.0f; style.property.decButton = button; style.property.incButton = button; // property edit edit = new StyleEdit(); edit.normal = styleItemColor(table[(int)StyleColors.PROPERTY]); edit.hover = styleItemColor(table[(int)StyleColors.PROPERTY]); edit.active = styleItemColor(table[(int)StyleColors.PROPERTY]); edit.borderColor = new Color4(0, 0, 0, 0); edit.cursorNormal = table[(int)StyleColors.TEXT]; edit.cursorHover = table[(int)StyleColors.TEXT]; edit.cursorTextNormal = table[(int)StyleColors.EDIT]; edit.cursorTextHover = table[(int)StyleColors.EDIT]; edit.textNormal = table[(int)StyleColors.TEXT]; edit.textHover = table[(int)StyleColors.TEXT]; edit.textActive = table[(int)StyleColors.TEXT]; edit.selectedNormal = table[(int)StyleColors.TEXT]; edit.selectedHover = table[(int)StyleColors.TEXT]; edit.selectedTextNormal = table[(int)StyleColors.EDIT]; edit.selectedTextHover = table[(int)StyleColors.EDIT]; edit.padding = new Vector2(0, 0); edit.cursorSize = 8; edit.border = 0; edit.rounding = 0; style.property.edit = edit; // chart StyleChart chart = new StyleChart(); chart.background = styleItemColor(table[(int)StyleColors.CHART]); chart.borderColor = table[(int)StyleColors.BORDER]; chart.selectedColor = table[(int)StyleColors.CHART_COLOR_HIGHLIGHT]; chart.color = table[(int)StyleColors.CHART_COLOR]; chart.padding = new Vector2(4, 4); chart.border = 0; chart.rounding = 0; style.chart = chart; // combo StyleCombo combo = new StyleCombo(); combo.normal = styleItemColor(table[(int)StyleColors.COMBO]); combo.hover = styleItemColor(table[(int)StyleColors.COMBO]); combo.active = styleItemColor(table[(int)StyleColors.COMBO]); combo.borderColor = table[(int)StyleColors.BORDER]; combo.labelNormal = table[(int)StyleColors.TEXT]; combo.labelHover = table[(int)StyleColors.TEXT]; combo.labelActive = table[(int)StyleColors.TEXT]; combo.symNormal = Icons.TRIANGLE_DOWN; combo.symHover = Icons.TRIANGLE_DOWN; combo.symActive = Icons.TRIANGLE_DOWN; combo.contentPadding = new Vector2(4, 4); combo.buttonPadding = new Vector2(0, 4); combo.spacing = new Vector2(4, 0); combo.border = 1; combo.rounding = 0; style.combo = combo; // combo button button = new StyleButton(); button.normal = styleItemColor(table[(int)StyleColors.COMBO]); button.hover = styleItemColor(table[(int)StyleColors.COMBO]); button.active = styleItemColor(table[(int)StyleColors.COMBO]); button.borderColor = new Color4(0, 0, 0, 0); button.textBackground = table[(int)StyleColors.COMBO]; button.textNormal = table[(int)StyleColors.TEXT]; button.textHover = table[(int)StyleColors.TEXT]; button.textActive = table[(int)StyleColors.TEXT]; button.padding = new Vector2(2.0f, 2.0f); button.touchPadding = new Vector2(0.0f, 0.0f); button.textAlignment = Alignment.Middle; button.border = 0.0f; button.rounding = 0.0f; style.combo.button = button; // tab StyleTab tab = new StyleTab(); tab.background = styleItemColor(table[(int)StyleColors.TAB_HEADER]); tab.borderColor = table[(int)StyleColors.BORDER]; tab.text = table[(int)StyleColors.TEXT]; tab.symMinimize = Icons.TRIANGLE_RIGHT; tab.symMaximize = Icons.TRIANGLE_DOWN; tab.padding = new Vector2(4, 4); tab.spacing = new Vector2(4, 4); tab.indent = 10.0f; tab.border = 1; tab.rounding = 0; style.tab = tab; // tab button button = new StyleButton(); button.normal = styleItemColor(table[(int)StyleColors.TAB_HEADER]); button.hover = styleItemColor(table[(int)StyleColors.TAB_HEADER]); button.active = styleItemColor(table[(int)StyleColors.TAB_HEADER]); button.borderColor = new Color4(0, 0, 0, 0); button.textBackground = table[(int)StyleColors.TAB_HEADER]; button.textNormal = table[(int)StyleColors.TEXT]; button.textHover = table[(int)StyleColors.TEXT]; button.textActive = table[(int)StyleColors.TEXT]; button.padding = new Vector2(2.0f, 2.0f); button.touchPadding = new Vector2(0.0f, 0.0f); button.textAlignment = Alignment.Middle; button.border = 0.0f; button.rounding = 0.0f; style.tab.tabMinimizeButton = button; style.tab.tabMaximizeButton = button; // node button button = new StyleButton(); button.normal = styleItemColor(table[(int)StyleColors.WINDOW]); button.hover = styleItemColor(table[(int)StyleColors.WINDOW]); button.active = styleItemColor(table[(int)StyleColors.WINDOW]); button.borderColor = new Color4(0, 0, 0, 0); button.textBackground = table[(int)StyleColors.TAB_HEADER]; button.textNormal = table[(int)StyleColors.TEXT]; button.textHover = table[(int)StyleColors.TEXT]; button.textActive = table[(int)StyleColors.TEXT]; button.padding = new Vector2(2.0f, 2.0f); button.touchPadding = new Vector2(0.0f, 0.0f); button.textAlignment = Alignment.Middle; button.border = 0.0f; button.rounding = 0.0f; style.tab.nodeMinimizeButton = button; style.tab.nodeMaximizeButton = button; // window header StyleWindow win = new StyleWindow(); win.header.align = HeaderAlign.RIGHT; win.header.closeSymbol = Icons.X; win.header.minimizeSymbol = Icons.MINUS; win.header.maximizeSymbol = Icons.PLUS; win.header.normal = styleItemColor(table[(int)StyleColors.HEADER]); win.header.hover = styleItemColor(table[(int)StyleColors.HEADER]); win.header.active = styleItemColor(table[(int)StyleColors.HEADER]); win.header.labelNormal = table[(int)StyleColors.TEXT]; win.header.labelHover = table[(int)StyleColors.TEXT]; win.header.labelActive = table[(int)StyleColors.TEXT]; win.header.labelPadding = new Vector2(4, 4); win.header.padding = new Vector2(4, 4); win.header.spacing = new Vector2(0, 0); style.window = win; // window header close button button = new StyleButton(); button.normal = styleItemColor(table[(int)StyleColors.HEADER]); button.hover = styleItemColor(table[(int)StyleColors.HEADER]); button.active = styleItemColor(table[(int)StyleColors.HEADER]); button.borderColor = new Color4(0, 0, 0, 0); button.textBackground = table[(int)StyleColors.HEADER]; button.textNormal = table[(int)StyleColors.TEXT]; button.textHover = table[(int)StyleColors.TEXT]; button.textActive = table[(int)StyleColors.TEXT]; button.padding = new Vector2(0.0f, 0.0f); button.touchPadding = new Vector2(0.0f, 0.0f); button.textAlignment = Alignment.Middle; button.border = 0.0f; button.rounding = 0.0f; style.window.header.closeButton = button; // window header minimize button button = new StyleButton(); button.normal = styleItemColor(table[(int)StyleColors.HEADER]); button.hover = styleItemColor(table[(int)StyleColors.HEADER]); button.active = styleItemColor(table[(int)StyleColors.HEADER]); button.borderColor = new Color4(0, 0, 0, 0); button.textBackground = table[(int)StyleColors.HEADER]; button.textNormal = table[(int)StyleColors.TEXT]; button.textHover = table[(int)StyleColors.TEXT]; button.textActive = table[(int)StyleColors.TEXT]; button.padding = new Vector2(0.0f, 0.0f); button.touchPadding = new Vector2(0.0f, 0.0f); button.textAlignment = Alignment.Middle; button.border = 0.0f; button.rounding = 0.0f; style.window.header.minimizeButton = button; // window win.backgroundColor = table[(int)StyleColors.WINDOW]; win.background = styleItemColor(table[(int)StyleColors.WINDOW]); win.borderColor = Color4.Red; // table[(int)StyleColors.BORDER]; win.border = styleItemColor(table[(int)StyleColors.BORDER]); win.popupBorderColor = table[(int)StyleColors.BORDER]; win.comboBorderColor = table[(int)StyleColors.BORDER]; win.contextualBorderColor = table[(int)StyleColors.BORDER]; win.menuBorderColor = table[(int)StyleColors.BORDER]; win.groupBorderColor = table[(int)StyleColors.BORDER]; win.tooltipBorderColor = table[(int)StyleColors.BORDER]; win.scaler = styleItemColor(table[(int)StyleColors.TEXT]); win.rounding = 4.0f; win.spacing = new Vector2(4, 4); win.scrollbarSize = new Vector2(10, 10); win.minSize = new Vector2(64, 64); win.comboBorder = 2.0f; win.contextualBorder = 2.0f; win.menuBorder = 2.0f; win.groupBorder = 2.0f; win.tooltipBorder = 2.0f; win.popupBorder = 2.0f; win.padding = new Vector2(4, 4); win.groupPadding = new Vector2(4, 4); win.popupPadding = new Vector2(4, 4); win.comboPadding = new Vector2(4, 4); win.contextualPadding = new Vector2(4, 4); win.menuPadding = new Vector2(4, 4); win.tooltipPadding = new Vector2(4, 4); }