|
From: Emilien K. <cur...@us...> - 2005-01-14 17:08:26
|
Update of /cvsroot/wxdevcenter/StdPlugin/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18226/src Modified Files: BitmapCtrl.cpp BitmapDocView.cpp Log Message: Fixe le bug (plantage) de la sauvegarde d'une partie d'un BitmapCtrl (valide le rectangle de sauvegarde). Ajoute le status de vue du BitmapView. Index: BitmapCtrl.cpp =================================================================== RCS file: /cvsroot/wxdevcenter/StdPlugin/src/BitmapCtrl.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** BitmapCtrl.cpp 8 Jan 2005 17:49:13 -0000 1.8 --- BitmapCtrl.cpp 14 Jan 2005 17:08:16 -0000 1.9 *************** *** 331,334 **** --- 331,335 ---- void BitmapCtrl::SaveBitmapRect(wxRect r) { + r.Intersect(wxRect(0, 0, m_Bmp.GetWidth(), m_Bmp.GetHeight())); m_SaveBuffer = m_Bmp.GetSubBitmap(r); m_ptSaveBuffer = r.GetLeftTop(); Index: BitmapDocView.cpp =================================================================== RCS file: /cvsroot/wxdevcenter/StdPlugin/src/BitmapDocView.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** BitmapDocView.cpp 13 Jan 2005 14:47:10 -0000 1.10 --- BitmapDocView.cpp 14 Jan 2005 17:08:16 -0000 1.11 *************** *** 222,225 **** --- 222,226 ---- EVT_UPDATE_UI(IDM_VIEW_EXTRASCROLL, BitmapView::OnUpdateExtraScroll) + EVT_EXTMOUSE_MOVE(ID_BITMAP_CTRL, BitmapView::OnLeftMove) EVT_EXTMOUSE_LEFT_MOVE_DRAG(ID_BITMAP_CTRL, BitmapView::OnLeftDrag) EVT_EXTMOUSE_LEFT_BEGIN_DRAG(ID_BITMAP_CTRL, BitmapView::OnLeftDragStart) *************** *** 649,652 **** --- 650,659 ---- + // Interception d'un déplacement de souris (non drag). + void BitmapView::OnLeftMove(wxExtendedMouseEvent& event) + { + wxPoint pt = m_pBitmapCtrl->ClientToBitmap(event.GetToPos()); + SetStatusText(wxString::Format("(%d,%d)", pt.x, pt.y)); + } // Interception d'un drag gauche. *************** *** 658,661 **** --- 665,681 ---- { case BVD_HANDDRAW: + SetStatusText(wxString::Format("(%d,%d)", pt.x, pt.y)); + break; + case BVD_LINE: + case BVD_RECT: + case BVD_RRECT: + case BVD_ELLIPSE: + SetStatusText(wxString::Format("(%d,%d) -> (%d,%d) : (%d,%d)",m_pt.x, m_pt.y, pt.x, pt.y, pt.x-m_pt.x, pt.y-m_pt.y)); + break; + } + + switch(m_BVD) + { + case BVD_HANDDRAW: if(pt !=wxDefaultPosition) { |