Ejemplo n.º 1
0
void ColorCurveCommand::onExecute(Context* context)
{
    // Default curve
    if (!the_curve) {
        // TODO load the curve?

        the_curve = new ColorCurve(ColorCurve::Linear);
        the_curve->addPoint(gfx::Point(0, 0));
        the_curve->addPoint(gfx::Point(255, 255));

        App::instance()->Exit.connect(&on_exit_delete_curve);
    }

    ColorCurveFilter filter;
    filter.setCurve(the_curve);

    FilterManagerImpl filterMgr(context->getActiveDocument(), &filter);
    filterMgr.setTarget(TARGET_RED_CHANNEL |
                        TARGET_GREEN_CHANNEL |
                        TARGET_BLUE_CHANNEL |
                        TARGET_GRAY_CHANNEL |
                        TARGET_ALPHA_CHANNEL);

    ColorCurveWindow window(filter, filterMgr);
    if (window.doModal()) {
        // TODO save the curve?
    }
}
Ejemplo n.º 2
0
void ColorCurveCommand::onExecute(Context* context)
{
  // Default curve
  if (!the_curve) {
    // TODO load the curve?

    the_curve.reset(new ColorCurve(ColorCurve::Linear));
    the_curve->addPoint(gfx::Point(0, 0));
    the_curve->addPoint(gfx::Point(255, 255));
  }

  ColorCurveFilter filter;
  filter.setCurve(the_curve.get());

  FilterManagerImpl filterMgr(context, &filter);
  filterMgr.setTarget(TARGET_RED_CHANNEL |
                      TARGET_GREEN_CHANNEL |
                      TARGET_BLUE_CHANNEL |
                      TARGET_GRAY_CHANNEL |
                      TARGET_ALPHA_CHANNEL);

  ColorCurveWindow window(filter, filterMgr);
  if (window.doModal()) {
    // TODO save the curve?
  }
}