mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 09:34:43 +00:00
b63bf89d46
Converted Comments from C++ style to C. (WINE is going to adopt our taskmgr soon) svn path=/trunk/; revision=6812
121 lines
3.1 KiB
C++
121 lines
3.1 KiB
C++
/*
|
|
* ReactOS Task Manager
|
|
*
|
|
* GraphCtrl.h
|
|
*
|
|
* Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#ifndef __GRAPH_CTRL_H__
|
|
#define __GRAPH_CTRL_H__
|
|
|
|
#define MAX_PLOTS 4
|
|
#define MAX_CTRLS 4
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
|
class TGraphCtrl
|
|
{
|
|
/* Attributes */
|
|
public:
|
|
double AppendPoint(double dNewPoint0, double dNewPoint1 = 0.0,
|
|
double dNewPoint2 = 0.0, double dNewPoint3 = 0.0);
|
|
void SetRange(double dLower, double dUpper, int nDecimalPlaces=1);
|
|
void SetXUnits(const char* string);
|
|
void SetYUnits(const char* string);
|
|
void SetGridColor(COLORREF color);
|
|
void SetPlotColor(int plot, COLORREF color);
|
|
void SetBackgroundColor(COLORREF color);
|
|
void InvalidateCtrl();
|
|
void DrawPoint();
|
|
void Reset();
|
|
|
|
/* Operations */
|
|
public:
|
|
BOOL Create(DWORD dwStyle, const RECT& rect, HWND hParentWnd, UINT nID=NULL);
|
|
BOOL Create(HWND hWnd, HWND hParentWnd, UINT nID=NULL);
|
|
void Paint(HWND hWnd, HDC dc);
|
|
void Resize(void);
|
|
|
|
#if 0
|
|
static TGraphCtrl* LookupGraphCtrl(HWND hWnd);
|
|
static TGraphCtrl* pCtrlArray[MAX_CTRLS];
|
|
static int CtrlCount;
|
|
#endif
|
|
|
|
/* Implementation */
|
|
public:
|
|
int m_nShiftPixels; /* amount to shift with each new point */
|
|
int m_nYDecimals;
|
|
|
|
char m_strXUnitsString[50];
|
|
char m_strYUnitsString[50];
|
|
|
|
COLORREF m_crBackColor; /* background color */
|
|
COLORREF m_crGridColor; /* grid color */
|
|
COLORREF m_crPlotColor[MAX_PLOTS]; /* data color */
|
|
|
|
double m_dCurrentPosition[MAX_PLOTS]; /* current position */
|
|
double m_dPreviousPosition[MAX_PLOTS]; /* previous position */
|
|
|
|
/* Construction */
|
|
public:
|
|
TGraphCtrl();
|
|
virtual ~TGraphCtrl();
|
|
|
|
protected:
|
|
int m_nHalfShiftPixels;
|
|
int m_nPlotShiftPixels;
|
|
int m_nClientHeight;
|
|
int m_nClientWidth;
|
|
int m_nPlotHeight;
|
|
int m_nPlotWidth;
|
|
|
|
double m_dLowerLimit; /* lower bounds */
|
|
double m_dUpperLimit; /* upper bounds */
|
|
double m_dRange;
|
|
double m_dVerticalFactor;
|
|
|
|
HWND m_hWnd;
|
|
HWND m_hParentWnd;
|
|
HDC m_dcGrid;
|
|
HDC m_dcPlot;
|
|
HBITMAP m_bitmapOldGrid;
|
|
HBITMAP m_bitmapOldPlot;
|
|
HBITMAP m_bitmapGrid;
|
|
HBITMAP m_bitmapPlot;
|
|
HBRUSH m_brushBack;
|
|
HPEN m_penPlot[MAX_PLOTS];
|
|
RECT m_rectClient;
|
|
RECT m_rectPlot;
|
|
};
|
|
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern LONG OldGraphCtrlWndProc;
|
|
|
|
LRESULT CALLBACK GraphCtrl_WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif
|
|
|
|
|
|
#endif /* __GRAPH_CTRL_H__ */
|