Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Slic3r::FirmwareDialog Class Reference

#include <src/slic3r/GUI/FirmwareDialog.hpp>

+ Inheritance diagram for Slic3r::FirmwareDialog:
+ Collaboration diagram for Slic3r::FirmwareDialog:

Classes

struct  priv
 

Public Member Functions

 FirmwareDialog (wxWindow *parent)
 
 FirmwareDialog (FirmwareDialog &&)=delete
 
 FirmwareDialog (const FirmwareDialog &)=delete
 
FirmwareDialogoperator= (FirmwareDialog &&)=delete
 
FirmwareDialogoperator= (const FirmwareDialog &)=delete
 
 ~FirmwareDialog ()
 
float scale_factor () const
 
float prev_scale_factor () const
 
int em_unit () const
 
const wxFont & normal_font () const
 
void enable_force_rescale ()
 

Static Public Member Functions

static void run (wxWindow *parent)
 

Protected Member Functions

void on_dpi_changed (const wxRect &suggested_rect) override
 
virtual void on_sys_color_changed ()
 

Private Types

enum  {
  DIALOG_MARGIN = 15 , SPACING = 10 , MIN_WIDTH = 50 , MIN_HEIGHT = 25 ,
  MIN_HEIGHT_EXPANDED = 40
}
 

Private Member Functions

bool is_new_scale_factor () const
 
void scale_win_font (wxWindow *window, const int font_point_size)
 
void scale_controls_fonts (wxWindow *window, const int font_point_size)
 
void rescale (const wxRect &suggested_rect)
 

Private Attributes

std::unique_ptr< privp
 
float m_scale_factor
 
int m_em_unit
 
wxFont m_normal_font
 
float m_prev_scale_factor
 
bool m_can_rescale { true }
 
bool m_force_rescale { false }
 
int m_new_font_point_size
 

Detailed Description

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
DIALOG_MARGIN 
SPACING 
MIN_WIDTH 
MIN_HEIGHT 
MIN_HEIGHT_EXPANDED 
15 {
16 DIALOG_MARGIN = 15,
17 SPACING = 10,
18 MIN_WIDTH = 50,
19 MIN_HEIGHT = /*18*/25,
21 };
@ MIN_HEIGHT_EXPANDED
Definition FirmwareDialog.hpp:20
@ DIALOG_MARGIN
Definition FirmwareDialog.hpp:16
@ MIN_WIDTH
Definition FirmwareDialog.hpp:18
@ MIN_HEIGHT
Definition FirmwareDialog.hpp:19
@ SPACING
Definition FirmwareDialog.hpp:17

Constructor & Destructor Documentation

◆ FirmwareDialog() [1/3]

