22 constexpr auto forceEmptyTopLevelOffsetPixels =
false;
24 auto sourceMode = std::optional(
25 jsState.mapOhosEnumFromJs<DisplaySourceMode>(
26 displayObject.get<QNapi::Number>(
"sourceMode")));
29 .id = JsDisplayId(displayObject.get<QNapi::Number>(
"id")),
30 .name = QString::fromStdString(displayObject.get<QNapi::String>(
"name")),
32 displayObject.get<QNapi::Number>(
"width"),
33 displayObject.get<QNapi::Number>(
"height")),
34 .densityDPI = displayObject.get<QNapi::Number>(
"densityDPI"),
35 .refreshRate = displayObject.get<QNapi::Number>(
"refreshRate"),
37 displayObject.get<QNapi::Number>(
"xDPI"),
38 displayObject.get<QNapi::Number>(
"yDPI")),
39 .orientation = jsState.tryMapOhosEnumFromJs<JsDisplayOrientation>(
40 displayObject.get<QNapi::Number>(
"orientation")),
41 .sourceMode = sourceMode,
42 .topLeftOffsetPixels = !forceEmptyTopLevelOffsetPixels
43 ? qAndThen(sourceMode, [&](DisplaySourceMode mode) {
44 return mode == DisplaySourceMode::MAIN || mode == DisplaySourceMode::EXTEND
47 displayObject.get<QNapi::Number>(
"x"),
48 displayObject.get<QNapi::Number>(
"y")))