internal WriteableNiconicoWebTextSegment(string text, string friendlyText, NiconicoWebTextSegmentType segmentType,NiconicoWebTextDecorateFlags flags, INiconicoWebTextSegment parent, NiconicoWebTextSegmentCollection segments)
 {
     this.Text = text;
     this.FriendlyText = friendlyText;
     this.SegmentType = segmentType;
     this.decorateFlag_ = flags;
     this.Parent = parent;
     this.Segments = segments;
 }
 public INiconicoWebTextSegment RemoveChildSegment(INiconicoWebTextSegment semgent)
 {
     throw new NotImplementedException();
 }
 public IReadOnlyList<INiconicoWebTextSegment> InsertTextBefore(string text, INiconicoWebTextSegment referenceSegment)
 {
     throw new NotImplementedException();
 }
 public INiconicoWebTextSegment InsertSegmentBefore(IReadOnlyNiconicoWebTextSegment newSemgment, INiconicoWebTextSegment referenceSegment)
 {
     throw new NotImplementedException();
 }
 internal static INiconicoWebTextSegment ParseWatchPictureIdWebText(Match match, NiconicoWebTextSegmenter segmenter, INiconicoWebTextSegment parent)
 {
     return WatchPictureIdNiconicoWebTextSegment<INiconicoWebTextSegment>.ParseWebText(match, segmenter, parent);
 }
 internal static INiconicoWebTextSegment ParseUrlWebText(Match match, NiconicoWebTextSegmenter segmenter, INiconicoWebTextSegment parent)
 {
     return UrlNiconicoWebTextSegment<INiconicoWebTextSegment>.ParseWebText(match, segmenter, parent);
 }
 internal static INiconicoWebTextSegment ParseNumberAnchorWebText(Match match, NiconicoWebTextSegmenter segmenter, INiconicoWebTextSegment parent)
 {
     return NumberAnchorNiconicoWebTextSegment<INiconicoWebTextSegment>.ParseWebText(match, segmenter, parent);
 }
 internal static INiconicoWebTextSegment ParseMarketItemIdWebText(Match match, NiconicoWebTextSegmenter segmenter, INiconicoWebTextSegment parent)
 {
     return MarketItemIdNiconicoWebTextSegment<INiconicoWebTextSegment>.ParseWebText(match, segmenter, parent);
 }
 internal static INiconicoWebTextSegment ParseLineBreakWebText(Match match, NiconicoWebTextSegmenter segmenter, INiconicoWebTextSegment parent)
 {
     return new WriteableNiconicoWebTextSegment(match.Value, Environment.NewLine, NiconicoWebTextSegmentType.LineBreak, NiconicoWebTextDecorateFlags.None, parent, null);
 }
 internal static INiconicoWebTextSegment ParseHtmlUnderLineWebText(Match match, NiconicoWebTextSegmenter segmenter, INiconicoWebTextSegment parent)
 {
     var segment = new WriteableNiconicoWebTextSegment(match.Value, match.Groups[NiconicoWebTextPatternIndexs.underLineTextGroupNumber].Value, NiconicoWebTextSegmentType.HtmlUnderLineElement, NiconicoWebTextDecorateFlags.DecoratedUnderLineFlag, parent, null);
     setSegments(segment, segmenter);
     return segment;
 }
 internal static INiconicoWebTextSegment ParseHtmlInvalidElementWebText(Match match, NiconicoWebTextSegmenter segmenter, INiconicoWebTextSegment parent)
 {
     var segment = new WriteableNiconicoWebTextSegment(match.Value, string.Empty, NiconicoWebTextSegmentType.HtmlInvalidElement, NiconicoWebTextDecorateFlags.None, parent, null);
     segment.Segments = new NiconicoWebTextSegmentCollection(segment, segmenter.WritablePartialDivide(segment.Text.Substring(1, segment.Text.Length - 1), segment));
     return segment;
 }
        internal static WriteableNiconicoWebTextSegment ParseHtmlFontWebText(Match match, NiconicoWebTextSegmenter segmenter, INiconicoWebTextSegment parent)
        {
            var segment = new WriteableNiconicoWebTextSegment(match.Value,match.Groups[NiconicoWebTextPatternIndexs.fontTextGroupNumber].Value, NiconicoWebTextSegmentType.HtmlFontElement,NiconicoWebTextDecorateFlags.None, parent,null);
            var readOnlySegment = HtmlFontNiconicoWebTextSegment<INiconicoWebTextSegment>.ParseWebTextPartial(match, parent);

            segment.FontElementSize = readOnlySegment.FontElementSize;

            setSegments(segment, segmenter);

            if (readOnlySegment.DecoratedColor)
            {
                segment.Color = readOnlySegment.Color;
                segment.decorateFlag_ |= NiconicoWebTextDecorateFlags.DecoratedColorFlag;
            }

            return segment;
        }
 internal static INiconicoWebTextSegment ParseHtmlBreakWebText(Match match, NiconicoWebTextSegmenter segmenter, INiconicoWebTextSegment parent)
 {
     return ParseLineBreakWebText(match, segmenter, parent);
 }
 internal static INiconicoWebTextSegment ParseCommunityIdWebText(Match match, NiconicoWebTextSegmenter segmenter, INiconicoWebTextSegment parent)
 {
     return CommunityIdNiconicoWebTextSegment<INiconicoWebTextSegment>.ParseWebText(match, segmenter, parent);
 }
 internal static INiconicoWebTextSegment CreatePlainText(string text, INiconicoWebTextSegment parent)
 {
     return new PlainNiconicoWebTextSegment<INiconicoWebTextSegment>(text, parent);
 }
 internal WriteableNiconicoWebTextSegment(string text, NiconicoWebTextSegmentType segmentType, INiconicoWebTextSegment parent)
     : this(text, text, segmentType, NiconicoWebTextDecorateFlags.None, parent, null)
 {
 }