Slic3r::FirmwareDialog::FirmwareDialog ( wxWindow *  parent)
786 :
787 GUI::DPIDialog(parent, wxID_ANY, _(L("Firmware flasher")), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER),
788 p(new priv(this))
789{
790 const int em = GUI::wxGetApp().em_unit();
791 p->min_width = MIN_WIDTH * em;
792 p->min_height = MIN_HEIGHT * em;
793 p->min_height_expanded = MIN_HEIGHT_EXPANDED * em;
794
795 /* get current font from application,
796 * because of wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT) function
797 * returns font for primary Display
798 */
799 const wxFont& font = GUI::wxGetApp().normal_font();
800 SetFont(font);
801 wxFont status_font = font;//wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
802 status_font.MakeBold();
803 wxFont mono_font = GUI::wxGetApp().code_font();
804 mono_font.MakeSmaller();
805
806 // Create GUI components and layout
807
808 auto *panel = new wxPanel(this);
809 wxBoxSizer *vsizer = new wxBoxSizer(wxVERTICAL);
810 panel->SetSizer(vsizer);
811
812 auto *label_hex_picker = new wxStaticText(panel, wxID_ANY, _(L("Firmware image:")));
813 p->hex_picker = new wxFilePickerCtrl(panel, wxID_ANY, wxEmptyString, /*wxFileSelectorPromptStr*/_L("Select a file"),
814 "Hex files (*.hex)|*.hex|All files|*.*");
815 p->hex_picker->GetPickerCtrl()->SetLabelText(_(L("Browse")));
816
817 auto *label_port_picker = new wxStaticText(panel, wxID_ANY, _(L("Serial port:")));
818 p->port_picker = new wxComboBox(panel, wxID_ANY);
819 p->txt_port_autodetect = new wxStaticText(panel, wxID_ANY, _(L("Autodetected")));
820 p->btn_rescan = new wxButton(panel, wxID_ANY, _(L("Rescan")));
821 auto *port_sizer = new wxBoxSizer(wxHORIZONTAL);
822 port_sizer->Add(p->port_picker, 1, wxEXPAND | wxRIGHT, SPACING);
823 port_sizer->Add(p->btn_rescan, 0);
824 port_sizer->Add(p->txt_port_autodetect, 1, wxEXPAND);
825 p->set_autodetect(false);
826
827 auto *label_progress = new wxStaticText(panel, wxID_ANY, _(L("Progress:")));
828 p->progressbar = new wxGauge(panel, wxID_ANY, 1, wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL | wxGA_SMOOTH);
829
830 auto *label_status = new wxStaticText(panel, wxID_ANY, _(L("Status:")));
831 p->txt_status = new wxStaticText(panel, wxID_ANY, _(L("Ready")));
832 p->txt_status->SetFont(status_font);
833
834 auto *grid = new wxFlexGridSizer(2, SPACING, SPACING);
835 grid->AddGrowableCol(1);
836
837 grid->Add(label_hex_picker, 0, wxALIGN_CENTER_VERTICAL);
838 grid->Add(p->hex_picker, 0, wxEXPAND);
839
840 grid->Add(label_port_picker, 0, wxALIGN_CENTER_VERTICAL);
841 grid->Add(port_sizer, 0, wxEXPAND);
842
843 grid->Add(label_progress, 0, wxALIGN_CENTER_VERTICAL);
844 grid->Add(p->progressbar, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
845
846 grid->Add(label_status, 0, wxALIGN_CENTER_VERTICAL);
847 grid->Add(p->txt_status, 0, wxEXPAND);
848
849 vsizer->Add(grid, 0, wxEXPAND | wxTOP | wxBOTTOM, SPACING);
850
851 p->spoiler = new wxCollapsiblePane(panel, wxID_ANY, _(L("Advanced: Output log")), wxDefaultPosition, wxDefaultSize, wxCP_DEFAULT_STYLE | wxCP_NO_TLW_RESIZE);
852 auto *spoiler_pane = p->spoiler->GetPane();
853 auto *spoiler_sizer = new wxBoxSizer(wxVERTICAL);
854 p->txt_stdout = new wxTextCtrl(spoiler_pane, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE | wxTE_READONLY);
855 p->txt_stdout->SetFont(mono_font);
856 spoiler_sizer->Add(p->txt_stdout, 1, wxEXPAND);
857 spoiler_pane->SetSizer(spoiler_sizer);
858 // The doc says proportion need to be 0 for wxCollapsiblePane.
859 // Experience says it needs to be 1, otherwise things won't get sized properly.
860 vsizer->Add(p->spoiler, 1, wxEXPAND | wxBOTTOM, SPACING);
861
862 p->btn_close = new wxButton(panel, wxID_CLOSE, _(L("Close"))); // Note: The label needs to be present, otherwise we get accelerator bugs on Mac
863 p->btn_flash = new wxButton(panel, wxID_ANY, p->btn_flash_label_ready);
864 p->btn_flash->Disable();
865 auto *bsizer = new wxBoxSizer(wxHORIZONTAL);
866 bsizer->Add(p->btn_close);
867 bsizer->AddStretchSpacer();
868 bsizer->Add(p->btn_flash);
869 vsizer->Add(bsizer, 0, wxEXPAND);
870
871 GUI::wxGetApp().UpdateDlgDarkUI(this);
872
873 auto *topsizer = new wxBoxSizer(wxVERTICAL);
874 topsizer->Add(panel, 1, wxEXPAND | wxALL, DIALOG_MARGIN);
875 SetMinSize(wxSize(p->min_width, p->min_height));
876 SetSizerAndFit(topsizer);
877 const auto size = GetSize();
878 SetSize(std::max(size.GetWidth(), static_cast<int>(p->min_width)), std::max(size.GetHeight(), static_cast<int>(p->min_height)));
879 Layout();
880
881 SetEscapeId(wxID_CLOSE); // To close the dialog using "Esc" button
882
883 // Bind events
884
885 p->hex_picker->Bind(wxEVT_FILEPICKER_CHANGED, [this](wxFileDirPickerEvent& evt) {
886 if (wxFileExists(evt.GetPath())) {
887 this->p->load_hex_file(evt.GetPath());
888 }
889 p->update_flash_enabled();
890 });
891
892 p->port_picker->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent &) { p->update_flash_enabled(); });
893 p->port_picker->Bind(wxEVT_TEXT, [this](wxCommandEvent &) { p->update_flash_enabled(); });
894
895 p->spoiler->Bind(wxEVT_COLLAPSIBLEPANE_CHANGED, [=](wxCollapsiblePaneEvent &evt) {
896 if (evt.GetCollapsed()) {
897 this->SetMinSize(wxSize(p->min_width, p->min_height));
898 const auto new_height = this->GetSize().GetHeight() - this->p->txt_stdout->GetSize().GetHeight();
899 this->SetSize(this->GetSize().GetWidth(), new_height);
900 } else {
901 this->SetMinSize(wxSize(p->min_width, p->min_height_expanded));
902 }
903
904 this->Layout();
905 this->p->fit_no_shrink();
906 });
907
908 p->btn_rescan->Bind(wxEVT_BUTTON, [this](wxCommandEvent &) { this->p->find_serial_ports(); });
909
910 p->btn_flash->Bind(wxEVT_BUTTON, [this](wxCommandEvent &) {
911 if (this->p->avrdude) {
912 // Flashing is in progress, ask the user if they're really sure about canceling it
913 //wxMessageDialog dlg(this,
914 GUI::MessageDialog dlg(this,
915 _(L("Are you sure you want to cancel firmware flashing?\nThis could leave your printer in an unusable state!")),
916 _(L("Confirmation")),
917 wxYES_NO | wxNO_DEFAULT | wxICON_QUESTION);
918 if (dlg.ShowModal() == wxID_YES) {
919 this->p->set_txt_status(_(L("Cancelling...")));
920 this->p->user_cancel();
921 }
922 } else {
923 // Start a flashing task
924 this->p->perform_upload();
925 }
926 });
927
928 Bind(wxEVT_TIMER, [this](wxTimerEvent &evt) { this->p->progressbar->Pulse(); });
929
930 Bind(EVT_AVRDUDE, [this](wxCommandEvent &evt) { this->p->on_avrdude(evt); });
931 Bind(EVT_ASYNC_DIALOG, [this](wxCommandEvent &evt) { this->p->on_async_dialog(evt); });
932
933 Bind(wxEVT_CLOSE_WINDOW, [this](wxCloseEvent &evt) {
934 if (this->p->avrdude) {
935 evt.Veto();
936 } else {
937 this->EndModal(wxID_CLOSE);
938 evt.Skip();
939 }
940 });
941
942 p->find_serial_ports();
943}
std::unique_ptr< priv > p
Definition FirmwareDialog.hpp:37
#define _(msgid)
Definition getopt.c:87
DPIAware< wxDialog > DPIDialog
Definition GUI_Utils.hpp:279
std::vector< ArithmeticOnly< T > > grid(const T &start, const T &stop, const T &stride)
A set of equidistant values starting from 'start' (inclusive), ending in the closest multiple of 'str...
Definition MTUtils.hpp:125
constexpr auto size(const C &c) -> decltype(c.size())
Definition span.hpp:183
Definition CutSurface.cpp:39
#define L(s)
Definition I18N.hpp:18
#define _L(s)
Definition I18N.hpp:3
#define wxEVT_BUTTON
Definition wxinit.h:18

