File: graphctl.h

package info (click to toggle)
wine 10.0~repack-12
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 326,476 kB
  • sloc: ansic: 4,155,993; perl: 23,800; yacc: 22,031; javascript: 15,872; makefile: 12,346; pascal: 9,519; objc: 6,923; lex: 5,273; xml: 3,219; python: 2,688; cpp: 1,741; sh: 871; java: 750; asm: 299; cs: 62
file content (95 lines) | stat: -rw-r--r-- 2,922 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*
 *  ReactOS Task Manager
 *
 *  graphctl.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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#ifndef __GRAPH_CTRL_H__
#define __GRAPH_CTRL_H__

#define MAX_PLOTS 4
#define MAX_CTRLS 4

#ifdef __cplusplus
extern "C" {
#endif

typedef struct
{
  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 */

/* those were protected fields */
  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;
} TGraphCtrl;

extern WNDPROC OldGraphCtrlWndProc;
double  GraphCtrl_AppendPoint(TGraphCtrl* this, 
                              double dNewPoint0, double dNewPoint1,
                              double dNewPoint2, double dNewPoint3);
void    GraphCtrl_Create(TGraphCtrl* this, HWND hWnd, HWND hParentWnd, UINT nID);
void    GraphCtrl_Reset(TGraphCtrl* this);
void    GraphCtrl_SetBackgroundColor(TGraphCtrl* this, COLORREF 
color);
void    GraphCtrl_SetGridColor(TGraphCtrl* this, COLORREF color);
void    GraphCtrl_SetPlotColor(TGraphCtrl* this, int plot, COLORREF 
color);
void    GraphCtrl_SetRange(TGraphCtrl* this, double dLower, double 
dUpper, int nDecimalPlaces);

INT_PTR CALLBACK GraphCtrl_WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);

#ifdef __cplusplus
}
#endif

#endif /* __GRAPH_CTRL_H__ */