feat(5): init

This commit is contained in:
Rodney, Tiara 2025-05-09 04:22:57 +02:00
parent 0af2a3c72b
commit cad299f552
No known key found for this signature in database
GPG key ID: 5CD8EC1D46106723
2 changed files with 144 additions and 0 deletions

Binary file not shown.

View file

@ -0,0 +1,144 @@
# It's tradition to document stuff like this poorly...
# Also, a random comment nobody will understand:
# Class started 2 hours ago, oh, am I late?
# No, I already graduated
# And you can live through anything if Magic made it
# They say I talk with so much emphasis
# Ooh, they so sensitive
# Don't ever fix your lips like collagen
# And say something when you gon' end up apolog'ing
# Let me know if it's a problem then, aight, man, holla, then
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$form = New-Object System.Windows.Forms.Form
$form.Text = "adesso App2Cloud Microsoft 365 Forms Auto"
$form.Width = 620
$form.Height = 300
$form.StartPosition = "CenterScreen"
$form.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::Fixed3D
# Create the header label
$header = New-Object System.Windows.Forms.Label
$header.Text = "App2Cloud Microsoft 365 Forms Auto"
$header.Font = New-Object System.Drawing.Font("Impact", 18, [System.Drawing.FontStyle]::Bold)
$header.ForeColor = [System.Drawing.Color]::DarkBlue
$header.Width = 620
$header.Height = 40
$header.TextAlign = [System.Drawing.ContentAlignment]::MiddleCenter
$header.Location = New-Object System.Drawing.Point(0, 100)
$form.Controls.Add($header)
# Create Button 1
$button1 = New-Object System.Windows.Forms.Button
$button1.Text = "Load Spec"
$button1.Font = New-Object System.Drawing.Font("Arial", 10)
$button1.Width = 100
$button1.Height = 40
$button1.Location = New-Object System.Drawing.Point(160, 170)
$form.Controls.Add($button1)
# Create Button 2
$button2 = New-Object System.Windows.Forms.Button
$button2.Text = "Get Template"
$button2.Font = New-Object System.Drawing.Font("Arial", 10)
$button2.Width = 100
$button2.Height = 40
$button2.Location = New-Object System.Drawing.Point(360, 170)
$form.Controls.Add($button2)
$timer = New-Object System.Windows.Forms.Timer
$timer.Interval = 30 # Controls animation speed
$font = New-Object System.Drawing.Font("Jokerman", 20, [System.Drawing.FontStyle]::Bold)
$brush = [System.Drawing.Brushes]::Blue
$sineOffset = 20
$tileSize = 20 # Size of each square in the checkered pattern
Set-Variable -Name angle -Scope Global -Value 0
Set-Variable -Name text -Scope Global -Value ""
Set-Variable -Name hueShift -Scope Global -Value 0
Set-Variable -Name textHueShift -Scope Global -Value 0
Function GetColorFromHue ($hue) {
$hue %= 360 # Keep hue within 0-359
$c = 255
$x = 255 * (1 - [Math]::Abs(($hue / 60) % 2 - 1))
$m = 0
if ($hue -lt 60) { return [System.Drawing.Color]::FromArgb($c, $x, $m) }
elseif ($hue -lt 120) { return [System.Drawing.Color]::FromArgb($x, $c, $m) }
elseif ($hue -lt 180) { return [System.Drawing.Color]::FromArgb($m, $c, $x) }
elseif ($hue -lt 240) { return [System.Drawing.Color]::FromArgb($m, $x, $c) }
elseif ($hue -lt 300) { return [System.Drawing.Color]::FromArgb($x, $m, $c) }
else { return [System.Drawing.Color]::FromArgb($c, $m, $x) }
}
$graphicsArea = New-Object System.Drawing.Rectangle(0, 0, $form.Width, 100)
# TODO: fix buffering issue to get rid of that annoying flickering...
$form.add_Paint({
$graphicsContext = [System.Drawing.BufferedGraphicsManager]::Current
$buffer = $graphicsContext.Allocate($form.CreateGraphics(), $graphicsArea)
$graphics = $buffer.Graphics
$graphics.Clear([System.Drawing.Color]::White) # Clear background color (white base)
# Checkered background
# TODO: Limit to bounding box of wavy text
for ($x = 0; $x -lt $form.Width; $x += $tileSize) {
for ($y = 0; $y -lt 100; $y += $tileSize) {
if ((($x / $tileSize) + ($y / $tileSize)) % 2 -eq 0) {
$graphics.FillRectangle(
(New-Object System.Drawing.SolidBrush ([System.Drawing.Color]::FromArgb(240, 245, 245))),
$x,
$y,
$tileSize,
$tileSize
)
}
}
}
# Draw the wobbly text
if (![string]::IsNullOrWhiteSpace($Global:text)) {
$x = 0
for ($i = 0; $i -lt $Global:text.Length; $i++) {
$y = 20 + [Math]::Sin($Global:angle + $i * 0.5) * $sineOffset
$textColor = GetColorFromHue($Global:textHueShift)
$graphics.DrawString(
$Global:text[$i],
$font,
(New-Object System.Drawing.SolidBrush $textColor),
$x,
$y
)
$x += 30
}
}
# Render the buffered graphics to the screen
$buffer.Render()
$buffer.Dispose()
})
$timer.add_Tick({
$Global:angle += 0.1
$Global:hueShift += 0 # Slowly shift the hue
$Global:textHueShift += 1 # Slowly shift the hue
$Global:text = "@Tiaradessi $(Get-Date -UFormat "%T")"
$form.Invalidate()
})
$Song = New-Object System.Media.SoundPlayer
$Song.SoundLocation = "untitled.wav"
$Song.PlayLooping()
# Start the animation and show the form
$timer.Start()
$form.ShowDialog()