public override void Render(float delta, float mouseX, float mouseY) { var rect = ClientRectangle; IsMouseOver = rect.Contains(mouseX, mouseY); var b = EditorWindow.Instance.MusicPlayer.IsPlaying; float us = b ? 0.5f : 0; GL.Color3(1, 1, 1f); Glu.RenderTexturedQuad(rect.X, rect.Y, rect.Width, rect.Height, us, 0, us + 0.5f, 0.5f, Texture); }
public override void Render(float delta, float mouseX, float mouseY) { var size = EditorWindow.Instance.ClientSize; /* * if (bgImg) * { * GL.Color4(Color.FromArgb(255, 255, 255, 255)); * Glu.RenderTexturedQuad(0, 0, size.Width, size.Height, 0, 0, 1, 1, _textureId); * } */ Glu.RenderTexturedQuad(ClientRectangle.Width / 2 - 400 / 2, ClientRectangle.Height / 2 - 300, 400, 400, 0, 0, 1, 1, logoTxt); base.Render(delta, mouseX, mouseY); }
public override void Render(float delta, float mouseX, float mouseY) { var size = EditorWindow.Instance.ClientSize; if (bgImg) { GL.Color4(Color.FromArgb(255, 255, 255, 255)); Glu.RenderTexturedQuad(0, 0, size.Width, size.Height, 0, 0, 1, 1, _textureId); } else { GL.Color4(Color.FromArgb(255, 30, 30, 30)); Glu.RenderQuad(0, 0, size.Width, size.Height); } var fr = EditorWindow.Instance.FontRenderer; GL.Color4(Color.FromArgb(255, 255, 255, 255)); fr.Render("Color 1:", (int)color1TextBox.ClientRectangle.X, (int)color1TextBox.ClientRectangle.Y - 26, 24); fr.Render("Color 2:", (int)color2TextBox.ClientRectangle.X, (int)color2TextBox.ClientRectangle.Y - 26, 24); fr.Render("Note Color 1:", (int)NoteColor1TextBox.ClientRectangle.X, (int)NoteColor1TextBox.ClientRectangle.Y - 26, 24); fr.Render("Note Color 2:", (int)NoteColor2TextBox.ClientRectangle.X, (int)NoteColor2TextBox.ClientRectangle.Y - 26, 24); fr.Render("Editor BG Opacity:", (int)EditorBGOpacityTextBox.ClientRectangle.X, (int)EditorBGOpacityTextBox.ClientRectangle.Y - 26, 24); fr.Render("Grid Opacity:", (int)GridOpacityTextBox.ClientRectangle.X, (int)GridOpacityTextBox.ClientRectangle.Y - 26, 24); fr.Render("Track Opacity:", (int)TrackOpacityTextBox.ClientRectangle.X, (int)TrackOpacityTextBox.ClientRectangle.Y - 26, 24); color1TextBox.Render(delta, mouseX, mouseY); color2TextBox.Render(delta, mouseX, mouseY); NoteColor1TextBox.Render(delta, mouseX, mouseY); NoteColor2TextBox.Render(delta, mouseX, mouseY); EditorBGOpacityTextBox.Render(delta, mouseX, mouseY); TrackOpacityTextBox.Render(delta, mouseX, mouseY); GridOpacityTextBox.Render(delta, mouseX, mouseY); ShowColor(); ShowNoteColor(); ShowOpacities(); base.Render(delta, mouseX, mouseY); }
public override void Render(float delta, float mouseX, float mouseY) { _timer += delta; if (_timer >= 0.08) { _timer = 0; for (int i = 0; i < 3; i++) { var s = 15 + (float)_r.NextDouble() * 20; var x = (float)_r.NextDouble() * ClientRectangle.Width; var y = ClientRectangle.Height + s; var mx = -0.5f + (float)_r.NextDouble(); var my = -(2 + (float)_r.NextDouble() * 2); _particles.Add(new Particle(x, y, mx, my, s)); } } var rect = ClientRectangle; GL.Color3(1, 1, 1f); Glu.RenderTexturedQuad(rect.X + rect.Width / 2 - 256, 0, 512, 512, 0, 0, 1, 1, _textureId); for (var index = _particles.Count - 1; index >= 0; index--) { var particle = _particles[index]; particle.Render(delta); if (particle.IsDead) { _particles.Remove(particle); } } base.Render(delta, mouseX, mouseY); _lbl.Render(delta, mouseX, mouseY); _lbl2.Render(delta, mouseX, mouseY); }
public override void Render(float delta, float mouseX, float mouseY) { var size = EditorWindow.Instance.ClientSize; if (bgImg) { GL.Color4(Color.FromArgb(255, 255, 255, 255)); Glu.RenderTexturedQuad(0, 0, size.Width, size.Height, 0, 0, 1, 1, _textureId); } else { GL.Color4(Color.FromArgb(255, 30, 30, 30)); Glu.RenderQuad(0, 0, size.Width, size.Height); } _tb.Render(delta, mouseX, mouseY); foreach (var button in Buttons) { button.Render(delta, mouseX, mouseY); } _lbl.Render(delta, mouseX, mouseY); }
public override void Render(float delta, float mouseX, float mouseY) { IsMouseOver = ClientRectangle.Contains(mouseX, mouseY); _alpha = MathHelper.Clamp(_alpha + (IsMouseOver ? 10 : -10) * delta, 0, 1); if (Texture > 0) { if (IsMouseOver) { GL.Color3(0.75f, 0.75f, 0.75f); } else { GL.Color3(1f, 1, 1); } Glu.RenderTexturedQuad(ClientRectangle, 0, 0, 1, 1, Texture); } else { var d = 0.075f * _alpha; GL.Color3(0.1f + d, 0.1f + d, 0.1f + d); Glu.RenderQuad(ClientRectangle); GL.Color3(0.2f + d, 0.2f + d, 0.2f + d); Glu.RenderOutline(ClientRectangle); } var fr = EditorWindow.Instance.FontRenderer; var width = fr.GetWidth(Text, 24); var height = fr.GetHeight(24); GL.Color3(1f, 1, 1); fr.Render(Text, (int)(ClientRectangle.X + ClientRectangle.Width / 2 - width / 2f), (int)(ClientRectangle.Y + ClientRectangle.Height / 2 - height / 2f), 24); }
public override void Render(float delta, float mouseX, float mouseY) { var size = EditorWindow.Instance.ClientSize; if (bgImg) { // background GL.Color4(Color.FromArgb(255, 255, 255, 255)); Glu.RenderTexturedQuad(0, 0, size.Width, size.Height, 0, 0, 1, 1, _textureId); if (size.Width == 1920 && size.Height > 1000 && size.Height <= 1080) { GL.Color4(Color.FromArgb(120, 57, 56, 47)); Glu.RenderQuad(ClientRectangle.Left + 35, ClientRectangle.Top + 180, 950, 790); GL.Color4(Color.FromArgb(100, 36, 35, 33)); Glu.RenderQuad(ClientRectangle.Left + 55, ClientRectangle.Top + 230, 900, 715); } //else if (size.Width >= 1280 && size.Width <= 1700 && size.Height > 690 && size.Height <= 768 || size.Width == 1280 && size.Height > 640 && size.Height <= 720) else if (size.Width >= 10 && size.Width <= 1700 && size.Height > 600 && size.Height <= 1300) { GL.Color4(Color.FromArgb(120, 57, 56, 47)); Glu.RenderQuad(ClientRectangle.Left + 35, ClientRectangle.Top + 180, 650, 525); GL.Color4(Color.FromArgb(100, 36, 35, 33)); Glu.RenderQuad(ClientRectangle.Left + 55, ClientRectangle.Top + 230, 600, 450); } else { GL.Color4(Color.FromArgb(120, 57, 56, 47)); Glu.RenderQuad(ClientRectangle.Left + 35, ClientRectangle.Top + 180, 950, 790); GL.Color4(Color.FromArgb(100, 36, 35, 33)); Glu.RenderQuad(ClientRectangle.Left + 55, ClientRectangle.Top + 230, 900, 715); } CHANGELOGlabel.Render(delta, mouseX, mouseY); //CHANGELOGlabelOutline.Render(delta, mouseX, mouseY); ssLabel.Render(delta, mouseX, mouseY); //ssLabelOutline.Render(delta, mouseX, mouseY); qeLabel.Render(delta, mouseX, mouseY); Changelog.Render(delta, mouseX, mouseY); ScrollBar.Render(delta, mouseX, mouseY); } else { // background GL.Color4(Color.FromArgb(255, 30, 30, 30)); Glu.RenderQuad(0, 0, size.Width, size.Height); if (size.Width == 1920 && size.Height > 1000 && size.Height <= 1080) { GL.Color4(Color.FromArgb(40, 0, 0, 0)); Glu.RenderQuad(ClientRectangle.Left + 35, ClientRectangle.Top + 180, 950, 790); GL.Color4(Color.FromArgb(50, 0, 0, 0)); Glu.RenderQuad(ClientRectangle.Left + 55, ClientRectangle.Top + 230, 900, 715); } else if (size.Width >= 10 && size.Width <= 1700 && size.Height >= 100 && size.Height <= 1300) { GL.Color4(Color.FromArgb(40, 0, 0, 0)); Glu.RenderQuad(ClientRectangle.Left + 35, ClientRectangle.Top + 180, 650, 525); GL.Color4(Color.FromArgb(50, 0, 0, 0)); Glu.RenderQuad(ClientRectangle.Left + 55, ClientRectangle.Top + 230, 600, 450); } else { GL.Color4(Color.FromArgb(40, 0, 0, 0)); Glu.RenderQuad(ClientRectangle.Left + 35, ClientRectangle.Top + 180, 950, 790); GL.Color4(Color.FromArgb(50, 0, 0, 0)); Glu.RenderQuad(ClientRectangle.Left + 55, ClientRectangle.Top + 230, 900, 715); } CHANGELOGlabel.Render(delta, mouseX, mouseY); ssLabel.Render(delta, mouseX, mouseY); qeLabel.Render(delta, mouseX, mouseY); Changelog.Render(delta, mouseX, mouseY); } base.Render(delta, mouseX, mouseY); }
public override void Render(float delta, float mouseX, float mouseY) { _toastTime = Math.Min(2, _toastTime + delta); var toastOffY = 1f; if (_toastTime <= 0.5) { toastOffY = (float)Math.Sin(Math.Min(0.5, _toastTime) / 0.5 * MathHelper.PiOver2); } else if (_toastTime >= 1.75) { toastOffY = (float)Math.Cos(Math.Min(0.25, _toastTime - 1.75) / 0.25 * MathHelper.PiOver2); } var size = EditorWindow.Instance.ClientSize; var fr = EditorWindow.Instance.FontRenderer; var h = fr.GetHeight(_toast.FontSize); int bgdim = EditorSettings.EditorBGOpacity; if (bgImg) { GL.Color4(Color.FromArgb(bgdim, 255, 255, 255)); Glu.RenderTexturedQuad(0, 0, size.Width, size.Height, 0, 0, 1, 1, _textureId); } _toast.ClientRectangle.Y = size.Height - toastOffY * h * 3.25f + h / 2; _toast.Color = Color.FromArgb((int)(Math.Pow(toastOffY, 3) * 255), _toast.Color); int[] Color1 = EditorWindow.Instance.Color1; int[] Color2 = EditorWindow.Instance.Color2; GL.Color3(Color.FromArgb(Color1[0], Color1[1], Color1[2])); var zoomW = fr.GetWidth("Zoom: ", 24); fr.Render("Zoom: ", 10, (int)Grid.ClientRectangle.Y + 28 - 60, 24); GL.Color3(Color.FromArgb(Color2[0], Color2[1], Color2[2])); fr.Render($"{Math.Round(EditorWindow.Instance.Zoom, 1) * 100}%", 10 + zoomW, (int)Grid.ClientRectangle.Y + 28 - 60, 24); GL.Color3(Color.FromArgb(Color1[0], Color1[1], Color1[2])); fr.Render("Offset[ms]:", (int)Offset.ClientRectangle.X, (int)Offset.ClientRectangle.Y - 24, 24); fr.Render("SFX Offset[ms]:", (int)SfxOffset.ClientRectangle.X - 10, (int)SfxOffset.ClientRectangle.Y - 34, 24); fr.Render("Jump to MS:", (int)JumpMSBox.ClientRectangle.X, (int)JumpMSBox.ClientRectangle.Y - 34, 24); fr.Render("Rotate by Degrees:", (int)RotateBox.ClientRectangle.X, (int)RotateBox.ClientRectangle.Y - 34, 24); fr.Render("Options:", (int)Autoplay.ClientRectangle.X, (int)Autoplay.ClientRectangle.Y - 26, 24); var divisor = $"Beat Divisor: {BeatSnapDivisor.Value + 1}"; var divisorW = fr.GetWidth(divisor, 24); var align = $"Snapping: 3/{(float)(NoteAlign.Value + 1)}"; var alignW = fr.GetWidth(align, 24); fr.Render(divisor, (int)(BeatSnapDivisor.ClientRectangle.X + BeatSnapDivisor.ClientRectangle.Width / 2 - divisorW / 2f), (int)BeatSnapDivisor.ClientRectangle.Y - 20, 24); fr.Render(align, (int)(NoteAlign.ClientRectangle.X + NoteAlign.ClientRectangle.Width / 2 - alignW / 2f), (int)NoteAlign.ClientRectangle.Y - 20, 24); var tempoval = Tempo.Value; if (tempoval > 15) { tempoval = (tempoval - 16) * 2 + 16; } var tempo = $"TEMPO - {tempoval * 5 + 20}%"; var tempoW = fr.GetWidth(tempo, 24); fr.Render(tempo, (int)(Tempo.ClientRectangle.X + Tempo.ClientRectangle.Width / 2 - tempoW / 2f), (int)Tempo.ClientRectangle.Bottom - 24, 24); var masterW = fr.GetWidth("Master", 18); var sfxW = fr.GetWidth("SFX", 18); var masterP = $"{(int)(MasterVolume.Value * 100f) / MasterVolume.MaxValue}"; var sfxP = $"{(int)(SfxVolume.Value * 100f) / SfxVolume.MaxValue}"; var masterPw = fr.GetWidth(masterP, 18); var sfxPw = fr.GetWidth(sfxP, 18); fr.Render("Music", (int)(MasterVolume.ClientRectangle.X + SfxVolume.ClientRectangle.Width / 2 - masterW / 2f), (int)MasterVolume.ClientRectangle.Y - 2, 18); fr.Render("SFX", (int)(SfxVolume.ClientRectangle.X + SfxVolume.ClientRectangle.Width / 2 - sfxW / 2f), (int)SfxVolume.ClientRectangle.Y - 2, 18); fr.Render(masterP, (int)(MasterVolume.ClientRectangle.X + SfxVolume.ClientRectangle.Width / 2 - masterPw / 2f), (int)MasterVolume.ClientRectangle.Bottom - 16, 18); fr.Render(sfxP, (int)(SfxVolume.ClientRectangle.X + SfxVolume.ClientRectangle.Width / 2 - sfxPw / 2f), (int)SfxVolume.ClientRectangle.Bottom - 16, 18); var rect = Timeline.ClientRectangle; var timelinePos = new Vector2(rect.Height / 2f, rect.Height / 2f - 5); var time = EditorWindow.Instance.MusicPlayer.TotalTime; var currentTime = EditorWindow.Instance.MusicPlayer.CurrentTime; var timeString = $"{time.Minutes}:{time.Seconds:0#}"; var currentTimeString = $"{currentTime.Minutes}:{currentTime.Seconds:0#}"; var currentMsString = $"{(long) currentTime.TotalMilliseconds:##,###}ms"; if ((long)currentTime.TotalMilliseconds == 0) { currentMsString = "0ms"; } var notesString = $"{EditorWindow.Instance.Notes.Count} Notes"; var notesW = fr.GetWidth(notesString, 24); var timeW = fr.GetWidth(timeString, 20); var currentTimeW = fr.GetWidth(currentTimeString, 20); var currentMsW = fr.GetWidth(currentMsString, 20); fr.Render(notesString, (int)(rect.X + rect.Width / 2 - notesW / 2f), (int)(rect.Y + timelinePos.Y + 12), 24); GL.Color3(Color.FromArgb(Color1[0], Color1[1], Color1[2])); fr.Render(timeString, (int)(rect.X + timelinePos.X - timeW / 2f + rect.Width - rect.Height), (int)(rect.Y + timelinePos.Y + 12), 20); fr.Render(currentTimeString, (int)(rect.X + timelinePos.X - currentTimeW / 2f), (int)(rect.Y + timelinePos.Y + 12), 20); fr.Render(currentMsString, (int)(rect.X + rect.Height / 2 + (rect.Width - rect.Height) * Timeline.Progress - currentMsW / 2f), (int)rect.Y, 20); base.Render(delta, mouseX, mouseY); _toast.Render(delta, mouseX, mouseY); Grid.Render(delta, mouseX, mouseY); Track.Render(delta, mouseX, mouseY); NoteAlign.Render(delta, mouseX, mouseY); Offset.Render(delta, mouseX, mouseY); SfxOffset.Render(delta, mouseX, mouseY); JumpMSBox.Render(delta, mouseX, mouseY); RotateBox.Render(delta, mouseX, mouseY); }
public override void Render(float delta, float mouseX, float mouseY) { var IsMouseOverr = ClientRectangle.Contains(mouseX, mouseY); if (IsMouseOver && !IsMouseOverr) { OnMouseLeave(mouseX, mouseY); } else if (!IsMouseOver && IsMouseOverr) { OnMouseEnter(mouseX, mouseY); } IsMouseOver = IsMouseOverr; _alpha = MathHelper.Clamp(_alpha + (IsMouseOver ? 10 : -10) * delta, 0, 1); if (Texture > 0) { if (IsMouseOver) { GL.Color3(0.75f, 0.75f, 0.75f); } else { GL.Color3(1f, 1, 1); } Glu.RenderTexturedQuad(ClientRectangle, 0, 0, 1, 1, Texture); } else { if (Alpha != 0) { if (IsMouseOver) { GL.Color4(Color.FromArgb(130, 0, 0, 0)); } else { GL.Color4(Color.FromArgb(Alpha, 0, 0, 0)); } Glu.RenderQuad(ClientRectangle); GL.Color4(Color.FromArgb(Alpha, 0, 0, 0)); Glu.RenderOutline(ClientRectangle); } else { var d = 0.075f * _alpha; GL.Color3(0.1f + d, 0.1f + d, 0.1f + d); Glu.RenderQuad(ClientRectangle); GL.Color3(0.2f + d, 0.2f + d, 0.2f + d); Glu.RenderOutline(ClientRectangle); } } if (Font == "squareo") { fr = EditorWindow.Instance.SquareOFontRenderer; } else if (Font == "square") { fr = EditorWindow.Instance.SquareFontRenderer; } else if (Font == "main") { fr = EditorWindow.Instance.FontRenderer; } var width = fr.GetWidth(Text, (int)ClientRectangle.Height / 2); var height = fr.GetHeight((int)ClientRectangle.Height / 2); GL.Color3(color1, color2, color3); if (!Timings) { fr.Render(Text, (int)(ClientRectangle.X + ClientRectangle.Width / 2 - width / 2f), (int)(ClientRectangle.Y + ClientRectangle.Height / 2 - height / 2f), (int)ClientRectangle.Height / 2); } else { TimingPoints.Instance.FontRenderer.Render(Text, (int)(ClientRectangle.X + ClientRectangle.Width / 2 - width / 2f), (int)(ClientRectangle.Y + ClientRectangle.Height / 2 - height / 2f), (int)ClientRectangle.Height / 2); } }