This is the verbatim text of the qsize.h include file. It is is provided only for illustration; the copyright remains with Troll Tech.
/**************************************************************************** ** $Id: qsize.h,v 1.6 1995/06/08 18:21:21 eiriken Exp $ ** ** Definition of QSize class ** ** Author : Haavard Nord ** Created : 931028 ** ** Copyright (C) 1993-1995 by Troll Tech AS. All rights reserved. ** *****************************************************************************/ #ifndef QSIZE_H #define QSIZE_H #include "qpoint.h" class QSize // size class { public: QSize() {} // undefined init values QSize( QCOORD w, QCOORD h ); // set w=width, h=height bool isNull() const { return wd==0 && ht==0; } bool isEmpty() const { return wd<1 || ht<1; } bool isValid() const { return wd>=0 && ht>=0; } QCOORD width() const { return wd; } // get width QCOORD height() const { return ht; } // get height void setWidth( QCOORD w ) { wd=(QCOORD)w;}// set width void setHeight( QCOORD h ){ ht=(QCOORD)h;}// set height QCOORD &rwidth() { return wd; } // get reference to width QCOORD &rheight() { return ht; } // get reference to height QSize &operator+=( const QSize & ); // add size QSize &operator-=( const QSize & ); // subtract size QSize &operator*=( int c ); // multiply with scalar QSize &operator*=( float c ); // multiply with scalar float QSize &operator/=( int c ); // divide by scalar QSize &operator/=( float c ); // divide by scalar float friend bool operator==( const QSize &, const QSize & ); friend bool operator!=( const QSize &, const QSize & ); friend QSize operator+( const QSize &, const QSize & ); friend QSize operator-( const QSize &, const QSize & ); friend QSize operator*( const QSize &, int ); friend QSize operator*( int, const QSize & ); friend QSize operator*( const QSize &, float ); friend QSize operator*( float, const QSize & ); friend QSize operator/( const QSize &, int ); friend QSize operator/( const QSize &, float ); private: QCOORD wd; // width QCOORD ht; // height }; // -------------------------------------------------------------------------- // QSize stream functions // QDataStream &operator<<( QDataStream &, const QSize & ); QDataStream &operator>>( QDataStream &, QSize & ); #if !(defined(QSIZE_C) || defined(DEBUG)) // -------------------------------------------------------------------------- // QSize member functions // inline QSize::QSize( QCOORD w, QCOORD h ) { wd=w; ht=h; } inline QSize &QSize::operator*=( int c ) { wd*=c; ht*=c; return *this; } inline QSize &QSize::operator*=( float c ) { wd=(QCOORD)(wd*c); ht=(QCOORD)(ht*c); return *this; } inline QSize &QSize::operator/=( int c ) { wd/=c; ht/=c; return *this; } inline QSize &QSize::operator/=( float c ) { wd=(QCOORD)(wd/c); ht=(QCOORD)(ht/c); return *this; } inline bool operator==( const QSize &s1, const QSize &s2 ) { return s1.wd == s2.wd && s1.ht == s2.ht; } inline bool operator!=( const QSize &s1, const QSize &s2 ) { return s1.wd != s2.wd || s1.ht != s2.ht; } inline QSize operator*( const QSize &s, int c ) { return QSize( s.wd*c, s.ht*c ); } inline QSize operator*( int c, const QSize &s ) { return QSize( s.wd*c, s.ht*c ); } inline QSize operator*( const QSize &s, float c ) { return QSize( (QCOORD)(s.wd*c), (QCOORD)(s.ht*c) ); } inline QSize operator*( float c, const QSize &s ) { return QSize( (QCOORD)(s.wd*c), (QCOORD)(s.ht*c) ); } inline QSize operator/( const QSize &s, int c ) { return QSize( s.wd/c, s.ht/c ); } inline QSize operator/( const QSize &s, float c ) { return QSize( (QCOORD)(s.wd/c), (QCOORD)(s.ht/c) ); } #endif // inline functions #endif // QSIZE_H