コード例 #1
0
        internal static DxfTable ReadFromBuffer(DxfCodePairBufferReader buffer)
        {
            var table = new DxfStyleTable();

            table.Items.Clear();
            while (buffer.ItemsRemain)
            {
                var pair = buffer.Peek();
                buffer.Advance();
                if (DxfTablesSection.IsTableEnd(pair))
                {
                    break;
                }

                if (pair.Code == 0 && pair.StringValue == DxfTable.StyleText)
                {
                    var item = DxfStyle.FromBuffer(buffer);
                    table.Items.Add(item);
                }
            }

            return(table);
        }
コード例 #2
0
ファイル: DxfTableGenerated.cs プロジェクト: nakijun/Dxf
        internal static DxfStyle FromBuffer(DxfCodePairBufferReader buffer)
        {
            var item = new DxfStyle();
            while (buffer.ItemsRemain)
            {
                var pair = buffer.Peek();
                if (pair.Code == 0)
                {
                    break;
                }

                buffer.Advance();
                switch (pair.Code)
                {
                    case 70:
                        item.StandardFlags = (int)pair.ShortValue;
                        break;
                    case DxfCodePairGroup.GroupCodeNumber:
                        var groupName = DxfCodePairGroup.GetGroupName(pair.StringValue);
                        item.ExtensionDataGroups.Add(DxfCodePairGroup.FromBuffer(buffer, groupName));
                        break;
                    case 40:
                        item.TextHeight = (pair.DoubleValue);
                        break;
                    case 41:
                        item.WidthFactor = (pair.DoubleValue);
                        break;
                    case 50:
                        item.ObliqueAngle = (pair.DoubleValue);
                        break;
                    case 71:
                        item.TextGenerationFlags = (int)(pair.ShortValue);
                        break;
                    case 42:
                        item.LastHeightUsed = (pair.DoubleValue);
                        break;
                    case 3:
                        item.PrimaryFontFileName = (pair.StringValue);
                        break;
                    case 4:
                        item.BigFontFileName = (pair.StringValue);
                        break;
                    case (int)DxfXDataType.ApplicationName:
                        item.XData = DxfXData.FromBuffer(buffer, pair.StringValue);
                        break;
                    default:
                        item.TrySetPair(pair);
                        break;
                }
            }

            return item;
        }