Beispiel #1
0
        public override void OnDocumentModified(ulong modifiedStart, ulong modifiedEnd)
        {
            if (!HexUtils.IsModified(startOffset, endOffset, modifiedStart, modifiedEnd))
            {
                return;
            }

            ulong start = Math.Max(startOffset, modifiedStart);
            ulong end   = Math.Min(endOffset, modifiedEnd);
            int   i     = (int)((start - startOffset) / (ulong)tableInfo.RowSize);
            int   endi  = (int)((end - startOffset) / (ulong)tableInfo.RowSize);

            Debug.Assert(0 <= i && i <= endi && endi < virtList.Count);
            while (i <= endi)
            {
                var obj = virtList.TryGet(i);
                if (obj != null)
                {
                    obj.OnDocumentModified(modifiedStart, modifiedEnd);
                }
                i++;
            }
        }