void CustomGauge::RedrawNow() { wxClientDC m_canvas(m_panel); m_canvas.Clear(); // Set default font m_canvas.SetFont(m_font); m_canvas.SetTextForeground(m_font_col); // Draw gauge background m_canvas.SetBrush(m_backFill); m_canvas.SetPen(m_pen); wxRect FillRect(0, 0, m_canvas.GetSize().GetWidth(), m_canvas.GetSize().GetHeight()); m_canvas.DrawRectangle(FillRect); // Draw gauge bar m_canvas.SetBrush(m_foreFill); wxCoord w = m_canvas.GetSize().GetWidth() * GetValue() / GetRange(); wxCoord h = m_canvas.GetSize().GetHeight(); wxRect rectToDraw(0, 0, w, h); m_canvas.DrawRectangle(rectToDraw); if (m_label) { const wxFont currentFont = m_canvas.GetFont(); int fw = currentFont.GetPointSize(); m_canvas.DrawText(wxString::Format("%u%", GetValue() * 100 / GetRange() ), m_canvas.GetSize().GetWidth() / 2 - fw / 0.75, m_canvas.GetSize().GetHeight() / 2 - fw / 1.25 ); } }
void FaintFrameContext::RemoveFrame(const Index& i){ m_canvas().RunCommand(remove_frame_command(i)); }
void FaintFrameContext::SelectFrame(const Index& i){ m_canvas().SelectFrame(i); }
void FaintFrameContext::MoveFrame(const OldIndex& src, const NewIndex& dst){ m_canvas().RunCommand(reorder_frame_command(dst, src)); }
Index FaintFrameContext::GetSelectedFrame() const{ return m_canvas().GetSelectedFrame(); }
Index FaintFrameContext::GetNumFrames() const{ return m_canvas().GetNumFrames(); }
void FaintFrameContext::CopyFrame(const OldIndex& src, const NewIndex& dst){ auto& canvas = m_canvas(); canvas.RunCommand(add_frame_command(canvas.GetFrame(src.Get()), dst.Get())); }
void FaintFrameContext::AddFrame(){ auto& canvas = m_canvas(); canvas.RunCommand(add_frame_command(canvas.GetSize())); }