|
From: Emilien K. <cur...@us...> - 2005-01-08 15:20:02
|
Update of /cvsroot/wxdevcenter/StdPlugin/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32442/src Modified Files: BitmapDocView.cpp Log Message: Optimisation de la mise à jour (UpdateAllViews/OnUpdate) de la bitmap Index: BitmapDocView.cpp =================================================================== RCS file: /cvsroot/wxdevcenter/StdPlugin/src/BitmapDocView.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** BitmapDocView.cpp 8 Jan 2005 14:48:49 -0000 1.4 --- BitmapDocView.cpp 8 Jan 2005 15:19:51 -0000 1.5 *************** *** 14,17 **** --- 14,18 ---- #include <wx/dcmemory.h> #include <wx/toolbar.h> + #include <wx/recguard.h> using namespace wxDevCenter; *************** *** 66,77 **** void BitmapDocument::SetPixel(wxPoint pt, wxColour col) { ! wxMemoryDC dc; ! dc.SelectObject(m_Bmp); ! ! wxPen pen(col); ! dc.SetPen(pen); ! dc.DrawPoint(pt); ! UpdateAllViews(NULL); } --- 67,80 ---- void BitmapDocument::SetPixel(wxPoint pt, wxColour col) { ! { // Local wxMemoryDC ! wxMemoryDC dc; ! dc.SelectObject(m_Bmp); ! wxPen pen(col); ! dc.SetPen(pen); ! dc.DrawPoint(pt); ! } ! wxRect r(pt, wxSize(1, 1)); ! UpdateAllViews(NULL, 1, &r); } *************** *** 79,91 **** void BitmapDocument::DrawLine(wxPoint ptFrom, wxPoint ptTo, wxColour col) { ! wxMemoryDC dc; ! dc.SelectObject(m_Bmp); ! ! wxPen pen(col); ! ! dc.SetPen(pen); ! dc.DrawLine(ptFrom, ptTo); ! UpdateAllViews(NULL); } --- 82,95 ---- void BitmapDocument::DrawLine(wxPoint ptFrom, wxPoint ptTo, wxColour col) { ! { // Local wxMemoryDC ! wxMemoryDC dc; ! dc.SelectObject(m_Bmp); ! wxPen pen(col); ! dc.SetPen(pen); ! dc.DrawLine(ptFrom, ptTo); ! } ! wxRect r(ptFrom, ptTo); ! UpdateAllViews(NULL, 1, &r); } *************** *** 351,357 **** } ! void BitmapView::OnUpdate(View* WXUNUSED(pSender), unsigned int WXUNUSED(nUpdateCode), void* WXUNUSED(pUpdateInfo)) { ! m_pBitmapCtrl->SetBitmap(GetDocument()->GetBitmap()); } --- 355,377 ---- } ! void BitmapView::OnUpdate(View* WXUNUSED(pSender), unsigned int nUpdateCode, void* pUpdateInfo) { ! wxBitmap bmp; ! if(nUpdateCode==0) ! m_pBitmapCtrl->SetBitmap(GetDocument()->GetBitmap()); ! else ! { ! wxRect r = *((wxRect*)pUpdateInfo); ! bmp = GetDocument()->GetBitmap().GetSubBitmap(r); ! ! { // Local wxMemoryDC ! wxMemoryDC dc; ! dc.SelectObject(m_pBitmapCtrl->Bitmap()); ! dc.DrawBitmap(bmp, r.x, r.y, false); ! } ! ! m_pBitmapCtrl->Refresh(); ! ! } } |