Open Azeirah opened 1 year ago
Just to make sure this code won't have major impacts on certain notebooks, I wanted to check whether I could influence the eraser size on my ReMarkable.
I took a notebook with a lot of black, so I can see the size of the eraser clearly.
I think if we want to solve the eraser width very precisely, we could approach it the following way
[1, 2, 2.4]
so far). With base_width I mean the w
value that is read from the .rm
file, corresponding to an eventual stroke_width after some calculations.Although, this approach might not work as long as other tools also have stroke-widths that do not correspond exactly with ReMarkable's internal output.
Alternatively, we could simplify the measuring steps by reading the actual framebuffer or possibly even by going through the binary using ghidra.
Anyway, that's for if we want to achieve perfection. For now "pretty good" is good enough :p
I'm having trouble finding good values for the eraser width. The linear scaling does not work quite as I want.
In one document, a larger linear parameter results is desired, in another this makes the eraser too large.
rmc Doesn't have a better approach either. It simply does base_width * 2
.
Might be best to split this PR up into two individual PRs. One for the color issue, which I think is ready for merging, and another for the scaling.
I made two improvements to the eraser.
I think the fix to always draw with a white color is correct.
The width scaling is still a bit off, but I think it's better to have a more constant scaling.
I have tested this with three notebooks, one is a notebook with hundreds of pages of written text, and the others are shown in the related issue request: https://github.com/lucasrla/remarks/issues/65