[calligra] krita/ui/openrastertk: load openraster blending modes

Cyrille Berger Skott cberger at cberger.net
Fri May 13 11:10:02 CEST 2011


Hi,

This commit break compilation:
http://my.cdash.org/viewBuildError.php?buildid=187032

On Friday 13 May 2011, Boudewijn Rempt wrote:
> Git commit 15f2a481ef742bc6f0ded66ca854d29ae6f712ac by Boudewijn Rempt.
> Committed on 13/05/2011 at 02:36.
> Pushed by rempt into branch 'master'.
> 
> load openraster blending modes
> 
> These are defined as a subset of svg blending modes.
> 
> M  +18   -0    krita/ui/openrastertk/kis_open_raster_stack_load_visitor.cpp
> M  +12   -0    krita/ui/openrastertk/kis_open_raster_stack_save_visitor.cpp
> 
> http://commits.kde.org/calligra/15f2a481ef742bc6f0ded66ca854d29ae6f712ac
> 
> diff --git a/krita/ui/openrastertk/kis_open_raster_stack_load_visitor.cpp
> b/krita/ui/openrastertk/kis_open_raster_stack_load_visitor.cpp index
> c1f65ab..d111175 100644
> --- a/krita/ui/openrastertk/kis_open_raster_stack_load_visitor.cpp
> +++ b/krita/ui/openrastertk/kis_open_raster_stack_load_visitor.cpp
> @@ -31,6 +31,7 @@
>  #include <filter/kis_filter_registry.h>
>  #include <kis_group_layer.h>
>  #include <kis_image.h>
> +#include <KoCompositeOp.h>
> 
>  #include <kis_paint_layer.h>
>  #include <kis_png_converter.h>
> @@ -104,6 +105,23 @@ void
> KisOpenRasterStackLoadVisitor::loadLayerInfo(const QDomElement& elem,
> KisLa layer->setName(elem.attribute("name"));
>      layer->setX(elem.attribute("x").toInt());
>      layer->setY(elem.attribute("y").toInt());
> +
> +    if (compop == "svg:clear") layer->setCompositeOp(COMPOSITE_CLEAR);
> +    if (compop == "svg:src-over") layer->setCompositeOp(COMPOSITE_OVER);
> +    if (compop == "svg:add") layer->setCompositeOp(COMPOSITE_ADD);
> +    if (compop == "svg:multiply") layer->setCompositeOp(COMPOSITE_MULT);
> +    if (compop == "svg:screen") layer->setCompositeOp(COMPOSITE_SCREEN);
> +    if (compop == "svg:overlay") layer->setCompositeOp(COMPOSITE_OVERLAY);
> +    if (compop == "svg:darken") layer->setCompositeOp(COMPOSITE_DARKEN);
> +    if (compop == "svg:lighten") layer->setCompositeOp(COMPOSITE_LIGHTEN);
> +    if (compop == "svg:color-dodge")
> layer->setCompositeOp(COMPOSITE_DODGE); +    if (compop ==
> "svg:color-burn") layer->setCompositeOp(COMPOSITE_BURN); +    if (compop
> == "svg:hard-light") layer->setCompositeOp(COMPOSITE_HARD_LIGHT); +    if
> (compop == "svg:soft-light") layer->setCompositeOp(COMPOSITE_SOFT_LIGHT);
> +    if (compop == "svg:difference")
> layer->setCompositeOp(COMPOSITE_DIFF); +
> +    qDebug() << ">>>>>" << compop << layer->compositeOpId();
> +
>  }
> 
>  void KisOpenRasterStackLoadVisitor::loadAdjustmentLayer(const QDomElement&
> elem, KisAdjustmentLayerSP aL) diff --git
> a/krita/ui/openrastertk/kis_open_raster_stack_save_visitor.cpp
> b/krita/ui/openrastertk/kis_open_raster_stack_save_visitor.cpp index
> bf481f5..173df08 100644
> --- a/krita/ui/openrastertk/kis_open_raster_stack_save_visitor.cpp
> +++ b/krita/ui/openrastertk/kis_open_raster_stack_save_visitor.cpp
> @@ -22,6 +22,7 @@
>  #include <QImage>
> 
>  #include <KoStore.h>
> +#include <KoCompositeOp.h>
> 
>  #include "kis_adjustment_layer.h"
>  #include "filter/kis_filter.h"
> @@ -31,6 +32,7 @@
>  #include <generator/kis_generator_layer.h>
>  #include "kis_open_raster_save_context.h"
> 
> +
>  struct KisOpenRasterStackSaveVisitor::Private {
>      Private() : currentElement(0) {}
>      KisOpenRasterSaveContext* saveContext;
> @@ -52,6 +54,16 @@ void
> KisOpenRasterStackSaveVisitor::saveLayerInfo(QDomElement& elt, KisLayer*
> la {
>      elt.setAttribute("name", layer->name());
>      elt.setAttribute("opacity", layer->opacity() / 255.0);
> +
> +    QString compop = layer->compositeOpId();
> +    if (layer->compositeOpId() == COMPOSITE_OVER) compop = "src-over";
> +    else if (layer->compositeOpId() == COMPOSITE_BURN) compop =
> "color-burn"; +    else if (layer->compositeOpId() == COMPOSITE_DODGE)
> compop = "color-dodge"; +    else if (layer->compositeOpId() ==
> COMPOSITE_HARD_LIGHT) compop = "hard-light"; +    else if
> (layer->compositeOpId() == COMPOSITE_SOFT_LIGHT) compop = "soft-light"; + 
>   else if (layer->compositeOpId() == COMPOSITE_DIFF) compop =
> "difference"; +
> +    elt.setAttribute("composite-op", "svg:" + compop);
>  }
> 
>  bool KisOpenRasterStackSaveVisitor::visit(KisPaintLayer *layer)


-- 
Cyrille Berger Skott


More information about the kimageshop mailing list