source: trunk/include/qpen.h@ 35

Last change on this file since 35 was 2, checked in by dmik, 20 years ago

Imported xplatform parts of the official release 3.3.1 from Trolltech

  • Property svn:keywords set to Id
File size: 3.1 KB
Line 
1/****************************************************************************
2** $Id: qpen.h 2 2005-11-16 15:49:26Z dmik $
3**
4** Definition of QPen class
5**
6** Created : 940112
7**
8** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
9**
10** This file is part of the kernel module of the Qt GUI Toolkit.
11**
12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file.
15**
16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file.
20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software.
24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32**
33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you.
35**
36**********************************************************************/
37
38#ifndef QPEN_H
39#define QPEN_H
40
41#ifndef QT_H
42#include "qcolor.h"
43#include "qshared.h"
44#endif // QT_H
45
46
47class Q_EXPORT QPen: public Qt
48{
49public:
50 QPen();
51 QPen( PenStyle );
52 QPen( const QColor &color, uint width=0, PenStyle style=SolidLine );
53 QPen( const QColor &cl, uint w, PenStyle s, PenCapStyle c, PenJoinStyle j);
54 QPen( const QPen & );
55 ~QPen();
56 QPen &operator=( const QPen & );
57
58 PenStyle style() const { return data->style; }
59 void setStyle( PenStyle );
60 uint width() const { return data->width; }
61 void setWidth( uint );
62 const QColor &color() const { return data->color; }
63 void setColor( const QColor & );
64 PenCapStyle capStyle() const;
65 void setCapStyle( PenCapStyle );
66 PenJoinStyle joinStyle() const;
67 void setJoinStyle( PenJoinStyle );
68
69 bool operator==( const QPen &p ) const;
70 bool operator!=( const QPen &p ) const
71 { return !(operator==(p)); }
72
73private:
74 friend class QPainter;
75#ifdef Q_WS_WIN
76 friend class QFontEngineWin;
77#endif
78
79 QPen copy() const;
80 void detach();
81 void init( const QColor &, uint, uint );
82 struct QPenData : public QShared { // pen data
83 PenStyle style;
84 uint width;
85 QColor color;
86 Q_UINT16 linest;
87 } *data;
88};
89
90
91/*****************************************************************************
92 QPen stream functions
93 *****************************************************************************/
94#ifndef QT_NO_DATASTREAM
95Q_EXPORT QDataStream &operator<<( QDataStream &, const QPen & );
96Q_EXPORT QDataStream &operator>>( QDataStream &, QPen & );
97#endif
98
99#endif // QPEN_H
Note: See TracBrowser for help on using the repository browser.