kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #12263
Re: PATCH: partial fix to bug 1255937
----- Original Message -----
> From: jp charras <jp.charras@xxxxxxxxxx>
> To: Cirilo Bernardo <cirilo_bernardo@xxxxxxxxx>; "kicad-developers@xxxxxxxxxxxxxxxxxxx" <kicad-developers@xxxxxxxxxxxxxxxxxxx>
> Cc:
> Sent: Monday, February 10, 2014 5:55 PM
> Subject: Re: [Kicad-developers] PATCH: partial fix to bug 1255937
>
> Le 09/02/2014 20:55, Cirilo Bernardo a écrit :
>> ----- Original Message -----
>>
>>> From: jp charras <jp.charras@xxxxxxxxxx>
>>> To: kicad-developers@xxxxxxxxxxxxxxxxxxx; cirilo_bernardo@xxxxxxxxx
>>> Cc:
>>> Sent: Monday, February 10, 2014 3:19 AM
>>> Subject: Re: [Kicad-developers] PATCH: partial fix to bug 1255937
>>>
>>> Le 09/02/2014 09:06, Cirilo Bernardo a écrit :
>>>
>>>> The attached patch is a partial fix to bug 1255937.
>>>>
>>>> Symptom: Pad outlines (arcs) in the back silk and mask are
> rendered
>>> incorrectly
>>>> (arc drawn in wrong direction) when a mirrored image is printed.
>>>>
>>>> This patch works by checking the Device Origin and if the Y
> coordinate is
>>> not
>>>> 0 it is assumed that the X axis is reversed. I would appreciate
> any
>>> comments
>>>> on this proposed solution; I don't know the code well enough
> to know if
>>> it is
>>>> possible to have a non-zero Y origin in another possibly future
> context
>>>> (for example, drawing on screen with the X orientation reversed).
>>>>
>>>> Unfortunately this patch does not quite close the bug yet; there
> are other
>>>> related artifacts which I am still investigating.
>>>>
>>>> The patch is against rev. 4679
>>>>
>>>> - Cirilo
>>>
>>> You could try something like this:
>>>
>>> int slx = DC->DeviceToLogicalX( 1 ) - DC->DeviceToLogicalX( 0
> );
>>> int sly = DC->DeviceToLogicalY( 1 ) - DC->DeviceToLogicalY( 0
> );
>>> bool mirrored = (slx > 0 && sly < 0) || (slx < 0
> &&
>>> sly > 0);
>>>
>>> to know if the DC is mirrored.
>>>
>>> --
>>> Jean-Pierre CHARRAS
>>>
>>
>> Thanks Jean-Pierre,
>>
>> I'll test that and also check the fix for the mirrored title frame
> since it is the same issue.
>>
>> - Cirilo
>
> The title frame is not mirrored.
>
> However the board itself is mirrored from the X axis.
> It could be better to mirror it from the Y axis (like in plot mirror).
>
> Thanks.
>
>
> --
> Jean-Pierre CHARRAS
>
OK, I'll work on mirroring from the Y axis so that it is consistent with the plot functions; this will also fix the other complaint in bug 1255937 about mirroring on the X axis.
The frame was originally mirrored as well, but a previous patch fixed that; however mirroring on the Y axis means I have to look at that code again. This is not a problem since I already know what to expect there.
- Cirilo
Follow ups
References