Beispiel #1
0
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()));
}