Пример #1
0
    public string ServoUnityGetWindowTitle(int windowIndex)
    {
        var sb = new StringBuilder(1024); // 1kb

        ServoUnityPlugin_pinvoke.servoUnityGetWindowMetadata(windowIndex, sb, sb.Capacity, null, 0);
        return(sb.ToString());
    }
Пример #2
0
    public string ServoUnityGetWindowURL(int windowIndex)
    {
        var sb = new StringBuilder(16384); // 16kb

        ServoUnityPlugin_pinvoke.servoUnityGetWindowMetadata(windowIndex, null, 0, sb, sb.Capacity);
        return(sb.ToString());
    }
Пример #3
0
    public string ServoUnityGetParamString(ServoUnityParam param)
    {
        var sb = new StringBuilder(16384); // 16kb

        ServoUnityPlugin_pinvoke.servoUnityGetParamString((int)param, sb, sb.Capacity);
        return(sb.ToString());
    }
Пример #4
0
 public void ServoUnityCleanupRenderer(int windowIndex)
 {
     // Rather than calling ServoUnityPlugin_pinvoke.servoUnityCleanupRenderer(windowIndex)
     // directly, make sure the call runs on the rendering thread.
     ServoUnityPlugin_pinvoke.servoUnitySetRenderEventFunc2Param(windowIndex);
     GL.IssuePluginEvent(ServoUnityPlugin_pinvoke.GetRenderEventFunc(), 2);
     GL.InvalidateState();
 }
Пример #5
0
 public void ServoUnityRequestWindowUpdate(int windowIndex, float timeDelta)
 {
     // Rather than calling ServoUnityPlugin_pinvoke.servoUnityRequestWindowUpdate(windowIndex, timeDelta)
     // directly, make sure the call runs on the rendering thread.
     ServoUnityPlugin_pinvoke.servoUnitySetRenderEventFunc1Params(windowIndex, timeDelta);
     GL.IssuePluginEvent(ServoUnityPlugin_pinvoke.GetRenderEventFunc(), 1);
     GL.InvalidateState();
 }
Пример #6
0
    public void ServoUnityFinalise()
    {
        ServoUnityPlugin_pinvoke.servoUnityFinalise();
        windowCreatedCallback = null;
        windowResizedCallback = null;
        browserEventCallback  = null;

        // Free the callback stubs after deregistering the callbacks on the native side.
        windowCreatedCallbackGCH.Free();
        windowResizedCallbackGCH.Free();
        browserEventCallbackGCH.Free();
    }
Пример #7
0
    public void ServoUnityInit(ServoUnityPluginWindowCreatedCallback wccb, ServoUnityPluginWindowResizedCallback wrcb, ServoUnityPluginBrowserEventCallback becb, string userAgent)
    {
        windowCreatedCallback = wccb;
        windowResizedCallback = wrcb;
        browserEventCallback  = becb;

        // Create the callback stub prior to registering the callback on the native side.
        windowCreatedCallbackGCH = GCHandle.Alloc(windowCreatedCallback); // Does not need to be pinned, see http://stackoverflow.com/a/19866119/316487
        windowResizedCallbackGCH = GCHandle.Alloc(windowResizedCallback);
        browserEventCallbackGCH  = GCHandle.Alloc(browserEventCallback);

        ServoUnityPlugin_pinvoke.servoUnityInit(windowCreatedCallback, windowResizedCallback, browserEventCallback, userAgent);
    }
Пример #8
0
    public string ServoUnityGetVersion()
    {
        var  sb = new StringBuilder(128);
        bool ok = ServoUnityPlugin_pinvoke.servoUnityGetVersion(sb, sb.Capacity);

        if (ok)
        {
            return(sb.ToString());
        }
        else
        {
            return("");
        }
    }
Пример #9
0
    public void ServoUnityRegisterLogCallback(ServoUnityPluginLogCallback lcb)
    {
        logCallback = lcb; // Set or unset.
        if (lcb != null)
        {
            // If setting, create the callback stub prior to registering the callback on the native side.
            logCallbackGCH = GCHandle.Alloc(logCallback);  // Does not need to be pinned, see http://stackoverflow.com/a/19866119/316487
        }

        ServoUnityPlugin_pinvoke.servoUnityRegisterLogCallback(logCallback);
        if (lcb == null)
        {
            // If unsetting, free the callback stub after deregistering the callback on the native side.
            logCallbackGCH.Free();
        }
    }
Пример #10
0
    public bool ServoUnityGetWindowTextureFormat(int windowIndex, out int width, out int height, out TextureFormat format,
                                                 out bool mipChain, out bool linear, out IntPtr nativeTexureID)
    {
        int formatNative;

        IntPtr[] nativeTextureIDHandle = new IntPtr[1];
        ServoUnityPlugin_pinvoke.servoUnityGetWindowTextureFormat(windowIndex, out width, out height, out formatNative, out mipChain,
                                                                  out linear, nativeTextureIDHandle);
        nativeTexureID = nativeTextureIDHandle[0];

        format = ServoUnityTextureUtils.GetTextureFormatFromNativeTextureFormat(formatNative);
        if (format == (TextureFormat)0)
        {
            return(false);
        }

        return(true);
    }
