Follow-up Comment #5, bug #18574 (project mypaint): More whiffle, but I need to get implementing this at some point. I guess blink states aren't user-enterable canvas interaction modes, but looks like I'll be revisiting blink states too anyway (which may be sensible given there's overlay drawing involved).
Spring-loaded modes are also referred to as quasimodes in some places. No reason why a mode can't be spring-loaded on a keypress, but implemented as a one-off mode elsewhere. One-off modes : http://designinginterfaces.com/firstedition/index.php?page=One-Off_Mode#. I'd want one-off modes to be exitable by pressing Escape, so that you don't have to draw anything or click your previous mode to get out and back to where you were. Other than that, I want everything to behave like a single bank of radio buttons would. So line drawing, would be spring-loaded on the shift key (by default), _and_ set as a one-off mode on its toolbar button and menu entry. Press the modifier down and the toolbar buttons change state to reflect the temporary mode. Release it and you go back to the previous state. (Could this get irritating since modifiers also get held down for accelerators? Sigh.) Looks like a regular RadioAction group, but with some sort of keypress-aware manager watching its changes, keeping a record of the previous action, and sometimes prodding the group's state in response to key releases. Sounds familiar, and probably makes it easier to avoid entering another mode while currently in a spring-loaded mode (can signal handlers stop RadioActions from changing state by returning particular values?) Overlay drawing looks wider in scope than this, but could also be mutually exclusive. Unless we want blink states to be rendered at the same time as overlays for line drawing or other stuff? Maybe the frame (not the manipulatable one, the one you get while painting) is an overlay in the same sense too. In which case that's three categories of overlay (or two). _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?18574> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Mypaint-bugs mailing list [email protected] https://mail.gna.org/listinfo/mypaint-bugs
