2 * Copyright (C) 2003, 2006 Apple Computer, Inc.
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
14 * You should have received a copy of the GNU Library General Public License
15 * along with this library; see the file COPYING.LIB. If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
23 #include "core/layout/api/SelectionState.h"
24 #include "core/layout/line/InlineBox.h"
31 class EllipsisBox final
: public InlineBox
{
33 EllipsisBox(LayoutObject
& obj
, const AtomicString
& ellipsisStr
, InlineFlowBox
* parent
,
34 int width
, int height
, int x
, int y
, bool firstLine
, bool isVertical
)
35 : InlineBox(obj
, LayoutPoint(x
, y
), width
, firstLine
, true, false, false, isVertical
, 0, 0, parent
)
38 , m_selectionState(SelectionNone
)
40 setHasVirtualLogicalHeight();
43 void paint(const PaintInfo
&, const LayoutPoint
&, LayoutUnit lineTop
, LayoutUnit lineBottom
) override
;
44 bool nodeAtPoint(HitTestResult
&, const HitTestLocation
& locationInContainer
, const LayoutPoint
& accumulatedOffset
, LayoutUnit lineTop
, LayoutUnit lineBottom
) override
;
45 void setSelectionState(SelectionState s
) { m_selectionState
= s
; }
46 IntRect
selectionRect();
48 LayoutUnit
virtualLogicalHeight() const override
{ return m_height
; }
49 SelectionState
selectionState() const override
{ return m_selectionState
; }
50 const AtomicString
& ellipsisStr() { return m_str
; }
52 const char* boxName() const override
;
58 SelectionState m_selectionState
;
63 #endif // EllipsisBox_h