References _, _L, DIALOG_MARGIN, Slic3r::grid(), L, MIN_HEIGHT, MIN_HEIGHT_EXPANDED, MIN_WIDTH, p, SPACING, and wxEVT_BUTTON.

+ Here is the call graph for this function:

◆ FirmwareDialog() [2/3]

Slic3r::FirmwareDialog::FirmwareDialog ( FirmwareDialog &&  )
delete

◆ FirmwareDialog() [3/3]

Slic3r::FirmwareDialog::FirmwareDialog ( const FirmwareDialog )
delete

◆ ~FirmwareDialog()

Slic3r::FirmwareDialog::~FirmwareDialog ( )
946{
947 // Needed bacuse of forward defs
948}

Member Function Documentation

◆ em_unit()

template<class P >
int Slic3r::GUI::DPIAware< P >::em_unit ( ) const
inlineinherited
176{ return m_em_unit; }
int m_em_unit
Definition GUI_Utils.hpp:195

References Slic3r::GUI::DPIAware< P >::m_em_unit.

Referenced by Slic3r::GUI::AboutDialog::AboutDialog(), Slic3r::GUI::CopyrightsDialog::CopyrightsDialog(), Slic3r::GUI::FileArchiveDialog::FileArchiveDialog(), Slic3r::GUI::GalleryDialog::GalleryDialog(), Slic3r::GUI::PageMaterials::PageMaterials(), Slic3r::Search::SearchDialog::SearchDialog(), Slic3r::GUI::SendSystemInfoDialog::SendSystemInfoDialog(), Slic3r::GUI::SettingsDialog::SettingsDialog(), Slic3r::GUI::SysInfoDialog::SysInfoDialog(), Slic3r::GUI::ExtruderSequenceDialog::apply_extruder_sequence(), Slic3r::GUI::UnsavedChangesDialog::build(), Slic3r::GUI::DiffPresetDialog::complete_dialog_creation(), Slic3r::GUI::DiffPresetDialog::create_edit_sizer(), Slic3r::GUI::DiffPresetDialog::create_presets_sizer(), Slic3r::GUI::DiffPresetDialog::create_tree(), em_unit(), Slic3r::GUI::SavePresetDialog::Item::init_input_name_ctrl(), Slic3r::Search::SearchDialog::msw_rescale(), Slic3r::GUI::SendSystemInfoDialog::on_dpi_changed(), Slic3r::GUI::CopyrightsDialog::on_dpi_changed(), Slic3r::GUI::AboutDialog::on_dpi_changed(), Slic3r::GUI::BedShapeDialog::on_dpi_changed(), Slic3r::GUI::ConfigSnapshotDialog::on_dpi_changed(), Slic3r::GUI::ConfigWizard::on_dpi_changed(), Slic3r::GUI::ExtruderSequenceDialog::on_dpi_changed(), Slic3r::GUI::FileArchiveDialog::on_dpi_changed(), on_dpi_changed(), Slic3r::GUI::GalleryDialog::on_dpi_changed(), Slic3r::GUI::KBShortcutsDialog::on_dpi_changed(), Slic3r::GUI::SettingsDialog::on_dpi_changed(), Slic3r::GUI::PhysicalPrinterDialog::on_dpi_changed(), Slic3r::GUI::LoadProjectsDialog::on_dpi_changed(), Slic3r::GUI::ProjectDropDialog::on_dpi_changed(), Slic3r::GUI::PrintHostQueueDialog::on_dpi_changed(), Slic3r::GUI::SavePresetDialog::on_dpi_changed(), Slic3r::GUI::SysInfoDialog::on_dpi_changed(), Slic3r::GUI::UnsavedChangesDialog::on_dpi_changed(), Slic3r::GUI::DiffPresetDialog::on_dpi_changed(), and Slic3r::GUI::GUI_App::update_fonts().

