summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/rendering/RenderDetailsMarker.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/RenderDetailsMarker.h')
-rw-r--r--Source/WebCore/rendering/RenderDetailsMarker.h37
1 files changed, 32 insertions, 5 deletions
diff --git a/Source/WebCore/rendering/RenderDetailsMarker.h b/Source/WebCore/rendering/RenderDetailsMarker.h
index 08bdbd8..de8f60b 100644
--- a/Source/WebCore/rendering/RenderDetailsMarker.h
+++ b/Source/WebCore/rendering/RenderDetailsMarker.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+ * Copyright (C) 2010, 2011 Nokia Corporation and/or its subsidiary(-ies)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -21,25 +21,52 @@
#ifndef RenderDetailsMarker_h
#define RenderDetailsMarker_h
-#include "RenderBlock.h"
+#include "RenderBox.h"
namespace WebCore {
-class RenderDetailsMarker : public RenderBlock {
+class RenderDetails;
+
+class RenderDetailsMarker : public RenderBox {
public:
- explicit RenderDetailsMarker(Node*);
+ RenderDetailsMarker(RenderDetails*);
+
+ enum Orientation { Up, Down, Left, Right };
+
+ Orientation orientation() const;
+
+ virtual void computePreferredLogicalWidths();
+ virtual void destroy();
private:
virtual const char* renderName() const { return "RenderDetailsMarker"; }
virtual bool isDetailsMarker() const { return true; }
+ virtual void paint(PaintInfo&, int tx, int ty);
+ virtual void layout();
+ virtual int lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
+ virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
+
+ IntRect getRelativeMarkerRect() const;
+
+ bool isOpen() const;
+ Path getCanonicalPath() const;
+ Path getPath(const IntPoint& origin) const;
+
+ RenderDetails* m_details;
};
inline RenderDetailsMarker* toRenderDetailsMarker(RenderObject* object)
{
- ASSERT(!object || object->isDetails());
+ ASSERT(!object || object->isDetailsMarker());
return static_cast<RenderDetailsMarker*>(object);
}
+inline const RenderDetailsMarker* toRenderDetailsMarker(const RenderObject* object)
+{
+ ASSERT(!object || object->isDetailsMarker());
+ return static_cast<const RenderDetailsMarker*>(object);
+}
+
// This will catch anyone doing an unnecessary cast.
void toRenderDetailsMarker(const RenderDetailsMarker*);