Okay.
To whoever wanted to be able to get raw clipboard data:
Here is the list of target formats on Linux:
http://tronche.com/gui/x/icccm/sec-2.html#s-2.6.2Take a very good look at it and tell me if you see "RAW" anywhere, because I don't. Perhaps I'm wrong, and that's great!
To whoever wants to support 26 different selection formats:
Here is the list of target formats on Linux:
http://tronche.com/gui/x/icccm/sec-2.html#s-2.6.2Take a very good look at it and tell me if you see more than 3 that are interesting to you. I can find three interesting formats:
- Text/String/UTF-8
- Images
- Timestamps?
Of all of those, timestamps are the most necessary! (That was irony, by the way)
To those who have an irrational fear of API clutter:
This means that we'd get
at most two get/set clipboard functions in the
sf::Window class for text and.. timestamps, and one in the
sf::RenderWindow class for images. That's not API clutter.
As zsbzsb and I said:
Realistically, we'd have one function in
sf::Window for text, and an overload, for images, in
sf::RenderWindow.
To those who want to compare to Qt:
Stop. Qt is a huge, high-level library. If I remember correctly, some people enjoy calling SFML a low-level library. So why are you comparing both?
To those who want to compare to SDL:
This isn't C, this is C++. We have OOP and all these wonderful things. Also SDL is much bigger than SFML and nobody cares if it has "bad" hacks.
To those who think a clipboard class is a better idea:
On Windows and Linux, you're getting the clipboard from the window. No point in hiding that from the user. You must also assume the user isn't a complete moron. Seriously. I don't mind making things "user friendly", but the user has to know what a clipboard is, and how to use it. It's not the window's clipboard, but you are giving the clipboard contents to the window, and you are getting the clipboard contents from the window.
To those who want a
getAvailableFormats function:
I actually agree. This is a good idea, and it can be implemented whenever someone decides to add an sf::Image overload.
Regarding the
allWindows vector:
It's a horrible, horrible hack. I don't care who wrote it. There's a much better way of doing this (almost identical procedure to how it's done on Windows), and a little Googling and reading some documentation and headers would prove very useful.
That's pretty much all I can think of.
And don't worry, it won't get lost just because it is not merged
Yes it will.