/** Updates the window style */ private void setStyle(GuiWindowStyle value) { _style = value; // update window style switch (WindowStyle) { case GuiWindowStyle.Normal: Style = Engine.GetStyleCopy("Box"); break; case GuiWindowStyle.Clean: Style = Engine.GetStyleCopy("Frame"); break; case GuiWindowStyle.Titled: Style = Engine.GetStyleCopy("Box"); break; case GuiWindowStyle.Dark: Style = Engine.GetStyleCopy("BoxDark"); break; case GuiWindowStyle.Transparent: Style = Engine.GetStyleCopy("BoxTrans"); break; case GuiWindowStyle.ThinTransparent: Style = Engine.GetStyleCopy("BoxTrans"); Style.border = new RectOffset(2, 2, 2, 2); Style.normal.background = StockTexture.CreateRectTexture(Color.white, Color.black.Faded(0.5f)); break; } }
/** Creates window using the given object as a source. Window will be sized accordingly */ public static GuiWindow CreateFrame(GuiComponent source, string title = "", GuiWindowStyle style = GuiWindowStyle.Normal) { if (source == null) { throw new ArgumentNullException("source"); } GuiWindow frame = new GuiWindow(0, 0, title); frame.WindowStyle = style; frame.SizeForContent(source.Width, source.Height); frame.Add(source); frame.X = source.X; frame.Y = source.Y; source.X = 0; source.Y = 0; return(frame); }