TITANIUM_FUNCTION(ThreeDMatrix, translate) { ENSURE_ARGUMENT_INDEX(2); ENSURE_DOUBLE_AT_INDEX(tx, 0); ENSURE_DOUBLE_AT_INDEX(ty, 1); ENSURE_DOUBLE_AT_INDEX(tz, 2); const auto matrix = translate(tx, ty, tz); if (matrix) { return matrix->get_object(); } else { return get_context().CreateUndefined(); } }
TITANIUM_FUNCTION(ThreeDMatrix, scale) { ENSURE_ARGUMENT_INDEX(2); ENSURE_DOUBLE_AT_INDEX(sx, 0); ENSURE_DOUBLE_AT_INDEX(sy, 1); ENSURE_DOUBLE_AT_INDEX(sz, 2); const auto matrix = scale(sx, sy, sz); if (matrix) { return matrix->get_object(); } else { return get_context().CreateUndefined(); } }
TITANIUM_FUNCTION(ThreeDMatrix, rotate) { ENSURE_ARGUMENT_INDEX(3); ENSURE_DOUBLE_AT_INDEX(angle, 0); ENSURE_DOUBLE_AT_INDEX(x, 1); ENSURE_DOUBLE_AT_INDEX(y, 2); ENSURE_DOUBLE_AT_INDEX(z, 3); const auto matrix = rotate(angle, x, y, z); if (matrix) { return matrix->get_object(); } else { return get_context().CreateUndefined(); } }
TITANIUM_FUNCTION(API, log) { const auto js_context = this_object.get_context(); if (arguments.size() == 1) { ENSURE_STRING_AT_INDEX(message, 0); GetStaticObject(js_context).GetPrivate<API>()->log("info", message); } else if (arguments.size() == 2) { ENSURE_ARGUMENT_INDEX(1); ENSURE_STRING_AT_INDEX(level, 0); JOIN_ARGUMENT_STRINGS(message, 1); GetStaticObject(js_context).GetPrivate<API>()->log(level, message.str()); } return js_context.CreateUndefined(); }
// // _executeListener is internal function for Ti.App event callback. // TITANIUM_FUNCTION(WebView, _executeListener) { ENSURE_ARGUMENT_INDEX(1); ENSURE_OBJECT_AT_INDEX(callee, 1); auto webview = callee.GetProperty("webview"); if (!webview.IsObject()) { TITANIUM_LOG_WARN("WebView._executeListener: Can't find this object"); return get_context().CreateUndefined(); } auto webview_ptr = static_cast<JSObject>(webview).GetPrivate<Titanium::UI::WebView>(); TITANIUM_ASSERT(webview_ptr); ENSURE_OBJECT_AT_INDEX(data, 0); webview_ptr->_executeListener( static_cast<std::string>(data.GetProperty("type")), static_cast<std::string>(static_cast<JSValue>(data).ToJSONString())); return get_context().CreateUndefined(); }