120 lines
2.3 KiB
C++
120 lines
2.3 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, SH Software Co. Ltd.
|
|
// = FileName : XScreenDc Àà
|
|
// = Version : ver2.0
|
|
// = Author : zjq
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: XScreenDc ÉùÃ÷
|
|
// = Maintainers:
|
|
//
|
|
//-----------------------------------------------------------------------------+
|
|
#ifndef _XScreenDc_H_
|
|
#define _XScreenDc_H_
|
|
|
|
#ifndef _XDcStream_H_
|
|
#include "XDcStream.h"
|
|
#endif
|
|
|
|
#ifndef _XCURVESEGMENT_H_
|
|
#include "XCurveSegment.h"
|
|
#endif
|
|
|
|
#ifndef _XLINE_H_
|
|
#include "XLine.h"
|
|
#endif
|
|
|
|
#ifndef _XRECTANGLE_H_
|
|
#include "XRectAngle.h"
|
|
#endif
|
|
|
|
#ifndef _XPOINTLISTT_H_
|
|
#include "XPointList.h"
|
|
#endif
|
|
|
|
#ifndef _XARC_H_
|
|
#include "XArc.h"
|
|
#endif
|
|
|
|
#ifndef _XPOLY2D_H_
|
|
#include "XPoly2D.h"
|
|
#endif
|
|
|
|
#ifndef _XCIRCLE_H_
|
|
#include "XCircle.h"
|
|
#endif
|
|
|
|
#ifndef _X3DFACE_H_
|
|
#include "X3DFace.h"
|
|
#endif
|
|
|
|
#ifndef _XPOINT_H_
|
|
#include "XPoint.h"
|
|
#endif
|
|
|
|
#ifndef _ENTITY_H_
|
|
#include "Entity.h"
|
|
#endif
|
|
|
|
class GEOAPI XScreenDc: public XDcStream
|
|
{
|
|
public:
|
|
|
|
XScreenDc(short nColor = 7, short nMode = 0);
|
|
virtual ~XScreenDc();
|
|
|
|
virtual const TCHAR *Desc();
|
|
|
|
virtual void DrawXEntity(const Entity & e);
|
|
|
|
virtual void DrawXPoint(const XPoint & pt);
|
|
|
|
virtual void DrawX3DFace(const X3DFace & face);
|
|
|
|
virtual void DrawXPoints(const XPointList & pts);
|
|
|
|
virtual void DrawXPoly(const XPoly2D & poly,double dThick = 0);
|
|
|
|
virtual void DrawXCurve(const XCurveSegment & curve,double dThick = 0);
|
|
|
|
void SetMode(short nMode);
|
|
|
|
void SetColor(short nColor);
|
|
|
|
void Draw(const XLine & ln);
|
|
|
|
void Draw(const XPoly2D & poly);
|
|
|
|
void Draw(const X3DFace & face);
|
|
|
|
void Draw(const XRectAngle & box);
|
|
|
|
void Draw(const XCurveSegment & curve);
|
|
|
|
void Draw(const XArc & arc, int nDiv = 30);
|
|
|
|
void Draw(const XCircle & cir, int nDiv = 30);
|
|
|
|
void Draw( const XPointList & pts, int bClose = 0);
|
|
|
|
void Draw(const Entity & e,ads_matrix tranMat = NULL,int nBlkColor = 0);
|
|
|
|
void Draw(const XPoint & pt, int nStyle = PS_CROSS_SLANT, int nPercentage = 5);
|
|
|
|
static const TCHAR *Descriptor();
|
|
|
|
public:
|
|
|
|
short m_nFrontColor, m_nBackColor;
|
|
short m_nDrawMode; // 0--normal 1--highlight
|
|
|
|
int m_nFlag;
|
|
|
|
ads_real m_nModelX, m_nModelY; // Screen Size
|
|
|
|
protected:
|
|
|
|
virtual void _Draw(const XLine &ln);
|
|
};
|
|
|
|
#endif
|