package Ġcom . ben ny . px er studio . activity Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . pm . Activity Info Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . view . animation . Accel erate De cel erate Interpolator Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . Seek Bar Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . widget . PopupMenu Ċ import Ġandroidx . core . content . edit Ċ import Ġandroidx . core . text . parse As Html Ċ import Ġandroidx . core . view . isIn visible Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . recyclerview . widget . Default Item Animator Ċ import Ġandroidx . recyclerview . widget . Item Touch Helper Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . af ol le st ad . material dialogs . Material Dialog Ċ import Ġcom . af ol le st ad . material dialogs . custom view . custom View Ċ import Ġcom . af ol le st ad . material dialogs . files . File Filter Ċ import Ġcom . af ol le st ad . material dialogs . files . file Chooser Ċ import Ġcom . ben ny . px er studio . R Ċ import Ġcom . ben ny . px er studio . color picker . Color Picker Ċ import Ġcom . ben ny . px er studio . databinding . Activity Drawing Binding Ċ import Ġcom . ben ny . px er studio . databinding . Dialog Activity Drawing New project Binding Ċ import Ġcom . ben ny . px er studio . export able . Atlas Export able Ċ import Ġcom . ben ny . px er studio . export able . Folder Export able Ċ import Ġcom . ben ny . px er studio . export able . Gif Export able Ċ import Ġcom . ben ny . px er studio . export able . P ng Export able Ċ import Ġcom . ben ny . px er studio . shape . E ras er Shape Ċ import Ġcom . ben ny . px er studio . shape . draw . Line Shape Ċ import Ġcom . ben ny . px er studio . shape . draw . Rect Shape Ċ import Ġcom . ben ny . px er studio . util . prompt Ċ import Ġcom . ben ny . px er studio . util . strip Extension Ċ import Ġcom . ben ny . px er studio . widget . Fast Bitmap View Ċ import Ġcom . ben ny . px er studio . widget . P xer View Ċ import Ġcom . mike pen z . fast adapter . Fast Adapter Ċ import Ġcom . mike pen z . fast adapter . adapters . Item Adapter Ċ import Ġcom . mike pen z . fast adapter . drag . Item Touch Callback Ċ import Ġcom . mike pen z . fast adapter . drag . Simple Drag Callback Ċ import Ġcom . mike pen z . fast adapter . items . Abstract Item Ċ import Ġcom . mike pen z . fast adapter . select . get Select Extension Ċ import Ġjava . io . File Ċ import Ġjava . util .* Ċ import Ġkotlin . math . max Ċ import Ġkotlin . math . min Ċ Ċ class ĠDraw ing Activity Ġ: ĠAppCompatActivity (), ĠItem Touch Callback , ĠP xer View . On Drop per CallBack Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠU NT IT LED Ġ= Ġ" Unt itled " ĊĠĠĠĠĠĠĠ Ġval Ġrect Shape Factory Ġ= ĠRect Shape () ĊĠĠĠĠĠĠĠ Ġval Ġline Shape Factory Ġ= ĠLine Shape () ĊĠĠĠĠĠĠĠ Ġval Ġer aser Shape Factory Ġ= ĠE ras er Shape () ĊĠĠĠĠĠĠĠ Ġvar Ġcurrent Project Path : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ// ĠUsed Ġto Ġaccess Ġresources Ġoutside Ġof Ġactivities ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġapp Context : ĠContext ; ĊĠĠĠĠĠĠĠ Ġvar ĠmContext : ĠContext ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ: ĠContext Ġ= Ġapp Context ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Context Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġis Edited Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Toolbar TextView . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ(" P xer Studio < br >< small >< small >" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġbinding !!. drawing P xer View . projectName ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ( if Ġ( value ) Ġ"*" Ġelse Ġ"") Ġ+ Ġ"</ small ></ small >" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). parse As Html () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlayer Adapter : ĠFast Adapter < Layer Thumb Item > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlayer Item Adapter : ĠItem Adapter < Layer Thumb Item > ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtools Adapter : ĠFast Adapter < Tool Item > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtools Item Adapter : ĠItem Adapter < Tool Item > ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcp : ĠColor Picker ĊĊĠĠĠ Ġprivate Ġvar Ġonly Show Selected : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġfun ĠsetTitle ( subtitle : ĠString ?, Ġedited : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Toolbar TextView . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ(" P xer Studio < br >< small >< small >" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( subtitle . isNull OrEmpty ()) ĠU NT IT LED ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġsubtitle Ġ+ Ġ( if Ġ( edited ) Ġ"*" Ġelse Ġ"") Ġ+ Ġ"</ small ></ small >" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). parse As Html () ĊĠĠĠĠĠĠĠ Ġis Edited Ġ= Ġedited ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġprevious Mode : ĠP xer View . Mode ĊĊĠĠĠ Ġprivate Ġvar Ġbinding : ĠActivity Drawing Binding ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠmContext Ġ= Ġthis ; ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Drawing Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġbinding !!. root ĊĠĠĠĠĠĠĠ ĠsetContentView ( view ) ĊĊĠĠĠĠĠĠĠ ĠsetTitle ( UNT IT LED , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Toolbar . title Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( binding !!. drawing Toolbar ) ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Toolbar TextView . setText Size ( Typed Value . COMPLEX _ UNIT _ SP , Ġ 2 0 f ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpx er Pref Ġ= Ġget SharedPreferences (" px er Pref ", ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . selected Color Ġ= Ġpx er Pref . getInt (" last Used Color ", ĠColor . YELLOW ) ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . set Drop per CallBack ( this ) ĊĊĠĠĠĠĠĠĠ ĠsetUp Layers View () ĊĠĠĠĠĠĠĠ Ġsetup Control () ĊĊĠĠĠĠĠĠĠ Ġcurrent Project Path Ġ= Ġpx er Pref . getString (" last Opened Project ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġprint ( current Project Path ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! current Project Path . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( current Project Path !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( file . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . load Project ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle ( file . name . strip Extension (), Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( layer Adapter . item Count Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . add ( Layer Thumb Item ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . get Select Extension (). select ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . get Adapter Item ( 0 ). pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠSystem . gc () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Color Dropped ( new Color : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Fab Color . setColor ( new Color ) ĊĠĠĠĠĠĠĠ Ġcp . setColor ( new Color ) ĊĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Fab Drop per . call OnClick () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Post Create ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequested Orientation Ġ= ĠActivity Info . SCREEN _ OR IENTATION _ UNSPECIFIED ĊĠĠĠĠĠĠĠ Ġsuper . on Post Create ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠN eeded Ġfor ĠonClick Ġin Ġlayout ĊĠĠĠ Ġ@ Suppress (" UNUSED _ PARAMETER ") ĊĠĠĠ Ġfun Ġon Project Title Clicked ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġopen Project Manager () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠN eeded Ġfor ĠonClick Ġin Ġlayout ĊĠĠĠ Ġ@ Suppress (" UNUSED _ PARAMETER ") ĊĠĠĠ Ġfun Ġon Toggle Tools Panel ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( binding !!. drawing Tools Card View . isIn visible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Tools Card View . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Tools Card View ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. animate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Interpolator ( Accel erate De cel erate Interpolator ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. translation X ( 0 f ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Tools Card View ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. animate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Interpolator ( Accel erate De cel erate Interpolator ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. translation X (( + binding !!. drawing Tools Card View . width ). toFloat ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with End Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Tools Card View . isIn visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Control () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Tools Card View . post Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Tools Card View . translation X Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( binding !!. drawing Tools Card View . width ). toFloat () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtools Item Adapter Ġ= ĠItem Adapter () ĊĠĠĠĠĠĠĠ Ġtools Adapter Ġ= ĠFast Adapter . with ( tools Item Adapter ) ĊĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Tools RecyclerView . layout Manager Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayoutManager ( this , ĠLinearLayoutManager . VERTICAL , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Tools RecyclerView . adapter Ġ= Ġtools Adapter ĊĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Tools RecyclerView . item Animator Ġ= ĠDefault Item Animator () ĊĊĠĠĠĠĠĠĠ Ġval Ġselect Extension Ġ= Ġtools Adapter . get Select Extension () ĊĠĠĠĠĠĠĠ Ġselect Extension . is Selectable Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġselect Extension . multi Select Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġselect Extension . allow De selection Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġtools Adapter . on ClickListener Ġ= Ġ{ Ġ_, Ġ_, Ġitem , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Tools Fab . setImage Resource ( item . icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( item . icon ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ check _ box _ outline _ blank Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . mode Ġ= ĠP xer View . Mode . Shape Tool ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . shape Tool Ġ= Ġrect Shape Factory ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ remove Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . mode Ġ= ĠP xer View . Mode . Shape Tool ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . shape Tool Ġ= Ġline Shape Factory ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ format _ color _ fill Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . mode Ġ= ĠP xer View . Mode . Fill ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ eras er Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . mode Ġ= ĠP xer View . Mode . Shape Tool ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . shape Tool Ġ= Ġer aser Shape Factory ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ edit Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . mode Ġ= ĠP xer View . Mode . Normal ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwith ( tools Item Adapter ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Tool Item ( R . drawable . ic _ check _ box _ outline _ blank )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Tool Item ( R . drawable . ic _ remove )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Tool Item ( R . drawable . ic _ format _ color _ fill )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Tool Item ( R . drawable . ic _ eras er )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Tool Item ( R . drawable . ic _ edit )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtools Item Adapter . adapter Items . reverse () ĊĠĠĠĠĠĠĠ Ġtools Adapter . get Select Extension (). select ( 0 ) ĊĊĠĠĠĠĠĠĠ Ġcp Ġ= ĠColor Picker ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . selected Color ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġnew Color Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . selected Color Ġ= Ġnew Color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Fab Color . setColor ( new Color ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Fab Color . setOnClickListener ( cp :: show ) ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Fab Undo . setOnClickListener Ġ{ Ġbinding !!. drawing P xer View . undo () Ġ} ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Fab Redo . setOnClickListener Ġ{ Ġbinding !!. drawing P xer View . redo () Ġ} ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Fab Drop per . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binding !!. drawing P xer View . mode Ġ== ĠP xer View . Mode . Drop per ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Fab Undo . show ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Fab Redo . show ( true ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Tools Fab . show ( true ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . mode Ġ= Ġprevious Mode ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Fab Drop per . setImage Resource ( R . drawable . ic _ color ize ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Fab Undo . hide ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Fab Redo . hide ( true ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Tools Fab . hide ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binding !!. drawing Tools Card View . isVisible ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Tools Fab . call OnClick () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprevious Mode Ġ= Ġbinding !!. drawing P xer View . mode ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . mode Ġ= ĠP xer View . Mode . Drop per ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Fab Drop per . setImage Resource ( R . drawable . ic _ close ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetUp Layers View () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Layer Add Card View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . add Layer () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . add ( max ( binding !!. drawing P xer View . current Layer , Ġ 0 ), ĠLayer Thumb Item ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . get Select Extension (). de select () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . get Select Extension (). select ( binding !!. drawing P xer View . current Layer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . get Adapter Item ( binding !!. drawing P xer View . current Layer ). pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Layer RecyclerView . invalidate () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlayer Item Adapter Ġ= ĠItem Adapter () ĊĠĠĠĠĠĠĠ Ġlayer Adapter Ġ= ĠFast Adapter . with ( layer Item Adapter ) ĊĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Layer RecyclerView . layout Manager Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayoutManager ( this , ĠLinearLayoutManager . VERTICAL , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Layer RecyclerView . adapter Ġ= Ġlayer Adapter ĊĊĠĠĠĠĠĠĠ Ġbinding !!. drawing Layer RecyclerView . item Animator Ġ= ĠDefault Item Animator () ĊĠĠĠĠĠĠĠ Ġ( binding !!. drawing Layer RecyclerView . item Animator Ġas ĠDefault Item Animator ). change Duration Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ( binding !!. drawing Layer RecyclerView . item Animator Ġas ĠDefault Item Animator ). add Duration Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ( binding !!. drawing Layer RecyclerView . item Animator Ġas ĠDefault Item Animator ). remove Duration Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġval Ġtouch Callback Ġ= ĠSimple Drag Callback ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġtouch Helper Ġ= ĠItem Touch Helper ( touch Callback ) ĊĠĠĠĠĠĠĠ Ġtouch Helper . attach To RecyclerView ( binding !!. drawing Layer RecyclerView ) ĊĊĠĠĠĠĠĠĠ Ġval Ġselect Extension Ġ= Ġlayer Adapter . get Select Extension () ĊĠĠĠĠĠĠĠ Ġselect Extension . is Selectable Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġselect Extension . multi Select Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġselect Extension . allow De selection Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġlayer Adapter . on Long ClickListener Ġ= Ġ{ Ġ_, Ġ_, Ġitem , Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect Extension . de select () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect Extension . select ( position ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlayer Adapter . on ClickListener Ġ= Ġ{ Ġv , Ġ_, Ġitem , Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ(_ item Ġin Ġlayer Item Adapter . adapter Items ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(!_ item . isSelected ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ item . pressed Time Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( only Show Selected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayer Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . px er Layers [ binding !!. drawing P xer View . current Layer ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer !!. visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . invalidate () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . notify Adapter Item Changed ( binding !!. drawing P xer View . current Layer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . current Layer Ġ= Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( only Show Selected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayer Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . px er Layers [ binding !!. drawing P xer View . current Layer ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer !!. visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . invalidate () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . notify Adapter Item Changed ( binding !!. drawing P xer View . current Layer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item . is Press Second Time ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpopup Menu Ġ= ĠPopup Menu ( this @ Drawing Activity , Ġv !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Menu . inflate ( R . menu . menu _ popup _ layer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Menu . setOn MenuItem ClickListener Ġ{ Ġclicked Item Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Drawing Activity . on Options ItemSelected ( clicked Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Menu . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġitem Touch On Move ( old Position : ĠInt , Ġnew Position : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Edited ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Edited Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . move Layer ( old Position , Ġnew Position ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( old Position Ġ< Ġnew Position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġold Position Ġ+ Ġ 1 .. new Position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCollections . swap ( layer Item Adapter . adapter Items , Ġi , Ġi Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . notify Adapter Item Moved ( i , Ġi Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġold Position Ġ- Ġ 1 Ġdown To Ġnew Position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCollections . swap ( layer Item Adapter . adapter Items , Ġi , Ġi Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . notify Adapter Item Moved ( i , Ġi Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġitem Touch Dropped ( old Position : ĠInt , Ġnew Position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . current Layer Ġ= Ġnew Position ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Layer Update () Ġ{ ĊĠĠĠĠĠĠĠ Ġlayer Item Adapter . clear () ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġbinding !!. drawing P xer View . px er Layers . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . add ( Layer Thumb Item ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlayer Adapter . get Select Extension (). select ( 0 ) ĊĠĠĠĠĠĠĠ Ġlayer Item Adapter . get Adapter Item ( 0 ). pressed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Layer Refresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( binding Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Layer RecyclerView . invalidate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ activity _ drawing , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġmy Filter : ĠFile Filter Ġ= ĊĠĠĠĠĠĠĠ Ġ{ Ġit . isDirectory Ġ|| Ġit . name . endsWith ( P xer View . PX ER _ EXTENSION _ NAME , Ġtrue ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ layers _ only Show Selected Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġonly Show Selected Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . visibility All Layer ( false ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayer 2 Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . px er Layers [ binding !!. drawing P xer View . current Layer ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer 2 !!. visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . invalidate () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . notify Adapter DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ export _ png Ġ-> ĠP ng Export able () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. run Export ( this , Ġbinding !!. drawing P xer View ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ export _ gif Ġ-> ĠG if Export able () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. run Export ( this , Ġbinding !!. drawing P xer View ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ export _ folder Ġ-> ĠFolder Export able () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. run Export ( this , Ġbinding !!. drawing P xer View ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ export _ atlas Ġ-> ĠAtlas Export able () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. run Export ( this , Ġbinding !!. drawing P xer View ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ project _ save Ġ-> Ġbinding !!. drawing P xer View . save ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ project _ manager Ġ-> Ġopen Project Manager () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ project _ open Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial Dialog ( this ). show Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile Chooser ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Ġ= Ġmy Filter , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Directory Ġ= ĠFile ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . get External Files Dir ("/") !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ P xer Studio / Project " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġcontext ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ_, Ġfile Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . load Project ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle ( file . name . strip Extension (), Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Project Path Ġ= Ġfile . path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ project _ new Ġ-> Ġcreate New Project () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ reset View Port Ġ-> Ġbinding !!. drawing P xer View . reset View Port () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ layers _ hide All Ġ-> Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( only Show Selected ) Ġreturn @ run ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . visibility All Layer ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . notify Adapter DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ layers _ show All Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġonly Show Selected Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . visibility All Layer ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . notify Adapter DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ grid On Off Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binding !!. drawing P xer View . show Grid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . setIcon ( R . drawable . ic _ grid _ on ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . setIcon ( R . drawable . ic _ grid _ off ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . show Grid Ġ= Ġ! binding !!. drawing P xer View . show Grid ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ layers Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Layer Card View . pivot X Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( binding !!. drawing Layer Card View . width Ġ/ Ġ 2 ). toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Layer Card View . pivot Y Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binding !!. drawing Layer Card View . isVisible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Layer Card View ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. animate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Interpolator ( Accel erate De cel erate Interpolator ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. alpha ( 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. scale X ( 0 . 8 5 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. scale Y ( 0 . 8 5 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with End Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Layer Card View . isIn visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Layer Card View . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Layer Card View ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. animate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Interpolator ( Accel erate De cel erate Interpolator ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. scale X ( 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. scale Y ( 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. alpha ( 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer _ view . alpha Ġ= Ġ 1 f Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer _ view . scale X Ġ= Ġ 1 f Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer _ view . scale Y Ġ= Ġ 1 f Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( layer _ view . visibility Ġ== ĠView . VISIBLE ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer _ view !!. visibility Ġ= ĠView . IN VISIBLE Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer _ view . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ popup _ layer _ remove Ġ-> Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binding !!. drawing P xer View . px er Layers . size Ġ<= Ġ 1 ) Ġreturn @ run ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprompt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. title ( R . string . remove _ layer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. message ( R . string . remove _ layer _ warning ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. positive Button ( R . string . remove ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. positive Button Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Edited ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Edited Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . remove ( binding !!. drawing P xer View . current Layer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . remove Current Layer () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . get Select Extension (). de select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . get Select Extension () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. select ( binding !!. drawing P xer View . current Layer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . get Adapter Item ( binding !!. drawing P xer View . current Layer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . notify Adapter DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ popup _ layer _ duplicate Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . copy And Paste Current Layer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax ( binding !!. drawing P xer View . current Layer , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayer Thumb Item () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . get Select Extension (). de select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . get Select Extension (). select ( binding !!. drawing P xer View . current Layer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . get Adapter Item ( binding !!. drawing P xer View . current Layer ). pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing Layer RecyclerView . invalidate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ layers _ merge All Ġ-> Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binding !!. drawing P xer View . px er Layers . size Ġ<= Ġ 1 ) Ġreturn @ run ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprompt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. title ( R . string . merge _ all _ layers ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. message ( R . string . merge _ all _ layers _ warning ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. positive Button ( R . string . merge ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. positive Button Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Edited ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Edited Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . merge All Layers () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . add ( Layer Thumb Item ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . get Select Extension (). de select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . get Select Extension (). select ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . get Adapter Item ( 0 ). pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ drawing _ about Ġ-> ĠstartActivity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Drawing Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAbout Activity :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ popup _ layer _ toggle Visibility Ġ-> Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( only Show Selected ) Ġreturn @ run ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayer Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . px er Layers [ binding !!. drawing P xer View . current Layer ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer !!. visible Ġ= Ġ! layer . visible ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . invalidate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . notify Adapter Item Changed ( binding !!. drawing P xer View . current Layer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ popup _ layer _ clear Ġ-> Ġprompt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. title ( R . string . clear _ current _ layer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. message ( R . string . clear _ current _ layer _ warning ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. positive Button ( R . string . clear ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. positive Button Ġ{ Ġbinding !!. drawing P xer View . clear Current Layer () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ popup _ layer _ merge Down Ġ-> Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binding !!. drawing P xer View . current Layer Ġ== Ġbinding !!. drawing P xer View . px er Layers . size Ġ- Ġ 1 ) Ġreturn @ run ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprompt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. title ( R . string . merge _ down _ layer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. message ( R . string . merge _ down _ layer _ warning ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. positive Button ( R . string . merge ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. positive Button Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . merge Down Layer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . remove ( binding !!. drawing P xer View . current Layer Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Adapter . get Select Extension () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. select ( binding !!. drawing P xer View . current Layer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer Item Adapter . get Adapter Item ( binding !!. drawing P xer View . current Layer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Project Manager () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . save ( false ) ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( Intent ( this , ĠProject Manager Activity :: class . java ), Ġ 6 5 9 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠRESULT _ OK Ġ&& Ġrequest Code Ġ== Ġ 6 5 9 Ġ&& Ġdata Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġdata . getString Extra (" selected Project Path ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( path Ġ!= Ġnull Ġ&& Ġpath . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Project Path Ġ= Ġpath ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( file . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . load Project ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle ( file . name . strip Extension (), Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( data . getBoolean Extra (" fileName Changed ", Ġfalse )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Project Path Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . projectName Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecreate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate New Project () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnew project Binding Ġ= ĠDialog Activity Drawing New project Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ Ġval Ġlayout Root Ġ= Ġnew project Binding . root ĊĊĠĠĠĠĠĠĠ Ġval ĠprojectName Edit Ġ= Ġnew project Binding . dialog Drawing Np Name Edit ĊĠĠĠĠĠĠĠ Ġval Ġwidth Seek Bar Ġ= Ġnew project Binding . dialog Drawing Np Width Seek Bar ĊĠĠĠĠĠĠĠ Ġval Ġwidth Text Ġ= Ġnew project Binding . dialog Drawing Np Width ĊĠĠĠĠĠĠĠ Ġval Ġheight Seek Bar Ġ= Ġnew project Binding . dialog Drawing Np Height Seek Bar ĊĠĠĠĠĠĠĠ Ġval Ġheight Text Ġ= Ġnew project Binding . dialog Drawing Np Height ĊĊĠĠĠĠĠĠĠ Ġwidth Seek Bar . max Ġ= Ġ 1 2 7 ĊĠĠĠĠĠĠĠ Ġwidth Seek Bar . progress Ġ= Ġ 3 9 ĊĠĠĠĠĠĠĠ Ġwidth Text . text Ġ= Ġresources . getText ( R . string . width ). toString () Ġ+ Ġ 4 0 ĊĠĠĠĠĠĠĠ Ġwidth Seek Bar . setOn Seek Bar ChangeListener ( object Ġ: ĠSeek Bar . On Seek Bar ChangeListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( seek Bar : ĠSeek Bar , Ġi : ĠInt , Ġb : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Text . text Ġ= Ġresources . getText ( R . string . width ). toString () Ġ+ Ġ( i Ġ+ Ġ 1 ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( seek Bar : ĠSeek Bar ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( seek Bar : ĠSeek Bar ) Ġ{} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġheight Seek Bar . max Ġ= Ġ 1 2 7 ĊĠĠĠĠĠĠĠ Ġheight Seek Bar . progress Ġ= Ġ 3 9 ĊĠĠĠĠĠĠĠ Ġheight Text . text Ġ= Ġresources . getText ( R . string . width ). toString () Ġ+ Ġ 4 0 ĊĠĠĠĠĠĠĠ Ġheight Seek Bar . setOn Seek Bar ChangeListener ( object Ġ: ĠSeek Bar . On Seek Bar ChangeListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( seek Bar : ĠSeek Bar , Ġi : ĠInt , Ġb : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Text . text Ġ= Ġresources . getText ( R . string . width ). toString () Ġ+ Ġ( i Ġ+ Ġ 1 ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( seek Bar : ĠSeek Bar ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( seek Bar : ĠSeek Bar ) Ġ{} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠMaterial Dialog ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. custom View ( view Ġ= Ġlayout Root ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. title ( R . string . new _ project ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. positive Button ( R . string . create ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. negative Button ( android . R . string . cancel ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. positive Button Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( projectName Edit . text . toString (). isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle ( projectName Edit . text . toString (), Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . create Blank Project ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprojectName Edit . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Seek Bar . progress Ġ+ Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Seek Bar . progress Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . save ( false ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġsave State () ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsave State () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpx er Pref Ġ= Ġget SharedPreferences (" px er Pref ", ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġpx er Pref . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" last Opened Project ", Ġcurrent Project Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Int (" last Used Color ", Ġbinding !!. drawing P xer View . selected Color ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! binding !!. drawing P xer View . projectName . isNull OrEmpty () Ġ|| Ġbinding !!. drawing P xer View . projectName Ġ!= ĠU NT IT LED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . save ( false ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. drawing P xer View . save ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Configuration Changed ( new Config : ĠConfiguration ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Configuration Changed ( new Config ) ĊĠĠĠĠĠĠĠ Ġcp . on Config Changes () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠLayer Thumb Item Ġ: ĠAbstract Item < Layer Thumb Item . ViewHolder >() Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġpressed Time Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġval Ġis Press Second Time : ĠBoolean ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġpressed Time Ġ== Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġfun Ġpressed () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpressed Time ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpressed Time Ġ= Ġmin ( 2 , Ġpressed Time ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġtype : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠR . id . item _ layer _ thumb ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġlayout Res : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠR . layout . item _ layer _ thumb ĊĊ Ċ // ĠĠĠĠĠĠĠ Ġoverride Ġfun Ġwith Set Selected ( selected : ĠBoolean ): ĠLayer Thumb Item Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! selected ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpressed Time Ġ= Ġ 0 Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsuper . with Set Selected ( selected ) Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ViewHolder ( v : ĠView ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( v ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinner Ġclass ĠViewHolder ( view : ĠView ) Ġ: ĠFast Adapter . ViewHolder < Layer Thumb Item >( view ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġiv : ĠFast Bitmap View Ġ= Ġview Ġas ĠFast Bitmap View ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind View ( item : ĠLayer Thumb Item , Ġpayload s : ĠList < Any >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv . isSelected Ġ= Ġitem . isSelected ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayer Ġ= Ġbinding !!. drawing P xer View . px er Layers [ layout Position ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv . setVisible ( layer !!. visible ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv . bitmap Ġ= Ġlayer . bitmap ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġun bind View ( item : ĠLayer Thumb Item ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠTool Item ( var Ġicon : ĠInt ) Ġ: ĠAbstract Item < Tool Item . ViewHolder >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġtype : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠR . id . item _ tool ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġlayout Res : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠR . layout . item _ tool Ċ Ċ // ĠĠĠĠĠĠĠ Ġoverride Ġfun Ġis Selectable (): ĠBoolean Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ViewHolder ( v : ĠView ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( v ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinner Ġclass ĠViewHolder ( view : ĠView ) Ġ: ĠFast Adapter . ViewHolder < Tool Item >( view ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġiv : ĠImageView Ġ= Ġview Ġas ĠImageView ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind View ( item : ĠTool Item , Ġpayload s : ĠList < Any >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isSelected ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv . alpha Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv . alpha Ġ= Ġ 0 . 3 f ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv . setImage Resource ( item . icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġun bind View ( item : ĠTool Item ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