|
|
|
/****************************************************************************
|
|
|
|
**
|
|
|
|
** Documentation of the Format of the TQDataStream operators
|
|
|
|
**
|
|
|
|
** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
|
|
|
|
**
|
|
|
|
** This file is part of the TQt GUI Toolkit.
|
|
|
|
**
|
|
|
|
** This file may be used under the terms of the GNU General
|
|
|
|
** Public License versions 2.0 or 3.0 as published by the Free
|
|
|
|
** Software Foundation and appearing in the files LICENSE.GPL2
|
|
|
|
** and LICENSE.GPL3 included in the packaging of this file.
|
|
|
|
** Alternatively you may (at your option) use any later version
|
|
|
|
** of the GNU General Public License if such license has been
|
|
|
|
** publicly approved by Trolltech ASA (or its successors, if any)
|
|
|
|
** and the KDE Free TQt Foundation.
|
|
|
|
**
|
|
|
|
** Please review the following information to ensure GNU General
|
|
|
|
** Public Licensing requirements will be met:
|
|
|
|
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
|
|
|
|
** If you are unsure which license is appropriate for your use, please
|
|
|
|
** review the following information:
|
|
|
|
** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
|
|
|
|
** or contact the sales department at sales@trolltech.com.
|
|
|
|
**
|
|
|
|
** This file may be used under the terms of the Q Public License as
|
|
|
|
** defined by Trolltech ASA and appearing in the file LICENSE.QPL
|
|
|
|
** included in the packaging of this file. Licensees holding valid Qt
|
|
|
|
** Commercial licenses may use this file in accordance with the Qt
|
|
|
|
** Commercial License Agreement provided with the Software.
|
|
|
|
**
|
|
|
|
** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
|
|
|
|
** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
|
|
|
|
** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
|
|
|
|
** herein.
|
|
|
|
**
|
|
|
|
**********************************************************************/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\page datastreamformat.html
|
|
|
|
|
|
|
|
\title Format of the TQDataStream Operators
|
|
|
|
|
|
|
|
The \l TQDataStream allows you to serialize some of the TQt data types.
|
|
|
|
The table below lists the data types that TQDataStream can serialize
|
|
|
|
and how they are represented.
|
|
|
|
|
|
|
|
It is best to always cast integers to a TQt integer type when writing,
|
|
|
|
and to read back into the same TQt integer type when reading.
|
|
|
|
|
|
|
|
\table
|
|
|
|
\row \i TQ_INT8
|
|
|
|
\i \list
|
|
|
|
\i signed byte
|
|
|
|
\endlist
|
|
|
|
\row \i TQ_INT16
|
|
|
|
\i \list
|
|
|
|
\i signed 16 bit integer
|
|
|
|
\endlist
|
|
|
|
\row \i TQ_INT32
|
|
|
|
\i \list
|
|
|
|
\i signed 32 bit integer
|
|
|
|
\endlist
|
|
|
|
\row \i TQ_UINT8
|
|
|
|
\i \list
|
|
|
|
\i unsigned byte
|
|
|
|
\endlist
|
|
|
|
\row \i TQ_UINT16
|
|
|
|
\i \list
|
|
|
|
\i unsigned 16 bit integer
|
|
|
|
\endlist
|
|
|
|
\row \i TQ_UINT32
|
|
|
|
\i \list
|
|
|
|
\i unsigned 32 bit integer
|
|
|
|
\endlist
|
|
|
|
\row \i float
|
|
|
|
\i \list
|
|
|
|
\i 32-bit floating point number using the standard IEEE-754 format
|
|
|
|
\endlist
|
|
|
|
\row \i double
|
|
|
|
\i \list
|
|
|
|
\i 64-bit floating point number using the standard IEEE-754 format
|
|
|
|
\endlist
|
|
|
|
\row \i char *
|
|
|
|
\i \list
|
|
|
|
\i The size of the string including the terminating 0 (TQ_UINT32)
|
|
|
|
\i The string bytes including the terminating 0
|
|
|
|
\endlist
|
|
|
|
The null string is represented as \c {(TQ_UINT32) 0}.
|
|
|
|
\row \i TQBitArray
|
|
|
|
\i \list
|
|
|
|
\i The array size (TQ_UINT32)
|
|
|
|
\i The array bits, i.e. (size + 7)/8 bytes
|
|
|
|
\endlist
|
|
|
|
\row \i TQBrush
|
|
|
|
\i \list
|
|
|
|
\i The brush style (TQ_UINT8)
|
|
|
|
\i The brush color (TQColor)
|
|
|
|
\i If style is CustomPattern, the brush pixmap (TQPixmap)
|
|
|
|
\endlist
|
|
|
|
\row \i TQByteArray
|
|
|
|
\i \list
|
|
|
|
\i The array size (TQ_UINT32)
|
|
|
|
\i The array bytes, i.e. size bytes
|
|
|
|
\endlist
|
|
|
|
\row \i TQCString
|
|
|
|
\i \list
|
|
|
|
\i The size of the string including the terminating 0 (TQ_UINT32)
|
|
|
|
\i The string bytes including the terminating 0
|
|
|
|
\endlist
|
|
|
|
The null string is represented as \c {(TQ_UINT32) 0}.
|
|
|
|
\row \i \l TQColor
|
|
|
|
\i \list \i RGB value serialized as a TQ_UINT32 \endlist
|
|
|
|
\row \i TQColorGroup
|
|
|
|
\i \list
|
|
|
|
\i foreground (TQBrush)
|
|
|
|
\i button (TQBrush)
|
|
|
|
\i light (TQBrush)
|
|
|
|
\i midLight (TQBrush)
|
|
|
|
\i dark (TQBrush)
|
|
|
|
\i mid (TQBrush)
|
|
|
|
\i text (TQBrush)
|
|
|
|
\i brightText (TQBrush)
|
|
|
|
\i ButtonText (TQBrush)
|
|
|
|
\i base (TQBrush)
|
|
|
|
\i background (TQBrush)
|
|
|
|
\i shadow (TQBrush)
|
|
|
|
\i highlight (TQBrush)
|
|
|
|
\i highlightedText (TQBrush)
|
|
|
|
\endlist
|
|
|
|
\row \i TQCursor
|
|
|
|
\i \list
|
|
|
|
\i Shape id (TQ_INT16)
|
|
|
|
\i If shape is BitmapCursor: The bitmap (TQPixmap), mask (TQPixmap) and hot spot (TQPoint)
|
|
|
|
\endlist
|
|
|
|
\row \i TQDate
|
|
|
|
\i \list
|
|
|
|
\i Julian day (TQ_UINT32)
|
|
|
|
\endlist
|
|
|
|
\row \i TQDateTime
|
|
|
|
\i \list
|
|
|
|
\i Date (TQDate)
|
|
|
|
\i Time (TQTime)
|
|
|
|
\endlist
|
|
|
|
\row \i TQFont
|
|
|
|
\i \list
|
|
|
|
\i The family (TQCString)
|
|
|
|
\i The point size (TQ_INT16)
|
|
|
|
\i The style hint (TQ_UINT8)
|
|
|
|
\i The char set (TQ_UINT8)
|
|
|
|
\i The weight (TQ_UINT8)
|
|
|
|
\i The font bits (TQ_UINT8)
|
|
|
|
\endlist
|
|
|
|
\row \i TQImage
|
|
|
|
\i \list
|
|
|
|
\i If the image is null a "null image" marker is saved;
|
|
|
|
otherwise the image is saved in PNG or BMP format (depending
|
|
|
|
on the stream version). If you want control of the format,
|
|
|
|
stream the image into a TQBuffer (using TQImageIO) and stream
|
|
|
|
that.
|
|
|
|
\endlist
|
|
|
|
\row \i TQMap
|
|
|
|
\i \list
|
|
|
|
\i The number of items (TQ_UINT32)
|
|
|
|
\i For all items, the key and value
|
|
|
|
\endlist
|
|
|
|
\row \i TQPalette
|
|
|
|
\i \list
|
|
|
|
\i active (TQColorGroup)
|
|
|
|
\i disabled (TQColorGroup)
|
|
|
|
\i inactive (TQColorGroup)
|
|
|
|
\endlist
|
|
|
|
\row \i TQPen
|
|
|
|
\i \list
|
|
|
|
\i The pen styles (TQ_UINT8)
|
|
|
|
\i The pen width (TQ_UINT8)
|
|
|
|
\i The pen color (TQColor)
|
|
|
|
\endlist
|
|
|
|
\row \i TQPicture
|
|
|
|
\i \list
|
|
|
|
\i The size of the picture data (TQ_UINT32)
|
|
|
|
\i The raw bytes of picture data (char)
|
|
|
|
\endlist
|
|
|
|
\row \i TQPixmap
|
|
|
|
\i \list
|
|
|
|
\i Save it as a PNG image.
|
|
|
|
\endlist
|
|
|
|
\row \i TQPoint
|
|
|
|
\i \list
|
|
|
|
\i The x coordinate (TQ_INT32)
|
|
|
|
\i The y coordinate (TQ_INT32)
|
|
|
|
\endlist
|
|
|
|
\row \i TQPointArray
|
|
|
|
\i \list
|
|
|
|
\i The array size (TQ_UINT32)
|
|
|
|
\i The array points (TQPoint)
|
|
|
|
\endlist
|
|
|
|
\row \i TQRect
|
|
|
|
\i \list
|
|
|
|
\i left (TQ_INT32)
|
|
|
|
\i top (TQ_INT32)
|
|
|
|
\i right (TQ_INT32)
|
|
|
|
\i bottom (TQ_INT32)
|
|
|
|
\endlist
|
|
|
|
\row \i TQRegion
|
|
|
|
\i \list
|
|
|
|
\i The size of the data, i.e. 8 + 16 * (number of rectangles) (TQ_UINT32)
|
|
|
|
\i QRGN_RECTS (TQ_INT32)
|
|
|
|
\i The number of rectangles (TQ_UINT32)
|
|
|
|
\i The rectangles in sequential order (TQRect)
|
|
|
|
\endlist
|
|
|
|
\row \i TQSize
|
|
|
|
\i \list
|
|
|
|
\i width (TQ_INT32)
|
|
|
|
\i height (TQ_INT32)
|
|
|
|
\endlist
|
|
|
|
\row \i TQString
|
|
|
|
\i \list
|
|
|
|
\i If the string is null: 0xffffffff (TQ_UINT32)<br>
|
|
|
|
otherwise: The string length (TQ_UINT32) followed by the
|
|
|
|
data in UTF-16
|
|
|
|
\endlist
|
|
|
|
\row \i TQTime
|
|
|
|
\i \list
|
|
|
|
\i Milliseconds since midnight (TQ_UINT32)
|
|
|
|
\endlist
|
|
|
|
\row \i TQValueList
|
|
|
|
\i \list
|
|
|
|
\i The number of list elements (TQ_UINT32)
|
|
|
|
\i All the elements in sequential order
|
|
|
|
\endlist
|
|
|
|
\row \i TQVariant
|
|
|
|
\i \list
|
|
|
|
\i The type of the data (TQ_UINT32)
|
|
|
|
\i The data of the specified type
|
|
|
|
\endlist
|
|
|
|
\row \i TQWMatrix
|
|
|
|
\i \list
|
|
|
|
\i m11 (double)
|
|
|
|
\i m12 (double)
|
|
|
|
\i m21 (double)
|
|
|
|
\i m22 (double)
|
|
|
|
\i dx (double)
|
|
|
|
\i dy (double)
|
|
|
|
\endlist
|
|
|
|
\endtable
|
|
|
|
|
|
|
|
*/
|