Fix for 7837, make opacity work with table rows. Make transparent backgrounds
[WebKit-https.git] / WebCore / rendering / RenderTableRow.h
1 /*
2  * This file is part of the DOM implementation for KDE.
3  *
4  * Copyright (C) 1997 Martin Jones (mjones@kde.org)
5  *           (C) 1997 Torben Weis (weis@kde.org)
6  *           (C) 1998 Waldo Bastian (bastian@kde.org)
7  *           (C) 1999 Lars Knoll (knoll@kde.org)
8  *           (C) 1999 Antti Koivisto (koivisto@kde.org)
9  * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
10  *
11  * This library is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU Library General Public
13  * License as published by the Free Software Foundation; either
14  * version 2 of the License, or (at your option) any later version.
15  *
16  * This library is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19  * Library General Public License for more details.
20  *
21  * You should have received a copy of the GNU Library General Public License
22  * along with this library; see the file COPYING.LIB.  If not, write to
23  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
24  * Boston, MA 02111-1307, USA.
25  */
26
27 #ifndef RenderTableRow_H
28 #define RenderTableRow_H
29
30 #include "RenderTableSection.h"
31
32 namespace WebCore {
33
34 class RenderTableRow : public RenderContainer
35 {
36 public:
37     RenderTableRow(NodeImpl*);
38
39     virtual void destroy();
40     virtual void setStyle(RenderStyle*);
41     virtual const char* renderName() const { return "RenderTableRow"; }
42     virtual bool isTableRow() const { return true; }
43     virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0);
44     virtual short lineHeight(bool) const { return 0; }
45     virtual void position(int, int, int, int, int, bool, bool, int) { }
46     virtual void layout();
47     virtual IntRect getAbsoluteRepaintRect();
48     virtual bool nodeAtPoint(NodeInfo& info, int x, int y, int tx, int ty, HitTestAction action);
49
50     // The only time rows get a layer is when they have transparency.
51     virtual bool requiresLayer() { return isTransparent(); }
52
53     virtual void paint(PaintInfo& i, int tx, int ty);
54
55     RenderTable* table() const { return static_cast<RenderTable*>(parent()->parent()); }
56     RenderTableSection* section() const { return static_cast<RenderTableSection*>(parent()); }
57 };
58
59 }
60
61 #endif