package Ġcom . ang cy o . u ic ore . component Ċ Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . N ine Patch Ċ import Ġandroid . graphics . Rect Ċ import Ġandroid . graphics . drawable . N ine Patch Drawable Ċ import Ġjava . nio . ByteBuffer Ċ import Ġjava . nio . Byte Order Ċ Ċ /** Ċ Ġ* ĠUser : Ġb griff ey Ċ Ġ* ĠDate : Ġ 1 2 / 2 7 / 1 2 Ċ Ġ* ĠTime : Ġ 2 : 3 7 ĠPM Ċ Ġ*/ Ċ object ĠN ine Patch Bitmap Factory Ġ{ ĊĊĠĠĠ Ġ// ĠThe Ġ 9 Ġpatch Ġsegment Ġis Ġnot Ġa Ġsolid Ġcolor . ĊĠĠĠ Ġprivate Ġconst Ġval ĠNO _ COLOR Ġ= Ġ 0 x 0 0 0 0 0 0 0 1 ĊĊĠĠĠ Ġ// ĠThe Ġ 9 Ġpatch Ġsegment Ġis Ġcompletely Ġtransparent . ĊĠĠĠ Ġprivate Ġconst Ġval ĠTRAN SP ARENT _ COLOR Ġ= Ġ 0 x 0 0 0 0 0 0 0 0 ĊĊĠĠĠ Ġfun Ġcreate N ine Path With Cap Insets ( ĊĠĠĠĠĠĠĠ Ġres : ĠResources ?, ĊĠĠĠĠĠĠĠ Ġbitmap : ĠBitmap ?, ĊĠĠĠĠĠĠĠ Ġtop : ĠInt , ĊĠĠĠĠĠĠĠ Ġleft : ĠInt , ĊĠĠĠĠĠĠĠ Ġbottom : ĠInt , ĊĠĠĠĠĠĠĠ Ġright : ĠInt , ĊĠĠĠĠĠĠĠ Ġsrc Name : ĠString ? ĊĠĠĠ Ġ): ĠN ine Patch Drawable Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= Ġget ByteBuffer ( top , Ġleft , Ġbottom , Ġright ) ĊĠĠĠĠĠĠĠ Ġreturn ĠN ine Patch Drawable ( res , Ġbitmap , Ġbuffer . array (), ĠRect (), Ġsrc Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate N ine Patch ( ĊĠĠĠĠĠĠĠ Ġbitmap : ĠBitmap ?, ĊĠĠĠĠĠĠĠ Ġtop : ĠInt , ĊĠĠĠĠĠĠĠ Ġleft : ĠInt , ĊĠĠĠĠĠĠĠ Ġbottom : ĠInt , ĊĠĠĠĠĠĠĠ Ġright : ĠInt , ĊĠĠĠĠĠĠĠ Ġsrc Name : ĠString ? ĊĠĠĠ Ġ): ĠN ine Patch Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= Ġget ByteBuffer ( top , Ġleft , Ġbottom , Ġright ) ĊĠĠĠĠĠĠĠ Ġreturn ĠN ine Patch ( bitmap , Ġbuffer . array (), Ġsrc Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget ByteBuffer ( top : ĠInt , Ġleft : ĠInt , Ġbottom : ĠInt , Ġright : ĠInt ): ĠByteBuffer Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Docs Ġcheck Ġthe ĠN ine Patch Chunk File ĊĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠByteBuffer . allocate ( 5 6 ). order ( Byte Order . native Order ()) ĊĠĠĠĠĠĠĠ Ġ// was Ġtranslated ĊĠĠĠĠĠĠĠ Ġbuffer . put ( 0 x 0 1 . to Byte ()) ĊĠĠĠĠĠĠĠ Ġ// div x Ġsize ĊĠĠĠĠĠĠĠ Ġbuffer . put ( 0 x 0 2 . to Byte ()) ĊĠĠĠĠĠĠĠ Ġ// div y Ġsize ĊĠĠĠĠĠĠĠ Ġbuffer . put ( 0 x 0 2 . to Byte ()) ĊĠĠĠĠĠĠĠ Ġ// color Ġsize ĊĠĠĠĠĠĠĠ Ġbuffer . put ( 0 x 0 2 . to Byte ()) ĊĊĠĠĠĠĠĠĠ Ġ// skip ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( 0 ) ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// padding ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( 0 ) ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( 0 ) ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( 0 ) ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// skip Ġ 4 Ġbytes ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( 0 ) ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( left ) ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( right ) ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( top ) ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( bottom ) ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( NO _ COLOR ) ĊĠĠĠĠĠĠĠ Ġbuffer . put Int ( NO _ COLOR ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbuffer ĊĠĠĠ Ġ} Ċ }