修复8018属性缺失问题
This commit is contained in:
parent
e6955e136c
commit
9d9812bfd6
|
@ -2829,13 +2829,53 @@ void huagao_ds::init_support_caps(void)
|
|||
}
|
||||
};
|
||||
|
||||
m_query[(CapType)CapTypeEx::CAP_TYPE_EX_FILL_HOLE] = msgSupportGetAllSetReset;
|
||||
m_caps[(CapType)CapTypeEx::CAP_TYPE_EX_FILL_HOLE] = [this](Msg msg, Capability& data)->Result {
|
||||
log_attr_access((int)CapTypeEx::CAP_TYPE_EX_FILL_HOLE, (int)msg);
|
||||
bool init = false, now = false;
|
||||
std::vector<bool> all;
|
||||
int ret = SCANNER_ERR_OK;
|
||||
//GET_SANE_OPT_EX(float, scanner_, search_hole_range, NULL, &all);
|
||||
GET_SANE_OPT(bool, scanner_, RID_HOLE_L, NULL, &all);
|
||||
init = all[sane_opts::RANGE_POS_DEFAULT];
|
||||
now = all[sane_opts::RANGE_POS_CURRENT];
|
||||
switch (msg) {
|
||||
case Msg::Get:
|
||||
{
|
||||
Bool ni = all[sane_opts::RANGE_POS_CURRENT],
|
||||
ii = all[sane_opts::RANGE_POS_DEFAULT];
|
||||
data = Capability::createEnumeration<Bool>((CapType)CapTypeEx::CAP_TYPE_EX_FILL_HOLE, { FALSE, TRUE }, ni, ii);
|
||||
}
|
||||
return success();
|
||||
case Msg::GetCurrent:
|
||||
data = Capability::createOneValue<Bool>((CapType)CapTypeEx::CAP_TYPE_EX_FILL_HOLE, Bool(now));
|
||||
return success();
|
||||
case Msg::GetDefault:
|
||||
data = Capability::createOneValue<Bool>((CapType)CapTypeEx::CAP_TYPE_EX_FILL_HOLE, Bool(init));
|
||||
return success();
|
||||
case Msg::Set: {
|
||||
auto mech = data.currentItem<Bool>();
|
||||
init = (bool)mech;
|
||||
}
|
||||
case Msg::Reset:
|
||||
SET_SANE_OPT(ret, scanner_, RID_HOLE_L, &init);
|
||||
SET_SANE_OPT(ret, scanner_, RID_HOLE_R, &init);
|
||||
SET_SANE_OPT(ret, scanner_, RID_HOLE_T, &init);
|
||||
SET_SANE_OPT(ret, scanner_, RID_HOLE_B, &init);
|
||||
return ret == SCANNER_ERR_OK ? success() : badValue();
|
||||
default:
|
||||
return capBadOperation();
|
||||
}
|
||||
};
|
||||
|
||||
m_query[(CapType)CapTypeEx::CAP_TYPE_EX_FILL_HOLE_RATIO] = msgSupportGetAllSetReset;
|
||||
m_caps[(CapType)CapTypeEx::CAP_TYPE_EX_FILL_HOLE_RATIO] = [this](Msg msg, Capability& data)->Result {
|
||||
log_attr_access((int)CapTypeEx::CAP_TYPE_EX_FILL_HOLE_RATIO, (int)msg);
|
||||
float init = .0f, l = .0f, u = .0f, step = .0f, now = .0f;
|
||||
std::vector<float> all;
|
||||
int ret = SCANNER_ERR_OK;
|
||||
GET_SANE_OPT_EX(float, scanner_, search_hole_range, NULL, &all);
|
||||
//GET_SANE_OPT_EX(float, scanner_, search_hole_range, NULL, &all);
|
||||
GET_SANE_OPT(float, scanner_, SEARCH_HOLE_RANGE_L, NULL, &all);
|
||||
init = all[sane_opts::RANGE_POS_DEFAULT] * 100.0f;
|
||||
now = all[sane_opts::RANGE_POS_CURRENT] * 100.0f;
|
||||
l = all[sane_opts::RANGE_POS_LOWER] * 100.0f;
|
||||
|
@ -2859,7 +2899,11 @@ void huagao_ds::init_support_caps(void)
|
|||
}
|
||||
case Msg::Reset:
|
||||
init /= 100.0f;
|
||||
SET_SANE_OPT_EX(ret, scanner_, search_hole_range, &init);
|
||||
//SET_SANE_OPT_EX(ret, scanner_, search_hole_range, &init);
|
||||
SET_SANE_OPT(ret, scanner_, SEARCH_HOLE_RANGE_L, &init);
|
||||
SET_SANE_OPT(ret, scanner_, SEARCH_HOLE_RANGE_R, &init);
|
||||
SET_SANE_OPT(ret, scanner_, SEARCH_HOLE_RANGE_T, &init);
|
||||
SET_SANE_OPT(ret, scanner_, SEARCH_HOLE_RANGE_B, &init);
|
||||
return ret == SCANNER_ERR_OK ? success() : badValue();
|
||||
default:
|
||||
return capBadOperation();
|
||||
|
@ -3258,7 +3302,7 @@ void huagao_ds::init_support_caps(void)
|
|||
SET_EXISTING_EXTENSION(MARGIN, CapTypeEx::CAP_TYPE_EX_EDGE_IDENT);
|
||||
SET_EXISTING_EXTENSION(ANTI_NOISE_LEVEL, CapTypeEx::CAP_TYPE_EX_ANTI_NOISE);
|
||||
SET_EXISTING_EXTENSION(THRESHOLD, CapTypeEx::CAP_TYPE_EX_THRESHOLD);
|
||||
SET_EXISTING_EXTENSION(RID_HOLE, CapTypeEx::CAP_TYPE_EX_FILL_HOLE);
|
||||
//SET_EXISTING_EXTENSION(RID_HOLE, CapTypeEx::CAP_TYPE_EX_FILL_HOLE);
|
||||
SET_EXISTING_EXTENSION(NOISE_OPTIMIZE, CapTypeEx::CAP_TYPE_EX_DETACH_NOISE);
|
||||
SET_EXISTING_EXTENSION(NOISE_SIZE, CapTypeEx::CAP_TYPE_EX_DETACH_NOISE_THRESHOLD);
|
||||
SET_EXISTING_EXTENSION(RID_MULTIOUT_RED, CapTypeEx::CAP_TYPE_EX_RID_RED);
|
||||
|
|
Loading…
Reference in New Issue