Convert almost all IdleRegister::add()
calls to add(std::function<>)
This commit is contained in:
@@ -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()
|
||||
|
Reference in New Issue
Block a user