00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00027 #ifndef __PDF_GRAPH_DASH_HEADER_INCLUDED__
00028 #define __PDF_GRAPH_DASH_HEADER_INCLUDED__
00029
00030 #include <iosfwd>
00031 #include <vector>
00032
00033 namespace pdf { namespace graph {
00034
00043 class CDash
00044 {
00045 private :
00046 std::vector<double> m_dash_array ;
00047
00048 double m_dash_phase ;
00049
00050 public :
00051 CDash( ) ;
00052 CDash( double dash_phase ) ;
00053 CDash( double dash_array, double dash_phase ) ;
00054 CDash( double dash_array0, double dash_array1, double dash_phase ) ;
00055 CDash( const CDash& dash ) ;
00056
00057 ~CDash( ) ;
00058
00059 std::ostream& Print( std::ostream& os ) const ;
00060
00061 bool operator==( const CDash& dash ) const ;
00062 bool operator!=( const CDash& dash ) const
00063 { return !operator==( dash ) ; }
00064
00065 private :
00066 #ifdef _DEBUG
00067 bool IsValid( ) const ;
00068 #endif
00069 } ;
00070
00071 inline std::ostream& operator<<( std::ostream& os, const CDash& dash )
00072 {
00073 return dash.Print( os ) ;
00074 }
00075
00076 } }
00077
00078 #endif