package Ġorg . h osh ino 9 . lu og u . paint board Ċ Ċ /** Ċ Ġ* Ġ åĽ¾çīĩ æıĲä¾Ľ èĢħ Ċ Ġ* Ċ Ġ* Ġ[ current ] ĠæıĲ ä¾Ľ å½ĵåīį ç»ĺ çĶ» çļĦ çĽ¸ å¯¹ åĿĲæłĩ åĴĮ é¢ľèī² Ċ Ġ* Ċ Ġ* Ġ[ next ] Ġ ä½¿ æıĲä¾Ľ èĢħ ç§»åĬ¨ åĪ° ä¸ĭ ä¸Ģä¸ª åĿĲæłĩ Ċ Ġ* Ċ Ġ* ĠæĬ ½ è±¡ åĩº ĠPhoto Provider Ġåı¯ä»¥ æĶ¯æĮģ åĲĦç§į ç»ĺ çĶ» çŃĸçķ¥ Ċ Ġ*/ Ċ interface ĠPhoto Provider Ġ{ Ċ ĉ fun Ġcurrent (): ĠPair < Pos , ĠInt ?> Ċ ĉ fun Ġnext () Ċ } Ċ Ċ /** Ċ Ġ* Ġé»ĺè®¤ ç»ĺ çĶ» çŃĸçķ¥ ï¼ļ é¡ºåºı å¼ı Ċ Ġ* Ċ Ġ* Ġä¼ļ æ² ¿ çĿĢ åŀ Ĥ çĽ´ æĸ¹åĲĳ è¿Ľè¡Į ç»ĺ çĶ» Ċ Ġ* Ċ Ġ* Ġ@ param Ġphoto Ġ çĽ®æłĩ åĽ¾çīĩ Ċ Ġ*/ Ċ class ĠDefault Photo Provider ( val Ġphoto : ĠBoard ) Ġ: ĠPhoto Provider Ġ{ Ċ ĉ private Ġvar Ġoffset Ġ= ĠPos ( 0 , Ġ 0 ) Ċ ĉ private Ġval Ġcurrent Color : ĠInt ? Ċĉ ĉ get () Ġ{ Ċĉĉ ĉ return Ġphoto [ offset ] Ċĉ ĉ } ĊĊ ĉ private Ġfun Ġnext Pos () Ġ{ Ċĉ ĉ offset Ġ= ĠPos ( offset . x Ġ+ Ġ 1 , Ġoffset . y ) ĊĊĉ ĉ if Ġ( photo . width Ġ== Ġoffset . x ) Ġ{ Ċĉĉ ĉ offset Ġ= ĠPos ( 0 , Ġoffset . y Ġ+ Ġ 1 ) Ċĉ ĉ } ĊĊĉ ĉ if Ġ( photo . height Ġ== Ġoffset . y ) Ġ{ Ċĉĉ ĉ offset Ġ= ĠPos ( 0 , Ġ 0 ) Ċĉ ĉ } Ċ ĉ } ĊĊ ĉ override Ġfun Ġcurrent (): ĠPair < Pos , ĠInt ?> Ġ{ Ċĉ ĉ return Ġoffset Ġto Ġcurrent Color Ċ ĉ } ĊĊ ĉ override Ġfun Ġnext () Ġ{ Ċĉ ĉ next Pos () Ċ ĉ } Ċ }