using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; namespace StreetGlowScreenSaver { public partial class Form1 : Form { //Various variables we will be using. public int mouseX, mouseY, ScreenHeight, ScreenWidth, logoVelocityX, logoVelocityY; //Random we will use to decide how fast the image moves. public Random ran; //Get the current running directory private System.Resources.ResourceManager rm = new System.Resources.ResourceManager("ResourceClient.Images", System.Reflection.Assembly.GetExecutingAssembly()); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // Here we are simply setting up some properties for the form. //Gets the position of the current mouse position so we can later check if it's been moved mouseX = MousePosition.X; mouseY = MousePosition.Y; //Loading and assigning the variables to store the users screen resolution ScreenHeight = Screen.PrimaryScreen.Bounds.Height; ScreenWidth = Screen.PrimaryScreen.Bounds.Width; //Set the windows width and height to the resolution of the desktop this.Width = Screen.PrimaryScreen.WorkingArea.Width; this.Height = Screen.PrimaryScreen.WorkingArea.Height; this.TopMost = true; //Move the window to the top left of the screen. this.Top = 0; this.Left = 0; //Set the label to show http://www.streetglow.com and display at the bottom of the screen //In the center //websiteURL.Text = @"Made by exodus from http://www.streetglow.com"; websiteURL.Text = ""; websiteURL.Left = ScreenWidth / 2 - (websiteURL.Width / 2); websiteURL.Top = Screen.PrimaryScreen.Bounds.Bottom - websiteURL.Height; //Hide the Cursor Cursor.Hide(); //Load the image into the pictureBox and assign the properties. Logo.Width = 280; Logo.Height = 68; Logo.Image = (Image)rm.GetObject("logo"); Logo.Top = ScreenHeight / 2 - (Logo.Height / 2); Logo.Left = ScreenWidth / 2 - (Logo.Width / 2); //Make the background color of the for black. this.BackColor = Color.Black; //Set the speed at which the image moves. (Sets randomly betwen 2 and 7) if (Settings.Default.customSpeed == false) { ran = new Random(); logoVelocityX = ran.Next(2, 8); logoVelocityY = ran.Next(2, 8); } else { logoVelocityX = Settings.Default.speedX; logoVelocityY = Settings.Default.speedY; } } private void updateTimer_Tick(object sender, EventArgs e) { if (checkMouseMovement()) { this.Close(); } } private void updateDraw_Tick(object sender, EventArgs e) { Draw(); } private bool checkMouseMovement() { if (mouseX != MousePosition.X) { return true; } if (mouseY != MousePosition.Y) { return true; } return false; } private void Draw() { CheckWallCollisions(); MoveLogo(); } private void MoveLogo() { Logo.Top += logoVelocityY; Logo.Left += logoVelocityX; } private void CheckWallCollisions() { if (Logo.Left < 0) { logoVelocityX *= -1; } else if (Logo.Left + Logo.Width > ScreenWidth) { logoVelocityX *= -1; } if (Logo.Top < 0) { logoVelocityY *= -1; } else if (Logo.Top + Logo.Height > ScreenHeight) { logoVelocityY *= -1; } } } }