taskmgr: Reorder some functions to avoid forward declarations in graphctl.c.

Francois Gouget fgouget at free.fr
Wed Feb 4 17:10:52 CST 2009


---
 programs/taskmgr/graphctl.c |  238 +++++++++++++++++++++---------------------
 programs/taskmgr/graphctl.h |    4 -
 2 files changed, 119 insertions(+), 123 deletions(-)

diff --git a/programs/taskmgr/graphctl.c b/programs/taskmgr/graphctl.c
index ea51293..305b56c 100644
--- a/programs/taskmgr/graphctl.c
+++ b/programs/taskmgr/graphctl.c
@@ -124,66 +124,45 @@ TGraphCtrl::~TGraphCtrl(void)
 }
 #endif
 
-BOOL GraphCtrl_Create(TGraphCtrl* this, HWND hWnd, HWND hParentWnd, UINT nID) 
+void GraphCtrl_Resize(TGraphCtrl* this)
 {
-    GraphCtrl_Init(this);
-    this->m_hParentWnd = hParentWnd;
-    this->m_hWnd = hWnd;
-    GraphCtrl_Resize(this);
-    return 0;
-}
+    /*  NOTE: Resize automatically gets called during the setup of the control */
+    GetClientRect(this->m_hWnd, &this->m_rectClient);
 
-void GraphCtrl_SetRange(TGraphCtrl* this, double dLower, double dUpper, int nDecimalPlaces)
-{
-    /* ASSERT(dUpper > dLower); */
-    this->m_dLowerLimit     = dLower;
-    this->m_dUpperLimit     = dUpper;
-    this->m_nYDecimals      = nDecimalPlaces;
-    this->m_dRange          = this->m_dUpperLimit - this->m_dLowerLimit;
-    this->m_dVerticalFactor = (double)this->m_nPlotHeight / this->m_dRange; 
-    /*  clear out the existing garbage, re-start with a clean plot */
-    GraphCtrl_InvalidateCtrl(this);
-}
+    /*  set some member variables to avoid multiple function calls */
+    this->m_nClientHeight = this->m_rectClient.bottom - this->m_rectClient.top;/* m_rectClient.Height(); */
+    this->m_nClientWidth  = this->m_rectClient.right - this->m_rectClient.left;/* m_rectClient.Width(); */
 
+    /*  the "left" coordinate and "width" will be modified in  */
+    /*  InvalidateCtrl to be based on the width of the y axis scaling */
 #if 0
-void TGraphCtrl::SetXUnits(const char* string)
-{
-    lstrcpynA(m_strXUnitsString, string, sizeof(m_strXUnitsString));
-    /*  clear out the existing garbage, re-start with a clean plot */
-    InvalidateCtrl();
-}
-
-void TGraphCtrl::SetYUnits(const char* string)
-{
-    lstrcpynA(m_strYUnitsString, string, sizeof(m_strYUnitsString));
-    /*  clear out the existing garbage, re-start with a clean plot */
-    InvalidateCtrl();
-}
+    this->m_rectPlot.left   = 20;
+    this->m_rectPlot.top    = 10;
+    this->m_rectPlot.right  = this->m_rectClient.right-10;
+    this->m_rectPlot.bottom = this->m_rectClient.bottom-25;
+#else
+    this->m_rectPlot.left   = 0;
+    this->m_rectPlot.top    = -1;
+    this->m_rectPlot.right  = this->m_rectClient.right-0;
+    this->m_rectPlot.bottom = this->m_rectClient.bottom-0;
 #endif
 
-void GraphCtrl_SetGridColor(TGraphCtrl* this, COLORREF color)
-{
-    this->m_crGridColor = color;
-    /*  clear out the existing garbage, re-start with a clean plot */
-    GraphCtrl_InvalidateCtrl(this);
-}
+    /*  set some member variables to avoid multiple function calls */
+    this->m_nPlotHeight = this->m_rectPlot.bottom - this->m_rectPlot.top;/* m_rectPlot.Height(); */
+    this->m_nPlotWidth  = this->m_rectPlot.right - this->m_rectPlot.left;/* m_rectPlot.Width(); */
 
