/*--------------------------------------------------------------------------------
'Nom du projet : Oscilloscope
'Outil : Visual C++ 6
'Nom du fichier: Scope.h : implementation file
'Realisation:Mathieu Texier et Emmanuel Traineau
'Date: Juin 2003
'Responsable: Eric Meleiro
'--------------------------------------------------------------------------------
*/
// spin déclaré dans oscilloDlg.cpp
extern int m_volt;
extern int m_time;
extern int m_offset;
class CScope : public CStatic
{
// Construction
public:
CScope();
// Attributes
public:
HWND hwnd;
HDC hdc;
HPEN hp_green;
POINT *pts;
int cx;
int cy;
int cy2;
int cyscope;
short int qdx;
short int qdy;
// Operations
public:
void Reset (void);
void Quadrillage(void);
// affiche la courbe lors de la lecture
void UpdateView (BYTE *ptr)
{
int s;
for (s=0; s<cx; s++) // balayage de l'écran
pts[s].y = cyscope - m_offset + ((10*ptr[s])/(8*m_volt)); // abscice de chaque point
::PatBlt (hdc, 0, 0, cx, cy, BLACKNESS); // remplit la fenètre de noir
Quadrillage(); // affiche la grille
hp_green = ::CreatePen (PS_SOLID, 1, RGB(0,255,0)); //définition du pinceau vert
::SelectObject (hdc, hp_green) ;//selection de se pinceau
::Polyline (hdc, pts, cx); // trace un trait entre chaque point -> aaffiche la courbe
}
// Implementation
public:
virtual ~CScope();
// Generated message map functions
protected:
//{{AFX_MSG(CScope)
afx_msg void OnDestroy();
afx_msg void OnPaint();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////