I was wondering if there were any resources that explain concepts/theory behind GUI development. I don't mean a resource that explains how to use a GUI library, but rather how to create your own widgets. For example a resource that explains different methods on how to implement scrollable listboxes.

I ask because I have an idea for a game tool where I would like to create my own widgets and let users drag and drop them onto some kind of form.

How do GUI libraries usually draw widgets?

I'm not sure if reskinning widgets from a GUI library fits my needs, since widget behavior needs to be dynamic based on user interaction.

1 Answer 1


This depends so strongly on the architecture of the widget library you're inter operating with that you're unlikely to find a one-size-fits-all high level guide. For example, some libraries separate drawing views and responding to events, others put them in the same class. In some your widget prepares a bitmap of its view that it sends to the window manager, in others your widget emits a stream of vector commands or a graphics shader.

So the answer to your question about creating a game tool is where will that game tool run? You should find out how that gui's conventions work and build something that impedance-matches those conventions.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.