bugMyPaint - Bugs: bug #20415, [possible-1.1.1] new cursor :...

Show feedback again

You are not allowed to post comments on this tracker with your current authentification level.

bug #20415: [possible-1.1.1] new cursor : offset , regression for drawing

Submitted by:  David REVOY <deevad>
Submitted on:  Thu Jan 10 01:34:09 2013  
Severity: 3 - NormalPriority: 5 - Normal
Status: FixedPrivacy: Public
Assigned to: NoneOpen/Closed: Closed
Release: 1.1+Git & 1.1Planned Release: None
Operating System: Linux

(Jump to the original submission Jump to the original submission)

Mon Jun 23 21:49:53 2014, comment #7:

[This is a canned response, please forgive the broken formatting: it's one of the many things Gna! unfortunately does not do well.]

This bug tracker will shortly be moving to Github. As part of this process, we are reviewing old bug reports on gna.org.

This bug was marked as Fixed long ago, but was still classified as Open. Github does not distinguish between Fixed+Open and Fixed+Closed in the
way we once did here, so this bug is now being marked Closed, and will not be migrated into the github issues tracker.

If you believe that this bug still affects the most recent git master of MyPaint (and thus the next release), please feel free to open a new
issue on Github about it. Our new issue trackers are:


Andrew Chadwick <achadwick>
Project Administrator
Mon Jan 14 07:12:34 2013, comment #6:

Good idea for the separate bug entry.
I tested this settings and reducing the outer_line to 1 doesn't solve. ( I tried again testing almost all from 0.25 to 3 in-between values , and same for white alpha ; from 0.75 to 1 .. Many test ). The preset in comment #4 are still the best.

But I found a good looking "bold" cursor on the way. I'll report it to the discution #20427

David REVOY <deevad>
Project Member
Sun Jan 13 14:42:36 2013, comment #5:

I've made a separate bug to cover UI for cursor settings: bug #20427.

Does setting

make any difference to how sharp it looks? Are you able to go above 0.85 with that?

Andrew Chadwick <achadwick>
Project Administrator
Sat Jan 12 12:22:50 2013, comment #4:

Oh, thats cool about entering in settings.json ( I had to learn a bit of how to write it in the json syntax )

I played a lot ( and fun the setting you adviced to test, bold double lined cursor ) but after a lot of fun with playing randomly with the value , I stopped to this one for the best rendering with my buggy hardware :

It's similar as the one in master ; only the alpha of white can be pushed to 0.85 ; I could do many test ( it's easier with settings.json , I don't have to scon install each time to see effect ) and so I saw after this 0.85 value the grey bordering 0.25 pixel drop shadow bug looks too wrong.

David REVOY <deevad>
Project Member
Sat Jan 12 08:29:05 2013, comment #3:

Should be fixed in https://gitorious.org/mypaint/mypaint/commit/0a02dadc8ce50b71208ce6df40f847cf8a25a16d - many thanks! Tagged as a suitable candidate for a 1.1.1 release.

I've gone with 0.75, though I prefer 1.0 myself. Looks nice and crisp on my hardware :)

BTW, I've added docs describing how the rings are generated. FYI, if you hate the nVidia bug, you could try setting

  • cursor.freehand.outer_line_width = 3.0
  • cursor.freehand.inner_line_width = 1.0
  • cursor.freehand.inner_line_inset = 2

which should result in an inner black border as well (which is better for this hardware). Feel fee to experiment with the settings in your personal ~/.mypaint/settings.json - if you come up with a good nVidia-proof cursor, I'd love to know what settings it uses so we can add them as a preset.

Andrew Chadwick <achadwick>
Project Administrator
Fri Jan 11 18:13:31 2013, comment #2:

Many thanks Andrew for working on it. I like the actual state for the precision - JUST PERFECT- ; the offset feels totally corrected to me and pleasure to draw and paint details seems to be back ( and it was my bigger issue ). I will keep using it to see how it behaves after hours of painting.

About the color aspect of the cursor , Errr ^ ^` ... I forgot about this story of Nvidia shadow pixels ... Sorry , I had short memory about it.

I played again with the cursor.py file , This value are what I finally conclude to be the best with my Nvidia alpha bug :
3 was a bit too little, especially on black background.

About the shadow cursor, the bug is only affecting the white. So I lowered the alpha to the previous state we found on forum ( as it was before 0.7 ) but I kept the solid black outline.

Thanks again !

David REVOY <deevad>
Project Member
Fri Jan 11 15:38:00 2013, comment #1:

Okay, I think you're right regarding the hotspot. Assume you mean it has a bias to the bottom, right when you say "the bottom corner".

I've done some cursor precision fixes on master:


let me know what you think.

BTW, please test with the 1pixel and pixelblocking brushes from Experimental. These have some really nice properties for getting the precision right. In current/actuel master, you should turn "Snap to pixel" up to 1.0 in the Brush Settings Editor for the 1pixel brush to get a good crisp alignment and a single (document) pixel per dab. Setting zoom to 100% is helpful too.

As well as the pixel brushes, please use mouse or laptop touchpad when testing for precision. Mouse events are pixel aligned; graphics tablets report events with much finer precision! Cursors of course align on screen pixels.

There are now odd sizes and even sizes of cursors, meaning the stepping may have a more fine-grained feel to it and thus convet a greater feeling of control.

When using 1pixel, odd sizes should now be exactly as you want (but please test). The even sizes might not be so nice. If "X" marks the hotspot, you'll get something like

The even sizes are a work in progress for now. I'm hoping the North-Western bias present here is at least fairly intuitive. Something like a normal arrow pointer, maybe? That's my hope at this stage.

If it still seems off to you, I can maybe throw in a half-pixel offset for either the odd or the even size, or both. Applied before the pointer movement is sent to brushlib :)

Other changes:

  • Now uses 100% opacity pure black and pure white, addressing the "too grey" issue. There will be some grey of course because there is antialiasing. And it's not really that visible if you're bitten by the nVidia hardware cursor bug whereby white pixels in cursors with alpha < 1 and alpha > 0 appear to blend into black before compositing. That's another source of grey! It looks OK for Intel graphics arrays like mine...
  • Minimum size temporarily set to 3px.
Andrew Chadwick <achadwick>
Project Administrator
Thu Jan 10 01:34:09 2013, original submission:

The actual minimal size cursor ( brush outline circle ) in master with the freehand Line mode show a subtle but really annoying offset with the line drawed.
This is subtle, but broke a lot the pleasure to draw on Mypaint ; the line precision feels wrong.

To test : take the preset on set#2 "deevad/pen" ; draw with it, try thin details. You can see how the line appear from the bottom corner of the brush cursor. This is the annoying thing

Now reset GIT to commit 68d3f681fe87a64ed62c1c4474924068bc9ab3b0
( before new cursor get introduced ) and have a drawing session : much better , precise. It's actually the Mypaint version I decided to switch for now.

Also, newer cursor with opacity in grey were reported to be less visible than old "black or white" one. And minimal in master is still more large than the one on the old git commit number I wrote above. This regression affect 1.1 too :/

@Andrew ; no offense against your work on the cursor. I know it's a sensitive and difficult topic, and I'm not posting this bug-report because of the mainstream user syndrom of 'it-was-better-before-omg" ( when they can't adapt , or relearn something better ).
I know newer cursor solve issue on a technical level... would it be possible to find a new solution ? and backport it to Mypaint 1.1 ? Thanks in advance

David REVOY <deevad>
Project Member


No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by achadwick (Posted a comment)
  • -unavailable- added by deevad (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.


    Error: not logged in



    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon Jun 23 21:49:53 2014achadwickOpen/ClosedOpen=>Closed
    Sat Jan 12 08:29:05 2013achadwickStatusReady For Test=>Fixed
      Summarynew cursor : offset , regression for drawing=>[possible-1.1.1] new cursor : offset , regression for drawing
    Fri Jan 11 15:38:13 2013achadwickStatusNone=>Ready For Test
    Fri Jan 11 15:38:00 2013achadwickSeverity4 - Important=>3 - Normal
    Show feedback again

    Back to the top

    Powered by Savane 3.1-cleanup