/** * \brief Answer to a click on "Zoom 100%". * \param event This event occured. */ void bf::sprite_view_ctrl::on_zoom_100( wxCommandEvent& WXUNUSED(event) ) { m_combo_zoom->SetSelection( m_combo_zoom->FindString(wxT("100")) ); m_sprite_view->set_zoom( 100 ); adjust_scrollbars(); } // sprite_view_ctrl::on_zoom_100()
/** * \brief Answer to a click on "Zoom fit". * \param event This event occured. */ void bf::sprite_view_ctrl::on_zoom_fit( wxCommandEvent& WXUNUSED(event) ) { m_sprite_view->auto_zoom(); m_combo_zoom->SetValue ( wxString::Format(wxT("%d"), m_sprite_view->get_zoom()) ); adjust_scrollbars(); } // sprite_view_ctrl::on_zoom_fit()
/** * \brief Constructor. * \param parent The parent window. * \param env The workspace environment to use. * \param spr The sprite to display. */ bf::sprite_view_ctrl::sprite_view_ctrl ( wxWindow& parent, workspace_environment& env, const sprite& spr ) : wxPanel(&parent), m_sprite_view(NULL), m_workspace(env) { create_controls(); create_sizers(); set_sprite(spr); m_combo_zoom->SetSelection( m_combo_zoom->FindString(wxT("100")) ); adjust_scrollbars(); } // sprite_view_ctrl::sprite_view_ctrl()
void TagScrollView::scale_by( float factor ) { if( factor <= 0. ) { return; } widget()->resize( widget()->size() * factor ); adjust_scrollbars( factor ); }
/** * \brief Set the zoom according to the value in the combo box. */ void bf::sprite_view_ctrl::set_zoom_from_combo() { long z; if ( m_combo_zoom->GetValue().ToLong(&z) ) { if ((int)z <= 0) z = 0; m_sprite_view->set_zoom( z ); } adjust_scrollbars(); } // sprite_view_ctrl::set_zoom_from_combo()
/** * \brief Answer to a click on "Zoom in". * \param event This event occured. */ void bf::sprite_view_ctrl::on_zoom_in( wxCommandEvent& WXUNUSED(event) ) { int index = m_combo_zoom->GetSelection(); if( index == wxNOT_FOUND ) { m_sprite_view->set_zoom( m_sprite_view->get_zoom() + 50 ); m_combo_zoom->SetValue ( wxString::Format(wxT("%d"), m_sprite_view->get_zoom()) ); } else if ( (unsigned int)index + 1 < m_combo_zoom->GetCount() ) { m_combo_zoom->SetSelection(index + 1); set_zoom_from_combo(); } adjust_scrollbars(); } // sprite_view_ctrl::on_zoom_in()
/** * \brief Answer to a click on "Zoom out". * \param event This event occured. */ void bf::sprite_view_ctrl::on_zoom_out( wxCommandEvent& WXUNUSED(event) ) { int index = m_combo_zoom->GetSelection(); if( index == wxNOT_FOUND ) { if ( m_sprite_view->get_zoom() > 50 ) m_sprite_view->set_zoom( m_sprite_view->get_zoom() - 50 ); else m_sprite_view->set_zoom( 1 ); m_combo_zoom->SetValue ( wxString::Format(wxT("%d"), m_sprite_view->get_zoom()) ); } else if ( index > 0 ) { m_combo_zoom->SetSelection(index - 1); set_zoom_from_combo(); } adjust_scrollbars(); } // sprite_view_ctrl::on_zoom_out()
/** * \brief Event sent to a resized window. * \param event The event. */ void bf::sprite_view_ctrl::on_size( wxSizeEvent& event ) { adjust_scrollbars(); event.Skip(); } // sprite_view_ctrl::on_size()