pub trait LayoutEditDecorator: MutDecorator where
    Self::D: LayoutEdit
{ fn d_set_dbu(&mut self, dbu: <Self::D as LayoutBase>::Coord) { ... } fn d_create_layer(
        &mut self,
        index: UInt,
        datatype: UInt
    ) -> <Self::D as LayoutBase>::LayerId { ... } fn d_create_layer_with_id(
        &mut self,
        layer_id: <Self::D as LayoutBase>::LayerId,
        index: UInt,
        datatype: UInt
    ) -> Result<(), ()> { ... } fn d_set_layer_name(
        &mut self,
        layer: &<Self::D as LayoutBase>::LayerId,
        name: Option<<Self::D as HierarchyBase>::NameType>
    ) -> Option<<Self::D as HierarchyBase>::NameType> { ... } fn d_insert_shape(
        &mut self,
        parent_cell: &<Self::D as HierarchyBase>::CellId,
        layer: &<Self::D as LayoutBase>::LayerId,
        geometry: Geometry<<Self::D as LayoutBase>::Coord>
    ) -> <Self::D as LayoutBase>::ShapeId { ... } fn d_remove_shape(
        &mut self,
        shape_id: &<Self::D as LayoutBase>::ShapeId
    ) -> Option<Geometry<<Self::D as LayoutBase>::Coord>> { ... } fn d_replace_shape(
        &mut self,
        shape_id: &<Self::D as LayoutBase>::ShapeId,
        geometry: Geometry<<Self::D as LayoutBase>::Coord>
    ) -> Geometry<<Self::D as LayoutBase>::Coord> { ... } fn d_set_transform(
        &mut self,
        cell_inst: &<Self::D as HierarchyBase>::CellInstId,
        tf: SimpleTransform<<Self::D as LayoutBase>::Coord>
    ) { ... } fn d_set_shape_property(
        &mut self,
        shape: &<Self::D as LayoutBase>::ShapeId,
        key: <Self::D as HierarchyBase>::NameType,
        value: PropertyValue
    ) { ... } }
Expand description

Define the same functions as LayoutEdit but just prepend a d_ to avoid naming conflicts. The default implementation just forwards the call to the base(). This allows to selectively re-implement some functions or fully delegate the trait to an attribute of a struct.

Provided Methods

Implementors