Example #1
0
        public static View CreateFromXml(string filePath)
        {
            IntPtr pFilePath = StdString.Create(filePath).Pointer;
            IntPtr pUnknown  = StdString.Create().Pointer;

            return(GUIUnk.LoadViewFromXml(out var pView, pFilePath, pUnknown) ? new View(pView, false) : null);
        }
        protected static bool GetResourceContents(string path, IntPtr dst)
        {
            try
            {
                Logger.LogDebug($"{path} is requested");

                var cachePath = PathToResourceAsFile(path);
                if (!File.Exists(cachePath))
                {
                    Logger.LogError(_TAG, $"{cachePath} is not found");
                    return(false);
                }

                var asset = File.ReadAllBytes(cachePath);
                using (var srcStr = new StdString(asset))
                {
                    srcStr.Swap(new StdString(dst, false));
                }

                return(true);
            }
            catch (Exception e)
            {
                Logger.LogException(e);
                return(false);
            }
        }
Example #3
0
        public void AppendTab(string name, View view)
        {
            StdString nameStr = StdString.Create(name);

            Window_c.AppendTab(Pointer, nameStr.Pointer, view.Pointer);
            Views.Add(view);
        }
Example #4
0
        private string GetName()
        {
            StdString name = StdString.Create();

            Looper.GetName(Pointer, name.Pointer);
            return(name.ToString());
        }
        public static IntPtr Create(Variant variant, string name, int unk1, int unk2)
        {
            StdString nameStr = StdString.Create(name);
            IntPtr    pView   = Constructor(MSVCR100.New(0x98), variant.Pointer, nameStr.Pointer, unk1, unk2);

            return(pView);
        }
Example #6
0
        private void *PrintMessageDetour(RaptureLogModule *raptureLogModule, XivChatType xivChatType, IntPtr senderName, IntPtr message, uint senderId, byte param)
        {
            try {
                if (chatTypes.Contains(xivChatType))
                {
                    // Need to hook it manually to handle changing the name until API4
                    var stdSender    = StdString.ReadFromPointer(senderName);
                    var parsedSender = SeString.Parse(stdSender.RawData);

                    if (Parse(ref parsedSender))
                    {
                        stdSender.RawData = parsedSender.Encode();
                        var allocatedString = Service.LibcFunction.NewString(stdSender.RawData);
                        var retVal          = printChatHook.Original(raptureLogModule, xivChatType, allocatedString.Address, message, senderId, param);
                        allocatedString.Dispose();
                        return(retVal);
                    }
                }
            } catch (Exception ex) {
                SimpleLog.Error(ex);
            }


            return(printChatHook.Original(raptureLogModule, xivChatType, senderName, message, senderId, param));
        }
Example #7
0
        public static unsafe IntPtr Create(Rect rect, string name, int unk1, int unk2, int unk3)
        {
            StdString nameStr = StdString.Create(name);
            IntPtr    pView   = Constructor(MSVCR100.New(0x178), &rect, nameStr.Pointer, 0, 0, 0, 0, 0, 0, unk1, unk2, unk3);

            return(pView);
        }
Example #8
0
        /// <summary>
        /// Recognize text using the tesseract-ocr API.
        /// Takes image on input and returns recognized text in the output_text parameter.
        /// Optionally provides also the Rects for individual text elements found(e.g.words),
        /// and the list of those text elements with their confidence values.
        /// </summary>
        /// <param name="image">Input image CV_8UC1 or CV_8UC3</param>
        /// <param name="outputText">Output text of the tesseract-ocr.</param>
        /// <param name="componentRects">If provided the method will output a list of Rects for the individual
        /// text elements found(e.g.words or text lines).</param>
        /// <param name="componentTexts">If provided the method will output a list of text strings for the
        /// recognition of individual text elements found(e.g.words or text lines).</param>
        /// <param name="componentConfidences">If provided the method will output a list of confidence values
        /// for the recognition of individual text elements found(e.g.words or text lines).</param>
        /// <param name="componentLevel">OCR_LEVEL_WORD (by default), or OCR_LEVEL_TEXT_LINE.</param>
        public override void Run(
            Mat image,
            out string outputText,
            out Rect[] componentRects,
            out string?[] componentTexts,
            out float[] componentConfidences,
            ComponentLevels componentLevel = ComponentLevels.Word)
        {
            if (image == null)
            {
                throw new ArgumentNullException(nameof(image));
            }
            image.ThrowIfDisposed();

            using var outputTextString           = new StdString();
            using var componentRectsVector       = new VectorOfRect();
            using var componentTextsVector       = new VectorOfString();
            using var componentConfidencesVector = new VectorOfFloat();
            NativeMethods.HandleException(
                NativeMethods.text_OCRTesseract_run1(
                    ptr,
                    image.CvPtr,
                    outputTextString.CvPtr,
                    componentRectsVector.CvPtr,
                    componentTextsVector.CvPtr,
                    componentConfidencesVector.CvPtr,
                    (int)componentLevel));
            outputText           = outputTextString.ToString();
            componentRects       = componentRectsVector.ToArray();
            componentTexts       = componentTextsVector.ToArray();
            componentConfidences = componentConfidencesVector.ToArray();

            GC.KeepAlive(this);
            GC.KeepAlive(image);
        }