Пример #11
0
 public bool ServoUnityGetParamBool(ServoUnityParam param)
 {
     return(ServoUnityPlugin_pinvoke.servoUnityGetParamBool((int)param));
 }
Пример #12
0
 public void ServoUnitySetParamString(ServoUnityParam param, string s)
 {
     ServoUnityPlugin_pinvoke.servoUnitySetParamString((int)param, s);
 }
Пример #13
0
 public void ServoUnitySetParamFloat(ServoUnityParam param, bool val)
 {
     ServoUnityPlugin_pinvoke.servoUnitySetParamFloat((int)param, val);
 }
Пример #14
0
 public void ServoUnitySetLogLevel(int logLevel)
 {
     ServoUnityPlugin_pinvoke.servoUnitySetLogLevel(logLevel);
 }
Пример #15
0
 public void ServoUnityKeyEvent(int windowIndex, bool upDown, ServoUnityKeyCode keyCode, int character)
 {
     ServoUnityPlugin_pinvoke.servoUnityKeyEvent(windowIndex, upDown ? 1 : 0, (int)keyCode, character);
 }
Пример #16
0
 public bool ServoUnityCloseWindow(int windowIndex)
 {
     return(ServoUnityPlugin_pinvoke.servoUnityCloseWindow(windowIndex));
 }
Пример #17
0
 public void ServoUnityWindowBrowserControlEvent(int windowIndex, ServoUnityWindowBrowserControlEventID eventID, int eventParam0, int eventParam1, string eventParamS)
 {
     ServoUnityPlugin_pinvoke.servoUnityWindowBrowserControlEvent(windowIndex, (int)eventID, eventParam0, eventParam1, eventParamS);
 }
Пример #18
0
 public void ServoUnityWindowPointerEvent(int windowIndex, ServoUnityPointerEventID eventID, int eventParam0, int eventParam1, int windowX, int windowY)
 {
     ServoUnityPlugin_pinvoke.servoUnityWindowPointerEvent(windowIndex, (int)eventID, eventParam0, eventParam1, windowX, windowY);
 }
Пример #19
0
 public int ServoUnityGetWindowCount()
 {
     return(ServoUnityPlugin_pinvoke.servoUnityGetWindowCount());
 }
Пример #20
0
 public bool ServoUnityRequestNewWindow(int uid, int widthPixelsRequested, int heightPixelsRequested)
 {
     return(ServoUnityPlugin_pinvoke.servoUnityRequestNewWindow(uid, widthPixelsRequested, heightPixelsRequested));
 }
Пример #21
0
 public bool ServoUnityRequestWindowSizeChange(int windowIndex, int widthPixelsRequested, int heightPixelsRequested)
 {
     return(ServoUnityPlugin_pinvoke.servoUnityRequestWindowSizeChange(windowIndex, widthPixelsRequested, heightPixelsRequested));
 }
Пример #22
0
 public int ServoUnityGetParamInt(ServoUnityParam param)
 {
     return(ServoUnityPlugin_pinvoke.servoUnityGetParamInt((int)param));
 }
Пример #23
0
 public float ServoUnityGetParamFloat(ServoUnityParam param)
 {
     return(ServoUnityPlugin_pinvoke.servoUnityGetParamFloat((int)param));
 }
Пример #24
0
 public void ServoUnitySetResourcesPath(string path)
 {
     ServoUnityPlugin_pinvoke.servoUnitySetResourcesPath(path);
 }
Пример #25
0
 public bool ServoUnityCloseAllWindows()
 {
     return(ServoUnityPlugin_pinvoke.servoUnityCloseAllWindows());
 }
Пример #26
0
 public void ServoUnitySetParamBool(ServoUnityParam param, bool flag)
 {
     ServoUnityPlugin_pinvoke.servoUnitySetParamBool((int)param, flag);
 }
Пример #27
0
 public void ServoUnityFlushLog()
 {
     ServoUnityPlugin_pinvoke.servoUnityFlushLog();
 }
Пример #28
0
 public void ServoUnitySetParamInt(ServoUnityParam param, int val)
 {
     ServoUnityPlugin_pinvoke.servoUnitySetParamInt((int)param, val);
 }
Пример #29
0
 public void ServoUnityServiceWindowEvents(int windowIndex)
 {
     ServoUnityPlugin_pinvoke.servoUnityServiceWindowEvents(windowIndex);
 }
Пример #30
0
 public bool ServoUnitySetWindowUnityTextureID(int windowIndex, IntPtr nativeTexturePtr)
 {
     return(ServoUnityPlugin_pinvoke.servoUnitySetWindowUnityTextureID(windowIndex, nativeTexturePtr));
 }