+ Here is the caller graph for this function:

◆ enable_force_rescale()

template<class P >
void Slic3r::GUI::DPIAware< P >::enable_force_rescale ( )
inlineinherited
179{ m_force_rescale = true; }
bool m_force_rescale
Definition GUI_Utils.hpp:201

References Slic3r::GUI::DPIAware< P >::m_force_rescale.

Referenced by Slic3r::GUI::MainFrame::update_layout().

+ Here is the caller graph for this function:

◆ is_new_scale_factor()

template<class P >
bool Slic3r::GUI::DPIAware< P >::is_new_scale_factor ( ) const
inlineprivateinherited
214{ return fabs(m_scale_factor - m_prev_scale_factor) > 0.001; }
float m_scale_factor
Definition GUI_Utils.hpp:194
float m_prev_scale_factor
Definition GUI_Utils.hpp:199

References Slic3r::GUI::DPIAware< P >::m_prev_scale_factor, and Slic3r::GUI::DPIAware< P >::m_scale_factor.

Referenced by Slic3r::GUI::DPIAware< P >::DPIAware().

+ Here is the caller graph for this function:

◆ normal_font()

template<class P >
const wxFont & Slic3r::GUI::DPIAware< P >::normal_font ( ) const
inlineinherited
178{ return m_normal_font; }
wxFont m_normal_font
Definition GUI_Utils.hpp:198

