public void Run()
        {
            _trayIcon = new TrayIcon();

            var configuration = ConfigurationFactory.FromFile <ScreenCaptureConfiguration>("screenCaptureConfig.json");

            Application.Run(new ScreenCapture(_trayIcon, new PhotoUploader(configuration.ServerPath), ConfigureCaptureRectangle(configuration)));

            _trayIcon.Dispose();
        }
        public void Run()
        {
            _trayIcon = new TrayIcon();

            var configuration = ConfigurationFactory.FromFile<ScreenCaptureConfiguration>("screenCaptureConfig.json");

            Application.Run(new ScreenCapture(_trayIcon, new PhotoUploader(configuration.ServerPath), ConfigureCaptureRectangle(configuration)));

            _trayIcon.Dispose();
        }
        public void Run()
        {
            _trayIcon = new TrayIcon();

            var configuration = ConfigurationFactory.FromFile<ScreenCaptureConfiguration>("screenCaptureConfig.json");

            var screenCapture = new ScreenCapture(_trayIcon, new PhotoUploaderPresentingResult(configuration.UploadPath, configuration.PictureGetPath), configuration);

            if (SetupGlobalHotkey(configuration.GlobalHotkey, screenCapture))
            {
                Application.Run(screenCapture);
            }

            _trayIcon.Dispose();
        }
        public ScreenCapture(TrayIcon trayIcon, PhotoUploader photoUploader, CaptureRectangleFactory captureRectangleFactory)
        {
            _photoUploader = photoUploader;
            _captureRectangleFactory = captureRectangleFactory;
            InitializeComponent();

            SetupIconEvents(trayIcon);

            SetupHotkeys();

            TopMost = true;

            FormBorderStyle = FormBorderStyle.None;
            StartPosition = FormStartPosition.Manual;

            SetupCaptureCanvas();
            SetupActionBox();
        }
        public ScreenCapture(TrayIcon trayIcon, PhotoUploader photoUploader, Rectangle captureRectangle)
        {
            _photoUploader = photoUploader;
            InitializeComponent();

            SetupIconEvents(trayIcon);

            SetupHotkeys();
            SetupGlobalHotkey();

            TopMost = true;

            FormBorderStyle = FormBorderStyle.None;
            StartPosition   = FormStartPosition.Manual;

            Location = captureRectangle.Location;
            Size     = captureRectangle.Size;

            _canvas.Size = Size;
            SetupCaptureCanvas(_canvas);
            ScreenToCanvas(_canvas);
            SetupActionBox();
        }
        public ScreenCapture(TrayIcon trayIcon, PhotoUploader photoUploader, Rectangle captureRectangle)
        {
            _photoUploader = photoUploader;
            InitializeComponent();

            SetupIconEvents(trayIcon);

            SetupHotkeys();
            SetupGlobalHotkey();

            TopMost = true;

            FormBorderStyle = FormBorderStyle.None;
            StartPosition = FormStartPosition.Manual;

            Location = captureRectangle.Location;
            Size = captureRectangle.Size;

            _canvas.Size = Size;
            SetupCaptureCanvas(_canvas);
            ScreenToCanvas(_canvas);
            SetupActionBox();
        }
 private void SetupIconEvents(TrayIcon trayIcon)
 {
     trayIcon.Exit += Exit;
 }
 private void SetupIconEvents(TrayIcon trayIcon)
 {
     trayIcon.Exit += Exit;
 }