|
From: Emilien K. <cur...@us...> - 2005-02-25 15:43:40
|
Update of /cvsroot/wxdevcenter/StdPlugin/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13791/src Modified Files: BitmapDocView.cpp Log Message: Redimensionnement de la bitmap. Index: BitmapDocView.cpp =================================================================== RCS file: /cvsroot/wxdevcenter/StdPlugin/src/BitmapDocView.cpp,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** BitmapDocView.cpp 23 Feb 2005 09:16:46 -0000 1.18 --- BitmapDocView.cpp 25 Feb 2005 15:43:28 -0000 1.19 *************** *** 198,201 **** --- 198,219 ---- } + // Redimmensionne la bitmap. + void BitmapDocument::ResizeBitmap(wxSize size, wxBrush br) + { + wxBitmap bmpNew(size.x, size.y); + { + wxMemoryDC dc; + dc.SelectObject(bmpNew); + dc.SetBackground(br); + dc.SetBrush(br); + dc.SetPen(*wxTRANSPARENT_PEN); + dc.Clear(); + dc.DrawRectangle(0, 0, size.x, size.y); + dc.DrawBitmap(m_Bmp, 0, 0, false); + } + m_Bmp = bmpNew; + SetModifiedFlag(true); + UpdateAllViews(NULL, BmpDocUpdateAll, 0); + } // Revoie le type de bitmap depuis l'extension d'un fichier. *************** *** 247,254 **** #define ID_TOOL_SELCOPY (IDM_VIEW_MIN + 212) #define ID_TOOL_SELPASTE (IDM_VIEW_MIN + 213) ! #define ID_TOOL_FIRST ID_TOOL_NONE ! #define ID_TOOL_LAST ID_TOOL_SELPASTE #define ID_PEN_SIZE (IDM_VIEW_MIN + 250) --- 265,272 ---- #define ID_TOOL_SELCOPY (IDM_VIEW_MIN + 212) #define ID_TOOL_SELPASTE (IDM_VIEW_MIN + 213) ! #define ID_TOOL_SIZEALL (IDM_VIEW_MIN + 214) #define ID_TOOL_FIRST ID_TOOL_NONE ! #define ID_TOOL_LAST ID_TOOL_SIZEALL #define ID_PEN_SIZE (IDM_VIEW_MIN + 250) *************** *** 340,343 **** --- 358,363 ---- pMenu->AppendCheckItem(ID_TOOL_SELECTION , WXDC_BITMAP_MENU_TOOLS_SELECTION); pMenu->AppendCheckItem(ID_TOOL_SELMOVE , WXDC_BITMAP_MENU_TOOLS_SELMOVE); + pMenu->AppendSeparator(); + pMenu->AppendCheckItem(ID_TOOL_SIZEALL , WXDC_BITMAP_MENU_TOOLS_SIZEALL); m_aMenu.Append(pMenu, WXDC_BITMAP_MENU_TOOLS); *************** *** 375,379 **** pToolSizer->Add(CreateToolBar(), 0, wxGROW); ! pToolSizer->SetItemMinSize((size_t)1, 172, 72); pToolSizer->Add(CreatePenBar(), 0, wxGROW); --- 395,399 ---- pToolSizer->Add(CreateToolBar(), 0, wxGROW); ! pToolSizer->SetItemMinSize((size_t)1, 172, 82); pToolSizer->Add(CreatePenBar(), 0, wxGROW); *************** *** 512,515 **** --- 532,538 ---- pTB->AddTool(ID_TOOL_RRECT, WXDC_BITMAP_TOOL_RRECT, bmp, WXDC_BITMAP_TOOLHELP_RRECT, wxITEM_CHECK); + bmp = wxGetApp().LoadAppBitmap(wxT("bmp/sizeall.png"), wxBITMAP_TYPE_PNG); + pTB->AddTool(ID_TOOL_SIZEALL, WXDC_BITMAP_TOOL_SIZEALL, bmp, WXDC_BITMAP_TOOLHELP_SIZEALL, wxITEM_CHECK); + pTB->AddSeparator(); *************** *** 530,534 **** pTB->Realize(); ! pTB->SetRows(3); return pTB; --- 553,557 ---- pTB->Realize(); ! pTB->SetRows(2); return pTB; *************** *** 754,759 **** void BitmapView::OnLeftMove(wxExtendedMouseEvent& event) { ! wxPoint pt = m_pBitmapCtrl->ClientToBitmap(event.GetToPos()); SetStatusText(wxString::Format("(%d,%d)", pt.x, pt.y)); } --- 777,793 ---- void BitmapView::OnLeftMove(wxExtendedMouseEvent& event) { ! wxPoint pt = m_pBitmapCtrl->ClientToBitmap(event.GetFromPos()); SetStatusText(wxString::Format("(%d,%d)", pt.x, pt.y)); + + switch(m_BVD) + { + case BVD_SIZEALL: + if(m_pBitmapCtrl->HitTest(event.GetFromPos())==BitmapCtrl::BMP_HTF_ANCHOR_SW) + SetCursor(wxCursor(wxCURSOR_SIZENWSE)); + else + SetCursor(*wxSTANDARD_CURSOR); + break; + } + } *************** *** 776,779 **** --- 810,814 ---- case BVD_ELLIPSE: case BVD_SELECTION: + case BVD_SIZEALL: 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; *************** *** 927,930 **** --- 962,970 ---- m_pBitmapCtrl->CaptureMouse(); break; + case BVD_SIZEALL: + m_pt = wxPoint(GetDocument()->GetBitmap().GetWidth(), GetDocument()->GetBitmap().GetHeight()); + if(m_pBitmapCtrl->HitTest(event.GetFromPos())!=BitmapCtrl::BMP_HTF_ANCHOR_SW) + ChangeTool(BVD_NONE); + break; } *************** *** 972,975 **** --- 1012,1019 ---- case BVD_SELMOVE: break; + case BVD_SIZEALL: + r = wxRect(wxPoint(0,0), m_pBitmapCtrl->ClientToBitmap(event.GetToPos())); + GetDocument()->ResizeBitmap(r.GetSize(), m_Brush); + break; } if(m_pBitmapCtrl->HasCapture()) *************** *** 1086,1089 **** --- 1130,1138 ---- PasteBuffer(); break; + case BVD_SIZEALL: + m_pBitmapCtrl->SetWindowStyle(m_pBitmapCtrl->GetWindowStyle()&(~BMP_SHOW_ANCHOR)); + m_pBitmapCtrl->Refresh(); + SetCursor(*wxSTANDARD_CURSOR); + break; } *************** *** 1107,1110 **** --- 1156,1163 ---- RemoveSelection(); break; + case BVD_SIZEALL: + m_pBitmapCtrl->SetWindowStyle(m_pBitmapCtrl->GetWindowStyle()|BMP_SHOW_ANCHOR); + m_pBitmapCtrl->Refresh(); + break; } } |