1/**
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 *           (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net)
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 * Library General Public License for more details.
16 *
17 * You should have received a copy of the GNU Library General Public License
18 * along with this library; see the file COPYING.LIB.  If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA.
21 *
22 */
23
24#ifndef BidiRun_h
25#define BidiRun_h
26
27#include "core/rendering/RenderText.h"
28#include "platform/text/BidiResolver.h"
29#include "wtf/StdLibExtras.h"
30
31namespace blink {
32
33class BidiContext;
34class InlineBox;
35
36struct BidiRun : BidiCharacterRun {
37    BidiRun(int start, int stop, RenderObject* object, BidiContext* context, WTF::Unicode::Direction dir)
38        : BidiCharacterRun(start, stop, context, dir)
39        , m_object(object)
40        , m_box(0)
41    {
42        // Stored in base class to save space.
43        m_hasHyphen = false;
44    }
45
46    BidiRun* next() { return static_cast<BidiRun*>(m_next); }
47    RenderObject* object() { return m_object; }
48
49public:
50    RenderObject* m_object;
51    InlineBox* m_box;
52};
53
54}
55
56#endif // BidiRun_h
57