public override bool HitTestCore(HitChain hitChain) { if ((layerFlags & IS_LAYER_HIDDEN) == 0) { if ((layerFlags & FLOWLAYER_HAS_MULTILINE) != 0) { List <EditableTextLine> lines = (List <EditableTextLine>)lineCollection; int j = lines.Count; int testYPos = hitChain.TestPoint.Y; for (int i = 0; i < j; ++i) { EditableTextLine line = lines[i]; if (line.LineBottom < testYPos) { continue; } else if (line.HitTestCore(hitChain)) { return(true); } else if (line.LineTop > testYPos) { return(false); } } } else { EditableTextLine onlyLine = (EditableTextLine)lineCollection; return(onlyLine.HitTestCore(hitChain)); } } return(false); }