// Copyright (c) 2024 Vuplex Inc. All rights reserved. // // Licensed under the Vuplex Commercial Software Library License, you may // not use this file except in compliance with the License. You may obtain // a copy of the License at // // https://vuplex.com/commercial-library-license // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. namespace Vuplex.WebView { /// /// An interface implemented by a webview if it supports dispatching touch events. /// public interface IWithTouch { /// /// Dispatches a touch event (i.e. touchstart, touchend, touchmove, touchcancel) in /// the webview. This can be used, for example, to implement multitouch interactions. /// /// /// /// var webViewWithTouch = webViewPrefab.WebView as IWithTouch; /// if (webViewWithTouch == null) { /// Debug.Log("This 3D WebView plugin doesn't yet support IWithTouch: " + webViewPrefab.WebView.PluginType); /// return; /// } /// // Start and end a first touch at (250px, 100px) in the web page. /// var normalizedPoint1 = webViewPrefab.WebView.PointToNormalized(250, 100); /// webViewWithTouch.SendTouchEvent(new TouchEvent { /// TouchID = 1, /// Point = normalizedPoint1, /// Type = TouchEventType.Start /// }); /// /// webViewWithTouch.SendTouchEvent(new TouchEvent { /// TouchID = 1, /// Point = normalizedPoint1, /// Type = TouchEventType.End /// }); /// /// // Start a second touch at (400px, 100px), move it to (410px, 100), and release it. /// var normalizedPoint2 = webViewPrefab.WebView.PointToNormalized(400, 100); /// webViewWithTouch.SendTouchEvent(new TouchEvent { /// TouchID = 2, /// Point = normalizedPoint2, /// Type = TouchEventType.Start /// }); /// /// var normalizedPoint3 = webViewPrefab.WebView.PointToNormalized(410, 100); /// webViewWithTouch.SendTouchEvent(new TouchEvent { /// TouchID = 2, /// Point = normalizedPoint3, /// Type = TouchEventType.Move /// }); /// /// webViewWithTouch.SendTouchEvent(new TouchEvent { /// TouchID = 2, /// Point = normalizedPoint3, /// Type = TouchEventType.End /// }); /// /// void SendTouchEvent(TouchEvent touchEvent); } }