///////////////////////////////////////////////////////////////////////////////////////////
// IdleForm.h
//
//  Declaration of the IdleForm class, which implements exception handling and
// idle-time processing for Windows Forms.

#pragma once

using namespace System;
using namespace System::ComponentModel;
using namespace System::Windows::Forms;

namespace Sunlight
{
    __gc public class IdleForm : public Form
    {
    public:
        IdleForm();

        // Start the application main loop.
        virtual void Run();

    protected:
        // Called when objects should be initialised (trapped).
        __event EventHandler *Init;
        // Called when the application is idle (i.e. no messages are being processed, and
        // the output device is not paused).
        __event EventHandler *Idle;
    };
}