package Ġse . w art ing . signature pad Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroidx . compose . foundation . layout . fill MaxSize Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . graphics . to Argb Ċ import Ġandroidx . compose . ui . unit . Dp Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . compose . ui . view interop . Android View Ċ import Ġse . w art ing . signature core . Experimental Signature Api Ċ import Ġse . w art ing . signature core . Signature Ċ import Ġse . w art ing . signature view . views . Signature Pad Ċ import Ġse . w art ing . signature view . views . Signed Listener Ċ Ċ @ SuppressWarnings (" Long Parameter List ") Ċ @ Composable Ċ fun ĠSignature Pad View ( ĊĠĠĠ Ġpen Min Width : ĠD p Ġ= Ġ 3 . dp , ĊĠĠĠ Ġpen Max Width : ĠD p Ġ= Ġ 7 . dp , ĊĠĠĠ Ġpen Color : ĠColor Ġ= ĠColor . Black , ĊĠĠĠ Ġvelocity Filter Weight : ĠFloat Ġ= Ġ 0 . 9 F , ĊĠĠĠ Ġclear On DoubleClick : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġon Ready : Ġ( svg : ĠSignature Pad Adapter ) Ġ-> ĠUnit Ġ= Ġ{}, ĊĠĠĠ ĠonStart Signing : Ġ() Ġ-> ĠUnit Ġ= Ġ{}, ĊĠĠĠ Ġon Signed : Ġ() Ġ-> ĠUnit Ġ= Ġ{}, ĊĠĠĠ Ġon Clear : Ġ() Ġ-> ĠUnit Ġ= Ġ{}, Ċ ) Ġ{ ĊĠĠĠ ĠAndroid View ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill MaxSize (), ĊĠĠĠĠĠĠĠ Ġfactory Ġ= Ġ{ Ġcontext Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCreates Ġcustom Ġview ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSignature Pad ( context , Ġnull ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . setOn Signed Listener ( object Ġ: ĠSigned Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonStart Signing () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonStart Signing () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Signed () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Signed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Clear () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġupdate Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . set Min Width ( pen Min Width . value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . setMax Width ( pen Max Width . value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . set Pen Color ( pen Color . to Argb ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . set Velocity Filter Weight ( velocity Filter Weight ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . set Clear On DoubleClick ( clear On DoubleClick ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Ready ( Signature Pad Adapter ( it )) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠ Ġ) Ċ } Ċ Ċ class ĠSignature Pad Adapter ( private Ġval Ġsignature Pad : ĠSignature Pad ) Ġ{ ĊĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġsignature Pad . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠisEmpty : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġsignature Pad . isEmpty ĊĊĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠ Ġfun Ġget Signature Bitmap (): ĠBitmap Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsignature Pad . get Signature Bitmap () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠ Ġfun Ġget Transparent Signature Bitmap (): ĠBitmap Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsignature Pad . get Transparent Signature Bitmap () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Signature Svg (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsignature Pad . get Signature Svg () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Signature Api ĊĠĠĠ Ġfun Ġget Signature (): ĠSignature Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsignature Pad . get Signature () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Signature Api ĊĠĠĠ Ġfun Ġset Signature ( signature : ĠSignature ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsignature Pad . set Signature ( signature ) ĊĠĠĠ Ġ} Ċ } Ċ