pcb 4.1.1
An interactive printed circuit board layout editor.

remove.h File Reference

Prototypes for remove routines. More...

#include "global.h"
Include dependency graph for remove.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define REMOVE_TYPES

Functions

void * RemoveLine (LayerType *, LineType *)
 Removes a line from a layer.
void * RemoveArc (LayerType *, ArcType *)
 Removes an arc from a layer.
void * RemovePolygon (LayerType *, PolygonType *)
 Removes a polygon from a layer.
void * RemoveText (LayerType *, TextType *)
 Removes a text from a layer.
void * RemoveElement (ElementType *)
 Removes an element.
void ClearRemoveList (void)
void RemovePCB (PCBType *)
 Remove PCB.
bool RemoveSelected (void)
 Removes all selected and visible objects.
bool DeleteRats (bool)
 Deletes rat lines only.
void * RemoveObject (int, void *, void *, void *)
 Remove object as referred by pointers and type, allocated memory is passed to the 'remove undo' list.
void * DestroyObject (DataType *, int, void *, void *, void *)
 Remove object as referred by pointers and type.
void RemoveDegradedVias (void)

Detailed Description

Prototypes for remove routines.


Copyright.


PCB, interactive printed circuit board design.

Copyright (C) 1994,1995,1996 Thomas Nau

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Contact addresses for paper mail and Email:

Thomas Nau, Schlehenweg 15, 88471 Baustetten, Germany

Thomas.Nau@rz.uni-ulm.de

Definition in file remove.h.


Define Documentation

#define REMOVE_TYPES
Value:
(VIA_TYPE | LINEPOINT_TYPE | LINE_TYPE | TEXT_TYPE | ELEMENT_TYPE |     \
        POLYGONPOINT_TYPE | POLYGON_TYPE | RATLINE_TYPE | ARC_TYPE)

Definition at line 44 of file remove.h.

Referenced by NotifyMode().


Function Documentation

void ClearRemoveList ( void  )
bool DeleteRats ( bool  selected)

Deletes rat lines only.

Can delete all rat lines, or only selected one.

Definition at line 643 of file remove.c.

References Bulk, PCBType::Data, Draw(), END_LOOP, IncrementUndoSerialNumber(), line, PCB, RAT_LOOP, RemoveRat(), and TEST_FLAG.

Referenced by ActionDelete(), ActionDeleteRats(), ActionImport(), AutoPlaceSelected(), AutoRoute(), and toporouter().

Here is the call graph for this function:

void* DestroyObject ( DataType Target,
int  Type,
void *  Ptr1,
void *  Ptr2,
void *  Ptr3 
)

Remove object as referred by pointers and type.

Allocated memory is destroyed assumed to already be erased.

Definition at line 671 of file remove.c.

References ObjectOperation().

Referenced by ConvertBufferToElement(), GetUndoSlot(), ripout_livedraw_obj(), and UndoInsertPoint().

Here is the call graph for this function:

void* RemoveArc ( LayerType ,
ArcType  
)

Removes an arc from a layer.

Definition at line 420 of file remove.c.

References Bulk, Draw(), EraseArc(), MoveObjectToRemoveUndoList(), and LayerType::On.

Referenced by GlobalPuller().

Here is the call graph for this function:

void RemoveDegradedVias ( void  )

Definition at line 613 of file remove.c.

References Bulk, PCBType::Data, END_LOOP, PCB, RemoveVia(), VIA_IS_BURIED, and VIA_LOOP.

Referenced by ChangeBuriedViasAfterLayerDelete(), and ChangeBuriedViasAfterLayerMove().

Here is the call graph for this function:

void* RemoveElement ( ElementType )

Removes an element.

Definition at line 578 of file remove.c.

References Bulk, Draw(), PCBType::ElementOn, EraseElement(), FRONT, PCBType::InvisibleObjectsOn, MoveObjectToRemoveUndoList(), PCB, and PCBType::PinOn.

Referenced by ActionElementList(), and NotifyMode().

Here is the call graph for this function:

void* RemoveLine ( LayerType ,
LineType  
)

Removes a line from a layer.

Definition at line 403 of file remove.c.

References Bulk, Draw(), EraseLine(), MoveObjectToRemoveUndoList(), and LayerType::On.

Referenced by ActionDJopt(), GlobalPuller(), remove_line(), and RemoveLinePoint().

Here is the call graph for this function:

void* RemoveObject ( int  ,
void *  ,
void *  ,
void *   
)

Remove object as referred by pointers and type, allocated memory is passed to the 'remove undo' list.

Definition at line 631 of file remove.c.

References ObjectOperation(), and ptr.

Referenced by ActionRipUp(), nbcb_ripup(), netlist_rip_up_cb(), NotifyMode(), remove_via_at(), and RemoveExcessPolygonPoints().

Here is the call graph for this function:

void RemovePCB ( PCBType )

Remove PCB.

Definition at line 119 of file remove.c.

References ClearUndoList(), and FreePCBMemory().

Referenced by ActionNew(), LoadLayoutToBuffer(), and real_load_pcb().

Here is the call graph for this function:

void* RemovePolygon ( LayerType ,
PolygonType  
)

Removes a polygon from a layer.

Definition at line 455 of file remove.c.

References Bulk, Draw(), ErasePolygon(), MoveObjectToRemoveUndoList(), and LayerType::On.

Referenced by MorphPolygon(), and RemovePolygonContour().

Here is the call graph for this function:

bool RemoveSelected ( void  )

Removes all selected and visible objects.

Returns:
true if any objects have been removed.

Definition at line 598 of file remove.c.

References Bulk, Draw(), IncrementUndoSerialNumber(), and SelectedOperation().

Referenced by ActionDelete(), ActionRemoveSelected(), ActionSelect(), and click_cb().

Here is the call graph for this function:

void* RemoveText ( LayerType ,
TextType  
)

Removes a text from a layer.

Definition at line 437 of file remove.c.

References Bulk, Draw(), EraseText(), MoveObjectToRemoveUndoList(), LayerType::On, r_delete_entry(), and LayerType::text_tree.

Here is the call graph for this function: