Brainstorming/Brushmodifier

From MyPaint

Jump to: navigation, search

Contents

[edit] Ways to store/restore temporary brushes

  • devbrush (stylus / eraser / 2nd stylus)
  • brush history (recently used brushes)
  • context (save brush with Ctrl-4, restore with 4)
  • strokemap (pick stroke from canvas)
  • autosave (restore last radius etc. when using the brush selector)

[edit] Eraser Mode

  • Eraser mode does not survive brush selection.
  • If eraser mode was explicitly set by the user, it is (supposed to be) auto-canceled when selecting a color.
  • Eraser mode remembers the radius change relative to normal mode (eg. small ink brush, bigger ink eraser)
  • Eraser mode is more convenient than selecting an eraser brush because you can toggle it with a single key. (But independent from that, the possibility to erase with any brush shape is also appreciated by users.)

[edit] Lock Alpha

  • Lock Alpha is currently a persistent mode that survives brush selection.
  • Technically it can be combined with Eraser mode, but that does not do anything useful.
  • Most applications make it a setting of the layer. If we want to support this via brushmodifier, then the change applied by brushmodifier definitively should not be stored anywhere.
  • Brush presets may have "Lock Alpha" enabled, but there probably is no good usecase except testing.

[edit] Brush Blend Modes

  • Brush presets may have blend modes enabled (eg. the brush selector could offer desaturate, brigthen and darken brushes)
  • It may make sense to combine them with Lock Alpha (work on current layer / work on composited image).
  • A brush blend mode can also be enabled for all brushes, in which case it is a persistent mode that survives brush selection.
  • Maybe it should be remembered per device(?)


[edit] Notes

Current problem:

The ToggleActions try to do two things that are mutually exclusive:

  • implement a persistent override (lock_alpha) that survives brush selection
  • show the brush state after brush selection

Brushes may have any settings enabled by default, including lock_alpha. While a brush with lock_alpha is rare (except for devbrushes), I think the brush settings should generally be respected. Currently, lock_alpha is not respected if it is set by the brush.

Not a problem:

  • I think the current concept of a stack, eg. toggle eraser mode while in lock alpha and go back to lock alpha, is quite nice. But currently we might have to distinguish between "set by user" and "set by brush", which is ugly...
Personal tools