Skip to content

Implement an ability to create windows #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
dkrutsko opened this issue Apr 17, 2016 · 1 comment
Closed

Implement an ability to create windows #2

dkrutsko opened this issue Apr 17, 2016 · 1 comment
Labels
Request A cool feature request for the library Wont Fix The issue is not going to be resolved
Milestone

Comments

@dkrutsko
Copy link
Member

dkrutsko commented Apr 17, 2016

Need to add an ability to create windows:

static Window Window::Create ( ... );

From there, we can look into ways of creating transparent overlays, rendering graphics, etc. The biggest hurdle is figuring out the scope and what we could actually do. Obviously writing a UI framework is out of the question but how would we go about displaying stuff on windows? Perhaps we'll need to integrate with a library of some sort? Maybe just have one function to draw an image?

@dkrutsko dkrutsko self-assigned this Apr 17, 2016
@dkrutsko dkrutsko added Help Wanted Request A cool feature request for the library Research May require some additional research labels Apr 17, 2016
@dkrutsko dkrutsko removed their assignment Apr 29, 2016
@dkrutsko dkrutsko added this to the Robot 2.1.0 milestone Feb 19, 2017
@dkrutsko
Copy link
Member Author

dkrutsko commented Mar 5, 2017

Having a Create function as part of the Window class is a bit problematic. For one, the current implementation of the Window class assumes no manual control of the window's data structures. It's designed to manipulate external windows whose memory and resources are managed by another application. For this functionality to change, additional logic would need to be added to track which Windows are managed.

Additionally, window creation is pointless without some serious event handling logic. Thinking about libraries like Qt and SDL, they have entire frameworks set up just for handling window events. Moreover, rendering to a window would also become complex. Even if all that's possible is rendering an image, are we suddenly going to allow rendering to external windows? How would that even work with different surface types and rendering contexts?

This brings us to the final question. What is the problem this issue is trying to solve? The problem is that robot needs an ability to draw on other windows. Well, this can solved easily by just creating and positioning a transparent window on top of other windows and drawing on that. The functionality would be a lot simpler and wouldn't require any of the more complex aspects that libraries like Qt and SDL implement.

With that, this particular issue is going to be closed. As for overlay windows, it will be implemented by #69.

@dkrutsko dkrutsko added Wont Fix The issue is not going to be resolved and removed Help Wanted Research May require some additional research labels Mar 5, 2017
@dkrutsko dkrutsko closed this as completed Mar 5, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Request A cool feature request for the library Wont Fix The issue is not going to be resolved
Development

No branches or pull requests

1 participant