diff options
Diffstat (limited to 'khtml/rendering/render_canvas.h')
-rw-r--r-- | khtml/rendering/render_canvas.h | 250 |
1 files changed, 0 insertions, 250 deletions
diff --git a/khtml/rendering/render_canvas.h b/khtml/rendering/render_canvas.h deleted file mode 100644 index 17f279d7b..000000000 --- a/khtml/rendering/render_canvas.h +++ /dev/null @@ -1,250 +0,0 @@ -/* - * This file is part of the HTML widget for KDE. - * - * Copyright (C) 1999-2003 Lars Knoll (knoll@kde.org) - * (C) 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_canvas_h -#define render_canvas_h - -#include "render_block.h" - -class KHTMLView; -class TQScrollView; - -namespace khtml { - -class RenderPage; -class RenderStyle; - -enum CanvasMode { - CanvasViewPort, // Paints inside a viewport - CanvasPage, // Paints one page - CanvasDocument // Paints the whole document -}; - -class RenderCanvas : public RenderBlock -{ -public: - RenderCanvas(DOM::NodeImpl* node, KHTMLView *view); - ~RenderCanvas(); - - virtual const char *renderName() const { return "RenderCanvas"; } - - virtual bool isCanvas() const { return true; } - - virtual void setStyle(RenderStyle *style); - virtual void layout(); - virtual void calcWidth(); - virtual void calcHeight(); - virtual void calcMinMaxWidth(); - virtual bool absolutePosition(int &xPos, int&yPos, bool f = false) const; - - int docHeight() const; - int docWidth() const; - - KHTMLView *view() const { return m_view; } - - virtual void repaint(Priority p=NormalPriority); - virtual void repaintRectangle(int x, int y, int w, int h, Priority p=NormalPriority, bool f=false); - void repaintViewRectangle(int x, int y, int w, int h, bool asap=false); - bool needsFullRepaint() const; - void deferredRepaint( RenderObject* o ); - void scheduleDeferredRepaints(); - - virtual void paint(PaintInfo&, int tx, int ty); - virtual void paintBoxDecorations(PaintInfo& paintInfo, int _tx, int _ty); - virtual void setSelection(RenderObject *s, int sp, RenderObject *e, int ep); - virtual void clearSelection(bool doRepaint=true); - virtual RenderObject *selectionStart() const { return m_selectionStart; } - virtual RenderObject *selectionEnd() const { return m_selectionEnd; } - - void setPrintImages(bool enable) { m_printImages = enable; } - bool printImages() const { return m_printImages; } - - void setCanvasMode(CanvasMode mode) { m_canvasMode = mode; } - CanvasMode canvasMode() const { return m_canvasMode; } - - void setPagedMode(bool b) { m_pagedMode = b; } - void setStaticMode(bool b) { m_staticMode = b; } - - bool pagedMode() const { return m_pagedMode; } - bool staticMode() const { return m_staticMode; } - - void setPageTop(int top) { - m_pageTop = top; -// m_y = top; - } - void setPageBottom(int bottom) { m_pageBottom = bottom; } - int pageTop() const { return m_pageTop; } - int pageBottom() const { return m_pageBottom; } - - int pageTopAfter(int y) const { - if (pageHeight() == 0) return 0; - return (y / pageHeight() + 1) * pageHeight() ; - } - - int crossesPageBreak(int top, int bottom) const { - if (pageHeight() == 0) return false; - int pT = top / pageHeight(); - // bottom is actually the first line not in the box - int pB = (bottom-1) / pageHeight(); - return (pT == pB) ? 0 : (pB + 1); - } - - void setPageNumber(int number) { m_pageNr = number; } - int pageNumber() const { return m_pageNr; } - -public: - virtual void setWidth( int width ) { m_rootWidth = m_width = width; } - virtual void setHeight( int height ) { m_rootHeight = m_height = height; } - -// void setPageHeight( int height ) { m_viewportHeight = m_pageHeight = height; } - int pageHeight() const { return m_pageBottom - m_pageTop; } - - int viewportWidth() const { return m_viewportWidth; } - int viewportHeight() const { return m_viewportHeight; } - - RenderPage* page(); - - TQRect selectionRect() const; - - void setMaximalOutlineSize(int o) { m_maximalOutlineSize = o; } - int maximalOutlineSize() const { return m_maximalOutlineSize; } - - void setNeedsWidgetMasks( bool b=true) { m_needsWidgetMasks = b; } - bool needsWidgetMasks() const { return m_needsWidgetMasks; } - - void updateDocSizeAfterLayerTranslation( RenderObject* o, bool posXOffset, bool posYOffset ); -protected: - // makes sure document, scrollbars and viewport size are accurate - void updateDocumentSize(); - - // internal setters for cached values of document width/height - // Setting to -1/-1 invalidates the cache. - void setCachedDocWidth(int w ) { m_cachedDocWidth = w; } - void setCachedDocHeight(int h) { m_cachedDocHeight = h; } - - virtual void selectionStartEnd(int& spos, int& epos); - - virtual TQRect viewRect() const; - - KHTMLView *m_view; - - RenderObject* m_selectionStart; - RenderObject* m_selectionEnd; - int m_selectionStartPos; - int m_selectionEndPos; - - CanvasMode m_canvasMode; - - int m_rootWidth; - int m_rootHeight; - - int m_viewportWidth; - int m_viewportHeight; - - int m_cachedDocWidth; - int m_cachedDocHeight; - - bool m_printImages; - bool m_needsFullRepaint; - - // Canvas is not interactive - bool m_staticMode; - // Canvas is paged - bool m_pagedMode; - // Canvas contains overlaid widgets - bool m_needsWidgetMasks; - - short m_pageNr; - - int m_pageTop; - int m_pageBottom; - - RenderPage* m_page; - - int m_maximalOutlineSize; // Used to apply a fudge factor to dirty-rect checks on blocks/tables. - TQValueList<RenderObject*> m_dirtyChildren; -}; - -inline RenderCanvas* RenderObject::canvas() const -{ - return static_cast<RenderCanvas*>(document()->renderer()); -} - -// Represents the page-context of CSS -class RenderPage -{ -public: - RenderPage(RenderCanvas* canvas) : m_canvas(canvas), - m_marginTop(0), m_marginBottom(0), - m_marginLeft(0), m_marginRight(0), - m_pageWidth(0), m_pageHeight(0), - m_fixedSize(false) - { - m_style = new RenderPageStyle(); - } - virtual ~RenderPage() - { - delete m_style; - } - - int marginTop() const { return m_marginTop; } - int marginBottom() const { return m_marginBottom; } - int marginLeft() const { return m_marginLeft; } - int marginRight() const { return m_marginRight; } - - void setMarginTop(int margin) { m_marginTop = margin; } - void setMarginBottom(int margin) { m_marginBottom = margin; } - void setMarginLeft(int margin) { m_marginLeft = margin; } - void setMarginRight(int margin) { m_marginRight = margin; } - - int pageWidth() const { return m_pageWidth; } - int pageHeight() const { return m_pageHeight; } - - void setPageSize(int width, int height) { - m_pageWidth = width; - m_pageHeight = height; - } - - // Returns true if size was set by document, false if set by user-agent - bool fixedSize() const { return m_fixedSize; } - void setFixedSize(bool b) { m_fixedSize = b; } - - RenderPageStyle* style() { return m_style; } - const RenderPageStyle* style() const { return m_style; } - -protected: - RenderCanvas* m_canvas; - RenderPageStyle* m_style; - - int m_marginTop; - int m_marginBottom; - int m_marginLeft; - int m_marginRight; - - int m_pageWidth; - int m_pageHeight; - - bool m_fixedSize; -}; - -} -#endif |