What classes are needed for this program? An obvious choice is a window class, where each window is an object. The first candidate class is therefore called Win.
The program handles user actions such as keyboard input and mouse clicks. These actions are significant, because they can change the state of a window. There should also be an Event class to describe such user events. For example, when a user clicks the mouse over a window, an Event object is passed to the appropriate Win object, and the Win object responds accordingly. This is an example of a class that describes things that happen to objects.
If there are multiple windows, should the client program be responsible for keeping track of the active window and directing events to it? That's an unreasonable burden to place on the client program. The package should provide a class that maintains information about all windows and mediates between them and the user. This candidate class is called WinMgr. This class doesn't model an entity mentioned in our description of the program. It is created because there is information that must be maintained by the program, but that information isn't stored by any other classes.
Since this program frequently manipulates positions, it is convenient to represent positions using a simple Point class, instead of a pair of integers. Similarly, since the program uses rectangular windows, a Rect class is a reasonable candidate. These classes are extremely simple ones, being little more than convenient structures.