Example #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="key"></param>
 /// <param name="defaultVal"></param>
 /// <returns></returns>
 public string GetString(string key, string?defaultVal = null)
 {
     using var result = new StdString();
     NativeMethods.HandleException(
         NativeMethods.flann_IndexParams_getString(ptr, key, defaultVal, result.CvPtr));
     GC.KeepAlive(this);
     return(result.ToString());
 }
Example #10
0
        private static void ScheduleScriptInterruptedException(StdString.Ptr pEngineName, StdString.Ptr pMessage, StdString.Ptr pStackTrace, bool isFatal, bool executionStarted, V8Value.Ptr pScriptException, V8Value.Ptr pInnerException)
        {
            Debug.Assert(ScheduledException == null);
            var scriptException = ScriptEngine.Current?.MarshalToHost(V8Value.Get(pScriptException), false);
            var innerException  = V8ProxyHelpers.MarshalExceptionToHost(V8Value.Get(pInnerException));

            ScheduledException = new ScriptInterruptedException(StdString.GetValue(pEngineName), StdString.GetValue(pMessage), StdString.GetValue(pStackTrace), 0, isFatal, executionStarted, scriptException, innerException);
        }
Example #11
0
        internal override View CreateView()
        {
            //RadioButtonGroup radioGroup = RadioButtonGroup.Create(Name);

            IntPtr pView = XMLObject_c.LoadXMLObject(StdString.Create(@"C:\Users\tagyo\Desktop\Test.xml").Pointer, StdString.Create().Pointer);

            return(new View(pView));
        }
Example #12
0
        public static void Deserialize(this IDictionary <string, LossMulticlassLogPerPixel> maps,
                                       ProxyDeserialize deserialize,
                                       int networkType = 0)
        {
            if (deserialize == null)
            {
                throw new ArgumentNullException(nameof(deserialize));
            }

            deserialize.ThrowIfDisposed();

            var keys   = IntPtr.Zero;
            var values = IntPtr.Zero;

            try
            {
                var error = NativeMethods.LossMulticlassLogPerPixel_deserialize_proxy_map(networkType,
                                                                                          deserialize.NativePtr,
                                                                                          out keys,
                                                                                          out values,
                                                                                          out var size,
                                                                                          out var errorMessage);
                Dnn.Cuda.ThrowCudaException(error);
                switch (error)
                {
                case NativeMethods.ErrorType.DnnNotSupportNetworkType:
                    throw new NotSupportNetworkTypeException(networkType);

                case NativeMethods.ErrorType.GeneralSerialization:
                    throw new SerializationException(StringHelper.FromStdString(errorMessage, true));
                }

                for (var i = 0; i < size; i++)
                {
                    var key   = IntPtr.Add(keys, IntPtr.Size * i);
                    var value = IntPtr.Add(values, IntPtr.Size * i);
                    key   = Marshal.ReadIntPtr(key);
                    value = Marshal.ReadIntPtr(value);
                    using (var stdString = new StdString(key))
                    {
                        var str = stdString.ToString();
                        var net = new LossMulticlassLogPerPixel(value, networkType);
                        maps.Add(str, net);
                    }
                }
            }
            finally
            {
                if (keys != IntPtr.Zero)
                {
                    NativeMethods.stdlib_free(keys);
                }
                if (values != IntPtr.Zero)
                {
                    NativeMethods.stdlib_free(values);
                }
            }
        }
 void Update()
 {
     if (Input.GetKeyUp("s"))
     {
         StdString stdstr = new StdString();
         stdstr.data = "Hello";
         pub.publish(stdstr);
     }
 }
Example #14
0
        public static IntPtr Create(string name, int unk1, uint unk2, uint unk3)
        {
            IntPtr pNew = MSVCR100.New(0x250);

            StdString nameStr = StdString.Create(name);
            IntPtr    pView   = Constructor(pNew, nameStr.Pointer, unk1, (uint)pNew, (uint)pNew);

            return(pView);
        }
