Trait libreda_pnr::db::LayoutEdit[][src]

pub trait LayoutEdit: LayoutBase + HierarchyEdit {
    fn create_layer(&mut self, index: u32, datatype: u32) -> Self::LayerId;
fn set_layer_name(
        &mut self,
        layer: &Self::LayerId,
        name: Option<Self::NameType>
    ) -> Option<Self::NameType>;
fn insert_shape(
        &mut self,
        parent_cell: &Self::CellId,
        layer: &Self::LayerId,
        geometry: Geometry<Self::Coord>
    ) -> Self::ShapeId;
fn remove_shape(
        &mut self,
        shape_id: &Self::ShapeId
    ) -> Option<Geometry<Self::Coord>>;
fn replace_shape(
        &mut self,
        shape_id: &Self::ShapeId,
        geometry: Geometry<Self::Coord>
    ) -> Geometry<Self::Coord>;
fn set_transform(
        &mut self,
        cell_inst: &Self::CellInstId,
        tf: SimpleTransform<Self::Coord>
    ); fn set_dbu(&mut self, dbu: Self::Coord) { ... }
fn set_shape_property(
        &mut self,
        shape: &Self::ShapeId,
        key: Self::NameType,
        value: PropertyValue
    ) { ... } }
Expand description

Trait for layouts that support editing.

Required methods

Create a new layer. Use set_layer_name() to define a name.

Set the name of a layer or clear the layer name when passing None. This method should not change the ID of the layer. Returns the previous name of the layer.

Insert a geometric shape into the parent cell.

Remove shape from the parent cell.

Replace the geometry of a shape.

Set the geometric transform that describes the location of a cell instance relative to its parent.

Provided methods

Set the distance unit used in this layout in ‘pixels per micron’.

Set a property of a shape.

Implementations on Foreign Types

Implementors