← Back to team overview

kicad-developers team mailing list archive

Re: Mirrored printing broken on wxWidgets 3.0.2

 

On 1/17/2015 9:38 AM, jp charras wrote:
> 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

This is my 32 bit build that fails:

Application: kicad
Version: (2014-10-26 BZR 5226)-product Release build
wxWidgets: Version 3.0.2 (debug,wchar_t,compiler with C++ ABI 1002,GCC
4.9.1,wx containers,compatible with 2.8)
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian,
wxMSW
Boost version: 1.56.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=ON
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON

One thing that is different is I'm using GCC 4.9.1.  The other thing is
I running on 64 bit windows.  I wonder if gcc is the issue.  When I get
a chance I will test my older mingw32 (gcc 4.7.2) with wxWidgets 3.0.2
to see if it is compiler related.

> 
> 
> 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.
>>>
> 
> 



References