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?
  }
}
Ejemplo n.º 3
0
    ColorCurveWindow(ColorCurveFilter& filter, FilterManagerImpl& filterMgr)
        : FilterWindow("Color Curve", "ColorCurve", &filterMgr,
                       WithChannelsSelector,
                       WithoutTiledCheckBox)
        , m_filter(filter)
        , m_editor(filter.getCurve(), 0, 0, 255, 255)
    {
        m_view.attachToView(&m_editor);
        m_view.setExpansive(true);
        jwidget_set_min_size(&m_view, 128, 64);

        getContainer()->addChild(&m_view);

        m_editor.CurveEditorChange.connect(&ColorCurveWindow::onCurveChange, this);
    }