Example #1
0
        static public void FillBuffer(CommandBuffer buffer)
        {
            // Update all highlighters
            for (int i = sHighlighters.Count - 1; i >= 0; i--)
            {
                var highlighter = sHighlighters[i];

                // Cleanup null highlighters for extra safety
                if (highlighter == null)
                {
                    sHighlighters.RemoveAt(i);
                    continue;
                }

                // Update mode and color
                highlighter.UpdateHighlighting();

                // Cleanup again in case Highlighter has been destroyed in UpdateHighlighting() call
                if (highlighter == null)
                {
                    sHighlighters.RemoveAt(i);
                    continue;
                }

                // Update Renderer's if dirty
                highlighter.UpdateRenderers();
            }

            // Fill CommandBuffer with highlighters rendering commands
            for (int i = 0; i < renderingOrder.Length; i++)
            {
                HighlighterMode renderMode = renderingOrder[i];

                for (int j = sHighlighters.Count - 1; j >= 0; j--)
                {
                    var highlighter = sHighlighters[j];
                    if (highlighter.mode == renderMode)
                    {
                        highlighter.FillBufferInternal(buffer);
                    }
                }
            }
        }
Example #2
0
        /// <summary>
        /// Show control and hilighter
        /// </summary>
        public void ShowControl()
        {
            this.Visibility           = Visibility.Visible;
            this.prevHighlighterState = HollowHighlightDriver.GetDefaultInstance().IsEnabled;
            this.prevMode             = HollowHighlightDriver.GetDefaultInstance().HighlighterMode;
            HollowHighlightDriver.GetDefaultInstance().HighlighterMode = HighlighterMode.Highlighter;
            MainWin.SetHighlightBtnState(true);
            HollowHighlightDriver.GetDefaultInstance().IsEnabled = true;
            HollowHighlightDriver.GetDefaultInstance().Clear();

            SelectAction.GetDefaultInstance().ClearSelectedContext();

            Dispatcher.InvokeAsync(() =>
            {
                this.SetFocusOnDefaultControl();
            }
                                   , System.Windows.Threading.DispatcherPriority.Input);

            ctrlContrast.SetAutoCCAState(true);
        }