References Slic3r::GUI::DPIAware< P >::m_normal_font.

Referenced by Slic3r::GUI::AboutDialog::AboutDialog(), Slic3r::GUI::ConfigSnapshotDialog::ConfigSnapshotDialog(), Slic3r::GUI::ConfigWizard::ConfigWizard(), Slic3r::GUI::CopyrightsDialog::CopyrightsDialog(), Slic3r::GUI::DiffPresetDialog::DiffPresetDialog(), Slic3r::GUI::ExtruderSequenceDialog::ExtruderSequenceDialog(), Slic3r::GUI::GalleryDialog::GalleryDialog(), Slic3r::GUI::KBShortcutsDialog::KBShortcutsDialog(), Slic3r::GUI::LoadProjectsDialog::LoadProjectsDialog(), Slic3r::GUI::PhysicalPrinterDialog::PhysicalPrinterDialog(), Slic3r::GUI::ProjectDropDialog::ProjectDropDialog(), Slic3r::Search::SearchDialog::SearchDialog(), Slic3r::GUI::SendSystemInfoDialog::SendSystemInfoDialog(), Slic3r::GUI::SettingsDialog::SettingsDialog(), Slic3r::GUI::SysInfoDialog::SysInfoDialog(), Slic3r::GUI::UnsavedChangesDialog::build(), Slic3r::GUI::SavePresetDialog::build(), Slic3r::GUI::BedShapeDialog::build_dialog(), Slic3r::GUI::PhysicalPrinterDialog::build_printhost_settings(), Slic3r::GUI::MainFrame::init_menubar_as_editor(), Slic3r::GUI::MainFrame::init_tabpanel(), Slic3r::GUI::ExtruderSequenceDialog::on_dpi_changed(), Slic3r::GUI::MainFrame::on_dpi_changed(), and Slic3r::GUI::GUI_App::update_fonts().

+ Here is the caller graph for this function:

◆ on_dpi_changed()

void Slic3r::FirmwareDialog::on_dpi_changed ( const wxRect &  suggested_rect)
overrideprotectedvirtual

Implements Slic3r::GUI::DPIAware< P >.

957{
958 const int& em = em_unit();
959
960 msw_buttons_rescale(this, em, { p->btn_close->GetId(),
961 p->btn_rescan->GetId(),
962 p->btn_flash->GetId(),
963 p->hex_picker->GetPickerCtrl()->GetId()
964 });
965
966 p->min_width = MIN_WIDTH * em;
967 p->min_height = MIN_HEIGHT * em;
968 p->min_height_expanded = MIN_HEIGHT_EXPANDED * em;
969
970 const int min_height = p->spoiler->IsExpanded() ? p->min_height_expanded : p->min_height;
971 SetMinSize(wxSize(p->min_width, min_height));
972 Fit();
973
974 Refresh();
975}
int em_unit() const
Definition GUI_Utils.hpp:176
void msw_buttons_rescale(wxDialog *dlg, const int em_unit, const std::vector< int > &btn_ids)
Definition wxExtensions.cpp:370

References Slic3r::GUI::DPIAware< P >::em_unit(), MIN_HEIGHT, MIN_HEIGHT_EXPANDED, MIN_WIDTH, msw_buttons_rescale(), and p.

+ Here is the call graph for this function:

◆ on_sys_color_changed()

template<class P >
virtual void Slic3r::GUI::DPIAware< P >::on_sys_color_changed ( )
inlineprotectedvirtualinherited

◆ operator=() [1/2]

FirmwareDialog & Slic3r::FirmwareDialog::operator= ( const FirmwareDialog )
delete

◆ operator=() [2/2]

FirmwareDialog & Slic3r::FirmwareDialog::operator= ( FirmwareDialog &&  )
delete

◆ prev_scale_factor()

template<class P >
float Slic3r::GUI::DPIAware< P >::prev_scale_factor ( ) const
inlineinherited

◆ rescale()

