On Fri Nov 18 23:43:32 2022 +0000, Bartosz Kosiorek wrote:
> Using GdipWidenPath is nice idea and it shouldn't be hard to implement.
> It will give Line Joints support for Caps by default.
> I am only worried about performance (e.g. there is some matrix transformation).
I suspect there are enough slow things we already have to do that it won't really matter, but if we need to we can optimize it later.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1297#note_16466
On Fri Nov 18 23:01:41 2022 +0000, Esme Povirk wrote:
> Yeah, this might need to be broken into smaller MRs.
> The questions I generally ask in a situation like this one, where we
> know it's not quite right yet are: How hard is it to implement
> correctly? And will taking the shortcut make it more difficult to
> implement correctly without causing regressions?
> I don't think it should be too difficult to create a pen object and pass
> it to GdipWidenPath, nor will taking the shortcut make it harder to fix
> later. With that in mind, I would be willing to settle for this, but
> it'd be good to have a comment or fixme so we know the current approach
> isn't right.
> We might find that the outline codepath is rarely-used to begin with and
> never bother.
Using GdipWidenPath is nice idea and it shouldn't be hard to implement. It will give Line Joints support for Caps by default.
I am only worried about performance (e.g. there is some matrix transformation).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1297#note_16464
On Fri Nov 18 22:50:46 2022 +0000, Bartosz Kosiorek wrote:
> @madewokherd Generally feel free to improve/fix/change this code. I am
> novice in Wine development, and I am still learning.
> Some help from your side would be much appreciated.
> I am a little bit scaird that the Merge Request become quite big and
> hard to understand.
Yeah, this might need to be broken into smaller MRs.
The questions I generally ask in a situation like this one, where we know it's not quite right yet are: How hard is it to implement correctly? And will taking the shortcut make it more difficult to implement correctly without causing regressions?
I don't think it should be too difficult to create a pen object and pass it to GdipWidenPath, nor will taking the shortcut make it harder to fix later. With that in mind, I would be willing to settle for this, but it'd be good to have a comment or fixme so we know the current approach isn't right.
We might find that the outline codepath is rarely-used to begin with and never bother.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1297#note_16462
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45273
--
v8: gdiplus: Add GdipSetCustomLineCapStrokeCaps implementation and usage.
gdiplus: fix shape of CustomLineCap created by GdipCreateAdjustableArrowCap.
gdiplus: Add support for widen path with GpCustomLineCap.
gdiplus: use GpPointF for drawing in widen_closed_figure
gdiplus: Move widen_closed_figure function to be able to use it from add_anchor function.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1297
On Fri Nov 18 21:14:56 2022 +0000, Esme Povirk wrote:
> I suspect that in the long run we'll need to call GdipWidenPath here
> with a new GpPen.
@madewokherd Generally feel free to improve/fix/change this code. I am novice in Wine development, and I am still learning.
Some help from your side would be much appreciated.
I am a little bit scaird that the Merge Request become quite big and hard to understand.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1297#note_16461