public void DisplayText(string text, int mugshot) { bool displayMugshot = false; if (mugshot > -1) { Logic.Graphics.Mugshot mugshotImg = Logic.Graphics.GraphicsManager.GetMugshot(mugshot, 0, 0, 0); if (mugshotImg != null) { displayMugshot = true; } } if (displayMugshot) { picSpeaker.Image = Logic.Graphics.GraphicsManager.GetMugshot(mugshot, 0, 0, 0).GetEmote(0);//Tools.CropImage(Logic.Graphics.GraphicsManager.Speakers, new Rectangle((mugshot % 15) * 40, (mugshot / 15) * 40, 40, 40)); lblText.Location = new Point(picSpeaker.X + picSpeaker.Width + 10, 10); lblText.Size = new System.Drawing.Size(this.WidgetPanel.Width - lblText.Location.X, this.WidgetPanel.Height - lblText.Location.Y); picSpeaker.Show(); } else { picSpeaker.Hide(); lblText.Location = new Point(15, 10); lblText.Size = new System.Drawing.Size(this.WidgetPanel.Width - lblText.Location.X, this.WidgetPanel.Height - lblText.Location.Y); } CharRenderOptions[] renderOptions = new CharRenderOptions[text.Length]; for (int i = 0; i < renderOptions.Length; i++) { renderOptions[i] = new CharRenderOptions(Color.WhiteSmoke); } renderOptions = Client.Logic.Graphics.StringParser.ParseText(renderOptions, ref text); lblText.SetText(text, renderOptions); }
public void DrawBuffer() { Surface textSurf; Size textSize = SdlDotNet.Widgets.TextRenderer.SizeText2(font, bubbleText, false, 0); CharRenderOptions[] renderOptions = new CharRenderOptions[bubbleText.Length]; for (int i = 0; i < renderOptions.Length; i++) { renderOptions[i] = new CharRenderOptions(Color.WhiteSmoke); } renderOptions = Client.Logic.Graphics.StringParser.ParseText(renderOptions, ref bubbleText); if (textSize.Width > 300) { textSurf = SdlDotNet.Widgets.TextRenderer.RenderTextBasic2(font, bubbleText, renderOptions, Color.WhiteSmoke, false, 300, 0, 0, 0); } else { textSurf = SdlDotNet.Widgets.TextRenderer.RenderTextBasic2(font, bubbleText, renderOptions, Color.WhiteSmoke, false, 0, 0, 0, 0); } int tilesWidth = System.Math.Max(textSurf.Width / Constants.TILE_WIDTH, 2); int tilesHeight = System.Math.Max(textSurf.Height / Constants.TILE_HEIGHT, 2); if (textSurf.Width > tilesWidth * Constants.TILE_WIDTH) { tilesWidth++; } if (textSurf.Height > tilesHeight * Constants.TILE_HEIGHT * 0.7) { tilesHeight++; } if (buffer != null) { buffer.Close(); } buffer = new Surface(new Size((tilesWidth * Constants.TILE_WIDTH), (tilesHeight * Constants.TILE_HEIGHT))); buffer.Fill(Color.Transparent); buffer.TransparentColor = Color.Transparent; buffer.Transparent = true; for (int i = 0; i < tilesHeight; i++) { if (i == 0) { Maps.MapRenderer.DrawTileToSurface(buffer, 10, 1, 0, 0); for (int n = 0; n < tilesWidth - 2; n++) { Maps.MapRenderer.DrawTileToSurface(buffer, 10, 16, n + 1, 0); } Maps.MapRenderer.DrawTileToSurface(buffer, 10, 2, tilesWidth - 1, 0); } else if (i == tilesHeight - 1) { Maps.MapRenderer.DrawTileToSurface(buffer, 10, 3, 0, tilesHeight - 1); for (int n = 0; n < tilesWidth - 2; n++) { Maps.MapRenderer.DrawTileToSurface(buffer, 10, 15, n + 1, tilesHeight - 1); } Maps.MapRenderer.DrawTileToSurface(buffer, 10, 4, tilesWidth - 1, tilesHeight - 1); } else { Maps.MapRenderer.DrawTileToSurface(buffer, 10, 18, 0, i); for (int n = 0; n < tilesWidth - 2; n++) { Maps.MapRenderer.DrawTileToSurface(buffer, 10, 5, n + 1, i); } Maps.MapRenderer.DrawTileToSurface(buffer, 10, 17, tilesWidth - 1, i); } } buffer = buffer.CreateScaledSurface(1, 0.7); buffer.Transparent = true; buffer.Blit(textSurf, new Point(Logic.Graphics.DrawingSupport.GetCenterX(buffer.Width, textSurf.Width), 0)); textSurf.Close(); RedrawRequested = false; }
private void LoadPackageInfo(PackageButton packageButton) { lblUpdateInfo.Text = ""; CharRenderOptions renderOptions = new CharRenderOptions(Color.Black); renderOptions.Bold = true; lblUpdateInfo.AppendText("Package: " + packageButton.AttachedPackage.FullID + "\n", renderOptions); lblUpdateInfo.AppendText("Name: " + packageButton.AttachedPackage.Name + "\nSize: " + PMU.Core.IO.Files.GetFileSize(packageButton.AttachedPackage.Size) + "\nPublish Date: " + packageButton.AttachedPackage.PublishDate.ToLongDateString() + "\n\nDescription:\n" + packageButton.AttachedPackage.Description, new CharRenderOptions(Color.Black)); }
private void LoadPackageInfo(PackageButton packageButton) { packageButton.Text = packageButton.AttachedPackage.Name; lblUpdateInfo.Text = ""; CharRenderOptions renderOptions = new CharRenderOptions(Color.Black); renderOptions.Bold = true; lblUpdateInfo.AppendText("Name: " + packageButton.AttachedPackage.Name + "\nSize: " + PMDCP.Core.IO.Files.GetFileSize(packageButton.AttachedPackage.Size) + "\nPublish Date: " + packageButton.AttachedPackage.PublishDate.ToLongDateString(), new CharRenderOptions(Color.Black)); }
public void DisplayText(string text, int mugshot) { bool displayMugshot = false; if (mugshot > -1) { Logic.Graphics.Mugshot mugshotImg = Logic.Graphics.GraphicsManager.GetMugshot(mugshot, 0, 0, 0); if (mugshotImg != null) { displayMugshot = true; } } if (displayMugshot) { picSpeaker.Image = Logic.Graphics.GraphicsManager.GetMugshot(mugshot, 0, 0, 0).GetEmote(0);//Tools.CropImage(Logic.Graphics.GraphicsManager.Speakers, new Rectangle((mugshot % 15) * 40, (mugshot / 15) * 40, 40, 40)); lblText.Location = new Point(picSpeaker.X + picSpeaker.Width + 10, 10); lblText.Size = new System.Drawing.Size(this.WidgetPanel.Width - lblText.Location.X, this.WidgetPanel.Height - lblText.Location.Y); picSpeaker.Show(); } else { picSpeaker.Hide(); lblText.Location = new Point(15, 10); lblText.Size = new System.Drawing.Size(this.WidgetPanel.Width - lblText.Location.X, this.WidgetPanel.Height - lblText.Location.Y); } CharRenderOptions[] renderOptions = new CharRenderOptions[text.Length]; for (int i = 0; i < renderOptions.Length; i++) { renderOptions[i] = new CharRenderOptions(Color.WhiteSmoke); } renderOptions = Network.MessageProcessor.ParseText(renderOptions, ref text); lblText.SetText(text, renderOptions); }