Unless your "application" is the only thing in the screen, you need some protocol. At a minimum, repainting after your windows has been obscured by others, reacting to commands like closing the window or the session, shutting down, etc.
The main difference from CLI is that GUI works reacting to messages, even for (re)painting. Once you get that, the rest falls into place. This is usually implemented with object-oriented libraries, because it's the kind of application where OOP shines. But it's not mandatory.
Oh, and your app should also respond to move, change workspace, minimize... messages.
The main difference from CLI is that GUI works reacting to messages, even for (re)painting. Once you get that, the rest falls into place. This is usually implemented with object-oriented libraries, because it's the kind of application where OOP shines. But it's not mandatory.
Oh, and your app should also respond to move, change workspace, minimize... messages.