#ifndef QABSTRACTTEXTDOCUMENTLAYOUT_H
#define QABSTRACTTEXTDOCUMENTLAYOUT_H
#include <QtCore/qobject.h>
#include <QtGui/qtextlayout.h>
#include <QtGui/qtextdocument.h>
#include <QtGui/qtextcursor.h>
#include <QtGui/qpalette.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
struct QAbstractTextDocumentLayoutPrivate;
class QAbstractTextDocumentLayout: public QObject{
public: virtual struct QMetaObject const * metaObject() const
public: static struct QMetaObject const staticMetaObject;
public: virtual void* qt_metacast(char const *);
public: static inline class QString tr(char const * s, char const * c = 0);
public: static inline class QString trUtf8(char const * s, char const * c = 0);
public: static inline class QString tr(char const * s, char const * c, int n);
public: static inline class QString trUtf8(char const * s, char const * c, int n);
public: virtual int qt_metacall(enum QMetaObject::Call, int, void* *);
private: inline struct QAbstractTextDocumentLayoutPrivate* d_func();
private: inline struct QAbstractTextDocumentLayoutPrivate const * d_func() const
public: explicit QAbstractTextDocumentLayout(class QTextDocument* doc);
public: virtual ~QAbstractTextDocumentLayout();
public: struct Selection{
public: class QTextCursor cursor;
public: class QTextCharFormat format;
};
public: struct PaintContext{
public: inline PaintContext();
public: int cursorPosition;
public: class QPalette palette;
public: class QRectF clip;
public: class QVector < struct QAbstractTextDocumentLayout::Selection > selections;
};
public: virtual void draw(struct QPainter* painter, struct QAbstractTextDocumentLayout::PaintContext const & context) = 0;
public: virtual int hitTest(class QPointF const & point, enum Qt::HitTestAccuracy accuracy) const = 0;
public: class QString anchorAt(class QPointF const & pos) const
public: virtual int pageCount() const = 0;
public: virtual class QSizeF documentSize() const = 0;
public: virtual class QRectF frameBoundingRect(struct QTextFrame* frame) const = 0;
public: virtual class QRectF blockBoundingRect(struct QTextBlock const & block) const = 0;
public: void setPaintDevice(class QPaintDevice* device);
public: class QPaintDevice* paintDevice() const
public: class QTextDocument* document() const
public: void registerHandler(int objectType, class QObject* component);
public: class QTextObjectInterface* handlerForObject(int objectType) const
protected: void update(class QRectF const & = QRectF::QRectF(0.0, 0.0, 1.0e+9, 1.0e+9));
protected: void documentSizeChanged(class QSizeF const & newSize);
protected: void pageCountChanged(int newPages);
protected: QAbstractTextDocumentLayout(struct QAbstractTextDocumentLayoutPrivate&, class QTextDocument*);
protected: virtual void documentChanged(int from, int charsRemoved, int charsAdded) = 0;
protected: virtual void resizeInlineObject(class QTextInlineObject item, int posInDocument, class QTextFormat const & format);
protected: virtual void positionInlineObject(class QTextInlineObject item, int posInDocument, class QTextFormat const & format);
protected: virtual void drawInlineObject(struct QPainter* painter, class QRectF const & rect, class QTextInlineObject object, int posInDocument, class QTextFormat const & format);
protected: int formatIndex(int pos);
protected: class QTextCharFormat format(int pos);
friend struct QAbstractTextDocumentLayoutPrivate;
friend class QTextDocument;
friend struct QTextDocumentPrivate;
friend struct QTextEngine;
friend class QTextLayout;
friend class QTextLine;
};
class QTextObjectInterface{
public: virtual inline ~QTextObjectInterface();
public: virtual class QSizeF intrinsicSize(class QTextDocument* doc, int posInDocument, class QTextFormat const & format) = 0;
public: virtual void drawObject(struct QPainter* painter, class QRectF const & rect, class QTextDocument* doc, int posInDocument, class QTextFormat const & format) = 0;
};
#endif // QABSTRACTTEXTDOCUMENTLAYOUT_H