예제 #1
0
        private void StartRendering()
        {
            // Spin up DX handling from the plugin interface
            DxHandler.Initialise(pluginInterface);

            // Spin up WndProc hook
            WndProcHandler.Initialise(DxHandler.WindowHandle);
            WndProcHandler.WndProcMessage += OnWndProc;

            // Boot the render process. This has to be done before initialising settings to prevent a
            // race conditionson inlays recieving a null reference.
            var pid = Process.GetCurrentProcess().Id;

            renderProcess          = new RenderProcess(pid, pluginDir, dependencyManager);
            renderProcess.Recieve += HandleIpcRequest;
            renderProcess.Start();

            // Prep settings
            settings                   = new Settings(pluginInterface);
            settings.InlayAdded       += OnInlayAdded;
            settings.InlayNavigated   += OnInlayNavigated;
            settings.InlayDebugged    += OnInlayDebugged;
            settings.InlayRemoved     += OnInlayRemoved;
            settings.TransportChanged += OnTransportChanged;
            settings.Initialise();
        }
예제 #2
0
 public Inlay(RenderProcess renderProcess, Configuration config, InlayConfiguration inlayConfig)
 {
     this.renderProcess = renderProcess;
     this.config        = config;
     this.inlayConfig   = inlayConfig;
 }