private void onMouseExited(MouseEvent event) {
   BoundableRenderable oldTarget = this.mousePressTarget;
   if (oldTarget != null) {
     this.mousePressTarget = null;
     oldTarget.onMouseDisarmed(event);
   }
 }
 private void onMouseClick(MouseEvent event) {
   Point point = event.getPoint();
   BoundableRenderable r = this.rblock.getRenderable(point);
   if (r != null) {
     Rectangle bounds = r.getBounds();
     r.onMouseClick(event, point.x - bounds.x, point.y - bounds.y);
   }
 }
 private Rectangle getAbsoluteBounds(BoundableRenderable br) {
   int x = 0;
   int y = 0;
   Renderable parent = br;
   while (parent instanceof BoundableRenderable) {
     BoundableRenderable current = (BoundableRenderable) parent;
     Rectangle bounds = current.getBounds();
     x += bounds.x;
     y += bounds.y;
     parent = current.getParent();
   }
   Rectangle oldBounds = br.getBounds();
   return new Rectangle(x, y, oldBounds.width, oldBounds.height);
 }
 private void onMouseReleased(MouseEvent event) {
   Point point = event.getPoint();
   BoundableRenderable r = this.rblock.getRenderable(point);
   if (r != null) {
     Rectangle bounds = r.getBounds();
     r.onMouseReleased(event, point.x - bounds.x, point.y - bounds.y);
   }
   BoundableRenderable oldTarget = this.mousePressTarget;
   if (oldTarget != null) {
     this.mousePressTarget = null;
     if (oldTarget != r) {
       oldTarget.onMouseDisarmed(event);
     }
   }
 }
 private void onMousePressed(MouseEvent event) {
   this.requestFocus();
   Point point = event.getPoint();
   BoundableRenderable r = this.rblock.getRenderable(point);
   if (r != null) {
     this.mousePressTarget = r;
     Rectangle bounds = r.getBounds();
     int rx = point.x - bounds.x;
     int ry = point.y - bounds.y;
     r.onMousePressed(event, rx, ry);
     RenderablePoint rp = r.getRenderablePoint(rx, ry);
     if (rp != null) {
       this.frameContext.resetSelection(rp);
     } else {
       this.frameContext.resetSelection(null);
     }
   } else {
     this.frameContext.resetSelection(null);
   }
 }