コード例 #1
0
	JSObject AppModule::RectToJS(const JSContext& js_context, const Windows::Foundation::Rect& rect)
	{
		auto obj = js_context.CreateObject();
		obj.SetProperty("width", js_context.CreateNumber(rect.Width));
		obj.SetProperty("height", js_context.CreateNumber(rect.Height));
		obj.SetProperty("x", js_context.CreateNumber(rect.X));
		obj.SetProperty("y", js_context.CreateNumber(rect.Y));
		return obj;
	}
コード例 #2
0
		// TODO: implement this
		JSObject Gradient_to_js(const JSContext& js_context, const Gradient& gradient)
		{
			auto object = js_context.CreateObject();
			object.SetProperty("type", js_context.CreateNumber(static_cast<std::underlying_type<GRADIENT_TYPE>::type>(gradient.type)));
			object.SetProperty("backfillStart", js_context.CreateBoolean(gradient.backfillStart));
			object.SetProperty("backfillEnd", js_context.CreateBoolean(gradient.backfillEnd));
			object.SetProperty("endRadius", js_context.CreateNumber(gradient.endRadius));
			object.SetProperty("startRadius", js_context.CreateNumber(gradient.startRadius));
			return object;
		}
		JSObject CameraMediaItemType_to_js(const JSContext& js_context, const CameraMediaItemType& config)
		{
			auto object = js_context.CreateObject();
			object.SetProperty("code", js_context.CreateNumber(config.code));
			object.SetProperty("cropRect", Titanium::UI::Dimension_to_js(js_context, config.cropRect));
			object.SetProperty("error", js_context.CreateString(config.error));
			if (config.media != nullptr) {
				object.SetProperty("media", config.media->get_object());
			}
			object.SetProperty("mediaType", js_context.CreateNumber(static_cast<std::uint32_t>(config.mediaType)));
			object.SetProperty("success", js_context.CreateBoolean(config.success));
			return object;
		}
			JSObject AcceptDict_to_js(const JSContext& js_context, const AcceptDict& config)
			{
				auto object = js_context.CreateObject();
				object.SetProperty("error",    config.error);
				object.SetProperty("timeout",  js_context.CreateNumber(static_cast<double>(config.timeout.count())));
				return object;
			}
コード例 #5
0
		JSObject RouteDescription_to_js(const JSContext& js_context, const RouteDescription& config)
		{
			auto object = js_context.CreateObject();

			std::vector<JSValue> js_inputs;
			for (const auto v : config.inputs) {
				js_inputs.push_back(js_context.CreateNumber(static_cast<std::uint32_t>(v)));
			}
			std::vector<JSValue> js_outputs;
			for (const auto v : config.outputs) {
				js_outputs.push_back(js_context.CreateNumber(static_cast<std::uint32_t>(v)));
			}
			object.SetProperty("inputs",  js_context.CreateArray(js_inputs));
			object.SetProperty("outputs", js_context.CreateArray(js_outputs));

			return object;
		}
		JSObject PushNotificationConfig_to_js(const JSContext& js_context, const PushNotificationConfig& config)
		{
			auto object = js_context.CreateObject();
			object.SetProperty("callback", config.callback);
			object.SetProperty("error",    config.error);
			object.SetProperty("success",  config.success);

			std::vector<JSValue> js_types;
			for (const auto t : config.types) {
				js_types.push_back(js_context.CreateNumber(Titanium::Network::Constants::to_underlying_type(t)));
			}
			object.SetProperty("types", js_context.CreateArray(js_types));

			return object;
		}
コード例 #7
0
		JSObject MapRegionTypev2_to_js(const JSContext& js_context, MapRegionTypev2 value)
		{
			auto object = js_context.CreateObject();
			object.SetProperty("bearing", js_context.CreateNumber(value.bearing));
			object.SetProperty("latitude", js_context.CreateNumber(value.latitude));
			object.SetProperty("latitudeDelta", js_context.CreateNumber(value.latitudeDelta));
			object.SetProperty("longitude", js_context.CreateNumber(value.longitude));
			object.SetProperty("longitudeDelta", js_context.CreateNumber(value.longitudeDelta));
			object.SetProperty("tilt", js_context.CreateNumber(value.tilt));
			object.SetProperty("zoom", js_context.CreateNumber(value.zoom));
			return object;
		}