static JSValueRef isMarkerEqualCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { if (argumentCount != 1) return JSValueMakeBoolean(context, false); JSObjectRef otherMarker = JSValueToObject(context, arguments[0], exception); return JSValueMakeBoolean(context, toTextMarker(thisObject)->isEqual(toTextMarker(otherMarker))); }
static JSValueRef textMarkerRangeForMarkersCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { AccessibilityTextMarker* startMarker = 0; AccessibilityTextMarker* endMarker = 0; if (argumentCount == 2) { startMarker = toTextMarker(JSValueToObject(context, arguments[0], exception)); endMarker = toTextMarker(JSValueToObject(context, arguments[1], exception)); } return AccessibilityTextMarkerRange::makeJSAccessibilityTextMarkerRange(context, toAXElement(thisObject)->textMarkerRangeForMarkers(startMarker, endMarker)); }
static JSValueRef accessibilityElementForTextMarkerCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { AccessibilityTextMarker* marker = 0; if (argumentCount == 1) marker = toTextMarker(JSValueToObject(context, arguments[0], exception)); return AccessibilityUIElement::makeJSAccessibilityUIElement(context, toAXElement(thisObject)->accessibilityElementForTextMarker(marker)); }
static void markerFinalize(JSObjectRef thisObject) { delete toTextMarker(thisObject); }