← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Option to subtract soldermask from silkscreen in gerber output


On 12/09/2010 05:51 PM, Marco Mattila wrote:
> Drawing the negative layer last is not correct, since it erases
> everything below the negative objects in all layers. The attached
> patch seems to do the trick right. All layers (=layers as they are
> seen in gerbview, not individual layers in a gerber file) are first
> drawn into a bitmap and negative objects are drawn in background
> color. Then the bitmap itself is used as a mask in blitting the bitmap
> onto the screen.
> marco
> On Tue, Dec 7, 2010 at 4:41 PM, Dick Hollenbeck <dick@xxxxxxxxxxx> wrote:

Marco & JP:

I committed something that was very similar to what you submitted.

However, I found some significant speed ups:

1) not using GR_OR mode when erasing the background of a negative layer.

2) not using the mask in the Blit() function but rather use wxOR there, which seems to
be signicantly faster for some reason.

The two changes together are extremely snappy. 

Please test to make sure this code is equivalent with respect to display results.



Follow ups