package Ġcom . github . gr ish berg . profiler . chart Ċ Ċ import Ġcom . github . gr ish berg . profiler . common . App Logger Ċ import Ġcom . github . gr ish berg . profiler . common . Simple Mouse Listener Ċ import Ġjava . awt . Dimension Ċ import Ġjava . awt . Graphics Ċ import Ġjava . awt . event . MouseEvent Ċ import Ġjava . awt . image . Buffered Image Ċ import Ġjavax . swing . JPanel Ċ import Ġjavax . swing . UI Manager Ċ Ċ private Ġconst Ġval ĠPAN EL _ HEIGHT Ġ= Ġ 3 2 Ċ Ċ interface ĠOn Preview Clicked Action Ġ{ ĊĠĠĠ Ġfun Ġon Preview Clicked ( offset In Percent : ĠDouble ) Ċ } Ċ Ċ class ĠCall Trace Preview Panel ( ĊĠĠĠ Ġprivate Ġval Ġlogger : ĠApp Logger Ċ ) Ġ: ĠJPanel () Ġ{ ĊĠĠĠ Ġvar Ġpreview Clicked Action : ĠOn Preview Clicked Action ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġimage : ĠBufferedImage ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrep aint () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġpreferred Size Ġ= ĠDimension ( 4 8 , ĠPAN EL _ HEIGHT ) ĊĠĠĠĠĠĠĠ Ġadd Mouse Listener ( object Ġ: ĠSimple Mouse Listener () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmouse Left Clicked ( e : ĠMouseEvent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreview Clicked Action ?. on Preview Clicked ( e . x Ġ/ Ġwidth . toDouble ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpaint Component ( graphics : ĠGraphics ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . paint Component ( graphics ) ĊĠĠĠĠĠĠĠ Ġgraphics . color Ġ= ĠUI Manager . getColor (" Panel . background ") ĊĠĠĠĠĠĠĠ Ġgraphics . fillRect ( 0 , Ġ 0 , Ġwidth , Ġheight ) ĊĊĠĠĠĠĠĠĠ Ġimage ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgraphics . drawImage ( it , Ġ 0 , Ġ 0 , Ġwidth , Ġheight , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġimage Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġrep aint () ĊĠĠĠ Ġ} Ċ } Ċ