public Rectangle localRectangleForDrawable( final Drawable dobj )
{
CoordPixelImage coord_xform;
Rectangle local_rect;
int rowID;
float nesting_ftr;
float rStart, rFinal;
int xloc, yloc, width, height;
// local_rect is created with CanvasTimeline's pixel coordinate system
coord_xform = new CoordPixelImage( this, row_height,
super.getTimeBoundsOfImages() );
xloc = coord_xform.convertTimeToPixel( dobj.getEarliestTime() );
width = coord_xform.convertTimeToPixel( dobj.getLatestTime() )
- xloc;
/* assume RowID and NestingFactor have been calculated */
rowID = dobj.getRowID();
nesting_ftr = dobj.getNestingFactor();
rStart = (float) rowID - nesting_ftr / 2.0f;
rFinal = rStart + nesting_ftr;
yloc = coord_xform.convertRowToPixel( rStart );
height = coord_xform.convertRowToPixel( rFinal ) - yloc;
local_rect = new Rectangle( xloc, yloc, width, height );
return local_rect;
}