package Ġcom . n asc . jet pack compose v iny l . ui . shape Ċ Ċ 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 Ċ Ċ /** Ċ Ġ* ĠSimple ĠV iny l / Don ut Ġshape Ġ( o ) Ċ Ġ*/ Ċ class ĠV iny l Shape Ġ: Ġ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 ( 0 f , Ġ 0 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 Ġ- Ġ 1 Ġ- Ġthickness , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize . height Ġ- Ġ 1 Ġ- Ġthickness ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġp 3 Ġ= ĠPath () ĊĠĠĠĠĠĠĠ Ġp 3 . op ( p 1 , Ġp 2 , ĠPath Operation . difference ) ĊĠĠĠĠĠĠĠ Ġreturn ĠOut line . Generic ( p 3 ) ĊĠĠĠ Ġ} Ċ }