-void GraphCtrl_SetPlotColor(TGraphCtrl* this, int plot, COLORREF color)
-{
-    this->m_crPlotColor[plot] = color;
-    DeleteObject(this->m_penPlot[plot]);
-    this->m_penPlot[plot] = CreatePen(PS_SOLID, 0, this->m_crPlotColor[plot]);
-    /*  clear out the existing garbage, re-start with a clean plot */
-    GraphCtrl_InvalidateCtrl(this);
+    /*  set the scaling factor for now, this can be adjusted  */
+    /*  in the SetRange functions */
+    this->m_dVerticalFactor = (double)this->m_nPlotHeight / this->m_dRange;
 }
 
-void GraphCtrl_SetBackgroundColor(TGraphCtrl* this, COLORREF color)
+BOOL GraphCtrl_Create(TGraphCtrl* this, HWND hWnd, HWND hParentWnd, UINT nID)
 {
-    this->m_crBackColor = color;
-    DeleteObject(this->m_brushBack);
-    this->m_brushBack = CreateSolidBrush(this->m_crBackColor);
-    /*  clear out the existing garbage, re-start with a clean plot */
-    GraphCtrl_InvalidateCtrl(this);
+    GraphCtrl_Init(this);
+    this->m_hParentWnd = hParentWnd;
+    this->m_hWnd = hWnd;
+    GraphCtrl_Resize(this);
+    return 0;
 }
 
 void GraphCtrl_InvalidateCtrl(TGraphCtrl* this)
@@ -342,57 +321,57 @@ void GraphCtrl_InvalidateCtrl(TGraphCtrl* this)
     ReleaseDC(this->m_hParentWnd, dc);
 }
 
-double GraphCtrl_AppendPoint(TGraphCtrl* this, 
-                             double dNewPoint0, double dNewPoint1,
-                             double dNewPoint2, double dNewPoint3)
+void GraphCtrl_SetRange(TGraphCtrl* this, double dLower, double dUpper, int nDecimalPlaces)
 {
-    /*  append a data point to the plot & return the previous point */
-    double dPrevious;
-  
-    dPrevious = this->m_dCurrentPosition[0];
-    this->m_dCurrentPosition[0] = dNewPoint0;
-    this->m_dCurrentPosition[1] = dNewPoint1;
-    this->m_dCurrentPosition[2] = dNewPoint2;
-    this->m_dCurrentPosition[3] = dNewPoint3;
-    GraphCtrl_DrawPoint(this);
-    /* Invalidate(); */
-    return dPrevious;
+    /* ASSERT(dUpper > dLower); */
+    this->m_dLowerLimit     = dLower;
+    this->m_dUpperLimit     = dUpper;
+    this->m_nYDecimals      = nDecimalPlaces;
+    this->m_dRange          = this->m_dUpperLimit - this->m_dLowerLimit;
+    this->m_dVerticalFactor = (double)this->m_nPlotHeight / this->m_dRange;
+    /*  clear out the existing garbage, re-start with a clean plot */
+    GraphCtrl_InvalidateCtrl(this);
 }
 
-void GraphCtrl_Paint(TGraphCtrl* this, HWND hWnd, HDC dc) 
+#if 0
+void TGraphCtrl::SetXUnits(const char* string)
 {
-    HDC memDC;
-    HBITMAP memBitmap;
-    HBITMAP oldBitmap; /*  bitmap originally found in CMemDC */
+    lstrcpynA(m_strXUnitsString, string, sizeof(m_strXUnitsString));
+    /*  clear out the existing garbage, re-start with a clean plot */
+    InvalidateCtrl();
+}
 
-/*   RECT rcClient; */
-/*   GetClientRect(hWnd, &rcClient); */
-/*   FillSolidRect(dc, &rcClient, RGB(255, 0, 255)); */
-/*   m_nClientWidth = rcClient.right - rcClient.left; */
-/*   m_nClientHeight = rcClient.bottom - rcClient.top; */
+void TGraphCtrl::SetYUnits(const char* string)
+{
+    lstrcpynA(m_strYUnitsString, string, sizeof(m_strYUnitsString));
+    /*  clear out the existing garbage, re-start with a clean plot */
+    InvalidateCtrl();
+}
+#endif
 