template<class P >
void Slic3r::GUI::DPIAware< P >::rescale ( const wxRect &  suggested_rect)
inlineprivateinherited
238 {
239 this->Freeze();
240
241 m_force_rescale = false;
242#if !wxVERSION_EQUAL_OR_GREATER_THAN(3,1,3)
243 // rescale fonts of all controls
245 // rescale current window font
247#endif // wxVERSION_EQUAL_OR_GREATER_THAN
248
249 // set normal application font as a current window font
250 m_normal_font = this->GetFont();
251
252 // update em_unit value for new window font
253 m_em_unit = std::max<int>(10, 10.0f * m_scale_factor);
254
255 // rescale missed controls sizes and images
256 on_dpi_changed(suggested_rect);
257
258 this->Layout();
259 this->Thaw();
260
261 // reset previous scale factor from current scale factor value
263 }
virtual void on_dpi_changed(const wxRect &suggested_rect)=0
void scale_controls_fonts(wxWindow *window, const int font_point_size)
Definition GUI_Utils.hpp:225
void scale_win_font(wxWindow *window, const int font_point_size)
Definition GUI_Utils.hpp:217
int m_new_font_point_size
Definition GUI_Utils.hpp:203
IMGUI_API ImFont * GetFont()
Definition imgui.cpp:6932

References Slic3r::GUI::DPIAware< P >::m_em_unit, Slic3r::GUI::DPIAware< P >::m_force_rescale, Slic3r::GUI::DPIAware< P >::m_new_font_point_size, Slic3r::GUI::DPIAware< P >::m_normal_font, Slic3r::GUI::DPIAware< P >::m_prev_scale_factor, Slic3r::GUI::DPIAware< P >::m_scale_factor, Slic3r::GUI::DPIAware< P >::on_dpi_changed(), Slic3r::GUI::DPIAware< P >::scale_controls_fonts(), and Slic3r::GUI::DPIAware< P >::scale_win_font().

Referenced by Slic3r::GUI::DPIAware< P >::DPIAware(), and Slic3r::GUI::DiffPresetDialog::on_dpi_changed().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ run()

void Slic3r::FirmwareDialog::run ( wxWindow *  parent)
static
951{
952 FirmwareDialog dialog(parent);
953 dialog.ShowModal();
954}
FirmwareDialog(wxWindow *parent)
Definition FirmwareDialog.cpp:786

Referenced by Slic3r::GUI::GUI_App::add_config_menu(), and Slic3r::FirmwareDialog::priv::perform_upload().

+ Here is the caller graph for this function:

◆ scale_controls_fonts()

template<class P >
void Slic3r::GUI::DPIAware< P >::scale_controls_fonts ( wxWindow *  window,
const int  font_point_size 
)
inlineprivateinherited
226 {
227 auto children = window->GetChildren();
228
229 for (auto child : children) {
230 scale_controls_fonts(child, font_point_size);
231 scale_win_font(child, font_point_size);
232 }
233
234 window->Layout();
235 }

References Slic3r::GUI::DPIAware< P >::scale_controls_fonts(), and Slic3r::GUI::DPIAware< P >::scale_win_font().

Referenced by Slic3r::GUI::DPIAware< P >::rescale(), and Slic3r::GUI::DPIAware< P >::scale_controls_fonts().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ scale_factor()

template<class P >
float Slic3r::GUI::DPIAware< P >::scale_factor ( ) const
inlineinherited

◆ scale_win_font()

template<class P >
void Slic3r::GUI::DPIAware< P >::scale_win_font ( wxWindow *  window,
const int  font_point_size 
)
inlineprivateinherited
218 {
219 wxFont new_font(window->GetFont());
220 new_font.SetPointSize(font_point_size);
221 window->SetFont(new_font);
222 }

Referenced by Slic3r::GUI::DPIAware< P >::rescale(), and Slic3r::GUI::DPIAware< P >::scale_controls_fonts().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_can_rescale

template<class P >
bool Slic3r::GUI::DPIAware< P >::m_can_rescale { true }
privateinherited

◆ m_em_unit

◆ m_force_rescale

template<class P >
bool Slic3r::GUI::DPIAware< P >::m_force_rescale { false }
privateinherited

◆ m_new_font_point_size

template<class P >
int Slic3r::GUI::DPIAware< P >::m_new_font_point_size
privateinherited

◆ m_normal_font

◆ m_prev_scale_factor

◆ m_scale_factor

◆ p

std::unique_ptr<priv> Slic3r::FirmwareDialog::p
private

Referenced by FirmwareDialog(), and on_dpi_changed().


The documentation for this class was generated from the following files: