SetFont( ff );
}
-void mpScaleY::Plot(wxDC & dc, mpWindow & w)
+void mpScaleY::Plot(wxDC & dc, mpWindow & w, int orgy)
{
dc.SetPen( m_pen);
dc.SetFont( m_font);
const int orgx = -(int)(w.GetPosX() * w.GetScaleX());
const int extend = w.GetScrY()/2;
- dc.DrawLine( orgx, -extend, orgx, extend);
+ double sizedc = dc.GetSize().GetHeight()-orgy;
+
+ dc.DrawLine( orgx, GetYTranslated(sizedc, -extend), orgx, GetYTranslated(sizedc, extend));
const double dig = floor( log( 128.0 / w.GetScaleY() ) / mpLN10 );
const double step = exp( mpLN10 * dig);
for (;n < end; n += step)
{
const int p = (int)((w.GetPosY() - n) * w.GetScaleY());
- dc.DrawLine( orgx, p, orgx+4, p);
+ dc.DrawLine( orgx, GetYTranslated(sizedc, p), orgx+4, GetYTranslated(sizedc,p));
s.Printf(fmt, n);
dc.GetTextExtent(s, &tx, &ty);
if ((tmp-p+ty/2) > 32)
{
- dc.DrawText( s, orgx+4, p-ty/2);
+ dc.DrawText( s, orgx+4, GetYTranslated(sizedc,p-ty/2));
tmp=p-ty/2;
}
}
dc.GetTextExtent(m_name, &tx, &ty);
- dc.DrawText( m_name, orgx-tx-4, -extend + ty + 4);
+ dc.DrawText( m_name, orgx-tx-4, GetYTranslated(sizedc,-extend + ty + 4));
}
//-----------------------------------------------------------------------------
END_EVENT_TABLE()
mpWindow::mpWindow( wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, int flag )
-: wxScrolledWindow( parent, id, pos, size, flag, wxT("wxPlotter") )
+: wxScrolledWindow( parent, id, wxDefaultPosition, wxDefaultSize, flag, wxT("wxPlotter") )
{
m_scaleX = m_scaleY = 1.0;
m_posX = m_posY = 0;
m_lockaspect = FALSE;
offsetX = offsetY = 0;
offsetPixelX = offsetPixelY= 0;
+ _bitmap_functions=NULL;
real_guideLine_X = -1;
real_guideLine_Y = -1;
{
int cx, cy;
GetClientSize( &cx, &cy);
-
+
double d;
d = m_maxX - m_minX;
if (d!=0)
{
wxPaintDC dc(this);
dc.GetSize(&m_scrX, &m_scrY);
+printf("EED mpWindow::OnPaint %d %d\n",m_scrX,m_scrY);
//m_scrX=200;
//m_scrY=200;
//dc.SetDeviceOrigin(70,40);
//dc.SetAxisOrientation(false,true);
- temp_dc.SetAxisOrientation(true,false);
- dc.Blit(0,0, m_scrX, m_scrY, &temp_dc,-70,-m_scrY+40);
+ //temp_dc.SetAxisOrientation(true,false);
+
+ //EED 14mai2009
+ //dc.Blit(0,0, m_scrX, m_scrY, &temp_dc,-70,-m_scrY+40);
+
+ temp_dc.SetDeviceOrigin(0,0);
+ dc.Blit(0,0, m_scrX, m_scrY, &temp_dc,0,0);
+
+
delete _bitmap_functions;
//_bitmap_functions
//dc.SetAxisOrientation(false,true);
return first == FALSE;
}
-void mpWindow :: UpdateAll()
+void mpWindow::UpdateAll()
{
if (UpdateBBox())
{
int cx, cy;
GetClientSize( &cx, &cy);
+printf("EED mpWindow::UpdateAll %d %d\n",cx,cy);
//const int sx = (int)((m_maxX - m_minX) * GetScaleX()); // JPRx
//const int sy = (int)((m_maxY - m_minY) * GetScaleY()); // JPRx