From cad810f21b803229eb11403f9209855525a25d57 Mon Sep 17 00:00:00 2001 From: Steve Block Date: Fri, 6 May 2011 11:45:16 +0100 Subject: Merge WebKit at r75315: Initial merge by git. Change-Id: I570314b346ce101c935ed22a626b48c2af266b84 --- Source/WebCore/rendering/EllipsisBox.h | 60 ++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 Source/WebCore/rendering/EllipsisBox.h (limited to 'Source/WebCore/rendering/EllipsisBox.h') diff --git a/Source/WebCore/rendering/EllipsisBox.h b/Source/WebCore/rendering/EllipsisBox.h new file mode 100644 index 0000000..ec1b00b --- /dev/null +++ b/Source/WebCore/rendering/EllipsisBox.h @@ -0,0 +1,60 @@ +/** + * Copyright (C) 2003, 2006 Apple Computer, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef EllipsisBox_h +#define EllipsisBox_h + +#include "InlineBox.h" + +namespace WebCore { + +class HitTestRequest; +class HitTestResult; + +class EllipsisBox : public InlineBox { +public: + EllipsisBox(RenderObject* obj, const AtomicString& ellipsisStr, InlineFlowBox* parent, + int width, int height, int y, bool firstLine, bool isVertical, InlineBox* markupBox) + : InlineBox(obj, 0, y, width, firstLine, true, false, false, isVertical, 0, 0, parent) + , m_height(height) + , m_str(ellipsisStr) + , m_markupBox(markupBox) + , m_selectionState(RenderObject::SelectionNone) + { + } + + virtual void paint(PaintInfo&, int tx, int ty); + virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, int x, int y, int tx, int ty); + void setSelectionState(RenderObject::SelectionState s) { m_selectionState = s; } + IntRect selectionRect(int tx, int ty); + +private: + virtual int height() const { return m_height; } + virtual RenderObject::SelectionState selectionState() { return m_selectionState; } + void paintSelection(GraphicsContext*, int tx, int ty, RenderStyle*, const Font&); + + int m_height; + AtomicString m_str; + InlineBox* m_markupBox; + RenderObject::SelectionState m_selectionState; +}; + +} // namespace WebCore + +#endif // EllipsisBox_h -- cgit v1.1