public static void AddTextBox(String id, String text, float x, float y, float width, float height, ColourValue colorTop, ColourValue colorBot) { try { OverlayManager overlayMgr = OverlayManager.Singleton; OverlayContainer panel = (OverlayContainer)overlayMgr.CreateOverlayElement("Panel", "_panel_" + id); panel.MetricsMode = GuiMetricsMode.GMM_PIXELS; panel.SetPosition(x, y); panel.SetDimensions(width, height); TextAreaOverlayElement textArea = (TextAreaOverlayElement)overlayMgr.CreateOverlayElement("TextArea", "_area_" + id); textArea.MetricsMode = GuiMetricsMode.GMM_PIXELS; textArea.SetPosition(0, 0); textArea.SetDimensions(width, height); textArea.Caption = text; textArea.CharHeight = 16; textArea.FontName = "Verdana"; textArea.ColourTop = colorTop; textArea.ColourBottom = colorBot; Overlay overlay = overlayMgr.Create("_overlay_" + id); overlay.Add2D(panel); panel.AddChild(textArea); overlay.Show(); } catch (Exception e) { Util.Log("Unable to create text area."); } }
public SimpleStaticTextWidget(string name, string caption, float width, bool specificColor, ColourValue color, float fontSize = 100) { OverlayManager overlayMgr = OverlayManager.Singleton; element = overlayMgr.CreateOverlayElement("BorderPanel", name); element.MetricsMode = GuiMetricsMode.GMM_RELATIVE; //element.HorizontalAlignment = GuiHorizontalAlignment.GHA_LEFT; element.Height = 0.32f; element.Left = -0.01f; if (width == 0) { element.Width = 1; } mTextArea = overlayMgr.CreateOverlayElement("TextArea", name + "/StaticTextCaption") as TextAreaOverlayElement; mTextArea.MetricsMode = GuiMetricsMode.GMM_RELATIVE; mTextArea.HorizontalAlignment = GuiHorizontalAlignment.GHA_CENTER; mTextArea.SetAlignment(TextAreaOverlayElement.Alignment.Center); mTextArea.Top = 0f; mTextArea.FontName = "EngineFont"; mTextArea.CharHeight = 0.025f * (fontSize / (float)100); mTextArea.SpaceWidth = 0.02f; if (!specificColor) { mTextArea.Colour = new ColourValue(0.9f, 1f, 0.7f); } else { mTextArea.Colour = color; } ((OverlayContainer)element).AddChild(mTextArea); Text = caption; }
public void Apply(TextAreaOverlayElement element) { // Apply base first, otherwise the metrics mode won't be correct. ApplyBase(element); element.FontName = Font ?? "BlueHighway"; element.CharHeight = FontSize ?? 20; }
public StaticText(string name, string caption, float width, bool specificColor, ColourValue color) { OverlayManager overlayMgr = OverlayManager.Singleton; mElement = overlayMgr.CreateOverlayElement("BorderPanel", name); mElement.MetricsMode = GuiMetricsMode.GMM_PIXELS; mElement.HorizontalAlignment = GuiHorizontalAlignment.GHA_CENTER; mElement.Height = 32; mTextArea = overlayMgr.CreateOverlayElement("TextArea", name + "/StaticTextCaption") as TextAreaOverlayElement; mTextArea.MetricsMode = GuiMetricsMode.GMM_PIXELS; mTextArea.HorizontalAlignment = GuiHorizontalAlignment.GHA_CENTER; mTextArea.SetAlignment(TextAreaOverlayElement.Alignment.Center); mTextArea.Top = 10; mTextArea.FontName = "EngineFont"; mTextArea.CharHeight = 18; mTextArea.SpaceWidth = 9; if (!specificColor) { mTextArea.Colour = new ColourValue(0.9f, 1f, 0.7f); } else { mTextArea.Colour = color; } ((OverlayContainer)mElement).AddChild(mTextArea); SetText(caption); }
public SimpleStaticTextButton(string name, string caption, ColourValue normalStateColor, ColourValue activeStateColor, bool specificColor = false) { OverlayManager overlayMgr = OverlayManager.Singleton; element = overlayMgr.CreateOverlayElement("BorderPanel", name); element.MetricsMode = GuiMetricsMode.GMM_RELATIVE; element.HorizontalAlignment = GuiHorizontalAlignment.GHA_LEFT; element.Height = 0.32f; mTextArea = overlayMgr.CreateOverlayElement("TextArea", name + "/StaticTextCaption") as TextAreaOverlayElement; mTextArea.MetricsMode = GuiMetricsMode.GMM_RELATIVE; mTextArea.HorizontalAlignment = GuiHorizontalAlignment.GHA_LEFT; mTextArea.SetAlignment(TextAreaOverlayElement.Alignment.Left); mTextArea.Top = 0.01f; mTextArea.FontName = "EngineFont"; mTextArea.CharHeight = 0.025f; mTextArea.SpaceWidth = 0.02f; if (!specificColor) { normalStateColor = new ColourValue(0.9f, 1f, 0.7f); } mTextArea.Colour = normalStateColor; ((OverlayContainer)element).AddChild(mTextArea); Text = caption; AssignListener(UILayer.Instance.Listener); this.normalStateColor = normalStateColor; this.activeStateColor = activeStateColor; mState = ButtonState.BS_UP; }
/// <summary> /// Disposes of the ExampleApplication instance. /// </summary> public virtual void Dispose() { mSceneManager.ClearScene(); mPanel = null; mOverlay = null; mODebugText1 = null; mODebugText2 = null; mODebugText3 = null; mODebugText4 = null; mRenderWindow = null; mCamera = null; mViewport = null; mEventHandler = null; mDebugOverlay = null; mAverageFPS = null; mBestFPS = null; mWorstFPS = null; mCurrentFPS = null; mTriangleCount = null; mSceneManager = null; mRoot.Dispose(); }
// 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 = (TextAreaOverlayElement)OverlayManager.Singleton.CreateOverlayElement("TextArea", "SkyXParametersTextArea"); textArea.MetricsMode = GuiMetricsMode.GMM_PIXELS; textArea.SetPosition(0, 0); textArea.SetDimensions(100, 100); textArea.Caption = "SkyX plugin demo"; textArea.CharHeight = 16; textArea.FontName = "BlueHighway"; textArea.ColourBottom = new ColourValue(0.3f, 0.5f, 0.3f); textArea.ColourTop = new ColourValue(0.5f, 0.7f, 0.7f); // 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 ParamsPanel(string name, float width, int lines) { OverlayElement = OverlayManager.Singleton.CreateOverlayElementFromTemplate("SdkTrays/ParamsPanel", "BorderPanel", name); OverlayContainer c = (OverlayContainer)OverlayElement; _namesArea = (TextAreaOverlayElement)c.GetChild(Name + "/ParamsPanelNames"); _valuesArea = (TextAreaOverlayElement)c.GetChild(Name + "/ParamsPanelValues"); OverlayElement.Width = width; OverlayElement.Height = _namesArea.Top * 2 + lines * _namesArea.CharHeight; }
// Do not instantiate any widgets directly. Use SdkTrayManager. public ParamsPanelWidget(string name, float width, uint lines) { element = OverlayManager.Singleton.CreateOverlayElementFromTemplate("SdkTrays/ParamsPanel", "BorderPanel", name); OverlayContainer c = (OverlayContainer)element; namesAreaElement = (TextAreaOverlayElement)c.GetChild(Name + "/ParamsPanelNames"); valuesAreaElement = (TextAreaOverlayElement)c.GetChild(Name + "/ParamsPanelValues"); element.Width = (width); element.Height = (namesAreaElement.Top * 2f + lines * namesAreaElement.CharHeight); }
public Text(string caption) { _TextArea = OverlayManager.Singleton.CreateOverlayElement("TextArea", TextName) as TextAreaOverlayElement; _TextArea.MetricsMode = GuiMetricsMode.GMM_PIXELS; _TextArea.SetPosition(0, 0); _TextArea.SetDimensions(300, 120); _TextArea.CharHeight = 20; _TextArea.FontName = Font.Default; _TextArea.Caption = caption; _TextArea.Colour = ColourValue.White; }
public static void UpdateTextBox(String id, String text) { try { OverlayManager overlayMgr = OverlayManager.Singleton; TextAreaOverlayElement textArea = (TextAreaOverlayElement)overlayMgr.GetOverlayElement("_area_" + id); textArea.Caption = text; } catch (Exception e) { Util.Log("Unable to update text area."); } }
public TextLabel( String name, String fontName, float fontSize, ColourValue colourtop, ColourValue colourbottom) { TextArea = OverlayManager.Singleton.CreateOverlayElement("TextArea", name) as TextAreaOverlayElement; TextArea.MetricsMode = GuiMetricsMode.GMM_RELATIVE; TextArea.SetDimensions(1.0f, 1.0f); TextArea.CharHeight = fontSize; TextArea.FontName = fontName; TextArea.ColourTop = colourtop; TextArea.ColourBottom = colourbottom; TextArea.SpaceWidth = TextArea.CharHeight * 0.5f; }
internal Label(string name, string caption, float width = 0.0f) { OverlayElement = OverlayManager.Singleton.CreateOverlayElementFromTemplate("SdkTrays/Label", "BorderPanel", name); _textArea = (TextAreaOverlayElement)((OverlayContainer)OverlayElement).GetChild(Name + "/LabelCaption"); Caption = caption; if (width <= 0) { _fitToTray = true; } else { _fitToTray = false; OverlayElement.Width = width; } }
public ProgressBarWidget(string name, string caption, float width, float commentBoxWidth) { progress = 0.0f; element = Mogre.OverlayManager.Singleton.CreateOverlayElementFromTemplate("SdkTrays/ProgressBar", "BorderPanel", name); element.Width = (width); Mogre.OverlayContainer c = (Mogre.OverlayContainer)element; textAreaElement = (Mogre.TextAreaOverlayElement)c.GetChild(Name + "/ProgressCaption"); Mogre.OverlayContainer commentBox = (Mogre.OverlayContainer)c.GetChild(Name + "/ProgressCommentBox"); commentBox.Width = (commentBoxWidth); commentBox.Left = (-(commentBoxWidth + 5f)); commentTextAreaElement = (Mogre.TextAreaOverlayElement)commentBox.GetChild(commentBox.Name + "/ProgressCommentText"); meterElement = c.GetChild(Name + "/ProgressMeter"); meterElement.Width = (width - 10f); fillElement = ((Mogre.OverlayContainer)meterElement).GetChild(meterElement.Name + "/ProgressFill"); setCaption(caption); }
//public static Vector2 cursorOffset(Mogre.OverlayContainer containerElement,Vector2 cursorPos) //{ // Mogre.OverlayManager om = Mogre.OverlayManager.Singleton; // return new Mogre.Vector2(cursorPos.x - (containerElement._getDerivedLeft() * om.ViewportWidth + containerElement.Width / 2), cursorPos.y - (containerElement._getDerivedTop() * om.ViewportHeight + containerElement.Height / 2f)); //} /// <summary> /// Static utility method used to get the width of a caption in a text area. /// </summary> protected static float GetCaptionWidth(string caption, ref TextAreaOverlayElement area) { Mogre.FontPtr font = null; if (Mogre.FontManager.Singleton.ResourceExists(area.FontName)) { font = (Mogre.FontPtr)Mogre.FontManager.Singleton.GetByName(area.FontName); if (!font.IsLoaded) { font.Load(); } } else { OGRE_EXCEPT("this font:", area.FontName, "is not exist"); } //Font font = new Font(ft.Creator, ft.Name, ft.Handle, ft.Group, ft.IsManuallyLoaded); string current = DisplayStringToString(caption); float lineWidth = 0f; for (int i = 0; i < current.Length; i++) { // be sure to provide a line width in the text area if (current[i] == ' ') { if (area.SpaceWidth != 0) { lineWidth += area.SpaceWidth; } else { lineWidth += font.GetGlyphAspectRatio(' ') * area.CharHeight; } } else if (current[i] == '\n') { break; } // use glyph information to calculate line width else { lineWidth += font.GetGlyphAspectRatio(current[i]) * area.CharHeight; } } return(lineWidth); }
public InputBoxWidget(string name, string caption, float width, float boxWidth, string text = null) { isTextMode = false; element = OverlayManager.Singleton.CreateOverlayElementFromTemplate("AMGE/UI/InputBox", "BorderPanel", name); isFitToContents = false; inputBoxElement = (BorderPanelOverlayElement)((OverlayContainer)element).GetChild(name + "/InputBoxText"); inputBoxElement.Width = width - 10; captionTextAreaElement = (TextAreaOverlayElement)((OverlayContainer)element).GetChild(name + "/InputBoxCaption"); captionTextAreaElement.Width = width - inputBoxElement.Width; contentTextAreaElement = (TextAreaOverlayElement)inputBoxElement.GetChild(name + "/InputBoxText/InputBoxContentText"); contentTextAreaElement.Width = inputBoxElement.Width; inputCursorElement = (BorderPanelOverlayElement)inputBoxElement.GetChild(name + "/InputBoxText/InputBoxCursor"); inputCursorElement.Width = 2; inputCursorElement.Hide(); element.Width = width; originalText = string.Empty; if (boxWidth > 0) { if (width <= 0) { isFitToContents = true; } inputBoxElement.Width = boxWidth; inputBoxElement.Top = 2; inputBoxElement.Left = width - boxWidth - 5; element.Height = inputBoxElement.Height + 4; captionTextAreaElement.HorizontalAlignment = GuiHorizontalAlignment.GHA_LEFT; captionTextAreaElement.SetAlignment(TextAreaOverlayElement.Alignment.Left); captionTextAreaElement.Left = 12; captionTextAreaElement.Top = 9; } if (!string.IsNullOrEmpty(text)) { contentTextAreaElement.Caption = text; originalText = text; } setCaption(caption); }
public InputBox(String name, string caption, float width, float boxWidth, string text = null, bool onlyAcceptNum = false) { this.isTextMode = false; this.mElement = OverlayManager.Singleton.CreateOverlayElementFromTemplate("AMGE/UI/InputBox", "BorderPanel", name); this.mHighlightIndex = 0; this.mDisplayIndex = 0; this.mDragOffset = 0.0f; this.mSelectionIndex = -1; this.mFitToContents = false; this.mCursorOver = false; this.mDragging = false; this.mItemsShown = 0; this.mTextArea = (TextAreaOverlayElement)((OverlayContainer)this.mElement).GetChild(name + "/InputBoxCaption"); this.mInputBoxText = (BorderPanelOverlayElement)((OverlayContainer)this.mElement).GetChild(name + "/InputBoxText"); this.mInputBoxText.Width = width - 10; this.mSmallTextArea = (TextAreaOverlayElement)this.mInputBoxText.GetChild(name + "/InputBoxText/InputBoxSmallText"); this.mElement.Width = width; this.mItemElements = new List <BorderPanelOverlayElement>(); this.mText = string.Empty; this.bOnlyAcceptNum = onlyAcceptNum; if (boxWidth > 0) { if (width <= 0) { this.mFitToContents = true; } this.mInputBoxText.Width = boxWidth; this.mInputBoxText.Top = 2; this.mInputBoxText.Left = width - boxWidth - 5; this.mElement.Height = this.mInputBoxText.Height + 4; this.mTextArea.HorizontalAlignment = GuiHorizontalAlignment.GHA_LEFT; this.mTextArea.SetAlignment(TextAreaOverlayElement.Alignment.Left); this.mTextArea.Left = 12; this.mTextArea.Top = 10; } if (!string.IsNullOrEmpty(text)) { mSmallTextArea.Caption = text; } this.setCaption(caption); }
public SelectMenuWidget(string name, string caption, float width, float boxWidth, uint maxItemsShown) { Items = new List <string>(); highlightIndex = 0; displayIndex = 0; dragOffset = 0.0f; selectionIndex = -1; isFitToContents = false; isCursorOver = false; isExpanded = false; isDragging = false; this.maxItemsShown = maxItemsShown; itemsShown = 0; element = (Mogre.BorderPanelOverlayElement)Mogre.OverlayManager.Singleton.CreateOverlayElementFromTemplate("SdkTrays/SelectMenu", "BorderPanel", name); textAreaElement = (Mogre.TextAreaOverlayElement)((Mogre.OverlayContainer)element).GetChild(name + "/MenuCaption"); smallBoxElement = (Mogre.BorderPanelOverlayElement)((Mogre.OverlayContainer)element).GetChild(name + "/MenuSmallBox"); smallBoxElement.Width = (width - 10); smallTextAreaElement = (Mogre.TextAreaOverlayElement)smallBoxElement.GetChild(name + "/MenuSmallBox/MenuSmallText"); element.Width = (width); if (boxWidth > 0f) // long style { if (width <= 0f) { isFitToContents = true; } smallBoxElement.Width = (boxWidth); smallBoxElement.Top = (2f); smallBoxElement.Left = (width - boxWidth - 5f); element.Height = (smallBoxElement.Height + 4f); textAreaElement.HorizontalAlignment = (GuiHorizontalAlignment.GHA_LEFT); textAreaElement.SetAlignment(Mogre.TextAreaOverlayElement.Alignment.Left); textAreaElement.Left = (12f); textAreaElement.Top = (10f); } expandedBoxElement = (Mogre.BorderPanelOverlayElement)((Mogre.OverlayContainer)element).GetChild(name + "/MenuExpandedBox"); expandedBoxElement.Width = (smallBoxElement.Width + 10); expandedBoxElement.Hide(); scrollTrackElement = (Mogre.BorderPanelOverlayElement)expandedBoxElement.GetChild(expandedBoxElement.Name + "/MenuScrollTrack"); scrollHandleElement = (Mogre.PanelOverlayElement)scrollTrackElement.GetChild(scrollTrackElement.Name + "/MenuScrollHandle"); setCaption(caption); }
protected static float GetCaptionHeight(string caption, ref TextAreaOverlayElement area) { Mogre.FontPtr font = null; if (Mogre.FontManager.Singleton.ResourceExists(area.FontName)) { font = (Mogre.FontPtr)Mogre.FontManager.Singleton.GetByName(area.FontName); if (!font.IsLoaded) { font.Load(); } } else { OGRE_EXCEPT("this font:", area.FontName, "is not exist"); } //Font font = new Font(ft.Creator, ft.Name, ft.Handle, ft.Group, ft.IsManuallyLoaded); string current = DisplayStringToString(caption); float lineHeight = 0f; for (int i = 0; i < current.Length; i++) { if (current[i] == '\n') { var aspectRatio = font.GetGlyphAspectRatio(current[i]); if (aspectRatio <= 0) { lineHeight += aspectRatio * area.CharHeight; } else { lineHeight += area.CharHeight; } } else if (i == current.Length - 1) { lineHeight += area.CharHeight; } } return(lineHeight); }
public StaticMultiLineTextBoxWidget(string name, string caption, float width, float height) { element = OverlayManager.Singleton.CreateOverlayElementFromTemplate("SdkTrays/TextBox", "BorderPanel", name); element.Width = (width); element.Height = (height); OverlayContainer container = (OverlayContainer)element; textArea = (TextAreaOverlayElement)container.GetChild(Name + "/TextBoxText"); captionBar = (BorderPanelOverlayElement)container.GetChild(Name + "/TextBoxCaptionBar"); captionBar.Width = (width - 4f); captionTextArea = (TextAreaOverlayElement)captionBar.GetChild(captionBar.Name + "/TextBoxCaption"); setCaption(caption); scrollTrack = (BorderPanelOverlayElement)container.GetChild(Name + "/TextBoxScrollTrack"); scrollHandle = (PanelOverlayElement)scrollTrack.GetChild(scrollTrack.Name + "/TextBoxScrollHandle"); scrollHandle.Hide(); dragging = false; scrollPercentage = 0f; startingLine = 0; contentPadding = 15f; originalText = ""; refitContents(); }
public SimpleButtonWidget(string name, string caption, float width, float height, float left = 0, float top = 0) { OverlayManager overlayMgr = OverlayManager.Singleton; element = OverlayManager.Singleton.CreateOverlayElementFromTemplate("SimpleButton", "BorderPanel", name); element.MetricsMode = GuiMetricsMode.GMM_RELATIVE; element.Top = top; element.Left = left; element.Height = height; element.Width = width; borderPanelElement = (BorderPanelOverlayElement)element; textAreaElement = overlayMgr.CreateOverlayElement("TextArea", name + "/StaticTextCaption") as TextAreaOverlayElement; textAreaElement.MetricsMode = GuiMetricsMode.GMM_RELATIVE; textAreaElement.HorizontalAlignment = GuiHorizontalAlignment.GHA_CENTER; textAreaElement.SetAlignment(TextAreaOverlayElement.Alignment.Center); textAreaElement.FontName = "EngineFont"; textAreaElement.CharHeight = 0.025f; textAreaElement.SpaceWidth = 0.02f; textAreaElement.Colour = ColourValue.Black; textAreaElement.Top = height / 45f; ((OverlayContainer)element).AddChild(textAreaElement); textAreaElement.Caption = caption; }
public void DisplayMessage(string message, string color = "0xffffff") { if (!OverlayManager.Singleton.HasOverlayElement("msgText" + textElements.Count)) { TextAreaOverlayElement textArea = OverlayManager.Singleton.CreateOverlayElement("TextArea", "msgText" + textElements.Count) as TextAreaOverlayElement; textArea.MetricsMode = GuiMetricsMode.GMM_RELATIVE; textArea.Left = 0.01f; textArea.Top = 0.9f; textArea.Width = 0.2f; textArea.Height = 0.1f; textArea.SetParameter("font_name", "EngineFont"); textArea.SetParameter("char_height", "0.03"); textArea.HorizontalAlignment = GuiHorizontalAlignment.GHA_LEFT; container.AddChild(textArea); textArea.Colour = Utilities.Helper.HexToRgb(color.ToString()); textArea.Caption = message; buffer.Add(message); textElements.Add(textArea); for (int i = 0; i < textElements.IndexOf(textArea); i++) { textElements[i].Top -= 0.03f; } } }
public Notification(Dimension resolution) { this.Resolution = resolution; Panel = (PanelOverlayElement)OverlayManager.Singleton.CreateOverlayElement("Panel", Guid.NewGuid().ToString()); TextArea = (TextAreaOverlayElement)OverlayManager.Singleton.CreateOverlayElement("TextArea", Guid.NewGuid().ToString()); TextArea.MetricsMode = GuiMetricsMode.GMM_PIXELS; TextArea.CharHeight = 36; TextArea.FontName = "BlueHighway"; TextArea.Colour = ColourValue.Black; Panel.MetricsMode = GuiMetricsMode.GMM_PIXELS; Panel.Top = Resolution.Height / 6; Panel.Left = 0; Panel.Width = Resolution.Width; Panel.Height = 50; TextArea.Top = 0; TextArea.Left = Resolution.Width / 2; TextArea.Width = Resolution.Width; TextArea.Height = 50; TextArea.SetAlignment(TextAreaOverlayElement.Alignment.Center); Panel.AddChild(TextArea); }
public Text(string name, Vector3 dimensions, QGuiMetricsMode positionMode, QGuiMetricsMode sizeMode, OverlayContainer overlayContainer, Widget ParentWidget) : base(name, new Vector4(dimensions.x, dimensions.y, 0, dimensions.z), positionMode, sizeMode, "", overlayContainer, ParentWidget) { mTextCursorHidden = true; mCursorIndex = 0; mCursorOffset = -3; mWidgetType = Widget.WidgetType.QGUI_TYPE_TEXT; mTruncateMode = TruncateMode.RIGHT; mFeedbackString = "..."; mCursorPositions.Add(-5); mTextAreaOverlayElement = createTextAreaOverlayElement(mInstanceName + ".Caption", mPixelDimensions, ""); mOverlayElement = mTextAreaOverlayElement; mOverlayContainer.AddChild(mOverlayElement); mTextAreaOverlayElement.Show(); mTextAreaOverlayElement.FontName = mFont; mTextAreaOverlayElement.CharHeight = mPixelDimensions.w; string tcMaterial = getSheet().getDefaultSkin() + ".textcursor"; mTextCursor = new TextCursor(mInstanceName + ".TextCursor", new Vector4(0, 0, 0, 1), QGuiMetricsMode.QGUI_GMM_RELATIVE, QGuiMetricsMode.QGUI_GMM_RELATIVE, tcMaterial, mChildrenContainer, this); mTextCursor.setZOrderOffset(1, false); mTextCursor.hide(); }
public OverlayGUI() { //setup the colours top = new ColourValue(0.9f, 0.9f, 0.9f); bot = new ColourValue(0.8f, 0.8f, 0.8f); seltop = new ColourValue(0.9f, 0.7f, 0.7f); selbot = new ColourValue(0.8f, 0.6f, 0.6f); //Overlay overlayManager = OverlayManager.Singleton; // Create a panel panel = (OverlayContainer)overlayManager.CreateOverlayElement("Panel", "PanelName"); panel.MetricsMode = GuiMetricsMode.GMM_PIXELS; panel.SetPosition(0, 0); panel.SetDimensions(Program.Instance.rWindow.Width, Program.Instance.rWindow.Height); panel.MaterialName = "fsO/Blank"; // Optional background material // Create a text area messageArea = (TextAreaOverlayElement)overlayManager.CreateOverlayElement("TextArea", "TextArea"); messageArea.MetricsMode = GuiMetricsMode.GMM_PIXELS; messageArea.SetPosition(0, 0); messageArea.SetDimensions(Program.Instance.rWindow.Width, 100); messageArea.CharHeight = 24; messageArea.FontName = "damn"; messageArea.ColourTop = top; messageArea.ColourBottom = bot; messageArea.Caption = ""; // Status text area statArea = (TextAreaOverlayElement)overlayManager.CreateOverlayElement("TextArea", "StatTextArea"); statArea.MetricsMode = GuiMetricsMode.GMM_PIXELS; statArea.SetPosition(0, Program.Instance.rWindow.Height - 50); statArea.SetDimensions(Program.Instance.rWindow.Width, 50); statArea.CharHeight = 24; statArea.FontName = "damn"; statArea.ColourTop = top; statArea.ColourBottom = bot; statArea.Caption = "this is a test" + Environment.NewLine + "This is the test's second line"; //Menus Text Areas titleArea = (TextAreaOverlayElement)overlayManager.CreateOverlayElement("TextArea", "TitleTextArea"); titleArea.MetricsMode = GuiMetricsMode.GMM_PIXELS; titleArea.SetPosition(64, 16); titleArea.SetDimensions(Program.Instance.rWindow.Width, 32); titleArea.CharHeight = 32; titleArea.FontName = "damn"; titleArea.ColourTop = top; titleArea.ColourBottom = bot; titleArea.Caption = "Title"; for (int i = 0; i < 10; i++) { optionAreas[i] = (TextAreaOverlayElement)overlayManager.CreateOverlayElement("TextArea", i+"TextArea"); optionAreas[i].MetricsMode = GuiMetricsMode.GMM_PIXELS; optionAreas[i].SetPosition(32, 64 + (i*26)); optionAreas[i].SetDimensions(Program.Instance.rWindow.Width, 24); optionAreas[i].CharHeight = 24; optionAreas[i].FontName = "damn"; optionAreas[i].ColourTop = top; optionAreas[i].ColourBottom = bot; optionAreas[i].Caption = "Option " + i.ToString(); } maxOptions = 10; // Create an overlay, and add the panel overlay = overlayManager.Create("OverlayName"); overlay.Add2D(panel); // Add the text area to the panel panel.AddChild(messageArea); panel.AddChild(titleArea); panel.AddChild(statArea); for (int i = 0; i < 10; i++) { panel.AddChild(optionAreas[i]); } // Show the overlay overlay.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 = (TextAreaOverlayElement)OverlayManager.Singleton.CreateOverlayElement("TextArea", "SkyXParametersTextArea"); textArea.MetricsMode = GuiMetricsMode.GMM_PIXELS; textArea.SetPosition(0,0); textArea.SetDimensions(100,100); textArea.Caption = "SkyX plugin demo"; textArea.CharHeight = 16; textArea.FontName = "BlueHighway"; textArea.ColourBottom = new ColourValue(0.3f, 0.5f, 0.3f); textArea.ColourTop = new ColourValue(0.5f, 0.7f, 0.7f); // 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(); }
/// <summary> /// call create4LineDebugOverLay to create an Overlay with 4 text lines at the top left corrner /// </summary> protected virtual void create4LineDebugOverLay() { if (mPanel != null) { return; } // Create a panel // WTF I keep getting segmentfault when i use PanelOverlayElement, at the panel.addChild line. // prob in mono somewhere not reconizeing it derives from container? but HTF? //mPanel = OverlayManager.Instance.CreatePanelElement("Status/Panel"); OverlayElement el = OverlayManager.Instance.CreateOverlayElement("Panel", "DebugStatus/Panel"); mPanel = new OverlayContainer(OverlayElement.getCPtr(el).Handle, false); mPanel.setMetricsMode(GuiMetricsMode.GMM_PIXELS); mPanel.setPosition(10, 10); mPanel.setDimensions(500, 100); //mPanel->setMaterialName("MaterialName"); // Optional background material // Create a text area mODebugText1 = OverlayManager.Instance.CreateTextAreaElement("DebugStatus/DebugText1"); mPanel.addChild(mODebugText1); mODebugText1.setMetricsMode(GuiMetricsMode.GMM_PIXELS); mODebugText1.setPosition(0, 0); mODebugText1.setDimensions(100, 100); mODebugText1.setCaption(""); mODebugText1.setCharHeight(16); mODebugText1.setFontName("BlueHighway"); mODebugText1.setColourBottom(Converter.GetColor(0.3f, 0.5f, 0.3f)); mODebugText1.setColourTop(Converter.GetColor(0.5f, 0.7f, 0.5f)); // Create a text area mODebugText2 = OverlayManager.Instance.CreateTextAreaElement("DebugStatus/DebugText2"); mODebugText2.setMetricsMode(GuiMetricsMode.GMM_PIXELS); mODebugText2.setPosition(0, 20); mODebugText2.setDimensions(100, 100); mODebugText2.setCaption(""); mODebugText2.setCharHeight(16); mODebugText2.setFontName("BlueHighway"); mODebugText2.setColourBottom(Converter.GetColor(0.3f, 0.5f, 0.3f)); mODebugText2.setColourTop(Converter.GetColor(0.5f, 0.7f, 0.5f)); mPanel.addChild(mODebugText2); // Create a text area mODebugText3 = OverlayManager.Instance.CreateTextAreaElement("DebugStatus/DebugText3"); mODebugText3.setMetricsMode(GuiMetricsMode.GMM_PIXELS); mODebugText3.setPosition(0, 40); mODebugText3.setDimensions(100, 100); mODebugText3.setCaption(""); mODebugText3.setCharHeight(16); mODebugText3.setFontName("BlueHighway"); mODebugText3.setColourBottom(Converter.GetColor(0.3f, 0.5f, 0.3f)); mODebugText3.setColourTop(Converter.GetColor(0.5f, 0.7f, 0.5f)); mPanel.addChild(mODebugText3); // Create a text area mODebugText4 = OverlayManager.Instance.CreateTextAreaElement("DebugStatus/DebugText4"); mODebugText4.setMetricsMode(GuiMetricsMode.GMM_PIXELS); mODebugText4.setPosition(0, 60); mODebugText4.setDimensions(100, 100); mODebugText4.setCaption(""); mODebugText4.setCharHeight(16); mODebugText4.setFontName("BlueHighway"); mODebugText4.setColourBottom(Converter.GetColor(0.3f, 0.5f, 0.3f)); mODebugText4.setColourTop(Converter.GetColor(0.5f, 0.7f, 0.5f)); mPanel.addChild(mODebugText4); // Create an overlay, and add the panel mOverlay = OverlayManager.Instance.create("Status/Overlay"); mOverlay.add2D(mPanel); }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextAreaOverlayElement obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }