package Ġcom . there al blue pand ab ear . pix ap encil . custom views . pixel grid view Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics .* Ċ import Ġandroid . view . Motion Event Ċ import Ġandroid . view . View Ċ import Ġcom . there al blue pand ab ear . pix ap encil . R Ċ import Ġcom . there al blue pand ab ear . pix ap encil . activities . canvas . current Pixel Art Obj Ċ import Ġcom . there al blue pand ab ear . pix ap encil . activities . canvas . index Ċ import Ġcom . there al blue pand ab ear . pix ap encil . converters . Bitmap Converter Ċ import Ġcom . there al blue pand ab ear . pix ap encil . custom views . interface _. Custom View Ċ import Ġcom . there al blue pand ab ear . pix ap encil . database . AppData Ċ import Ġcom . there al blue pand ab ear . pix ap encil . enums . Sym metry Mode Ċ import Ġcom . there al blue pand ab ear . pix ap encil . extensions . calculate Matrix Ċ import Ġcom . there al blue pand ab ear . pix ap encil . fragments . outer canvas . Outer Canvas Fragment Ċ import Ġcom . there al blue pand ab ear . pix ap encil . listeners . Canvas Fragment Listener Ċ import Ġcom . there al blue pand ab ear . pix ap encil . models .* Ċ import Ġcom . there al blue pand ab ear . pix ap encil . utility . Paint Compat Utilities Ċ import Ġcom . there al blue pand ab ear . pix ap encil . utility . Scale Factor WH Calculator Ċ Ċ @ Suppress Lint (" View Constructor ") Ċ class ĠPixel GridView ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġoverride Ġvar Ġcanvas Width : ĠInt , ĊĠĠĠ Ġoverride Ġvar Ġcanvas Height : ĠInt , ĊĠĠĠ Ġval Ġouter Canvas Instance : ĠO uter Canvas Fragment , ĊĠĠĠ Ġval Ġproject Title : ĠString ?) Ġ: ĠView ( context ), ĠCustom View Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġpixel GridView Canvas : ĠCanvas ĊĠĠĠ Ġlateinit Ġvar Ġpixel GridView Bitmap : ĠBitmap ĊĊĠĠĠ Ġoverride Ġvar Ġscale Width Ġ= Ġ 0 f ĊĠĠĠ Ġoverride Ġvar Ġscale Height Ġ= Ġ 0 f ĊĊĠĠĠ Ġvar Ġprev X : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġprev Y : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġbitmap Action Data : ĠMutable List < Bitmap Action > Ġ= Ġmutable ListOf () ĊĠĠĠ Ġvar Ġundo Stack : ĠMutable List < Bitmap Action > Ġ= Ġmutable ListOf () ĊĊĠĠĠ Ġvar Ġcurrent Bitmap Action : ĠBitmap Action ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġcurrent Brush : ĠBr ush ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġpixel Per fect Mode : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġvar Ġgrid Enabled Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġvar ĠcurrentIndex Ġ= Ġindex !! ĊĊĠĠĠ Ġlateinit Ġvar Ġcaller : ĠCanvas Fragment Listener ĊĊĠĠĠ Ġvar Ġpath 1 Ġ= ĠPath () ĊĠĠĠ Ġvar Ġpath 2 Ġ= ĠPath () ĊĊĠĠĠ Ġvar Ġx m Ġ= Ġ 0 f ĊĊĠĠĠ Ġoverride Ġvar Ġdim en CW Ġ= Ġ 0 ĊĠĠĠ Ġoverride Ġvar Ġdim en CH Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġvar Ġst Ġ= Ġfalse ĊĊĠĠĠ Ġval Ġgrid Paint Ġ= ĠPaint (). apply Ġ{ ĊĠĠĠĠĠĠĠ ĠstrokeWidth Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠ Ġpath Effect Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġcolor Ġ= ĠColor . LT GRAY ĊĠĠĠĠĠĠĠ Ġstyle Ġ= ĠPaint . Style . ST RO KE ĊĠĠĠĠĠĠĠ Ġis D ither Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġis Anti Alias Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġis Filter Bitmap Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġsym metry Mode : ĠSym metry Mode Ġ= ĠSym metry Mode . default Sym metry Mode ĊĊĠĠĠ Ġvar Ġsh ading Mode : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġval Ġsh ading Map Ġ= Ġmutable ListOf < Coordinates >() ĊĊĠĠĠ Ġprivate Ġfun Ġdraw Grid ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġextended Draw Grid ( canvas ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Measure ( width Measure Spec : ĠInt , Ġheight Measure Spec : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( dim en CW Ġ!= Ġ 0 Ġ&& Ġdim en CH Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Measured Dimension ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdim en CW , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdim en CH ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( currentIndex Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Pixel Art Obj Ġ= ĠgetCurrent Pixel Art Obj () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Measured Dimension ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Pixel Art Obj . dim en CW , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Pixel Art Obj . dim en CH ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpost Invalidate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Measured Dimension ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Measure Spec , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Measure Spec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpost Invalidate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Size Changed ( w : ĠInt , Ġh : ĠInt , Ġold w : ĠInt , Ġold h : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Size Changed ( w , Ġh , Ġold w , Ġold h ) ĊĊĠĠĠĠĠĠĠ Ġcaller Ġ= Ġcontext Ġas ĠCanvas Fragment Listener ĊĊĠĠĠĠĠĠĠ Ġif Ġ(:: pixel GridView Bitmap . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpixel GridView Bitmap . recycle () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( currentIndex Ġ== Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpixel GridView Bitmap Ġ= ĠBitmap . create Bitmap ( canvas Width , Ġcanvas Height , ĠBitmap . Config . ARGB _ 8 8 8 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpixel GridView Canvas Ġ= ĠCanvas ( pixel GridView Bitmap ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Invalidate () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Bitmap Ġ= ĠgetCurrent Bitmap () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas Width Ġ= Ġcurrent Bitmap . width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas Height Ġ= Ġcurrent Bitmap . height ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpixel GridView Bitmap Ġ= ĠBitmap . create Bitmap ( canvas Width , Ġcanvas Height , ĠBitmap . Config . ARGB _ 8 8 8 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpixel GridView Canvas Ġ= ĠCanvas ( pixel GridView Bitmap ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpixel GridView Canvas . draw Bitmap ( current Bitmap , Ġ 0 f , Ġ 0 f , ĠPaint Compat Utilities . get SDK 2 8 Paint OrNull ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġouter Canvas Instance . rotate ( getCurrent Pixel Art Obj (). rotation . toInt (), Ġfalse ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Invalidate () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcaller . on View Loaded () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispatch Touch Event ( event : ĠMotion Event ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġextended Dispatch Touch Event ( event ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġundo () Ġ{ ĊĠĠĠĠĠĠĠ Ġextended Undo () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġredo () Ġ{ ĊĠĠĠĠĠĠĠ Ġextended Redo () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear Canvas () Ġ{ ĊĠĠĠĠĠĠĠ Ġextended Clear Canvas () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget NumberOf Unique Colors (): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġextended Get NumberOf Unique Colors () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreplace Pixel sBy Color ( color To Find : ĠInt , Ġcolor To Replace : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġextended Replace Pixel sBy Color ( color To Find , Ġcolor To Replace ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġapply Bitmap Filter ( lambda : Ġ( Int ) Ġ-> ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġextended Apply Bitmap Filter ( lambda ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġoverride Set Pixel ( coordinates : ĠCoordinates , Ġcolor : ĠInt , Ġignore Brush : ĠBoolean Ġ= Ġfalse , Ġsave To Bitmap Action : ĠBoolean Ġ= Ġtrue , Ġignore Sym metry : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġextended Override Set Pixel ( coordinates , Ġcolor , Ġignore Brush , Ġsave To Bitmap Action , Ġignore Sym metry ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreplace Bitmap ( new Bitmap : ĠBitmap ) Ġ{ ĊĠĠĠĠĠĠĠ Ġextended Replace Bitmap ( new Bitmap ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave As Image ( format : ĠBitmap . Compress Format ) Ġ{ ĊĠĠĠĠĠĠĠ Ġextended Save As Image ( format ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcoordinates In Canvas Bounds ( coordinates : ĠCoordinates ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġextended Coordinates In Canvas Bounds ( coordinates ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠUse Ġthis Ġcode Ġonly Ġin Ġon Measure Ġ**/ ĊĊĠĠĠ Ġprivate Ġfun ĠgetCurrent Pixel Art Obj (): ĠPixel Art Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġextended GetCurrent Pixel Art Obj () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetCurrent Bitmap (): ĠBitmap Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( currentIndex Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpixel Art Data Ġ= ĠApp Data . pixel Art DB . pixel Art Cre ations Dao (). getAll Pixel Art Cre ations No LiveData () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġg cb Current Pixel Art Obj Ġ= Ġpixel Art Data [ currentIndex ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Pixel Art Obj Ġ= Ġg cb Current Pixel Art Obj ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBitmap Converter . convert StringTo Bitmap ( current Pixel Art Obj . bitmap ) !! ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException ( this . context . getString ( R . string . exception _ accessing _ negative _ index _ message _ in _ code _ str )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(:: pixel GridView Bitmap . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscale Factor WH Info : ĠScale Factor WH Info Ġ= ĠScale Factor WH Calculator . calculate ( canvas Width , Ġcanvas Height , Ġresources ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscale Factor W Ġ= Ġscale Factor WH Info . scale Factor W ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscale Factor H Ġ= Ġscale Factor WH Info . scale Factor H ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcalculated Matrix Info Ġ= Ġpixel GridView Bitmap . calculate Matrix ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale Factor W . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale Factor H . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcalculated Matrix Ġ= Ġcalculated Matrix Info . matrix ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . scale Width Ġ= Ġcalculated Matrix Info . scale Width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . scale Height Ġ= Ġcalculated Matrix Info . scale Height ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Bitmap ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpixel GridView Bitmap , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalculated Matrix , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPaint Compat Utilities . get SDK 2 8 Paint OrNull ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdim en CW Ġ= Ġscale Factor W ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdim en CH Ġ= Ġscale Factor H ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! st ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Layout () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpost Invalidate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalidate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġst Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( grid Enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Grid ( canvas ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