CornerCutLinearLayout extends LinearLayout. It allows cutting parent corners with different shapes and building proper shadows for complex shapes. It also allows cutting each child's corners. Additionally, using available properties and custom providers, those cuts may be turned into cutouts of different shapes, sizes, etc. Widget's sole purpose is to use with children with no transformations (like rotation, scale, matrix transformations).