-    /*  no real plotting work is performed here,  */
-    /*  just putting the existing bitmaps on the client */
-    
-    /*  to avoid flicker, establish a memory dc, draw to it */
-    /*  and then BitBlt it to the client */
-    memDC = CreateCompatibleDC(dc);
-    memBitmap = CreateCompatibleBitmap(dc, this->m_nClientWidth, this->m_nClientHeight);
-    oldBitmap = SelectObject(memDC, memBitmap);
+void GraphCtrl_SetGridColor(TGraphCtrl* this, COLORREF color)
+{
+    this->m_crGridColor = color;
+    /*  clear out the existing garbage, re-start with a clean plot */
+    GraphCtrl_InvalidateCtrl(this);
+}
 
-    if (memDC != NULL) 
-    {
-        /*  first drop the grid on the memory dc */
-        BitBlt(memDC, 0, 0, this->m_nClientWidth, this->m_nClientHeight, this->m_dcGrid, 0, 0, SRCCOPY);
-        /*  now add the plot on top as a "pattern" via SRCPAINT. */
-        /*  works well with dark background and a light plot */
-        BitBlt(memDC, 0, 0, this->m_nClientWidth, this->m_nClientHeight, this->m_dcPlot, 0, 0, SRCPAINT);  /* SRCPAINT */
-        /*  finally send the result to the display */
-        BitBlt(dc, 0, 0, this->m_nClientWidth, this->m_nClientHeight, memDC, 0, 0, SRCCOPY);
-    }
-    SelectObject(memDC, oldBitmap);
-    DeleteObject(memBitmap);
-    DeleteDC(memDC);
+void GraphCtrl_SetPlotColor(TGraphCtrl* this, int plot, COLORREF color)
+{
+    this->m_crPlotColor[plot] = color;
+    DeleteObject(this->m_penPlot[plot]);
+    this->m_penPlot[plot] = CreatePen(PS_SOLID, 0, this->m_crPlotColor[plot]);
+    /*  clear out the existing garbage, re-start with a clean plot */
+    GraphCtrl_InvalidateCtrl(this);
+}
+
+void GraphCtrl_SetBackgroundColor(TGraphCtrl* this, COLORREF color)
+{
+    this->m_crBackColor = color;
+    DeleteObject(this->m_brushBack);
+    this->m_brushBack = CreateSolidBrush(this->m_crBackColor);
+    /*  clear out the existing garbage, re-start with a clean plot */
+    GraphCtrl_InvalidateCtrl(this);
 }
 
 void GraphCtrl_DrawPoint(TGraphCtrl* this)
@@ -481,36 +460,57 @@ void GraphCtrl_DrawPoint(TGraphCtrl* this)
     }
 }
 
-void GraphCtrl_Resize(TGraphCtrl* this) 
+double GraphCtrl_AppendPoint(TGraphCtrl* this,
+                             double dNewPoint0, double dNewPoint1,
+                             double dNewPoint2, double dNewPoint3)
 {
-    /*  NOTE: Resize automatically gets called during the setup of the control */
-    GetClientRect(this->m_hWnd, &this->m_rectClient);
+    /*  append a data point to the plot & return the previous point */
+    double dPrevious;
 
-    /*  set some member variables to avoid multiple function calls */
-    this->m_nClientHeight = this->m_rectClient.bottom - this->m_rectClient.top;/* m_rectClient.Height(); */
-    this->m_nClientWidth  = this->m_rectClient.right - this->m_rectClient.left;/* m_rectClient.Width(); */
+    dPrevious = this->m_dCurrentPosition[0];
+    this->m_dCurrentPosition[0] = dNewPoint0;
+    this->m_dCurrentPosition[1] = dNewPoint1;
+    this->m_dCurrentPosition[2] = dNewPoint2;
+    this->m_dCurrentPosition[3] = dNewPoint3;
+    GraphCtrl_DrawPoint(this);
+    /* Invalidate(); */
+    return dPrevious;
+}
 
