← Back to team overview

kicad-developers team mailing list archive

Re: Mirrored printing broken on wxWidgets 3.0.2

 

Le 17/01/2015 14:36, Wayne Stambaugh a écrit :
> On 1/17/2015 2:36 AM, jp charras wrote:
>> Le 16/01/2015 22:03, Wayne Stambaugh a écrit :
>>> I recently discovered that the mirrored printing in Pcbnew is broken on
>>> windows.  At first I thought it was a 32 bit versus 64 bit issue but I
>>> discovered that it is due to the wxWidgets version.  When I use
>>> wxWidgets 3.0.0, the mirrored printing works fine (at least on 32 bit
>>> MinGW builds).  Using wxWidgets 3.0.2 breaks the mirrored printing on
>>> both 32 and 64 bit builds.  Has anybody else noticed this on any other
>>> platforms?
>>>
>>
>> After test on W7, 32 bits, I did not noticed an issue when printing in
>> mirrored mode.
> 
> Are you using wxWidgets 3.0.2?  

Yes, both on W7 and Linux:

wxWidgets: Version 3.0.2 (debug,wchar_t,compiler with C++ ABI 1002,GCC
4.8.1,wx containers,compatible with 2.8)
Platform: Windows 7 (build 7601, Service Pack 1), 32 bit, Little endian,
wxMSW
Boost version: 1.54.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=OFF
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON
         KICAD_USE_WEBKIT=ON


I don't see this issues on W7 or W8, 32
> bits, wxWidgets 3.0.0.  I haven't tested it with 3.0.1.  I just want to
> confirm that I'm not the only person with this problem before I start to
> dig into it.
> 
>> This is a bit strange, because the mirroring is made by our printing
>> routines, not by the wxDC.
> 
> In pcbnew/printout_controler.cpp I see:
> 
> dc->SetAxisOrientation( false, false );
> 
> and:
> 
> dc->SetDeviceOrigin( x_dc_offset, 0 );
> 
> This looks like wxDC is being used for printing.  Are you talking about
> plotting instead of printing?

wxDC is used, I just mean the specific wxMirrorDC is not used.
(But wxMirrorDC is perhaps just a wrapper which changes the axis
orientation and origin)

> 
>> But what is the actual issue?
> 
> Both the print preview window and the printed page are blank.

Both are OK for me.

Note also the frame reference is not mirrored, and should be drawn, even
if the dc->SetAxisOrientation( false, false ) has issues.

> 
>>
>> On Windows, the only one issue I am aware of is with Postscripts
>> printers, (and only ps drivers, whith include the pdf virtual printers)
>> is the fact lines (like tracks) have a very small width, near 0.
>>


-- 
Jean-Pierre CHARRAS


Follow ups

References