示例#1
0
        internal unsafe static void AttachedObjectListFromParagraph(PtsContext ptsContext, IntPtr para, int cAttachedObject, out PTS.FSATTACHEDOBJECTDESCRIPTION[] arrayAttachedObjectDesc)
        {
            arrayAttachedObjectDesc = new PTS.FSATTACHEDOBJECTDESCRIPTION[cAttachedObject];
            int num;

            fixed(PTS.FSATTACHEDOBJECTDESCRIPTION *ptr = arrayAttachedObjectDesc)
            {
                PTS.Validate(PTS.FsQueryAttachedObjectList(ptsContext.Context, para, cAttachedObject, ptr, out num));
            }

            ErrorHandler.Assert(cAttachedObject == num, ErrorHandler.PTSObjectsCountMismatch);
        }
示例#2
0
        // Token: 0x06006B3E RID: 27454 RVA: 0x001EF93C File Offset: 0x001EDB3C
        internal void UpdateTextContentRangeFromAttachedObjects(TextContentRange textContentRange, int dcpFirst, int dcpLast, PTS.FSATTACHEDOBJECTDESCRIPTION[] arrayAttachedObjectDesc)
        {
            int num  = dcpFirst;
            int num2 = 0;

            while (this._attachedObjects != null && num2 < this._attachedObjects.Count)
            {
                AttachedObject attachedObject = this._attachedObjects[num2];
                int            paragraphStartCharacterPosition = attachedObject.Para.ParagraphStartCharacterPosition;
                int            cch = attachedObject.Para.Cch;
                if (paragraphStartCharacterPosition >= num && paragraphStartCharacterPosition < dcpLast)
                {
                    textContentRange.Merge(new TextContentRange(num, paragraphStartCharacterPosition, base.StructuralCache.TextContainer));
                    num = paragraphStartCharacterPosition + cch;
                }
                if (dcpLast < num)
                {
                    break;
                }
                num2++;
            }
            if (num < dcpLast)
            {
                textContentRange.Merge(new TextContentRange(num, dcpLast, base.StructuralCache.TextContainer));
            }
            int num3 = 0;

            while (arrayAttachedObjectDesc != null && num3 < arrayAttachedObjectDesc.Length)
            {
                PTS.FSATTACHEDOBJECTDESCRIPTION fsattachedobjectdescription = arrayAttachedObjectDesc[num3];
                BaseParaClient baseParaClient = base.PtsContext.HandleToObject(arrayAttachedObjectDesc[num3].pfsparaclient) as BaseParaClient;
                PTS.ValidateHandle(baseParaClient);
                textContentRange.Merge(baseParaClient.GetTextContentRange());
                num3++;
            }
        }