Example #15
0
        public void ToStringSinglebyte()
        {
            const string value = "foo";

            using (var s = new StdString(value))
            {
                Assert.Equal(value, s.ToString());
            }
        }
Example #16
0
        public static IntPtr Create(string name, string labelText, int unk1, uint unk2, uint unk3)
        {
            StdString nameStr = StdString.Create(name);

            StdString labelStr = StdString.Create(labelText);
            IntPtr    pView    = Constructor(MSVCR100.New(0x168), nameStr.Pointer, labelStr.Pointer, unk1, unk2, unk3);

            return(pView);
        }
Example #17
0
        public void ToStringMultibyte()
        {
            const string value = "OpenCV";

            using (var s = new StdString(value))
            {
                Assert.Equal(value, s.ToString());
            }
        }
Example #18
0
        public static IntPtr Create(string name, string text, bool defaultValue, bool horizontalSpacer)
        {
            IntPtr    pNew    = MSVCR100.New(0x158);
            StdString nameStr = StdString.Create(name);
            StdString textStr = StdString.Create(text);
            IntPtr    pView   = Constructor(pNew, nameStr.Pointer, textStr.Pointer, defaultValue, horizontalSpacer);

            return(pView);
        }
Example #19
0
        /// <summary>
        /// Dump net to String.
        /// Call method after setInput(). To see correct backend, target and fusion run after forward().
        /// </summary>
        /// <returns>String with structure, hyperparameters, backend, target and fusion</returns>
        public string Dump()
        {
            ThrowIfDisposed();

            using var stdString = new StdString();
            NativeMethods.HandleException(
                NativeMethods.dnn_Net_dump(ptr, stdString.CvPtr));
            GC.KeepAlive(this);
            return(stdString.ToString());
        }
Example #20
0
        /// <summary>
        /// Gets string information by label.
        /// If an unknown label id is provided or there is no label information associated with the specified
        /// label id the method returns an empty string.
        /// </summary>
        /// <param name="label"></param>
        /// <returns></returns>
        public string GetLabelInfo(int label)
        {
            ThrowIfDisposed();

            using var resultString = new StdString();
            NativeMethods.HandleException(
                NativeMethods.face_FaceRecognizer_getLabelInfo(ptr, label, resultString.CvPtr));
            GC.KeepAlive(this);
            return(resultString.ToString());
        }
Example #21
0
        public unsafe byte ProcessChatInput_Hook(IntPtr pThis, IntPtr pWindow, IntPtr pCmdText)
        {
            StdString tokenized = StdString.Create();

            ChatGUIModule_t.ExpandChatTextArgs(tokenized.Pointer, pCmdText);
            _lastChatInput          = tokenized.ToString();
            _lastChatInputWindowPtr = pWindow;

            return(CommandInterpreter_c.ProcessChatInput(pThis, pWindow, pCmdText));
        }
Example #22
0
        public static IntPtr Create(string string1, string string2)
        {
            IntPtr    pNew = MSVCR100.New(0x74);
            StdString str1 = StdString.Create(string1);
            StdString str2 = StdString.Create(string2);

            IntPtr pToolTip = Constructor(pNew, str1.Pointer, str2.Pointer);

            return(pToolTip);
        }
Example #23
0
        public static unsafe IntPtr Create(Rect rect, string string1, string string2, WindowStyle style, WindowFlags flags)
        {
            StdString str1 = StdString.Create(string1);

            StdString str2 = StdString.Create(string2);

            IntPtr pWindow = Constructor(MSVCR100.New(0xAC), &rect, str1.Pointer, str2.Pointer, style, flags);

            return(pWindow);
        }
Example #24
0
 public void WriteLine(string text, ChatColor color = ChatColor.Gold)
 {
     if (_pointer != IntPtr.Zero)
     {
         ChatWindowNode_t.AppendText(_pointer, StdString.Create(text).Pointer, color);
     }
     else
     {
         Chat.WriteLine(text, color);
     }
 }
Example #25
0
        /// <summary>
        /// Returns the scale factor of the model
        /// </summary>
        /// <returns>Current algorithm.</returns>
        public string GetAlgorithm()
        {
            ThrowIfDisposed();

            using var result = new StdString();
            NativeMethods.HandleException(
                NativeMethods.dnn_superres_DnnSuperResImpl_getAlgorithm(
                    ptr, result.CvPtr));
            GC.KeepAlive(this);
            return(result.ToString());
        }
    protected override bool ReadFile(string path, IntPtr dst)
    {
        var localPath = CacheFileFromAsset(path);
        var asset     = File.ReadAllBytes(localPath);

        using (var srcStr = new StdString(asset)) {
            srcStr.Swap(new StdString(dst, false));
        }

        return(true);
    }
