00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef kwordwrap_h
00020 #define kwordwrap_h
00021
00022 #include <tqfontmetrics.h>
00023 #include <tqvaluelist.h>
00024 #include <tqrect.h>
00025 #include <tqstring.h>
00026
00027 #include <tdelibs_export.h>
00028
00048 class TDEUI_EXPORT KWordWrap
00049 {
00050 public:
00056 enum { FadeOut = 0x10000000, Truncate = 0x20000000 };
00057
00069 static KWordWrap* formatText( TQFontMetrics &fm, const TQRect & r, int flags, const TQString & str, int len = -1 );
00070
00077 TQRect boundingRect() const { return m_boundingRect; }
00078
00083 TQString wrappedString() const;
00084
00090 TQString truncatedString( bool dots = true ) const;
00091
00104 void drawText( TQPainter *painter, int x, int y, int flags = TQt::AlignAuto ) const;
00105
00109 ~KWordWrap();
00110
00123 static void drawFadeoutText( TQPainter *p, int x, int y, int maxW,
00124 const TQString &t );
00125
00136 static void drawTruncateText( TQPainter *p, int x, int y, int maxW,
00137 const TQString &t );
00138
00139 private:
00140 KWordWrap( const TQRect & r );
00141 TQValueList<int> m_breakPositions;
00142 TQValueList<int> m_lineWidths;
00143 TQRect m_boundingRect;
00144 TQString m_text;
00145 private:
00146 class KWordWrapPrivate* d;
00147 };
00148
00149 #endif