thezbyg / gpick

Advanced color picker written in C++ using GTK+ toolkit
BSD 3-Clause "New" or "Revised" License
383 stars 34 forks source link

interactive 'mix colors' option in bottom pane #44

Open thezbyg opened 9 years ago

thezbyg commented 9 years ago

Original issue 44 created by thezbyg on 2011-07-10T08:53:02.000Z:

While often I want to make blends in the palette, it's very common that I end up going back and forth tuning the blend endpoints. For this, the 'mix colors' dialog is troublesome, because I have to repeatedly invoke it every time I change the endpoint colors.

If instead I could interact with the endpoints to directly tune them, and finally commit the result to the palette, that would be a lot more useful IMO, and would also make paint-program users, of which I am one, happy (providing a 'blender' that can easily be dropped to or picked from.)

tl;dr version : An interactive version of 'mix colors' as a choice in the bottom pane would be very useful, IMO.

thezbyg commented 9 years ago

Comment #1 originally posted by thezbyg on 2011-07-10T20:25:49.000Z:

Would a limit of only 2 blended colors ("mix colors" dialog allows any number of colors to be mixed with each other) be ok? You can check an initial version in revision 91753c886d18

thezbyg commented 9 years ago

Comment #2 originally posted by thezbyg on 2011-07-11T02:56:40.000Z:

Definitely. I am strongly against arbitrary numbers of endpoints, because it makes things unnecessarily complex for both users and developers.

This initial revision is very useful as it is :). I also have some comments on improving it:

Ideally, I envisage having exactly 3 endpoints (let's call them A B C), and two adjustments (one for the number of steps A->B, the other for the number of steps B->C), with a right-click menu command to reset the middle color to a 50% A/C mix. This would allow you to somewhat see the context of the gradient, to help adjusting it to work well with the following blend; without unnecessarily complicating the UI.

Currently, the color areas are huge, because of the minimum width of the left pane. I'm sure you are already considering what they should end up looking like. I suggest a grid (the gradient progressing left -> right, with multiple rows if necessary)

thezbyg commented 9 years ago

Comment #3 originally posted by thezbyg on 2011-07-11T21:04:47.000Z:

Displaying colors as a grid will require a custom widget, so it will take some time to develop. Other changes are easier, so I implemented most of them in new revision b8e92f67e266. Currently there is no right-click menus, other than that, everything should work.