Hi.
I'm not sure. It's quite a bit, and I haven't had the leisure to comment it yet. In addition, most of the actual painting is done by other functions. But we'll see.
void CChildFrame::OnPaint()
{
CPaintDC dc(this); // device context for painting
int start=0;
int end=0;
if (s_reg_on)
{
for (int i=0;i<=XLoader.regions.size();i++)
{
if (XLoader.regions.size())
{
for (int in=0;in<=DLoader.DataStreams[0]->GetLength();in+=50)
{
int currentX=DLoader.DataStreams[0]->GetValue(in,3);
int currentY=DLoader.DataStreams[0]->GetValue(in,4);
bool inside=false;
for (int r=0;r<XLoader.regions.size();r++)
{
if (currentX<=XLoader.regions[r].coordinates.right && currentX>=XLoader.regions[r].coordinates.left && currentY<=XLoader.regions[r].coordinates.bottom && currentY>=XLoader.regions[r].coordinates.top )
inside=true;
}
if (inside==true) eyeinside.push_back(true);
else eyeinside.push_back(false);
}
for (in=0;in<=DLoader.DataStreams[0]->GetLength();in+=50)
{
int currentX=DLoader.DataStreams[0]->GetValue(in,1);
int currentY=DLoader.DataStreams[0]->GetValue(in,2);
bool inside=false;
for (int r=0;r<XLoader.regions.size();r++)
{
if (currentX<=XLoader.regions[r].coordinates.bottom && currentX>=XLoader.regions[r].coordinates.top && currentY<=XLoader.regions[r].coordinates.right && currentY>=XLoader.regions[r].coordinates.left)
inside=true;
}
if (inside==true) mouseinside.push_back(true);
else mouseinside.push_back(false);
}
CPen pen1;
pen1.CreatePen(PS_SOLID,3,RGB(0,0,0));
dc.SelectObject(pen1);
dc.MoveTo(XLoader.regions.coordinates.left,XLoader.regions.coordinates.top);
dc.LineTo(XLoader.regions.coordinates.right,XLoader.regions.coordinates.top);
dc.MoveTo(XLoader.regions.coordinates.right,XLoader.regions.coordinates.top);
dc.LineTo(XLoader.regions.coordinates.right,XLoader.regions.coordinates.bottom);
dc.MoveTo(XLoader.regions.coordinates.right,XLoader.regions.coordinates.bottom);
dc.LineTo(XLoader.regions.coordinates.left,XLoader.regions.coordinates.bottom);
dc.MoveTo(XLoader.regions.coordinates.left,XLoader.regions.coordinates.bottom);
dc.LineTo(XLoader.regions.coordinates.left,XLoader.regions.coordinates.top);
}
}
}
if (s_seq_on)
{
for (int j=0;j<XLoader.Tasks.size();j++)
{
if (XLoader.Tasks.size())
{
CString StartS;
CString EndS;
Task t=XLoader.Tasks.at(j);
StartS=t.start;
EndS=t.end;
char currentchar;
bool min=true;
bool sec=false;
bool mil=false;
CString hs;
int h;
int c = 0;
int dpos[4]; hs.Format("%s", StartS);
for (int i = 1; i <= 2; i++)
{
if (h != -1)
{
h = hs.Find(":", c);
c = h + 1;
dpos = h;
}
}
CString s_m, s_s, s_ms;
if (dpos[1] != 0) s_m = hs.Mid(0, dpos[1]); else s_m = "";
if ( dpos[2] != (dpos[1]+1) )
{
s_s = hs.Mid( dpos[1] + 1, (dpos[2] - dpos[1] - 1) );
}
else s_s = "";
if ( dpos[3] != (dpos[2]+1) )
{
s_ms = hs.Mid( dpos[2] + 1, (dpos[3] - dpos[2] - 1) );
}
else s_ms = "";
long start = atoi(s_m)*60000 + atoi(s_s)*1000 + atoi(s_ms);
hs.Format("%s", EndS);
for (int j = 1; j <= 2; j++)
{
if (h != -1)
{
h = hs.Find(":", c);
c = h + 1;
dpos = h;
}
}
if (dpos[1] != 0) s_m = hs.Mid(0, dpos[1]); else s_m = "";
if ( dpos[2] != (dpos[1]+1) )
{
s_s = hs.Mid( dpos[1] + 1, (dpos[2] - dpos[1] - 1) );
}
else s_s = "";
if ( dpos[3] != (dpos[2]+1) )
{
s_ms = hs.Mid( dpos[2] + 1, (dpos[3] - dpos[2] - 1) );
}
else s_ms = "";
long end = atoi(s_m)*60000 + atoi(s_s)*1000 + atoi(s_ms);
}
}
}
if (bm.bmWidth>0)
{
if (end==0) end=DLoader.DataStreams[0]->GetLength();
if (s_repro)
{
dc.DrawState(CPoint(0,0),CSize(bm.bmHeight,bm.bmWidth),&m_bmpBitmap,DST_BITMAP|DSS_NORMAL,NULL);
MethodRepro mrepro;
mrepro.Calculate(s_eyedata,s_mousedata,s_mouseevents,s_keyevents,s_browserevents,&dc,&DLoader, bm, start, end, eyeinside, mouseinside);
}
if (s_auf_matrix)
{
dc.DrawState(CPoint(0,0),CSize(bm.bmHeight,bm.bmWidth),&m_bmpBitmap,DST_BITMAP|DSS_NORMAL,NULL);
MethodAttMatrix matrix;
matrix.Calculate(s_eyedata,s_mousedata, s_mouseevents, s_keyevents, s_browserevents,&dc,&DLoader, bm, start, end);
}
if (s_fixation)
{
dc.DrawState(CPoint(0,0),CSize(bm.bmHeight,bm.bmWidth),&m_bmpBitmap,DST_BITMAP|DSS_NORMAL,NULL);
MethodFixation fix;
fix.Calculate(s_eyedata,s_mousedata, s_mouseevents, s_keyevents, s_browserevents,&dc,&DLoader, bm, start, end, eyeinside, mouseinside);
}
}
}
Hope you can make something of it.
CU,
André