// Create text area for SkyX parameters private void _createTextArea() { // Create a panel OverlayContainer panel = (OverlayContainer)OverlayManager.Singleton.CreateOverlayElement("Panel", "SkyXParametersPanel"); panel.MetricsMode = GuiMetricsMode.GMM_PIXELS; panel.SetPosition(10, 10); panel.SetDimensions(400, 400); // Create a text area _textArea = OverlayManager.Singleton.CreateOverlayElement("TextArea", "SkyXParametersTextArea"); _textArea.MetricsMode = GuiMetricsMode.GMM_PIXELS; _textArea.SetPosition(0, 0); _textArea.SetDimensions(100, 100); // _textArea.Text = "MogreLib SkyX plugin demo"; _textArea._setHeight(16); //_textArea.FontName = "BlueHighway"; // _textArea.ColorBottom = new ColorEx(0.3f, 0.5f, 0.3f); //_textArea.ColorTop = new ColorEx(0.5f, 0.7f, 0.5f); // Create an overlay, and add the panel Overlay overlay = OverlayManager.Singleton.Create("OverlayName"); overlay.Add2D(panel); // Add the text area to the panel panel.AddChild(_textArea); // Show the overlay overlay.Show(); }
public OverlayContainer createOverlay(String N, Vector2 P, Vector2 D, String M, String C, bool A, Overlay target) { String t = "Panel"; if (C != "") { t = "TextArea"; } OverlayElement e = OverlayManager.Singleton.CreateOverlayElement(t, N + this.name + DateTime.Now.Ticks); e.MetricsMode = GuiMetricsMode.GMM_PIXELS; e.SetDimensions(D.x, D.y); e.SetPosition(0, 0); //if (M != "") // e.MaterialName = M; if (C != "") { if (A) { e.Top = OVERLAY_TITLE_MARGIN; e.Left = OVERLAY_TITLE_MARGIN; } e.Caption = C; e.SetParameter("font_name", mFont); e.SetParameter("char_height", StringConverter.ToString(mFontSize)); } OverlayContainer c = (OverlayContainer) OverlayManager.Singleton.CreateOverlayElement("Panel", name + "ContainerHack" + (oc++).ToString()); c.MetricsMode = GuiMetricsMode.GMM_PIXELS; c.SetDimensions(D.x, D.y); c.SetPosition(P.x, P.y); if (M != "") { c.MaterialName = M; } c.AddChild(e); if (A) { target.Add2D(c); c.Show(); } return(c); }
public static void ConfigureElement(OverlayElement element, int width, int height, String caption, String fontName) { element.SetDimensions(100, 50); element.MetricsMode = GuiMetricsMode.GMM_PIXELS; element.SetDimensions(width, height); element.SetPosition(0, 0); element.SetParameter("font_name", fontName); int fontSize = 13; if (LanguageManager.ActualLanguageCode.Equals("zh-TW")) { fontSize = 15; } element.SetParameter("char_height", fontSize.ToString()); element.SetParameter("colour_top", MessageEntry.DefaultColourTopString); element.SetParameter("colour_bottom", MessageEntry.DefaultColourBottomString); //element.SetParameter("colour_top", "0.0 0.0 0.0"); // element.SetParameter("colour_bottom", "0.0 0.0 0.0"); element.Caption = caption; }
private void CreateMessageContainer() { // BetaGUI.GUI gui = new GUI(); // Window w = gui.createWindow(); // w.createStaticImage() backgroundElement.Hide(); iconOverlay = OverlayManager.Singleton.GetByName("Wof/MessageBar"); iconElement = OverlayManager.Singleton.GetOverlayElement("Wof/MessageBarIcon"); iconElement.MetricsMode = GuiMetricsMode.GMM_RELATIVE; iconElement.SetDimensions(radioIconWidth, radioIconWidth); iconElement.Show(); iconOverlay.Hide(); // zewnetrzny kontener ukryje wszystko iconDefaultDimesions.x = Mogre.StringConverter.ParseReal(iconElement.GetParameter("width")); iconDefaultDimesions.y = Mogre.StringConverter.ParseReal(iconElement.GetParameter("height")); messageElement = OverlayManager.Singleton.CreateOverlayElement( "TextArea", "messageElement " + DateTime.Now.Ticks); messageContainer = (OverlayContainer)OverlayManager.Singleton.CreateOverlayElement( "Panel", "messageContainer " + DateTime.Now.Ticks); messageElement.SetDimensions(mainViewport.ActualWidth, mainViewport.ActualHeight); messageElement.MetricsMode = GuiMetricsMode.GMM_PIXELS; messageElement.SetParameter("font_name", FontManager.CurrentFont); messageElement.MetricsMode = GuiMetricsMode.GMM_RELATIVE; messageElement.SetParameter("char_height", StringConverter.ToString(EngineConfig.CurrentFontSize)); messageElement.SetParameter("colour_top", "0.1 0.1 0.1"); messageElement.SetParameter("colour_bottom", "0.5 0.1 0.1"); messageElement.Caption = ""; messageContainer.MetricsMode = GuiMetricsMode.GMM_RELATIVE; messageContainer.SetDimensions(1.0f, 0.05f); // messageContainer.SetPosition(0.055f, 0.015f); messageContainer.AddChild(messageElement); messageOverlay.Add2D(messageContainer); messageContainer.Show(); }
// Create text area for SkyX parameters private void _createTextArea() { // Create a panel OverlayContainer panel = (OverlayContainer)OverlayManager.Singleton.CreateOverlayElement("Panel", "SkyXParametersPanel"); panel.MetricsMode = GuiMetricsMode.GMM_PIXELS; panel.SetPosition(10, 10); panel.SetDimensions(400, 400); // Create a text area _textArea = OverlayManager.Singleton.CreateOverlayElement("TextArea", "SkyXParametersTextArea"); _textArea.MetricsMode = GuiMetricsMode.GMM_PIXELS; _textArea.SetPosition(0, 0); _textArea.SetDimensions(100, 100); // _textArea.Text = "MogreLib SkyX plugin demo"; _textArea._setHeight(16); //_textArea.FontName = "BlueHighway"; // _textArea.ColorBottom = new ColorEx(0.3f, 0.5f, 0.3f); //_textArea.ColorTop = new ColorEx(0.5f, 0.7f, 0.5f); // Create an overlay, and add the panel Overlay overlay = OverlayManager.Singleton.Create("OverlayName"); overlay.Add2D(panel); // Add the text area to the panel panel.AddChild(_textArea); // Show the overlay overlay.Show(); }
protected virtual void AdjustTrays() { for (var i = 0; i < 9; i++) // resizes and hides trays if necessary { float trayWidth = 0; float trayHeight = _widgetPadding; var labelsAndSeps = new List <OverlayElement>(); if (_widgets[i] == null || _widgets[i].Count == 0) // hide tray if empty { _trays[i].Hide(); continue; } else { _trays[i].Show(); } // arrange widgets and calculate final tray size and position for (int j = 0; j < _widgets[i].Count; j++) { OverlayElement e = _widgets[i][j].OverlayElement; if (j != 0) { trayHeight += _widgetSpacing; // don't space first widget } e.VerticalAlignment = GuiVerticalAlignment.GVA_TOP; e.Top = trayHeight; switch (e.HorizontalAlignment) { case GuiHorizontalAlignment.GHA_LEFT: e.Left = _widgetPadding; break; case GuiHorizontalAlignment.GHA_RIGHT: e.Left = -(e.Width + _widgetPadding); break; default: e.Left = -(e.Width / 2); break; } // prevents some weird texture filtering problems (just some) e.SetPosition((int)e.Left, (int)e.Top); e.SetDimensions((int)e.Width, (int)e.Height); trayHeight += e.Height; Label label = _widgets[i][j] as Label; if (label != null && label.IsFitToTray()) { labelsAndSeps.Add(e); continue; } //Separator* s = dynamic_cast<Separator*>(mWidgets[i][j]); //if (s && s->_isFitToTray()) //{ // labelsAndSeps.Add(e); // continue; //} if (e.Width > trayWidth) { trayWidth = e.Width; } } // add paddings and resize trays _trays[i].Width = trayWidth + 2 * _widgetPadding; _trays[i].Height = trayHeight + _widgetPadding; for (var j = 0; j < labelsAndSeps.Count; j++) { labelsAndSeps[j].Width = (int)trayWidth; labelsAndSeps[j].Left = -(int)(trayWidth / 2); } } for (var i = 0; i < 9; i++) // snap trays to anchors { if (i == (int)TrayLocation.TopLeft || i == (int)TrayLocation.Left || i == (int)TrayLocation.BottomLeft) { _trays[i].Left = _trayPadding; } if (i == (int)TrayLocation.Top || i == (int)TrayLocation.Center || i == (int)TrayLocation.Bottom) { _trays[i].Left = -_trays[i].Width / 2; } if (i == (int)TrayLocation.TopRight || i == (int)TrayLocation.Right || i == (int)TrayLocation.BottomRight) { _trays[i].Left = -(_trays[i].Width + _trayPadding); } if (i == (int)TrayLocation.TopLeft || i == (int)TrayLocation.Top || i == (int)TrayLocation.TopRight) { _trays[i].Top = _trayPadding; } if (i == (int)TrayLocation.Left || i == (int)TrayLocation.Center || i == (int)TrayLocation.Right) { _trays[i].Top = -(_trays[i].Height / 2); } if (i == (int)TrayLocation.BottomLeft || i == (int)TrayLocation.Bottom || i == (int)TrayLocation.BottomRight) { _trays[i].Top = -(_trays[i].Height - _trayPadding); } // prevents some weird texture filtering problems (just some) _trays[i].SetPosition((int)_trays[i].Left, (int)_trays[i].Top); _trays[i].SetDimensions((int)_trays[i].Width, (int)_trays[i].Height); } }