125{
127 wxSize size = GetSize();
128 dc.SetPen(*wxTRANSPARENT_PEN);
129
136
137
138 dc.DrawBitmap(dwbitmap.bmp(), wxPoint(left, (size.y - dwbitmap.GetBmpSize().y) / 2));
139
140 left += dwbitmap.GetBmpSize().x + 8;
142 dc.SetBackgroundMode(wxTRANSPARENT);
144 wxString dev_name = "";
147
149 dev_name +=
_L(
"(LAN)");
150 }
151 }
152 auto sizet = dc.GetTextExtent(dev_name);
153 auto text_end = size.x - FromDIP(15);
154
155 wxString finally_name = dev_name;
156 if (sizet.x > (text_end - left)) {
157 auto limit_width = text_end -
left - dc.GetTextExtent(
"...").x - 15;
158 for (auto i = 0; i < dev_name.length(); i++) {
159 auto curr_width = dc.GetTextExtent(dev_name.substr(0, i));
160 if (curr_width.x >= limit_width) {
161 finally_name = dev_name.substr(0, i) + "...";
162 break;
163 }
164 }
165 }
166
167 dc.DrawText(finally_name, wxPoint(left, (size.y - sizet.y) / 2));
168
169
172 dc.SetBrush(*wxTRANSPARENT_BRUSH);
173 dc.DrawRectangle(0, 0, size.x, size.y);
174 }
175
176}
#define _L(s)
Definition OBJ.cpp:34
#define SELECT_MACHINE_BRAND
Definition SelectMachinePop.hpp:81
#define SELECT_MACHINE_GREY900
Definition SelectMachinePop.hpp:78
static wxFont Body_13
Definition Label.hpp:54
MachineObject * m_info
Definition CalibrationPanel.hpp:46
bool m_hover
Definition CalibrationPanel.hpp:38
PrinterState m_state
Definition CalibrationPanel.hpp:40
@ BUSY
Definition SelectMachinePop.hpp:55
@ IDLE
Definition SelectMachinePop.hpp:54
@ IN_LAN
Definition SelectMachinePop.hpp:57
@ OFFLINE
Definition SelectMachinePop.hpp:53
@ LOCK
Definition SelectMachinePop.hpp:56
wxString from_u8(const std::string &str)
Definition GUI.cpp:544
@ left
Definition MarchingSquares.hpp:188