Skip to content

Draft: Issue #3205: Add support for MyPaint Brushes v2

Alx Sa requested to merge wip/alxsa/mypaint-brush-v2 into master

This draft patch is intended to resolve #3205 and provide support for MyPaint Brushes V2. I have several code-specific questions, so I thought it would be easier to post the in-progress code to show when I ask.

Current Progress

  • Created GimpMybrushSurface2 struct in app\core\gimpmybrushsurface, with empty skeletons of the new version 2 functions
  • Replaced GimpMybrushSurface objects with GimpMybrushSurface2 in app\paint\gimpmybrushcore.c
  • Swapped out mypaint_brush_new () with mypaint_brush_new_with_buckets (64), and mypaint_brush_stroke_to () with mypaint_brush_stroke_to_2 ()
  • GimpMyBrush now loads the new pigment, posterize, and posterize_num brush attributes used in version 2 brushes
  • MyPaint Brushes now draw with pigment parameter affecting output
  • Canvas zoom level and rotation now used in mypaint_brush_stroke_to_2 ()
  • Implement GimpMybrushSurface2 new functions (referencing sample implementation from bug report)
  • A new GUI option allows users to adjust pigment/spectral blending

image

Next Steps

  • Testing
  • Update dependencies
  • Any other issues I'm not aware of
Edited by Alx Sa

Merge request reports

Loading