Convert almost all IdleRegister::add() calls to add(std::function<>)

This commit is contained in:
Flössie
2019-01-01 15:53:39 +01:00
parent 5af3f64a9d
commit b08fb04dae
22 changed files with 574 additions and 610 deletions

View File

@@ -366,60 +366,60 @@ void Resize::sizeChanged(int mw, int mh, int ow, int oh)
void Resize::setDimensions ()
{
const auto func =
[](Resize* self) -> bool
idle_register.add(
[this]() -> bool
{
self->wconn.block(true);
self->hconn.block(true);
self->scale->block(true);
wconn.block(true);
hconn.block(true);
scale->block(true);
int refw, refh;
if (self->appliesTo->get_active_row_number() == 0 && self->cropw) {
if (appliesTo->get_active_row_number() == 0 && cropw) {
// Applies to Cropped area
refw = self->cropw;
refh = self->croph;
refw = cropw;
refh = croph;
} else {
// Applies to Full image or crop is disabled
refw = self->maxw;
refh = self->maxh;
refw = maxw;
refh = maxh;
}
self->w->set_range(32, MAX_SCALE * refw);
self->h->set_range(32, MAX_SCALE * refh);
w->set_range(32, MAX_SCALE * refw);
h->set_range(32, MAX_SCALE * refh);
switch (self->spec->get_active_row_number()) {
switch (spec->get_active_row_number()) {
case 0: {
// Scale mode
self->w->set_value(static_cast<double>(static_cast<int>(static_cast<double>(refw) * self->scale->getValue() + 0.5)));
self->h->set_value(static_cast<double>(static_cast<int>(static_cast<double>(refh) * self->scale->getValue() + 0.5)));
w->set_value(static_cast<double>(static_cast<int>(static_cast<double>(refw) * scale->getValue() + 0.5)));
h->set_value(static_cast<double>(static_cast<int>(static_cast<double>(refh) * scale->getValue() + 0.5)));
break;
}
case 1: {
// Width mode
const double tmp_scale = self->w->get_value() / static_cast<double>(refw);
self->scale->setValue(tmp_scale);
self->h->set_value(static_cast<double>(static_cast<int>(static_cast<double>(refh) * tmp_scale + 0.5)));
const double tmp_scale = w->get_value() / static_cast<double>(refw);
scale->setValue(tmp_scale);
h->set_value(static_cast<double>(static_cast<int>(static_cast<double>(refh) * tmp_scale + 0.5)));
break;
}
case 2: {
// Height mode
const double tmp_scale = self->h->get_value() / static_cast<double>(refh);
self->scale->setValue(tmp_scale);
self->w->set_value(static_cast<double>(static_cast<int>(static_cast<double>(refw) * tmp_scale + 0.5)));
const double tmp_scale = h->get_value() / static_cast<double>(refh);
scale->setValue(tmp_scale);
w->set_value(static_cast<double>(static_cast<int>(static_cast<double>(refw) * tmp_scale + 0.5)));
break;
}
case 3: {
// Bounding box mode
const double tmp_scale =
self->w->get_value() / self->h->get_value() < static_cast<double>(refw) / static_cast<double>(refh)
? self->w->get_value() / static_cast<double>(refw)
: self->h->get_value() / static_cast<double>(refh);
w->get_value() / h->get_value() < static_cast<double>(refw) / static_cast<double>(refh)
? w->get_value() / static_cast<double>(refw)
: h->get_value() / static_cast<double>(refh);
self->scale->setValue(tmp_scale);
scale->setValue(tmp_scale);
break;
}
@@ -428,14 +428,13 @@ void Resize::setDimensions ()
}
}
self->scale->block(false);
self->wconn.block(false);
self->hconn.block(false);
scale->block(false);
wconn.block(false);
hconn.block(false);
return false;
};
idle_register.add<Resize>(func, this, false);
}
);
}
void Resize::fitBoxScale()