Exemplo n.º 1
0
  /** This code is executed with busy cursor */
  public void runit(Composition comp, ChangeReason changeReason) {
    BufferedImage src = comp.getFilterSource();

    //        Utils.debugImage(src, "src");

    BufferedImage dest = null;
    try {
      dest = executeForOneLayer(src);
    } catch (Exception e) {
      Layer activeLayer = comp.getActiveLayer();
      String msg =
          String.format(
              "Error while executing the filter '%s'\n"
                  + "composition = '%s'\n"
                  + "layer = '%s'\n"
                  + "mask editing = '%b'",
              getName(), comp.getName(), activeLayer.getName(), activeLayer.isMaskEditing());
      throw new IllegalStateException(msg, e);
    }

    assert dest != null;

    if (changeReason.isPreview()) {
      comp.changePreviewImage(dest, getName(), changeReason);
    } else {
      comp.filterWithoutDialogFinished(dest, changeReason, getName());
    }
  }