From 9da3eaf07a320eea5ca8b59475021bbf10642113 Mon Sep 17 00:00:00 2001
From: n00mkrad <61149547+n00mkrad@users.noreply.github.com>
Date: Sat, 20 Dec 2025 22:00:39 +0100
Subject: [PATCH] Resizable text in log box, news box, changelog box
---
CodeLegacy/Flowframes.csproj | 1 +
CodeLegacy/Forms/Main/Form1.Designer.cs | 19 ++--
CodeLegacy/Forms/Main/Form1.cs | 6 ++
CodeLegacy/Forms/Main/Form1.resx | 26 +++---
CodeLegacy/Ui/ControlTextResizer.cs | 112 ++++++++++++++++++++++++
5 files changed, 142 insertions(+), 22 deletions(-)
create mode 100644 CodeLegacy/Ui/ControlTextResizer.cs
diff --git a/CodeLegacy/Flowframes.csproj b/CodeLegacy/Flowframes.csproj
index 37bbf4e..5ef7f5b 100644
--- a/CodeLegacy/Flowframes.csproj
+++ b/CodeLegacy/Flowframes.csproj
@@ -530,6 +530,7 @@
+
diff --git a/CodeLegacy/Forms/Main/Form1.Designer.cs b/CodeLegacy/Forms/Main/Form1.Designer.cs
index d974cf5..f2e3906 100644
--- a/CodeLegacy/Forms/Main/Form1.Designer.cs
+++ b/CodeLegacy/Forms/Main/Form1.Designer.cs
@@ -360,7 +360,7 @@
this.label23.Location = new System.Drawing.Point(8, 130);
this.label23.Margin = new System.Windows.Forms.Padding(8, 0, 3, 0);
this.label23.Name = "label23";
- this.label23.Size = new System.Drawing.Size(105, 15);
+ this.label23.Size = new System.Drawing.Size(104, 15);
this.label23.TabIndex = 26;
this.label23.Text = "Fix Scene Changes";
//
@@ -393,7 +393,7 @@
this.label16.Location = new System.Drawing.Point(10, 10);
this.label16.Margin = new System.Windows.Forms.Padding(8, 0, 3, 0);
this.label16.Name = "label16";
- this.label16.Size = new System.Drawing.Size(61, 15);
+ this.label16.Size = new System.Drawing.Size(62, 15);
this.label16.TabIndex = 2;
this.label16.Text = "Trim Input";
//
@@ -413,6 +413,7 @@
this.runBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
this.runBtn.Enabled = false;
this.runBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.runBtn.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.runBtn.ForeColor = System.Drawing.Color.White;
this.runBtn.Location = new System.Drawing.Point(12, 418);
this.runBtn.Name = "runBtn";
@@ -803,9 +804,9 @@
this.welcomeLabel2.Location = new System.Drawing.Point(142, 3);
this.welcomeLabel2.Margin = new System.Windows.Forms.Padding(3, 0, 3, 10);
this.welcomeLabel2.Name = "welcomeLabel2";
- this.welcomeLabel2.Size = new System.Drawing.Size(478, 40);
+ this.welcomeLabel2.Size = new System.Drawing.Size(268, 40);
this.welcomeLabel2.TabIndex = 5;
- this.welcomeLabel2.Text = "Click The Interpolation Tab To Begin.";
+ this.welcomeLabel2.Text = "Click Here To Begin.";
this.welcomeLabel2.Click += new System.EventHandler(this.welcomeLabel2_Click);
//
// panel8
@@ -814,10 +815,10 @@
this.panel8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.panel8.Controls.Add(this.patronsLabel);
this.panel8.Controls.Add(this.label21);
- this.panel8.Location = new System.Drawing.Point(593, 57);
+ this.panel8.Location = new System.Drawing.Point(593, 9);
this.panel8.Margin = new System.Windows.Forms.Padding(5);
this.panel8.Name = "panel8";
- this.panel8.Size = new System.Drawing.Size(300, 193);
+ this.panel8.Size = new System.Drawing.Size(300, 241);
this.panel8.TabIndex = 4;
//
// patronsLabel
@@ -1259,7 +1260,7 @@
this.label24.Location = new System.Drawing.Point(6, 160);
this.label24.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
this.label24.Name = "label24";
- this.label24.Size = new System.Drawing.Size(165, 15);
+ this.label24.Size = new System.Drawing.Size(164, 15);
this.label24.TabIndex = 87;
this.label24.Text = "Maximum Output Frame Rate";
//
@@ -1448,7 +1449,7 @@
this.label34.Location = new System.Drawing.Point(407, 42);
this.label34.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
this.label34.Name = "label34";
- this.label34.Size = new System.Drawing.Size(308, 15);
+ this.label34.Size = new System.Drawing.Size(307, 15);
this.label34.TabIndex = 69;
this.label34.Text = "Maximum Height. Video will be downscaled if it\'s bigger.";
//
@@ -1480,7 +1481,7 @@
this.label18.Location = new System.Drawing.Point(8, 40);
this.label18.Margin = new System.Windows.Forms.Padding(8, 0, 3, 0);
this.label18.Name = "label18";
- this.label18.Size = new System.Drawing.Size(196, 15);
+ this.label18.Size = new System.Drawing.Size(195, 15);
this.label18.TabIndex = 66;
this.label18.Text = "Maximum Video Input Size (Height)";
//
diff --git a/CodeLegacy/Forms/Main/Form1.cs b/CodeLegacy/Forms/Main/Form1.cs
index cdfd21f..443b565 100644
--- a/CodeLegacy/Forms/Main/Form1.cs
+++ b/CodeLegacy/Forms/Main/Form1.cs
@@ -36,6 +36,7 @@ namespace Flowframes.Forms.Main
public bool ShowModelDownloader = false;
private Enums.VfrMode prevVfrMode = (Enums.VfrMode)(-1);
+ private ControlTextResizer _ctrlTextResizer;
protected override CreateParams CreateParams
{
@@ -59,7 +60,12 @@ namespace Flowframes.Forms.Main
{
ShowInTaskbar = false;
Opacity = 0;
+ return;
}
+
+ _ctrlTextResizer = new ControlTextResizer();
+ var resizableTextCtrls = new List() { logBox, newsLabel, patronsLabel };
+ _ctrlTextResizer.Register(resizableTextCtrls);
}
private void Form1_Load(object sender, EventArgs e)
diff --git a/CodeLegacy/Forms/Main/Form1.resx b/CodeLegacy/Forms/Main/Form1.resx
index 87c7948..a779b46 100644
--- a/CodeLegacy/Forms/Main/Form1.resx
+++ b/CodeLegacy/Forms/Main/Form1.resx
@@ -144,19 +144,19 @@ Based on:
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh
- NQAAITUBTKZc8wAAAsdJREFUWEftlztoFFEUhtcoiCBaqGCRNIJGxQdYqYgBNY1ERBF3Ky3cDS4oRCxE
- Ky0iQSRoERQLKx/4QBEfaCWKDyw0hWLj+wGiYNxdfCvod5azcOfMnWR2yWw1P3ywc85/zr2zzJ17J5Mq
- VaoElCuUp+UKlQ5o1VCk8MyBJdRM1lAyYpBZsANuwCf4B2c1XVWuONSSLQ6N0cuq8Ayq9z1chDyMeGOx
- RbMVcA2+gwzk8hNOwhW4D4/gIdwFmcx5sDXCFzgF83WYxkSDeeCb2GjxCqbocPWL4qtOs6Q4rMPVJwrX
- mkZJ8QsW6rDxlC1UWih64DRJmjM6dDxR0GUaJM1viL9gMF92ipvFIR1+eGGcCUmu3CjexnqZY+wxhc2k
- S6cRLUzXTZFFdoTtsAr2wVfw+YSPsBNWwh6QF7TPV2NAp+EXhqkgTX3FggwQeCVwvc7Ju3yDxWqriutO
- +KN5H4PZQmms2sPCsNQUWLx3SPyW8QknNB0QcdkWrbdGGdrUGhbJLY7ZR1GtARE/ZnzCbk0HRPyg8Vk6
- 1BoWyV5jtuxXa0DEfVti1L992vgsm9QaFsnjxmx5CYHNnetF4HstfYDAsYrrdihpPopdag+L5AVj9nEH
- 5FmdDmvgOfh8ghy95GArXlkgT8Dnc+nT6YRFsp7TizzQvriPerzROwrJ4VZYs+jX6YRFMuoE3Ex6dTph
- kew3ZhdZCNtgAGrfJPXwBmTn2evEfBR0OmGxWU/EIO+pv06Byz3YCLNhAxwB+RZ5B/Kc/VBkpb6G2yA3
- vRrmQjc8BV/vCvRku0vjdDrRwshnYuWmFvrYrNaquLFJxNpATkJCq9yspqsidgB8vYRz0K7W+KJoPci/
- 4DZ7bAePI2pmUPvZ6SOH1EuwXC2NiybL4Ci8gE4N1y1qt8Iz6IMFGh495fLlCfqzYeXypfH6M1WqVKlS
- jahM5j96J9xPI80nHwAAAABJRU5ErkJggg==
+ NQAAITUBTKZc8wAAAspJREFUWEftl0uoTXEYxa9LSYkByuCaKM88ygjJLY+JrkRy14iBu25uUWQgRgyu
+ JImByMDII49IHjESeWTAHZCJ96NEuc5ZeVP0z96n//7ut699cs4dnV+tyd5rff9vn7P/j93U1KBBg9oD
+ lseAagXVYu9ZQE0BNQcsj7T3agqoiaA2gboK6j2o36BOZTxdvc3tXb2DMteonsT7BtQ5UB1FHqwwoBaA
+ ugzqSzJQrG+gjoG6COoOqPug7oG6lTRzxskEfQR1HNR0O15VgJqW01it9BzUKDtuYUBdcorWWvvtuIUA
+ tcwpVg99BzXTjt8v7VQzqLtOsXrppO2hX0C1OUXqqR9VTRhQF5wi9dY+24cLqAl1nrl5elVoMQe10QkP
+ lNpsP30AdcUJxgo7wgZQi0DtAPXJ8aR6B2ozqIWgtiULtPXEOmD7yQBqdFLUBlOFATJLAqjlji/oM6jZ
+ xrsY1E/Hm6qnnaXBcSYDqLlOKJb7hKCuO96j1hdItkXrTVUGNc5mKoBa64RiddlMANRhx7vV+gKg9jje
+ WK02UwFUtxOItdNmAjlbYt6vfcLxxlptMxVAHXECsZ7ZzR3UrJxl6a09VoGaBKrkeGNtiTMZQJ11AlY3
+ k3d1LKiloJ44nlTh6BUOtsEbJshDx2O1y/ZVIeevylN4oe21PFXjzd9R/jHDBkp7bV8V+jkBD6S6bV8V
+ QvdOIFWYCOvD7Iy+SarRy2Tn2e7ci0XbVwWwPDxZp345waDboFaBmgxqJaiDybfI6+Q9+5oozNQXoG4k
+ D70E1FRQnaAeOXWDFM4B7Z2lIbavPvz9TNQ1p0iqNVl/eUTYAZKTUFBLeNisR7udOqlOhyUo9hcC1Irk
+ V4iLPbCDFwEsjwf1IaoTDqnnQc233qoBNQ/UIVBPw3pm7xcF1DpQj8NaB2qGvf/foKM8zF6rFnSUhtpr
+ DRo0aNAgnz96J9xPpXlFDAAAAABJRU5ErkJggg==
diff --git a/CodeLegacy/Ui/ControlTextResizer.cs b/CodeLegacy/Ui/ControlTextResizer.cs
new file mode 100644
index 0000000..a236ef8
--- /dev/null
+++ b/CodeLegacy/Ui/ControlTextResizer.cs
@@ -0,0 +1,112 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace Flowframes.Ui
+{
+ internal class ControlTextResizer
+ {
+ // Dictionary to store the initial font size for every tracked Control
+ private readonly Dictionary _initialFontSizes = new Dictionary();
+
+ ///
+ /// Registers a list of Control objects to enable mouse wheel resizing and middle-click reset.
+ ///
+ /// List of Controls to enhance.
+ public void Register(IEnumerable controls)
+ {
+ if (controls == null) return;
+
+ foreach (var ctrl in controls)
+ {
+ // Avoid registering the same Control twice
+ if (_initialFontSizes.ContainsKey(ctrl)) continue;
+
+ // 1. Store the initial size so we can reset to it later
+ _initialFontSizes[ctrl] = ctrl.Font.Size;
+
+ // 2. Subscribe to the necessary events
+ ctrl.MouseWheel += Ctrl_MouseWheel;
+ ctrl.MouseDown += Ctrl_MouseDown;
+ }
+ }
+
+ ///
+ /// Handles the MouseWheel event to increase or decrease font size.
+ /// Note: In WinForms, the control usually needs focus to receive MouseWheel events.
+ ///
+ private void Ctrl_MouseWheel(object sender, MouseEventArgs e)
+ {
+ // Only resize if Ctrl is held down
+ if ((Control.ModifierKeys & Keys.Control) != Keys.Control)
+ return;
+
+ if (sender is Control ctrl)
+ {
+ float currentSize = ctrl.Font.Size;
+ float newSize = currentSize;
+
+ if (e.Delta > 0)
+ {
+ newSize *= 1.1f; // Increase size
+ }
+ else if (e.Delta < 0)
+ {
+ newSize *= 0.9f; // Decrease size
+ }
+
+ // Retrieve initial size to calculate bounds
+ if (_initialFontSizes.TryGetValue(ctrl, out float initialSize))
+ {
+ float minSize = initialSize * 0.75f;
+ float maxSize = initialSize * 2.0f;
+
+ // Clamp the new size
+ if (newSize < minSize) newSize = minSize;
+ if (newSize > maxSize) newSize = maxSize;
+ }
+ else
+ {
+ // Fallback if initial size isn't found (shouldn't happen if registered correctly)
+ if (newSize < 1.0f) newSize = 1.0f;
+ }
+
+ // Only apply if the size actually changed
+ if (Math.Abs(newSize - currentSize) > 0.01f)
+ {
+ ctrl.Font = new Font(ctrl.Font.FontFamily, newSize, ctrl.Font.Style, ctrl.Font.Unit);
+ }
+ }
+ }
+
+ ///
+ /// Handles the MouseDown event to check for Middle Mouse Button clicks.
+ ///
+ private void Ctrl_MouseDown(object sender, MouseEventArgs e)
+ {
+ // Check if the Middle button (scroll wheel click) was pressed
+ if (e.Button == MouseButtons.Middle && sender is Control ctrl)
+ {
+ // Retrieve the initial size if we have it stored
+ if (_initialFontSizes.TryGetValue(ctrl, out float initialSize))
+ {
+ ctrl.Font = new Font(ctrl.Font.FontFamily, initialSize, ctrl.Font.Style, ctrl.Font.Unit);
+ }
+ }
+ }
+
+ ///
+ /// Optional: Call this to clean up events if you are disposing controls dynamically.
+ ///
+ public void Unregister(Control ctrl)
+ {
+ if (_initialFontSizes.ContainsKey(ctrl))
+ {
+ ctrl.MouseWheel -= Ctrl_MouseWheel;
+ ctrl.MouseDown -= Ctrl_MouseDown;
+ _initialFontSizes.Remove(ctrl);
+ }
+ }
+ }
+}