Our Shape Library consists of different convenience APIs and classes we use to build a shape. Specifically, the classes in this library sit on top of our core Shapes implementation, and that implementation should be understood and used before making use of the classes here.
Table of contents
The classes described below are convenience APIs on top of
Generates an MDCCornerTreatment that is curved and receives a size to define the size of the curve.
Generates an MDCCornerTreatment that is a cut corner and receives a cut to define by how much to cut.
Generates an MDCCornerTreatment that is rounded and receives a radius to define the radius of the rounding.
Generates an MDCEdgeTreatment that consists of a triangle of a settable size and style.
The classes described below are convenience shape generators that create an
MDCRectangleShapeGenerator subclass that consist of preset corner and edge treatments:
This generates a shape using MDCRectangleShapeGenerator with MDCCurvedCornerTreatment for its corners.
This generates a shape using MDCRectangleShapeGenerator with MDCRoundedCornerTreatment for its corners.
This generates a shape using MDCRectangleShapeGenerator and adds a slant to its corners using a simple offset to its corners.
You’ll typically create an
MDCRectangleShapeGenerator instance that you set your component with.
Components that support the shape system will have a
id<MDCShapeGenerating> shapeGenerator property as part of their API.
By setting the
shapeGenerator property with your
MDCRectangleShapeGenerator, you will provide the defined shape to your component.
let card = MDCCard() let shapeGenerator = MDCRectangleShapeGenerator() let cutCornerTreatment = MDCCutCornerTreatment(cut: 4) shapeGenerator.setCorners(cutCornerTreatment) let triangleEdgeTreatment = MDCTriangleEdgeTreatment(size: 8, style: MDCTriangleEdgeStyleCut) shapeGenerator.setEdges(triangleEdgeTreatment) card.shapeGenerator = shapeGenerator
MDCCard *card = [[MDCCard alloc] init]; MDCRectangleShapeGenerator *shapeGenerator = [[MDCRectangleShapeGenerator alloc] init]; MDCCutCornerTreatment *cutCornerTreatment = [[MDCCutCornerTreatment alloc] initWithCut: 4]; [shapeGenerator setCorners:cutCornerTreatment]; MDCTriangleEdgeTreatment *triangleEdgeTreatment = [[MDCTriangleEdgeTreatment alloc] initWithSize: 8 style: MDCTriangleEdgeStyleCut]; [shapeGenerator setEdges:triangleEdgeTreatment]; card.shapeGenerator = shapeGenerator;