37 KoSize( double w, double h );
44 double height() const;
45 void setWidth( double w );
46 void setHeight( double h );
48 KoSize expandedTo( const KoSize & ) const;
49 KoSize boundedTo( const KoSize & ) const;
54 KoSize &operator+=( const KoSize & );
55 KoSize &operator-=( const KoSize & );
56 KoSize &operator*=( int c );
57 KoSize &operator*=( double c );
58 KoSize &operator/=( int c );
59 KoSize &operator/=( double c );
61 friend inline bool operator==( const KoSize &, const KoSize & );
62 friend inline bool operator!=( const KoSize &, const KoSize & );
63 friend inline const KoSize operator+( const KoSize &, const KoSize & );
64 friend inline const KoSize operator-( const KoSize &, const KoSize & );
65 friend inline const KoSize operator*( const KoSize &, int );
66 friend inline const KoSize operator*( int, const KoSize & );
67 friend inline const KoSize operator*( const KoSize &, double );
68 friend inline const KoSize operator*( double, const KoSize & );
69 friend inline const KoSize operator/( const KoSize &, int );
70 friend inline const KoSize operator/( const KoSize &, double );
72 inline TQSize toTQSize() const;
73 static KoSize fromTQSize( const TQSize &size )
75 return KoSize(size.width(), size.height());
84 static void warningDivByZero()
86#if defined(TQT_CHECK_MATH)
87 tqWarning( "KoSize: Division by zero error" );
100inline KoSize::KoSize()
103inline KoSize::KoSize( double w, double h )
106inline bool KoSize::isNull() const
107{ return wd==0.0 && ht==0.0; }
109inline bool KoSize::isEmpty() const
110{ return wd<=0.0 || ht<=0.0; }
112inline bool KoSize::isValid() const
113{ return wd>=0.0 && ht>=0.0; }
115inline double KoSize::width() const
118inline double KoSize::height() const
121inline void KoSize::setWidth( double w )
124inline void KoSize::setHeight( double h )
127inline double &KoSize::rwidth()
130inline double &KoSize::rheight()
134{ wd+=s.wd; ht+=s.ht; return * this; }
137{ wd-=s.wd; ht-=s.ht; return * this; }
139inline KoSize &KoSize::operator*=( int c )
140{ wd*=c; ht*=c; return * this; }
142inline KoSize &KoSize::operator*=( double c )
143{ wd=wd*c; ht=ht*c; return * this; }
145inline bool operator==( const KoSize &s1, const KoSize &s2 )
146{ return s1.wd == s2.wd && s1.ht == s2.ht; }
148inline bool operator!=( const KoSize &s1, const KoSize &s2 )
149{ return s1.wd != s2.wd || s1.ht != s2.ht; }
152{ return KoSize(s1.wd+s2.wd, s1.ht+s2.ht); }
155{ return KoSize(s1.wd-s2.wd, s1.ht-s2.ht); }
158{ return KoSize(s.wd*c, s.ht*c); }
161{ return KoSize(s.wd*c, s.ht*c); }
163inline const KoSize operator*( const KoSize &s, double c )
164{ return KoSize(s.wd*c, s.ht*c); }
166inline const KoSize operator*( double c, const KoSize &s )
167{ return KoSize(s.wd*c, s.ht*c); }
169inline KoSize &KoSize::operator/=( int c )
171#if defined(TQT_CHECK_MATH)
179inline KoSize &KoSize::operator/=( double c )
181#if defined(TQT_CHECK_MATH)
191#if defined(TQT_CHECK_MATH)
193 KoSize::warningDivByZero();
195 return KoSize(s.wd/c, s.ht/c);
198inline const KoSize operator/( const KoSize &s, double c )
200#if defined(TQT_CHECK_MATH)
202 KoSize::warningDivByZero();
204 return KoSize(s.wd/c, s.ht/c);
207inline KoSize KoSize::expandedTo( const KoSize & otherSize ) const
209 return KoSize( TQMAX(wd,otherSize.wd), TQMAX(ht,otherSize.ht) );
212inline KoSize KoSize::boundedTo( const KoSize & otherSize ) const
214 return KoSize( TQMIN(wd,otherSize.wd), TQMIN(ht,otherSize.ht) );
217inline TQSize KoSize::toTQSize() const
219 return TQSize(tqRound(wd), tqRound(ht));
227inline kdbgstream operator<<( kdbgstream str, const KoSize & sz ) { str << "[" << sz.width() << "x" << sz.height() << "]"; return str; }
228inline kndbgstream operator<<( kndbgstream str, const KoSize & ) { return str; }
A size whose coordinates are floating-point values ( "double"s ).
|