123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- using System;
- using UnityEngine;
- using System.Collections;
- using System.Collections.Generic;
- namespace ZenFulcrum.EmbeddedBrowser {
- [Flags]
- public enum MouseButton {
- Left = 0x1,
- Middle = 0x2,
- Right = 0x4,
- }
- public class BrowserInputSettings {
- /**
- * How fast do we scroll?
- */
- public int scrollSpeed = 120;
-
- /**
- * How far can the cursor wander from its position before won't consider another click as a double/triple click?
- * Value is number of pixels in browser space.
- */
- public float multiclickTolerance = 6;
- /**
- * How long must we wait between clicks before we don't consider it a double/triple/etc. click?
- * Measured in seconds.
- */
- public float multiclickSpeed = .7f;
- }
- /**
- * Proxy for browser input (and current mouse cursor).
- * You can create your own implementation to take input however you'd like. To use your implementation,
- * create a new instance and assign it to browser.UIHandler just after creating the browser.
- */
- public interface IBrowserUI {
- /** Called once per frame by the browser before fetching properties. */
- void InputUpdate();
- /**
- * Returns true if the browser will be getting mouse events. Typically this is true when the mouse if over the browser.
- *
- * If this is false, the Mouse* properties will be ignored.
- */
- bool MouseHasFocus { get; }
- /**
- * Current mouse position.
- *
- * Returns the current position of the mouse with (0, 0) in the bottom-left corner and (1, 1) in the
- * top-right corner.
- */
- Vector2 MousePosition { get; }
- /** Bitmask of currently depressed mouse buttons */
- MouseButton MouseButtons { get; }
- /**
- * Delta X and Y scroll values since the last time InputUpdate() was called.
- *
- * Return 1 for every "click" of the scroll wheel, or smaller numbers for more incremental scrolling.
- */
- Vector2 MouseScroll { get; }
- /**
- * Returns true when the browser will receive keyboard events.
- *
- * In the simplest case, return the same value as MouseHasFocus, but you can track focus yourself if desired.
- *
- * If this is false, the Key* properties will be ignored.
- */
- bool KeyboardHasFocus { get; }
- /**
- * List of key up/down events that have happened since the last InputUpdate() call.
- *
- * The returned list is not to be altered or retained.
- */
- List<Event> KeyEvents { get; }
- /**
- * Returns a BrowserCursor instance. The Browser will update the current cursor to reflect the
- * mouse's position on the page.
- *
- * The IBrowserUI is responsible for changing the actual cursor, be it the mouse cursor or some in-game display.
- */
- BrowserCursor BrowserCursor { get; }
- /**
- * These settings are used to interpret the input data.
- */
- BrowserInputSettings InputSettings { get; }
-
- }
- }
|