@ file : Suppress (" Member Visibility Can Be Private ") Ċ Ċ package Ġcom . ke qi ang . table . kotlin . render Ċ Ċ import Ġandroid . graphics .* Ċ import Ġcom . ke qi ang . table . R Ċ import Ġcom . ke qi ang . table . kotlin . Table Config Ċ import Ġcom . ke qi ang . table . kotlin . interfaces . IT able Ċ import Ġcom . ke qi ang . table . kotlin . model . Cell Ċ import Ġcom . ke qi ang . table . kotlin . model . Drag Change Size Type Ċ import Ġcom . ke qi ang . table . kotlin . model . Show Cell Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* Ġ ç¡®å®ļ åįķåħĥ æł¼ ä½įç½® ï¼Į åĽºå®ļ è¡Į åĪĹ éĢ»è¾ĳ Ċ Ġ* Ġ< br ></ br > create Ġby Ġæ ± ª é«ĺ çļ ĸ Ġon Ġ 2 0 1 9 / 1 / 1 9 Ġ 1 5 : 0 0 Ċ Ġ*/ Ċ open Ġclass ĠTable Render < T Ġ: ĠCell >( protected Ġval Ġm Table : ĠI Table < T >) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è¡¨ æł¼ å®ŀéĻħ å¤§å°ı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġactual Size Rect : ĠRect ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Temp Actual Size Rect Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Temp Actual Size Rect Ġ= ĠRect () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Temp Actual Size Rect !!. set ( m Actual Size Rect ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġm Temp Actual Size Rect Ġas ĠRect ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çķĮéĿ¢ åı¯ è§ģ èĮĥåĽ´ è¢« ç»ĺ åĪ¶ åĩº æĿ¥çļĦ åįķåħĥ æł¼ , Ġåıª è¯» ( ä½Ĩ è¿Ļ åıªèĥ½ éĻĲåĪ¶ éĽĨåĲĪ , Ġ å¯¹äºİ éĽĨåĲĪ åħĥç´ł Show Cell æĹł æķĪ , Ġ åĽłæŃ¤ å»ºè®® ä¸įè¦ģ ä¿®æĶ¹ Show Cell åĨħå®¹ , Ġ åĲ¦åĪĻ åı¯èĥ½ å¯¼èĩ´ ç»ĺ åĪ¶ , Ġ çĤ¹åĩ» çŃī åĩºçİ° éĿŀ é¢Ħ æľŁ éĶĻè¯¯ )ãĢĤ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ åįķåħĥ æł¼ åľ¨ éĽĨåĲĪ ä¸Ń ä½įç½® ä¼ĺåħĪ çº§ ï¼ļ è¡Į åĪĹ åĿĩ åĽºå®ļ Ġ> Ġ è¡Į åĽºå®ļ Ġ> Ġ åĪĹ åĽºå®ļ Ġ> Ġ è¡Į åĪĹ åĿĩ ä¸į åĽºå®ļ ï¼Į è¿Ļ ä¹Łæĺ¯ ç»ĺ åĪ¶ çļĦ ä¼ĺåħĪ çº§ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġshow Cells : ĠList < Show Cell > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġm Show Cells ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĶ¨äºİ è£ ģ åī ª çĶ» å¸ĥ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġvar Ġm Clip Rect : ĠRect Ġ= ĠRect () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è¡¨ æł¼ å®ŀéĻħ å¤§å°ı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġvar Ġm Actual Size Rect : ĠRect Ġ= ĠRect () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĶ¨äºİ è¿ĶåĽŀ çľŁ å®ŀ è¡¨ æł¼ å¤§å°ı ï¼Į éĺ² æŃ¢ å¤ĸéĥ¨ ä¿®æĶ¹ m Actual Size Rect ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġvar Ġm Temp Actual Size Rect : ĠRect ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĶ¨äºİ ä¸´ æĹ¶ æİĴåºı è¡Į åĪĹ åĽºå®ļ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġvar Ġm Temp Fix : ĠMutable List < Int > Ġ= ĠArrayList () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĽºå®ļ è¡Į åĪĹ æķ°æį® åįĩ åºı æİĴåºı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġvar Ġm Fix Asc Comparator : Ġ( Int , ĠInt ) Ġ-> ĠInt Ġ= Ġ{ Ġo 1 : ĠInt , Ġo 2 : ĠInt Ġ-> ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġo 1 Ġ< Ġo 2 Ġ-> Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġo 1 Ġ== Ġo 2 Ġ-> Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĽºå®ļ è¡Į åĪĹ æķ°æį® éĻį åºı æİĴåºı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġvar Ġm Fix Desc Comparator : Ġ( Int , ĠInt ) Ġ-> ĠInt Ġ= Ġ{ Ġo 1 : ĠInt , Ġo 2 : ĠInt Ġ-> ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġo 1 Ġ< Ġo 2 Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġo 1 Ġ== Ġo 2 Ġ-> Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ- 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çķĮéĿ¢ åı¯ è§ģ çļĦ åįķåħĥ æł¼ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġm Show Cells : ĠMutable List < Show Cell > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»ĺ åĪ¶ èĴ Ļ å±Ĥ Paint ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġm Mask Paint : ĠPaint ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è¡Į æĶ¹åıĺ è¡Į é«ĺ æĹ¶çļĦ æĮĩ ç¤º åĻ¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġm Row Drag Bitmap : ĠBitmap ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĪĹ æĶ¹åıĺ åĪĹ å®½ æĹ¶çļĦ æĮĩ ç¤º åĻ¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġm Column Drag Bitmap : ĠBitmap ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è¡Į åĪĹ å®½ é«ĺ åĲĮæĹ¶ æĶ¹åıĺ çļĦ æĮĩ ç¤º åĻ¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġm Row Column Drag Bitmap : ĠBitmap ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġm Show Cells Ġ= ĠArrayList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæľ¬ æ¬¡ ç»ĺ åĪ¶ æĺ¯åĲ¦ çĶŁ æķĪ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġ` false ` æ²¡æľī æī§è¡Į ç»ĺ åĪ¶ æĵįä½ľ ï¼Į ` true ` ä»¥ éĩįæĸ° ç»ĺ åĪ¶ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdraw ( canvas : ĠCanvas ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtable Data Ġ= Ġm Table . table Data ĊĠĠĠĠĠĠĠ Ġval Ġshow Rect Ġ= Ġm Table . show Rect ĊĊĠĠĠĠĠĠĠ Ġval Ġtotal Row Ġ= Ġtable Data . total Row ĊĠĠĠĠĠĠĠ Ġval Ġtotal Column Ġ= Ġtable Data . total Column ĊĠĠĠĠĠĠĠ Ġif Ġ( total Row Ġ== Ġ 0 Ġ|| Ġtotal Column Ġ== Ġ 0 Ġ|| Ġshow Rect . width () Ġ== Ġ 0 Ġ|| Ġshow Rect . height () Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠShow Cell . recycle Instances ( m Show Cells ) ĊĠĠĠĠĠĠĠ Ġm Show Cells . clear () ĊĠĠĠĠĠĠĠ Ġstatistics Table Actual Size () ĊĠĠĠĠĠĠĠ Ġif Ġ( show Rect . width () Ġ>= Ġm Actual Size Rect . width ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Table . touch Helper . scroll X Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( show Rect . width () Ġ+ Ġm Table . touch Helper . scroll X Ġ>= Ġm Actual Size Rect . width ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Table . touch Helper . scroll X Ġ= Ġm Actual Size Rect . width () Ġ- Ġshow Rect . width () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( show Rect . height () Ġ>= Ġm Actual Size Rect . height ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Table . touch Helper . scroll Y Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( show Rect . height () Ġ+ Ġm Table . touch Helper . scroll Y Ġ>= Ġm Actual Size Rect . height ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Table . touch Helper . scroll Y Ġ= Ġm Actual Size Rect . height () Ġ- Ġshow Rect . height () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġfix Top Row Height Ġ= Ġdraw Row Fix Top ( canvas ) ĊĠĠĠĠĠĠĠ Ġval Ġfix Bottom Row Height Ġ= Ġdraw Row Fix Bottom ( canvas , Ġfix Top Row Height ) ĊĠĠĠĠĠĠĠ Ġif Ġ( fix Top Row Height Ġ+ Ġfix Bottom Row Height Ġ>= Ġshow Rect . height ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġfix Left Column Width Ġ= Ġdraw Column Fix Left ( canvas , Ġfix Top Row Height , Ġfix Bottom Row Height ) ĊĠĠĠĠĠĠĠ Ġval Ġfix Right Column Width Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Column Fix Right ( canvas , Ġfix Top Row Height , Ġfix Bottom Row Height , Ġfix Left Column Width ) ĊĠĠĠĠĠĠĠ Ġif Ġ( fix Left Column Width Ġ+ Ġfix Right Column Width Ġ>= Ġshow Rect . width ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdraw None Fix Cell ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfix Left Column Width , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfix Top Row Height , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfix Right Column Width , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfix Bottom Row Height ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»Łè®¡ è¡¨ æł¼ å®ŀéĻħ çļĦ å¤§å°ı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġstatistics Table Actual Size () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtable Data Ġ= Ġm Table . table Data ĊĠĠĠĠĠĠĠ Ġval Ġrows Ġ= Ġtable Data . rows ĊĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= Ġtable Data . columns ĊĊĠĠĠĠĠĠĠ Ġvar Ġtotal Row Height Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġtotal Column Width Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ( row Ġin Ġrows ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Row Height Ġ+= Ġrow . height ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( column Ġin Ġcolumns ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Column Width Ġ+= Ġcolumn . width ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġm Actual Size Rect . set ( 0 , Ġ 0 , Ġtotal Column Width , Ġtotal Row Height ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»ĺ åĪ¶ æĹł éľĢ åĽº å®ļçļĦ åįķåħĥ æł¼ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġdraw None Fix Cell ( ĊĠĠĠĠĠĠĠ Ġcanvas : ĠCanvas , ĊĠĠĠĠĠĠĠ Ġfix Left Column Width : ĠInt , ĊĠĠĠĠĠĠĠ Ġfix Top Row Height : ĠInt , ĊĠĠĠĠĠĠĠ Ġfix Right Column Width : ĠInt , ĊĠĠĠĠĠĠĠ Ġfix Bottom Row Height : ĠInt ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshow Rect Ġ= Ġm Table . show Rect ĊĠĠĠĠĠĠĠ Ġm Clip Rect . set ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfix Left Column Width , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfix Top Row Height , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Rect . width () Ġ- Ġfix Right Column Width , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Rect . height () Ġ- Ġfix Bottom Row Height ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠ Ġcanvas . clip Rect ( m Clip Rect ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrows Ġ= Ġm Table . table Data . rows ĊĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= Ġm Table . table Data . columns ĊĠĠĠĠĠĠĠ Ġvar Ġtop Ġ= Ġ- m Table . touch Helper . scroll Y ĊĠĠĠĠĠĠĠ Ġval Ġi Cell Draw Ġ= Ġm Table . cell Draw ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġrows . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( top Ġ>= Ġshow Rect . height () Ġ- Ġfix Bottom Row Height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrow Ġ= Ġrows [ i ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( top Ġ+ Ġrow . height Ġ<= Ġfix Top Row Height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ+= Ġrow . height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġleft Ġ= Ġ- m Table . touch Helper . scroll X ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġcolumns . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( left Ġ>= Ġshow Rect . width () Ġ- Ġfix Right Column Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolumn Ġ= Ġcolumns [ j ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( left Ġ+ Ġcolumn . width Ġ<= Ġfix Left Column Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ+= Ġcolumn . width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . save () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Rect . set ( left , Ġtop , Ġcolumn . width Ġ+ Ġleft , Ġrow . height Ġ+ Ġtop ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . clip Rect ( m Clip Rect ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Show Cells . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠShow Cell . getInstance ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi , Ġj , Ġm Clip Rect , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Row Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Column Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi Cell Draw ?. on Cell Draw ( m Table , Ġcanvas , Ġrow . cells [ j ], Ġm Clip Rect , Ġi , Ġj ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Mask ( canvas , Ġm Clip Rect , Ġi , Ġj ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ+= Ġcolumn . width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ+= Ġrow . height ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»ĺ åĪ¶ åĽºå®ļ åľ¨ é¡¶ éĥ¨ çļĦ è¡Į ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġ åĽºå®ļ åľ¨ é¡¶ éĥ¨ çļĦ è¡Į æĢ» é«ĺåº¦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġdraw Row Fix Top ( canvas : ĠCanvas ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtable Config Ġ= Ġm Table . table Config ĊĠĠĠĠĠĠĠ Ġif Ġ( table Config . row Top Fix . isEmpty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ! table Config . is High Light Select Column ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġtable Config . column Drag Change Width Type Ġ== ĠDrag Change Size Type . NONE ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Temp Fix . clear () ĊĠĠĠĠĠĠĠ Ġif Ġ( table Config . row Top Fix . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Temp Fix . addAll ( table Config . row Top Fix ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCollections . sort ( m Temp Fix , Ġm Fix Asc Comparator ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( table Config . is High Light Select Column Ġ|| Ġtable Config . column Drag Change Width Type Ġ!= ĠDrag Change Size Type . NONE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! m Temp Fix . contains ( 0 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Temp Fix . add ( 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġshow Width Ġ= Ġm Table . show Rect . width () ĊĠĠĠĠĠĠĠ Ġval Ġrows Ġ= Ġm Table . table Data . rows ĊĊĠĠĠĠĠĠĠ Ġvar Ġfix Top Row Height Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ// Ġ ç¦» table é¡¶ éĥ¨ çļĦ è·Ŀç¦» ĊĠĠĠĠĠĠĠ Ġvar Ġpre Top Ġ= Ġ- m Table . touch Helper . scroll Y ĊĠĠĠĠĠĠĠ Ġvar Ġpre Start Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġm Temp Fix . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp Row Top Fix Ġ= Ġm Temp Fix [ i ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġpre Start Ġuntil Ġtemp Row Top Fix ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpre Top Ġ+= Ġrows [ j ]. height ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pre Top Ġ>= Ġfix Top Row Height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġå¦Ĥæŀľ åĽºå®ļ è¡Į é¡¶ éĥ¨ ç¦» Table é¡¶ éĥ¨ é«ĺåº¦ æ¯Ķ ä¹ĭåīį å·²ç»ı åĽº å®ļçļĦ è¡Į é«ĺåº¦ ç» ¼ æĢ» åĴĮ å¤§ ï¼Į åĪĻ æĹł éľĢ åĽºå®ļ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpre Start Ġ= Ġtemp Row Top Fix ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrow Ġ= Ġrows [ temp Row Top Fix ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom Ġ= Ġfix Top Row Height Ġ+ Ġrow . height ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfix Left Column Width Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Column Fix Left For Fix Row ( canvas , Ġtemp Row Top Fix , Ġfix Top Row Height , Ġbottom ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfix Right Column Width Ġ= Ġdraw Column Fix Right For Fix Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp Row Top Fix , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Top Row Height , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Left Column Width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fix Left Column Width Ġ+ Ġfix Right Column Width Ġ>= Ġshow Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Top Row Height Ġ+= Ġrow . height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw None Fix Cell For Fix Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp Row Top Fix , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Top Row Height , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Top Row Height Ġ+ Ġrow . height , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Left Column Width , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Right Column Width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfix Top Row Height Ġ+= Ġrow . height ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfix Top Row Height ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»ĺ åĪ¶ åĽºå®ļ åľ¨ åºķ éĥ¨ çļĦ è¡Į ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġ åĽºå®ļ åľ¨ åºķ éĥ¨ çļĦ è¡Į æĢ» é«ĺåº¦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġdraw Row Fix Bottom ( canvas : ĠCanvas , Ġfix Row Top Height : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshow Height Ġ= Ġm Table . show Rect . height () ĊĠĠĠĠĠĠĠ Ġval Ġactual Size Rect Ġ= Ġm Table . actual Size Rect ĊĠĠĠĠĠĠĠ Ġval Ġtable Config Ġ= Ġm Table . table Config ĊĊĠĠĠĠĠĠĠ Ġif Ġ( table Config . row Bottom Fix . isEmpty () Ġ|| Ġactual Size Rect . height () Ġ<= Ġshow Height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Temp Fix . clear () ĊĠĠĠĠĠĠĠ Ġm Temp Fix . addAll ( table Config . row Bottom Fix ) ĊĠĠĠĠĠĠĠ ĠCollections . sort ( m Temp Fix , Ġm Fix Desc Comparator ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrows Ġ= Ġm Table . table Data . rows ĊĠĠĠĠĠĠĠ Ġval Ġshow Width Ġ= Ġm Table . show Rect . width () ĊĊĠĠĠĠĠĠĠ Ġvar Ġfix Bottom Row Height Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ// Ġ ç¦» table åºķ éĥ¨ çļĦ è·Ŀç¦» ĊĠĠĠĠĠĠĠ Ġvar Ġpre Bottom Ġ= Ġm Table . touch Helper . scroll Y ĊĠĠĠĠĠĠĠ Ġvar Ġpre Start Ġ= Ġrows . size Ġ- Ġ 1 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġm Temp Fix . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp Row Bottom Fix Ġ= Ġm Temp Fix [ i ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġpre Start Ġdown To Ġtemp Row Bottom Fix Ġ+ Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpre Bottom Ġ+= Ġrows [ j ]. height ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( actual Size Rect . height () Ġ- Ġpre Bottom Ġ<= Ġshow Height Ġ|| Ġshow Height Ġ- Ġfix Bottom Row Height Ġ<= Ġfix Row Top Height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġå¦Ĥæŀľ è¡Į åºķ éĥ¨ æ²¡æľī è¶ħ åĩº å±ı å¹ķ æĪĸ åĽºå®ļ åĲİ åºķ éĥ¨ é«ĺåº¦ æ¯Ķ åĽºå®ļ åľ¨ é¡¶ éĥ¨ çļĦ è¡Į çļĦ æĢ» è¡Į é«ĺ å°ı åĪĻ æĹł éľĢ åĽºå®ļ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpre Start Ġ= Ġtemp Row Bottom Fix ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrow Ġ= Ġrows [ temp Row Bottom Fix ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom Ġ= Ġshow Height Ġ- Ġfix Bottom Row Height ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtop Ġ= Ġbottom Ġ- Ġrow . height ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġclip Row Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bottom Ġ- Ġrow . height Ġ< Ġfix Row Top Height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclip Row Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Rect . set ( 0 , Ġfix Row Top Height , Ġshow Width , Ġbottom ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . clip Rect ( m Clip Rect ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfix Left Column Width Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Column Fix Left For Fix Row ( canvas , Ġtemp Row Bottom Fix , Ġtop , Ġbottom ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfix Right Column Width Ġ= Ġdraw Column Fix Right For Fix Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp Row Bottom Fix , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Left Column Width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fix Left Column Width Ġ+ Ġfix Right Column Width Ġ>= Ġshow Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Bottom Row Height Ġ+= Ġrow . height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw None Fix Cell For Fix Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp Row Bottom Fix , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Left Column Width , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Right Column Width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfix Bottom Row Height Ġ+= Ġrow . height ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( clip Row ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfix Bottom Row Height ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»ĺ åĪ¶ åĽºå®ļ åľ¨ å·¦ è¾¹ çļĦ åĪĹ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġ åĽºå®ļ åľ¨ å·¦ è¾¹ çļĦ åĪĹ æĢ» å®½åº¦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġdraw Column Fix Left ( ĊĠĠĠĠĠĠĠ Ġcanvas : ĠCanvas , ĊĠĠĠĠĠĠĠ Ġfix Top Row Height : ĠInt , ĊĠĠĠĠĠĠĠ Ġfix Bottom Row Height : ĠInt ĊĠĠĠ Ġ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshow Height Ġ= Ġm Table . show Rect . height () ĊĠĠĠĠĠĠĠ Ġval Ġtable Config Ġ= Ġm Table . table Config ĊĊĠĠĠĠĠĠĠ Ġif Ġ( fix Top Row Height Ġ+ Ġfix Bottom Row Height Ġ>= Ġshow Height ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġtable Config . column Left Fix . isEmpty () ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Temp Fix . clear () ĊĠĠĠĠĠĠĠ Ġif Ġ( table Config . column Left Fix . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Temp Fix . addAll ( table Config . column Left Fix ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCollections . sort ( m Temp Fix , Ġm Fix Asc Comparator ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġi Cell Draw Ġ= Ġm Table . cell Draw ĊĠĠĠĠĠĠĠ Ġval Ġrows Ġ= Ġm Table . table Data . rows ĊĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= Ġm Table . table Data . columns ĊĊĠĠĠĠĠĠĠ Ġvar Ġfix Left Column Width Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ// Ġ ç¦» table å·¦ è¾¹ çļĦ è·Ŀç¦» ĊĠĠĠĠĠĠĠ Ġvar Ġpre Width Ġ= Ġ- m Table . touch Helper . scroll X ĊĠĠĠĠĠĠĠ Ġvar Ġpre Start Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġm Temp Fix . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp Column Left Fix Ġ= Ġm Temp Fix [ i ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġpre Start Ġuntil Ġtemp Column Left Fix ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpre Width Ġ+= Ġcolumns [ j ]. width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pre Width Ġ>= Ġfix Left Column Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġå¦Ĥæŀľ åĽºå®ļ åĪĹ å·¦ è¾¹ ç¦» Table å·¦ è¾¹ å®½åº¦ æ¯Ķ ä¹ĭåīį å·²ç»ı åĽº å®ļçļĦ åĪĹ å®½åº¦ ç» ¼ æĢ» åĴĮ å¤§ ï¼Į åĪĻ æĹł éľĢ åĽºå®ļ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpre Start Ġ= Ġtemp Column Left Fix ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolumn Ġ= Ġcolumns [ temp Column Left Fix ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġfix Left Column Width Ġ+ Ġcolumn . width ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Rect . set ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Left Column Width , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Top Row Height , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Height Ġ- Ġfix Bottom Row Height ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . clip Rect ( m Clip Rect ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtop Ġ= Ġ- m Table . touch Helper . scroll Y ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġrows . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrow Ġ= Ġrows [ j ] ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( top Ġ>= Ġshow Height Ġ- Ġfix Bottom Row Height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( top Ġ+ Ġrow . height Ġ<= Ġfix Top Row Height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ+= Ġrow . height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Rect . set ( fix Left Column Width , Ġtop , Ġright , Ġtop Ġ+ Ġrow . height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . clip Rect ( m Clip Rect ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Show Cells . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠShow Cell . getInstance ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj , Ġtemp Column Left Fix , Ġm Clip Rect , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Row Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Column Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi Cell Draw ?. on Cell Draw ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Table , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow . cells [ temp Column Left Fix ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Rect , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp Column Left Fix ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Mask ( canvas , Ġm Clip Rect , Ġj , Ġtemp Column Left Fix ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ+= Ġrow . height ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfix Left Column Width Ġ+= Ġcolumn . width ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfix Left Column Width ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»ĺ åĪ¶ åĽºå®ļ åľ¨ åı³ è¾¹ çļĦ åĪĹ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġ åĽºå®ļ åľ¨ åı³ è¾¹ çļĦ åĪĹ çļĦ æĢ» å®½åº¦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġdraw Column Fix Right ( ĊĠĠĠĠĠĠĠ Ġcanvas : ĠCanvas , ĊĠĠĠĠĠĠĠ Ġfix Top Row Height : ĠInt , ĊĠĠĠĠĠĠĠ Ġfix Bottom Row Height : ĠInt , ĊĠĠĠĠĠĠĠ Ġfix Left Column Width : ĠInt ĊĠĠĠ Ġ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshow Width Ġ= Ġm Table . show Rect . width () ĊĠĠĠĠĠĠĠ Ġval Ġshow Height Ġ= Ġm Table . show Rect . height () ĊĠĠĠĠĠĠĠ Ġval Ġactual Width Ġ= Ġm Table . actual Size Rect . width () ĊĠĠĠĠĠĠĠ Ġval Ġtable Config Ġ= Ġm Table . table Config ĊĊĠĠĠĠĠĠĠ Ġif Ġ( table Config . column Right Fix . isEmpty () Ġ|| Ġactual Width Ġ<= Ġshow Width Ġ|| Ġfix Top Row Height Ġ+ Ġfix Bottom Row Height Ġ>= Ġshow Height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Temp Fix . clear () ĊĠĠĠĠĠĠĠ Ġm Temp Fix . addAll ( table Config . column Right Fix ) ĊĠĠĠĠĠĠĠ ĠCollections . sort ( m Temp Fix , Ġm Fix Desc Comparator ) ĊĊĠĠĠĠĠĠĠ Ġval Ġi Cell Draw Ġ= Ġm Table . cell Draw ĊĠĠĠĠĠĠĠ Ġval Ġrows Ġ= Ġm Table . table Data . rows ĊĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= Ġm Table . table Data . columns ĊĊĠĠĠĠĠĠĠ Ġvar Ġfix Right Column Width Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ// Ġ ç¦» table åı³ è¾¹ çļĦ è·Ŀç¦» ĊĠĠĠĠĠĠĠ Ġvar Ġpre Right Ġ= Ġm Table . touch Helper . scroll X ĊĠĠĠĠĠĠĠ Ġvar Ġpre Start Ġ= Ġcolumns . size Ġ- Ġ 1 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġm Temp Fix . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp Column Right Fix Ġ= Ġm Temp Fix [ i ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġpre Start Ġdown To Ġtemp Column Right Fix Ġ+ Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpre Right Ġ+= Ġcolumns [ j ]. width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( actual Width Ġ- Ġpre Right Ġ<= Ġshow Width Ġ|| Ġshow Width Ġ- Ġfix Right Column Width Ġ<= Ġfix Left Column Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġå¦Ĥæŀľ åĪĹ åºķ å·¦ è¾¹ æ²¡æľī è¶ħ åĩº å±ı å¹ķ æĪĸ åĽºå®ļ åĲİ åı³ è¾¹ å®½åº¦ æ¯Ķ åĽºå®ļ åľ¨ å·¦ è¾¹ çļĦ åĪĹ çļĦ æĢ» å®½åº¦ å°ı åĪĻ æĹł éľĢ åĽºå®ļ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpre Start Ġ= Ġtemp Column Right Fix ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolumn Ġ= Ġcolumns [ temp Column Right Fix ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġshow Width Ġ- Ġfix Right Column Width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġright Ġ- Ġcolumn . width ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Rect . set ( left , Ġfix Top Row Height , Ġright , Ġshow Height Ġ- Ġfix Bottom Row Height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . clip Rect ( m Clip Rect ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtop Ġ= Ġ- m Table . touch Helper . scroll Y ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġrows . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrow Ġ= Ġrows [ j ] ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( top Ġ>= Ġshow Height Ġ- Ġfix Bottom Row Height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( top Ġ+ Ġrow . height Ġ<= Ġfix Top Row Height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ+= Ġrow . height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Rect . set ( left , Ġtop , Ġright , Ġrow . height Ġ+ Ġtop ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . clip Rect ( m Clip Rect ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Show Cells . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠShow Cell . getInstance ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj , Ġtemp Column Right Fix , Ġm Clip Rect , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Row Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Column Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi Cell Draw ?. on Cell Draw ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Table , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow . cells [ temp Column Right Fix ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Rect , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp Column Right Fix ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Mask ( canvas , Ġm Clip Rect , Ġj , Ġtemp Column Right Fix ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ+= Ġrow . height ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfix Right Column Width Ġ+= Ġcolumn . width ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfix Right Column Width ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»ĺ åĪ¶ åĽºå®ļ è¡Į å·¦ åı³ æ»ĳ åĬ¨ æĹ¶ åĽºå®ļ åľ¨ å·¦ è¾¹ çļĦ åĪĹ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġfix Row Ġ åĽºå®ļ è¡Į çļĦ ä¸ĭ æłĩ ĊĠĠĠĠ Ġ* Ġ@ param Ġtop ĠĠĠ Ġ åĽºå®ļ è¡Į é¡¶ éĥ¨ ä½įç½® ĊĠĠĠĠ Ġ* Ġ@ param Ġbottom Ġ åĽºå®ļ è¡Į åºķ éĥ¨ ä½įç½® ĊĠĠĠĠ Ġ* Ġ@ return Ġ åĽºå®ļ åľ¨ å·¦ è¾¹ çļĦ åĪĹ æĢ» å®½åº¦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġdraw Column Fix Left For Fix Row ( ĊĠĠĠĠĠĠĠ Ġcanvas : ĠCanvas , ĊĠĠĠĠĠĠĠ Ġfix Row : ĠInt , ĊĠĠĠĠĠĠĠ Ġtop : ĠInt , ĊĠĠĠĠĠĠĠ Ġbottom : ĠInt ĊĠĠĠ Ġ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtable Config Ġ= Ġm Table . table Config ĊĠĠĠĠĠĠĠ Ġif Ġ( table Config . column Left Fix . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Temp Fix . clear () ĊĠĠĠĠĠĠĠ Ġif Ġ( table Config . column Left Fix . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Temp Fix . addAll ( table Config . column Left Fix ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCollections . sort ( m Temp Fix , Ġm Fix Asc Comparator ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġi Cell Draw Ġ= Ġm Table . cell Draw ĊĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= Ġm Table . table Data . columns ĊĊĠĠĠĠĠĠĠ Ġvar Ġfix Left Column Width Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ// Ġ ç¦» table å·¦ è¾¹ çļĦ è·Ŀç¦» ĊĠĠĠĠĠĠĠ Ġvar Ġpre Width Ġ= Ġ- m Table . touch Helper . scroll X ĊĠĠĠĠĠĠĠ Ġvar Ġpre Start Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġm Temp Fix . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp Column Left Fix Ġ= Ġm Temp Fix [ i ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġpre Start Ġuntil Ġtemp Column Left Fix ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpre Width Ġ+= Ġcolumns [ j ]. width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pre Width Ġ>= Ġfix Left Column Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġå¦Ĥæŀľ åĽºå®ļ åĪĹ å·¦ è¾¹ ç¦» Table å·¦ è¾¹ å®½åº¦ æ¯Ķ ä¹ĭåīį å·²ç»ı åĽº å®ļçļĦ åĪĹ å®½åº¦ ç» ¼ æĢ» åĴĮ å¤§ ï¼Į åĪĻ æĹł éľĢ åĽºå®ļ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpre Start Ġ= Ġtemp Column Left Fix ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolumn Ġ= Ġcolumns [ temp Column Left Fix ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġfix Left Column Width Ġ+ Ġcolumn . width ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Rect . set ( fix Left Column Width , Ġtop , Ġright , Ġbottom ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . clip Rect ( m Clip Rect ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Show Cells . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠShow Cell . getInstance ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Row , Ġtemp Column Left Fix , Ġm Clip Rect , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Row Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Column Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Cell Draw ?. on Cell Draw ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Table , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn . cells [ fix Row ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Rect , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Row , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp Column Left Fix ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Mask ( canvas , Ġm Clip Rect , Ġfix Row , Ġtemp Column Left Fix ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfix Left Column Width Ġ+= Ġcolumn . width ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfix Left Column Width ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»ĺ åĪ¶ åĽºå®ļ è¡Į å·¦ åı³ æ»ĳ åĬ¨ æĹ¶ åĽºå®ļ åľ¨ åı³ è¾¹ çļĦ åĪĹ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġfix Row ĠĠĠĠĠĠĠĠĠĠĠĠ Ġ åĽºå®ļ è¡Į çļĦ ä¸ĭ æłĩ ĊĠĠĠĠ Ġ* Ġ@ param Ġtop ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ åĽºå®ļ è¡Į é¡¶ éĥ¨ ä½įç½® ĊĠĠĠĠ Ġ* Ġ@ param Ġbottom ĠĠĠĠĠĠĠĠĠĠĠĠ Ġ åĽºå®ļ è¡Į åºķ éĥ¨ ä½įç½® ĊĠĠĠĠ Ġ* Ġ@ param Ġfix Left Column Width Ġ åĽºå®ļ åľ¨ å·¦ è¾¹ çļĦ åĪĹ çļĦ å®½åº¦ ĊĠĠĠĠ Ġ* Ġ@ return Ġ åĽºå®ļ åľ¨ åı³ è¾¹ çļĦ åĪĹ æĢ» å®½åº¦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġdraw Column Fix Right For Fix Row ( ĊĠĠĠĠĠĠĠ Ġcanvas : ĠCanvas , ĊĠĠĠĠĠĠĠ Ġfix Row : ĠInt , ĊĠĠĠĠĠĠĠ Ġtop : ĠInt , ĊĠĠĠĠĠĠĠ Ġbottom : ĠInt , ĊĠĠĠĠĠĠĠ Ġfix Left Column Width : ĠInt ĊĠĠĠ Ġ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshow Width Ġ= Ġm Table . show Rect . width () ĊĠĠĠĠĠĠĠ Ġval Ġactual Width Ġ= Ġm Table . actual Size Rect . width () ĊĠĠĠĠĠĠĠ Ġval Ġtable Config Ġ= Ġm Table . table Config ĊĊĠĠĠĠĠĠĠ Ġif Ġ( table Config . column Right Fix . isEmpty () Ġ|| Ġactual Width Ġ<= Ġshow Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Temp Fix . clear () ĊĠĠĠĠĠĠĠ Ġm Temp Fix . addAll ( table Config . column Right Fix ) ĊĠĠĠĠĠĠĠ ĠCollections . sort ( m Temp Fix , Ġm Fix Desc Comparator ) ĊĊĠĠĠĠĠĠĠ Ġval Ġi Cell Draw Ġ= Ġm Table . cell Draw ĊĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= Ġm Table . table Data . columns ĊĊĠĠĠĠĠĠĠ Ġvar Ġfix Right Column Width Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ// Ġ ç¦» table åı³ è¾¹ çļĦ è·Ŀç¦» ĊĠĠĠĠĠĠĠ Ġvar Ġpre Right Ġ= Ġm Table . touch Helper . scroll X ĊĠĠĠĠĠĠĠ Ġvar Ġpre Start Ġ= Ġcolumns . size Ġ- Ġ 1 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġm Temp Fix . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp Column Right Fix Ġ= Ġm Temp Fix [ i ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġpre Start Ġdown To Ġtemp Column Right Fix Ġ+ Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpre Right Ġ+= Ġcolumns [ j ]. width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( actual Width Ġ- Ġpre Right Ġ<= Ġshow Width Ġ|| Ġshow Width Ġ- Ġfix Right Column Width Ġ<= Ġfix Left Column Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġå¦Ĥæŀľ åĪĹ åºķ å·¦ è¾¹ æ²¡æľī è¶ħ åĩº å±ı å¹ķ æĪĸ åĽºå®ļ åĲİ åı³ è¾¹ å®½åº¦ æ¯Ķ åĽºå®ļ åľ¨ å·¦ è¾¹ çļĦ åĪĹ çļĦ æĢ» å®½åº¦ å°ı åĪĻ æĹł éľĢ åĽºå®ļ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpre Start Ġ= Ġtemp Column Right Fix ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolumn Ġ= Ġcolumns [ temp Column Right Fix ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġshow Width Ġ- Ġfix Right Column Width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġright Ġ- Ġcolumn . width ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Rect . set ( left , Ġtop , Ġright , Ġbottom ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . clip Rect ( m Clip Rect ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Show Cells . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠShow Cell . getInstance ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Row , Ġtemp Column Right Fix , Ġm Clip Rect , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Row Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Column Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Cell Draw ?. on Cell Draw ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Table , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn . cells [ fix Row ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Rect , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Row , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp Column Right Fix ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Mask ( canvas , Ġm Clip Rect , Ġfix Row , Ġtemp Column Right Fix ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfix Right Column Width Ġ+= Ġcolumn . width ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfix Right Column Width ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»ĺ åĪ¶ åĽºå®ļ è¡Į å·¦ åı³ æ»ĳ åĬ¨ æĹ¶ æĹł éľĢ åĽº å®ļçļĦ åįķåħĥ æł¼ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġfix Row ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ åĽºå®ļ è¡Į çļĦ ä¸ĭ æłĩ ĊĠĠĠĠ Ġ* Ġ@ param Ġtop ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ åĽºå®ļ è¡Į é¡¶ éĥ¨ ä½įç½® ĊĠĠĠĠ Ġ* Ġ@ param Ġbottom ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ åĽºå®ļ è¡Į åºķ éĥ¨ ä½įç½® ĊĠĠĠĠ Ġ* Ġ@ param Ġfix Left Column Width Ġ Ġ åĽºå®ļ åľ¨ å·¦ è¾¹ çļĦ åĪĹ çļĦ å®½åº¦ ĊĠĠĠĠ Ġ* Ġ@ param Ġfix Right Column Width Ġ åĽºå®ļ åľ¨ åı³ è¾¹ çļĦ åĪĹ çļĦ å®½åº¦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġdraw None Fix Cell For Fix Row ( ĊĠĠĠĠĠĠĠ Ġcanvas : ĠCanvas , ĊĠĠĠĠĠĠĠ Ġfix Row : ĠInt , ĊĠĠĠĠĠĠĠ Ġtop : ĠInt , ĊĠĠĠĠĠĠĠ Ġbottom : ĠInt , ĊĠĠĠĠĠĠĠ Ġfix Left Column Width : ĠInt , ĊĠĠĠĠĠĠĠ Ġfix Right Column Width : ĠInt ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshow Width Ġ= Ġm Table . show Rect . width () ĊĠĠĠĠĠĠĠ Ġm Clip Rect . set ( fix Left Column Width , Ġtop , Ġshow Width Ġ- Ġfix Right Column Width , Ġbottom ) ĊĊĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠ Ġcanvas . clip Rect ( m Clip Rect ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= Ġm Table . table Data . columns ĊĠĠĠĠĠĠĠ Ġval Ġi Cell Draw Ġ= Ġm Table . cell Draw ĊĊĠĠĠĠĠĠĠ Ġvar Ġleft Ġ= Ġ- m Table . touch Helper . scroll X ĊĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġcolumns . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( left Ġ>= Ġshow Width Ġ- Ġfix Right Column Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolumn Ġ= Ġcolumns [ j ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( left Ġ+ Ġcolumn . width Ġ<= Ġfix Left Column Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ+= Ġcolumn . width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Rect . set ( left , Ġtop , Ġcolumn . width Ġ+ Ġleft , Ġbottom ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . clip Rect ( m Clip Rect ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Show Cells . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠShow Cell . getInstance ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Row , Ġj , Ġm Clip Rect , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Row Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfix Column Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Cell Draw ?. on Cell Draw ( m Table , Ġcanvas , Ġcolumn . cells [ fix Row ], Ġm Clip Rect , Ġfix Row , Ġj ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Mask ( canvas , Ġm Clip Rect , Ġfix Row , Ġj ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ+= Ġcolumn . width ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»ĺ åĪ¶ èĴ Ļ å±Ĥ ï¼Į é«ĺ äº ® è¡Į åĪĹ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġdraw Mask ( canvas : ĠCanvas , Ġdraw Rect : ĠRect , Ġrow : ĠInt , Ġcolumn : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtouch Helper Ġ= Ġm Table . touch Helper ĊĠĠĠĠĠĠĠ Ġif Ġ( row Ġ!= Ġtouch Helper . get Need Mask RowIndex () Ġ&& Ġcolumn Ġ!= Ġtouch Helper . get Need Mask Column Index ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( m Mask Paint Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint Ġ= ĠPaint ( Paint . ANTI _ ALIAS _ FLAG ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. stroke Width Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtable Config Ġ= Ġm Table . table Config ĊĠĠĠĠĠĠĠ Ġvar Ġhigh Light Color Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( touch Helper . is Drag Change Size ) Ġtable Config . drag High Light Color Ġelse Ġtable Config . high Light Color ĊĠĠĠĠĠĠĠ Ġval Ġalpha Ġ= ĠColor . alpha ( high Light Color ) ĊĠĠĠĠĠĠĠ Ġhigh Light Color Ġ-= Ġalpha ĊĠĠĠĠĠĠĠ Ġm Mask Paint !!. color Ġ= Ġhigh Light Color ĊĠĠĠĠĠĠĠ Ġif Ġ( touch Helper . get Need Mask RowIndex () Ġ== Ġtouch Helper . get Need Mask Column Index () Ġ&& Ġrow Ġ== Ġ 0 Ġ&& Ġcolumn Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . in set ( 1 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. alpha Ġ= Ġ 2 5 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. style Ġ= ĠPaint . Style . ST RO KE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Rect ( draw Rect , Ġm Mask Paint !! ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. alpha Ġ= Ġalpha ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. style Ġ= ĠPaint . Style . FILL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Rect ( draw Rect , Ġm Mask Paint !! ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ç»ĺ åĪ¶ æĭ ĸ æĭ ½ æĮĩ ç¤º åĻ¨ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! table Config . is Enable Drag Indicator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. alpha Ġ= Ġ 2 5 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( touch Helper . is Drag Change Size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresources Ġ= Ġm Table . view Context . resources ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Row Column Drag Bitmap Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Row Column Drag Bitmap Ġ= ĠBitmap Factory . decode Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable Config . first Row Column Drag Indicator Res ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage Size Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( table Config . first Row Column Drag Indicator Size Ġ== ĠTable Config . INVALID _ VALUE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . get Dimension Pixel Size ( R . dim en . drag _ image _ size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable Config . first Row Column Drag Indicator Size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . left Ġ- Ġif Ġ( table Config . first Row Column Drag Indicator Horizontal Offset Ġ== ĠTable Config . INVALID _ VALUE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . get Dimension Pixel Size ( R . dim en . first _ row _ column _ drag _ image _ horizontal _ offset ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable Config . first Row Column Drag Indicator Horizontal Offset ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtop Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . top Ġ- Ġif Ġ( table Config . first Row Column Drag Indicator Vertical Offset Ġ== ĠTable Config . INVALID _ VALUE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . get Dimension Pixel Size ( R . dim en . first _ row _ column _ drag _ image _ vertical _ offset ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable Config . first Row Column Drag Indicator Vertical Offset ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . set ( left , Ġtop , Ġleft Ġ+ Ġimage Size , Ġtop Ġ+ Ġimage Size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! draw Rect . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Bitmap ( m Row Column Drag Bitmap !! , Ġnull , Ġdraw Rect , Ġm Mask Paint ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( column Ġ== Ġtouch Helper . get Need Mask Column Index ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. style Ġ= ĠPaint . Style . FILL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. alpha Ġ= Ġ 2 5 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Line ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . left . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . top . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . left . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . bottom . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Line ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . right . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . top . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . right . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . bottom . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. alpha Ġ= Ġalpha ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . in set ( 1 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Rect ( draw Rect , Ġm Mask Paint !! ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ç»ĺ åĪ¶ æĭ ĸ æĭ ½ æĮĩ ç¤º åĻ¨ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! table Config . is Enable Drag Indicator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. alpha Ġ= Ġ 2 5 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( row Ġ== Ġ 0 Ġ&& Ġtouch Helper . is Drag Change Size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresources Ġ= Ġm Table . view Context . resources ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Column Drag Bitmap Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Column Drag Bitmap Ġ= ĠBitmap Factory . decode Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable Config . column Drag Indicator Res ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage Size Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( table Config . column Drag Indicator Size Ġ== ĠTable Config . INVALID _ VALUE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . get Dimension Pixel Size ( R . dim en . drag _ image _ size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable Config . row Drag Indicator Size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġdraw Rect . left Ġ+ Ġdraw Rect . width () Ġ/ Ġ 2 Ġ- Ġimage Size Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtop Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . top Ġ- Ġif Ġ( table Config . column Drag Indicator Vertical Offset Ġ== ĠTable Config . INVALID _ VALUE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . get Dimension Pixel Size ( R . dim en . column _ drag _ image _ vertical _ offset ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable Config . column Drag Indicator Vertical Offset ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . set ( left , Ġtop , Ġleft Ġ+ Ġimage Size , Ġtop Ġ+ Ġimage Size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! draw Rect . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Bitmap ( m Column Drag Bitmap !! , Ġnull , Ġdraw Rect , Ġm Mask Paint ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( row Ġ== Ġtouch Helper . get Need Mask RowIndex ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. style Ġ= ĠPaint . Style . FILL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. alpha Ġ= Ġ 2 5 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Line ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . left . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . top . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . right . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . top . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Line ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . left . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . bottom . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . right . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . bottom . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. alpha Ġ= Ġalpha ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . in set ( 0 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Rect ( draw Rect , Ġm Mask Paint !! ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ç»ĺ åĪ¶ æĭ ĸ æĭ ½ æĮĩ ç¤º åĻ¨ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! table Config . is Enable Drag Indicator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mask Paint !!. alpha Ġ= Ġ 2 5 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( column Ġ== Ġ 0 Ġ&& Ġtouch Helper . is Drag Change Size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresources Ġ= Ġm Table . view Context . resources ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Row Drag Bitmap Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Row Drag Bitmap Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap Factory . decode Resource ( resources , Ġtable Config . row Drag Indicator Res ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage Size Ġ= Ġif Ġ( table Config . row Drag Indicator Size Ġ== ĠTable Config . INVALID _ VALUE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . get Dimension Pixel Size ( R . dim en . drag _ image _ size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable Config . row Drag Indicator Size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtop Ġ= Ġdraw Rect . top Ġ+ Ġdraw Rect . height () Ġ/ Ġ 2 Ġ- Ġimage Size Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . left Ġ- Ġif Ġ( table Config . row Drag Indicator Horizontal Offset Ġ== ĠTable Config . INVALID _ VALUE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . get Dimension Pixel Size ( R . dim en . row _ drag _ image _ horizontal _ offset ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable Config . row Drag Indicator Horizontal Offset ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect . set ( left , Ġtop , Ġleft Ġ+ Ġimage Size , Ġtop Ġ+ Ġimage Size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! draw Rect . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Bitmap ( m Row Drag Bitmap !! , Ġnull , Ġdraw Rect , Ġm Mask Paint ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