summaryrefslogtreecommitdiffstats
path: root/tdehtml/rendering/render_generated.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdehtml/rendering/render_generated.h')
-rw-r--r--tdehtml/rendering/render_generated.h125
1 files changed, 125 insertions, 0 deletions
diff --git a/tdehtml/rendering/render_generated.h b/tdehtml/rendering/render_generated.h
new file mode 100644
index 000000000..4e6aa6053
--- /dev/null
+++ b/tdehtml/rendering/render_generated.h
@@ -0,0 +1,125 @@
+/*
+ * This file is part of the HTML rendering engine for KDE.
+ *
+ * Copyright (C) 2004,2005 Allan Sandfeld Jensen (kde@carewolf.com)
+ *
+ * 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 RENDER_GENERATED_H
+#define RENDER_GENERATED_H
+
+#include "rendering/render_text.h"
+#include "rendering/render_box.h"
+
+namespace DOM {
+ class CounterImpl;
+}
+
+namespace tdehtml {
+ class CounterNode;
+
+// -----------------------------------------------------------------------------
+
+class RenderCounterBase : public RenderText
+{
+public:
+ RenderCounterBase(DOM::NodeImpl* node);
+
+ virtual const char *renderName() const { return "RenderCounterBase"; }
+
+ virtual void layout( );
+ virtual void calcMinMaxWidth();
+ virtual bool isCounter() const { return true; }
+
+ virtual void generateContent() = 0;
+ void updateContent();
+
+protected:
+ TQString m_item;
+ CounterNode *m_counterNode; // Cache of the counternode
+};
+
+// -----------------------------------------------------------------------------
+
+class RenderCounter : public RenderCounterBase
+{
+public:
+ RenderCounter(DOM::NodeImpl* node, const DOM::CounterImpl* counter);
+ virtual ~RenderCounter() {};
+
+ virtual const char *renderName() const { return "RenderCounter"; }
+
+ virtual void generateContent();
+
+protected:
+ TQString toListStyleType(int value, int total, EListStyleType type);
+
+ const DOM::CounterImpl* m_counter;
+};
+
+// -----------------------------------------------------------------------------
+
+class RenderQuote : public RenderCounterBase
+{
+public:
+ RenderQuote(DOM::NodeImpl* node, EQuoteContent type);
+ virtual ~RenderQuote() {};
+
+ virtual const char *renderName() const { return "RenderQuote"; }
+
+ virtual bool isQuote() const { return true; }
+ virtual int quoteCount() const;
+
+ virtual void generateContent();
+
+protected:
+ EQuoteContent m_quoteType;
+};
+
+// -----------------------------------------------------------------------------
+
+// Is actually a special case of renderCounter for non-counted list-styles
+// These have traditionally been drawn rather than use Unicode characters
+class RenderGlyph : public RenderBox
+{
+public:
+ RenderGlyph(DOM::NodeImpl* node, EListStyleType type);
+ virtual ~RenderGlyph() {};
+
+ virtual const char *renderName() const { return "RenderGlyph"; }
+
+ virtual void paint(PaintInfo& paintInfo, int _tx, int _ty);
+ virtual void calcMinMaxWidth();
+
+ virtual void setStyle(RenderStyle *_style);
+
+ virtual short lineHeight( bool firstLine ) const;
+ virtual short baselinePosition( bool firstLine ) const;
+
+ virtual bool isGlyph() const { return true; }
+
+ virtual void position(InlineBox* box, int /*from*/, int /*len*/, bool /*reverse*/) {
+ setPos( box->xPos(), box->yPos() );
+ }
+
+protected:
+ EListStyleType m_type;
+};
+
+} //namespace
+
+#endif