render_replaced.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef render_replaced_h
00024 #define render_replaced_h
00025
00026 #include "render_box.h"
00027 #include <qobject.h>
00028 class KHTMLView;
00029 class QWidget;
00030
00031 namespace khtml {
00032
00033 class RenderReplaced : public RenderBox
00034 {
00035 public:
00036 RenderReplaced(DOM::NodeImpl* node);
00037
00038 virtual const char *renderName() const { return "RenderReplaced"; }
00039
00040 virtual bool isRendered() const { return true; }
00041
00042 virtual short lineHeight( bool firstLine) const;
00043 virtual short baselinePosition( bool firstLine ) const;
00044
00045 virtual void calcMinMaxWidth();
00046
00047 virtual void paint( QPainter *, int x, int y, int w, int h,
00048 int tx, int ty);
00049 virtual void paintObject(QPainter *p, int x, int y, int w, int h, int tx, int ty) = 0;
00050
00051 virtual short intrinsicWidth() const { return m_intrinsicWidth; }
00052 virtual int intrinsicHeight() const { return m_intrinsicHeight; }
00053
00054 void setIntrinsicWidth(int w) { m_intrinsicWidth = w; }
00055 void setIntrinsicHeight(int h) { m_intrinsicHeight = h; }
00056
00057 virtual void position(int x, int y, int from, int len, int width, bool reverse, bool firstLine, int);
00058
00059 protected:
00060 short m_intrinsicWidth;
00061 short m_intrinsicHeight;
00062 };
00063
00064
00065 class RenderWidget : public QObject, public RenderReplaced, public khtml::Shared<RenderWidget>
00066 {
00067 Q_OBJECT
00068 public:
00069 RenderWidget(DOM::NodeImpl* node);
00070 virtual ~RenderWidget();
00071
00072 virtual void setStyle(RenderStyle *style);
00073
00074 virtual void paintObject(QPainter *p, int x, int y, int w, int h, int tx, int ty);
00075
00076 virtual bool isWidget() const { return true; };
00077
00078 virtual void detach();
00079 virtual void layout( );
00080
00081 virtual void updateFromElement();
00082
00083 QWidget *widget() const { return m_widget; }
00084 KHTMLView* view() const { return m_view; }
00085
00086
00087 public slots:
00088 void slotWidgetDestructed();
00089
00090 protected:
00091 virtual void handleFocusOut() {}
00092 bool event( QEvent *e );
00093
00094 bool eventFilter(QObject* , QEvent* e);
00095 void setQWidget(QWidget *widget);
00096 void resizeWidget( int w, int h );
00097
00098 QWidget *m_widget;
00099 KHTMLView* m_view;
00100 };
00101
00102 };
00103
00104 #endif
This file is part of the documentation for kdelibs Version 3.1.0.