← Back to team overview

kicad-developers team mailing list archive

Re: Question : ZONE_CONTAINER

 

Thanks Jon,

I was playing around with the idea of allowing keepout zones to exist on
multiple layers. I have the following functions working:

- Select multiple layers for a keepout zone in KEEPOUT_PROPERTIES_DIALOG
- Multi-layer only available if zone is specified as keepout
- Save / load multiple layers
- Display correctly in Legacy and GAL
- Implement DRC on multiple layers

However, I've just now realised that selection doesn't work! I had to
implement a layerset for the keepout, but the selection process (click
select or drag select) use GetLayer() which doesn't work correctly for a
zone on multiple layers.

Do you know where the code is that determines if an item is "selectable"
both in Legacy and GAL ?

Thanks,
Oliver

On Fri, Sep 22, 2017 at 1:32 PM, Jon Evans <jon@xxxxxxxxxxxxx> wrote:

> pcb_painter.cpp:1085
> void PCB_PAINTER::draw( const ZONE_CONTAINER* aZone )
>
> On Thu, Sep 21, 2017 at 11:27 PM, Oliver Walters <
> oliver.henry.walters@xxxxxxxxx> wrote:
>
>> I'm looking for where ZONE_CONTAINER is drawn in GAL? In legacy it is
>> handled in class_zone.cpp but I can't find where it's being drawn under
>> Cairo / OpenGL
>>
>> Anyone have info on this?
>>
>> Thanks,
>> Oliver
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>

Follow ups

References