package Ġcom . example . music player . ui . theme Ċ Ċ import Ġandroidx . compose . foundation . shape . Rounded Corner Shape Ċ import Ġandroidx . compose . material . Shapes Ċ import Ġandroidx . compose . ui . geometry . Rect Ċ import Ġandroidx . compose . ui . geometry . Size Ċ import Ġandroidx . compose . ui . graphics . Outline Ċ import Ġandroidx . compose . ui . graphics . Path Ċ import Ġandroidx . compose . ui . graphics . Path Operation Ċ import Ġandroidx . compose . ui . graphics . Shape Ċ import Ġandroidx . compose . ui . unit . Density Ċ import Ġandroidx . compose . ui . unit . Layout Direction Ċ import Ġandroidx . compose . ui . unit . dp Ċ Ċ val ĠShapes Ġ= ĠShapes ( ĊĠĠĠ Ġsmall Ġ= ĠRo unded Corner Shape ( 4 . dp ), ĊĠĠĠ Ġmedium Ġ= ĠRo unded Corner Shape ( 4 . dp ), ĊĠĠĠ Ġlarge Ġ= ĠRo unded Corner Shape ( 0 . dp ) Ċ ) Ċ Ċ val Ġrounded Shape Ġ= Ġobject Ġ: ĠShape Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcreate Outline ( ĊĠĠĠĠĠĠĠ Ġsize : ĠSize , ĊĠĠĠĠĠĠĠ Ġlayout Direction : ĠLayout Direction , ĊĠĠĠĠĠĠĠ Ġdensity : ĠD ensity ĊĠĠĠ Ġ): ĠOut line Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġp 1 Ġ= ĠPath (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd O val ( Rect ( 4 f , Ġ 3 f , Ġsize . width Ġ- Ġ 1 , Ġsize . height Ġ- Ġ 1 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġthickness Ġ= Ġsize . height Ġ/ Ġ 2 . 1 0 f ĊĠĠĠĠĠĠĠ Ġval Ġp 2 Ġ= ĠPath (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd O val ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRect ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthickness , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthickness , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize . width Ġ- Ġthickness , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize . height Ġ- Ġthickness ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġp 3 Ġ= ĠPath () ĊĠĠĠĠĠĠĠ Ġp 3 . op ( p 1 , Ġp 2 , ĠPath Operation . Difference ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠOut line . Generic ( p 3 ) ĊĠĠĠ Ġ} Ċ }