-    /*  the "left" coordinate and "width" will be modified in  */
-    /*  InvalidateCtrl to be based on the width of the y axis scaling */
-#if 0
-    this->m_rectPlot.left   = 20;  
-    this->m_rectPlot.top    = 10;
-    this->m_rectPlot.right  = this->m_rectClient.right-10;
-    this->m_rectPlot.bottom = this->m_rectClient.bottom-25;
-#else
-    this->m_rectPlot.left   = 0;  
-    this->m_rectPlot.top    = -1;
-    this->m_rectPlot.right  = this->m_rectClient.right-0;
-    this->m_rectPlot.bottom = this->m_rectClient.bottom-0;
-#endif
+void GraphCtrl_Paint(TGraphCtrl* this, HWND hWnd, HDC dc)
+{
+    HDC memDC;
+    HBITMAP memBitmap;
+    HBITMAP oldBitmap; /*  bitmap originally found in CMemDC */
 
-    /*  set some member variables to avoid multiple function calls */
-    this->m_nPlotHeight = this->m_rectPlot.bottom - this->m_rectPlot.top;/* m_rectPlot.Height(); */
-    this->m_nPlotWidth  = this->m_rectPlot.right - this->m_rectPlot.left;/* m_rectPlot.Width(); */
+/*   RECT rcClient; */
+/*   GetClientRect(hWnd, &rcClient); */
+/*   FillSolidRect(dc, &rcClient, RGB(255, 0, 255)); */
+/*   m_nClientWidth = rcClient.right - rcClient.left; */
+/*   m_nClientHeight = rcClient.bottom - rcClient.top; */
 
-    /*  set the scaling factor for now, this can be adjusted  */
-    /*  in the SetRange functions */
-    this->m_dVerticalFactor = (double)this->m_nPlotHeight / this->m_dRange; 
+    /*  no real plotting work is performed here,  */
+    /*  just putting the existing bitmaps on the client */
+
+    /*  to avoid flicker, establish a memory dc, draw to it */
+    /*  and then BitBlt it to the client */
+    memDC = CreateCompatibleDC(dc);
+    memBitmap = CreateCompatibleBitmap(dc, this->m_nClientWidth, this->m_nClientHeight);
+    oldBitmap = SelectObject(memDC, memBitmap);
+
+    if (memDC != NULL)
+    {
+        /*  first drop the grid on the memory dc */
+        BitBlt(memDC, 0, 0, this->m_nClientWidth, this->m_nClientHeight, this->m_dcGrid, 0, 0, SRCCOPY);
+        /*  now add the plot on top as a "pattern" via SRCPAINT. */
+        /*  works well with dark background and a light plot */
+        BitBlt(memDC, 0, 0, this->m_nClientWidth, this->m_nClientHeight, this->m_dcPlot, 0, 0, SRCPAINT);  /* SRCPAINT */
+        /*  finally send the result to the display */
+        BitBlt(dc, 0, 0, this->m_nClientWidth, this->m_nClientHeight, memDC, 0, 0, SRCCOPY);
+    }
+    SelectObject(memDC, oldBitmap);
+    DeleteObject(memBitmap);
+    DeleteDC(memDC);
 }
 
 #if 0
diff --git a/programs/taskmgr/graphctl.h b/programs/taskmgr/graphctl.h
index 07d3894..cd7cec4 100644
--- a/programs/taskmgr/graphctl.h
+++ b/programs/taskmgr/graphctl.h
@@ -91,11 +91,7 @@ double  GraphCtrl_AppendPoint(TGraphCtrl* this,
                               double dNewPoint2, double dNewPoint3);
 BOOL    GraphCtrl_Create(TGraphCtrl* this, HWND hWnd, HWND hParentWnd, 
 UINT nID);
-void    GraphCtrl_DrawPoint(TGraphCtrl* this);
-void    GraphCtrl_InvalidateCtrl(TGraphCtrl* this);
-void    GraphCtrl_Paint(TGraphCtrl* this, HWND hWnd, HDC dc);
 void    GraphCtrl_Reset(TGraphCtrl* this);
-void    GraphCtrl_Resize(TGraphCtrl* this); 
 void    GraphCtrl_SetBackgroundColor(TGraphCtrl* this, COLORREF 
 color);
 void    GraphCtrl_SetGridColor(TGraphCtrl* this, COLORREF color);
-- 
1.5.6.5




More information about the wine-patches mailing list