Krita Source Code Documentation
Loading...
Searching...
No Matches
KisMetaData::PriorityToFirstMergeStrategy Class Reference

#include <kis_meta_data_merge_strategy_p.h>

+ Inheritance diagram for KisMetaData::PriorityToFirstMergeStrategy:

Public Member Functions

QString description () const override
 
QString id () const override
 
void merge (Store *dst, QList< const Store * > srcs, QList< double > score) const override
 
QString name () const override
 
 PriorityToFirstMergeStrategy ()
 
 ~PriorityToFirstMergeStrategy () override
 

Detailed Description

Definition at line 30 of file kis_meta_data_merge_strategy_p.h.

Constructor & Destructor Documentation

◆ PriorityToFirstMergeStrategy()

PriorityToFirstMergeStrategy::PriorityToFirstMergeStrategy ( )

Definition at line 58 of file kis_meta_data_merge_strategy_p.cc.

59{
60}

◆ ~PriorityToFirstMergeStrategy()

PriorityToFirstMergeStrategy::~PriorityToFirstMergeStrategy ( )
override

Definition at line 62 of file kis_meta_data_merge_strategy_p.cc.

63{
64}

Member Function Documentation

◆ description()

QString PriorityToFirstMergeStrategy::description ( ) const
overridevirtual
Returns
a description of this merge strategy

Implements KisMetaData::MergeStrategy.

Definition at line 75 of file kis_meta_data_merge_strategy_p.cc.

76{
77 return i18n("Use in priority the meta data from the layers at the bottom of the stack.");
78}

◆ id()

QString PriorityToFirstMergeStrategy::id ( ) const
overridevirtual
Returns
the id of this merge strategy

Implements KisMetaData::MergeStrategy.

Definition at line 66 of file kis_meta_data_merge_strategy_p.cc.

67{
68 return "PriorityToFirst";
69}

◆ merge()

void PriorityToFirstMergeStrategy::merge ( Store * dst,
QList< const Store * > srcs,
QList< double > scores ) const
overridevirtual

Call this function to merge a list of meta data stores in one.

Parameters
dstthe destination store
srcsthe list of source meta data store
scoresa list of score which defines the importance of each store compared to the other the sum of score is expected to be equal to 1.0. One way to attribute a score is to compute the area of each layer and then to give a higher score to the biggest layer. srcs and scores list must have the same size.

Implements KisMetaData::MergeStrategy.

Definition at line 80 of file kis_meta_data_merge_strategy_p.cc.

81{
82 Q_UNUSED(score);
83 dbgMetaData << "Priority to first meta data";
84
85 Q_FOREACH (const Store* store, srcs) {
86 QList<QString> keys = store->keys();
87 Q_FOREACH (const QString & key, keys) {
88 if (!dst->containsEntry(key)) {
89 dst->addEntry(store->getEntry(key));
90 }
91 }
92 }
93}
#define dbgMetaData
Definition kis_debug.h:61

References KisMetaData::Store::addEntry(), KisMetaData::Store::containsEntry(), dbgMetaData, KisMetaData::Store::getEntry(), and KisMetaData::Store::keys().

◆ name()

QString PriorityToFirstMergeStrategy::name ( ) const
overridevirtual
Returns
the name of this merge strategy

Implements KisMetaData::MergeStrategy.

Definition at line 70 of file kis_meta_data_merge_strategy_p.cc.

71{
72 return i18n("Priority to first meta data");
73}

The documentation for this class was generated from the following files: