hej męcze się już jakiś czas z tym problemem..w oknie głównym mam okienko hSurface na którym rysuje dzieki d3d po zmianie rozmiaru okna rodzica przesuwam okienko hSurface i zmieniam jego szerokość co w rezultacie powoduje to błędną interpretacje położenia kursora w okienku hSurface
próbowałem już odświerzyć scene:
void ReSizeD3DScene(int width, int height)
{
if (height==0) height=1;
D3DXMATRIXA16 matProjection;
D3DXMatrixPerspectiveFovLH(&matProjection, 45.0f, width/height, 0.1f, 100.0f);
gDevice->SetTransform( D3DTS_PROJECTION, &matProjection );
D3DXMatrixIdentity(&matProjection); // Reset The Projection Matrix
}
ale nic z tego
tak wczytuje pozycje kursora:
case WM_MOUSEMOVE:
{
MousePos.x = LOWORD(lParam);
MousePos.y = HIWORD(wParam);
break;
}
a tak (w uproszczeniu) rysuje kursorek:
{
pos.x=(int)MousePos.x;
pos.y=(int)MousePos.y;
sprite->Draw(texture,NULL,NULL,&pos,0xFFFFFFFF);
}
Co mam zrobić aby po przeskalowaniu okna wszysko działało?
I dzięki za rady bo już mnie to męczy..
Znalazłem coś o: UpdateOverlay() ale ta funkcja dotyczy tylko obiektów typu surface a ja ich nie używam