@Override public void onMouseClick(final MsClickedEvent evt) { if (evt.getButton() != MsButtonEvent.LEFT_BUTTON) return; if (recorder == null) { recorder = new PixelRecorder(getContext(), true); } // if click did not happen within the bounds of an ImageDisplay then // just consume event and return if (!recorder.record(evt)) { evt.consume(); return; } final OptionsChannels options = getOptions(); final ChannelCollection values = recorder.getValues(); setChannels(options, values); setLastColor(options, recorder.getColor()); // make sure future options reflect those new values options.save(); // let user know the FG or BG values changed statusMessage(getLabel(), values); recorder.releaseDataset(); evt.consume(); }