예제 #1
0
파일: JsValue.cs 프로젝트: fdsa-ltd/tangram
        /// <summary>
        /// 获取数组缓冲区
        /// </summary>
        /// <param name="jsExecState"></param>
        /// <returns></returns>
        public wkeMemBuf GetArrayBuffer(IntPtr jsExecState)
        {
            wkeMemBuf buf   = new wkeMemBuf();
            IntPtr    pBuff = MBApi.jsGetArrayBuffer(jsExecState, this.Value);

            if (pBuff != IntPtr.Zero)
            {
                buf = (wkeMemBuf)Marshal.PtrToStructure(pBuff, typeof(wkeMemBuf));
            }
            return(buf);
        }
예제 #2
0
        private void OnGetFavicon(IntPtr webView, IntPtr param, IntPtr url, IntPtr buf)
        {
            if (buf == IntPtr.Zero)
            {
                return;
            }
            wkeMemBuf memBuf = (wkeMemBuf)Marshal.PtrToStructure(buf, typeof(wkeMemBuf));

            if (memBuf.length > 0)
            {
                byte[] iconData = new byte[memBuf.length];
                Marshal.Copy(memBuf.data, iconData, 0, iconData.Length);
                using (MemoryStream ms = new MemoryStream(iconData))
                {
                    Icon = new Icon(ms);
                }
            }
        }