public CharacterDocumentViewer() {
            _enableAutoScrollBarAdjustment = true;
            _transientLines = new List<GLine>();
            InitializeComponent();
            //SetStyle(ControlStyles.UserPaint|ControlStyles.AllPaintingInWmPaint|ControlStyles.DoubleBuffer, true);
            this.DoubleBuffered = true;
            _caret = new Caret();

            _splitMark = new SplitMarkSupport(this, this);
            Pen p = new Pen(SystemColors.ControlDark);
            p.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot;
            _splitMark.Pen = p;

            _textSelection = new TextSelection(this);
            _textSelection.AddSelectionListener(this);

            _mouseHandlerManager = new MouseHandlerManager();
            _mouseHandlerManager.AddLastHandler(new TextSelectionUIHandler(this));
            _mouseHandlerManager.AddLastHandler(new SplitMarkUIHandler(_splitMark));
            _mouseHandlerManager.AttachControl(this);

            SetStyle(ControlStyles.SupportsTransparentBackColor, true);
        }
 public SplitMarkUIHandler(SplitMarkSupport split)
     : base("splitmark") {
     _splitMark = split;
 }