Example #27
0
 private void OnChatMessage(XivChatType type, uint senderId, ref StdString sender,
                            ref StdString message, ref bool isHandled) {
     if (type == XivChatType.GatheringSystemMessage && senderId == 0) {
         var cmdMatch = this.CommandRegex.Match(message.Value).Groups["command"];
         if (cmdMatch.Success) {
             // Yes, it's a chat command.
             var command = cmdMatch.Value;
             if (ProcessCommand(command)) isHandled = true;
         }
     }
 }
Example #28
0
        public bool FindView <T>(string name, out T view) where T : View
        {
            view = null;
            IntPtr pView = Window_c.FindView(Pointer, StdString.Create(name).Pointer);

            if (pView == IntPtr.Zero)
            {
                return(false);
            }

            view = Activator.CreateInstance(typeof(T), BindingFlags.NonPublic | BindingFlags.Instance, null, new object[] { pView }, null) as T;
            return(true);
        }
        public static void Serialize(this IDictionary <string, LossMulticlassLogPerPixel> maps,
                                     ProxySerialize serialize,
                                     int networkType = 0)
        {
            if (serialize == null)
            {
                throw new ArgumentNullException(nameof(serialize));
            }

            serialize.ThrowIfDisposed();

            StdString[] keys = null;

            try
            {
                keys = new StdString[maps.Count];
                var values = new IntPtr[maps.Count];

                var index = 0;
                foreach (var kvp in maps)
                {
                    keys[index]   = new StdString(kvp.Key);
                    values[index] = kvp.Value.NativePtr;
                    index++;
                }

                var keysArray = keys.Select(s => s.NativePtr).ToArray();
                var error     = NativeMethods.LossMulticlassLogPerPixel_serialize_proxy_map(networkType,
                                                                                            serialize.NativePtr,
                                                                                            keysArray,
                                                                                            values,
                                                                                            maps.Count,
                                                                                            out var errorMessage);
                Dnn.Cuda.ThrowCudaException(error);
                switch (error)
                {
                case NativeMethods.ErrorType.DnnNotSupportNetworkType:
                    throw new NotSupportNetworkTypeException(networkType);

                case NativeMethods.ErrorType.GeneralSerialization:
                    throw new SerializationException(StringHelper.FromStdString(errorMessage, true));
                }
            }
            finally
            {
                keys?.DisposeElement();
            }
        }
Example #30
0
        private IntPtr HandlePrintMessageDetour(IntPtr manager, XivChatType chattype, IntPtr pSenderName, IntPtr pMessage,
                                                uint senderid, IntPtr parameter)
        {
            IntPtr retVal = IntPtr.Zero;

            try {
                var senderName = StdString.ReadFromPointer(pSenderName);
                var message    = StdString.ReadFromPointer(pMessage);

                Log.Debug($"HandlePrintMessageDetour {manager} - [{chattype}] [{BitConverter.ToString(message.RawData).Replace("-", " ")}] {message.Value} from {senderName.Value}");
                // Log.Debug($"Got message bytes {BitConverter.ToString(messageBytes.Bytes).Replace("-", " ")}");

                var originalMessageData = (byte[])message.RawData.Clone();

                // Call events
                var isHandled = false;
                OnChatMessage?.Invoke(chattype, senderid, ref senderName, ref message, ref isHandled);

                var            messagePtr      = pMessage;
                OwnedStdString allocatedString = null;

                if (!FastByteArrayCompare(originalMessageData, message.RawData))
                {
                    allocatedString = this.dalamud.Framework.Libc.NewString(message.RawData);
                    Log.Debug(
                        $"HandlePrintMessageDetour String modified: {originalMessageData}({messagePtr}) -> {message}({allocatedString.Address})");
                    messagePtr = allocatedString.Address;
                }

                // Print the original chat if it's handled.
                if (!isHandled)
                {
                    retVal = this.printMessageHook.Original(manager, chattype, pSenderName, messagePtr, senderid, parameter);
                }

                if (this.baseAddress == IntPtr.Zero)
                {
                    this.baseAddress = manager;
                }

                allocatedString?.Dispose();
            } catch (Exception ex) {
                Log.Error(ex, "Exception on OnChatMessage hook.");
                retVal = this.printMessageHook.Original(manager, chattype, pSenderName, pMessage, senderid, parameter);
            }

            return(retVal);
        }