MCPcopy Create free account
hub / github.com/Snapchat/Valdi / writeViewNode

Method writeViewNode

valdi/src/valdi/android/AccessibilityBridge.cpp:39–75  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

37}
38
39void AccessibilityBridge::writeViewNode(Valdi::ViewNode* viewNode,
40 std::vector<Valdi::Value>& values,
41 float pointScale) {
42 if (viewNode->hasView() && viewNode->getViewFactory()->isUserSpecified()) {
43 AccessibilityBridge::writeBool(true, values);
44
45 auto view = viewNode->getView();
46 auto bridgeView = snap::drawing::bridgeViewFromView(view);
47
48 if (bridgeView != nullptr) {
49 values.emplace_back(bridgeView);
50 } else {
51 values.emplace_back(view);
52 }
53 } else {
54 AccessibilityBridge::writeBool(false, values);
55 }
56 AccessibilityBridge::writeInt64(ValdiAndroid::bridgeRetain(viewNode), values);
57 AccessibilityBridge::writeInt32(viewNode->getRawId(), values);
58
59 AccessibilityBridge::writeInt32(viewNode->getAccessibilityCategory(), values);
60
61 AccessibilityBridge::writeString(viewNode->getAccessibilityLabel(), values);
62 AccessibilityBridge::writeString(viewNode->getAccessibilityHint(), values);
63 AccessibilityBridge::writeString(viewNode->getAccessibilityValue(), values);
64 AccessibilityBridge::writeString(viewNode->getAccessibilityId(), values);
65
66 AccessibilityBridge::writeBool(viewNode->getAccessibilityStateDisabled(), values);
67 AccessibilityBridge::writeBool(viewNode->getAccessibilityStateSelected(), values);
68 AccessibilityBridge::writeBool(viewNode->getAccessibilityStateLiveRegion(), values);
69
70 auto frameInRoot = viewNode->computeVisualFrameInRoot();
71 AccessibilityBridge::writeInt32(frameInRoot.x * pointScale, values);
72 AccessibilityBridge::writeInt32(frameInRoot.y * pointScale, values);
73 AccessibilityBridge::writeInt32(frameInRoot.width * pointScale, values);
74 AccessibilityBridge::writeInt32(frameInRoot.height * pointScale, values);
75}
76
77} // namespace ValdiAndroid

Callers

nothing calls this directly

Calls 15

bridgeViewFromViewFunction · 0.85
bridgeRetainFunction · 0.85
writeInt32Function · 0.85
hasViewMethod · 0.80
isUserSpecifiedMethod · 0.80
getRawIdMethod · 0.80
getViewFactoryMethod · 0.45
getViewMethod · 0.45
getAccessibilityLabelMethod · 0.45
getAccessibilityHintMethod · 0.45

Tested by

no test coverage detected