DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DDevice9 SetCursorProperties   [목차열람] [주소복사] [슬롯비우기]
IDirect3DDevice9::SetCursorProperties 메서드
 
Microsoft DirectX 9.0

IDirect3DDevice9::SetCursorProperties 메서드


커서의 프로퍼티를 설정한다.

구문

HRESULT SetCursorProperties(      

    UINT XHotSpot,     UINT YHotSpot,     IDirect3DSurface9 *pCursorBitmap );

파라미터

XHotSpot
[in] 커서의 중앙을 나타내는 X 좌표 오프셋(offset) (픽셀 단위). 오프셋(offset)는, 커서의 좌상으로부터의 상대 위치에서 가리킨다. 커서가 새로운 위치로 지정되었을 경우, 이미지는, 이 새로운 위치로부터의 오프셋(offset)에 그려진다. 이 새로운 위치는, 그 위치로부터 핫 스포트의 좌표를 당기는 것에 의해 결정된 위치이다.
YHotSpot
[in] 커서의 중앙을 나타내는 Y 좌표 오프셋(offset) (픽셀 단위). 오프셋(offset)는, 커서의 좌상으로부터의 상대 위치에서 가리킨다. 커서가 새로운 위치로 지정되었을 경우, 이미지는, 이 새로운 위치로부터의 오프셋(offset)에 그려진다. 이 새로운 위치는, 그 위치로부터 핫 스포트의 좌표를 당기는 것에 의해 결정된 위치이다.
pCursorBitmap
[in] IDirect3DSurface9 인터페이스의 포인터. 이 파라미터는, 8888 ARGB 표면 (포맷 D3DFMT_A8R8G8B8)를 포인트 하고 있지 않으면 안 된다. 이 표면의 컨텐츠는, 커서의 표시에 사용되는 내부 버퍼에 복사 되어, 동시에 포맷 변환을 하는 경우가 있다. 이 표면의 넓이는 디스플레이 모드의 넓이보다 작지 않으면 안되어, 각방향과도 2 의 거듭제곱이 아니면 안된다. 다만, 양방향이 같은 크기가 아니어도 상관없다. 알파 채널은, 0.0 또는 1.0 이 아니면 안된다.

반환값

성공했을 경우는,D3D_OK 를 돌려준다.

실패했을 경우는,D3DERR_INVALIDCALL 를 돌려준다.



주의

다음의 몇개의 조건이 채워지는 경우에, operating system의 커서가 생성 및 사용된다.

이외의 경우, Microsoft® DirectX® 는 에뮬레이션 된 커서를 사용한다. 애플리케이션은,IDirect3DDevice9::SetCursorPosition 를 사용해, 에뮬레이트 된 커서를 마우스의 움직임에 맞추어 이동한다.

애플리케이션측에서는, 항상 WM_MOUSEMOVE 이벤트를 트랩 해 DXSetCursorPosition 를 호출하는 것을 추천한다.

Microsoft® Direct3D® 의 커서 함수에서는, 하드웨어에 응해, Microsoft Windows® Graphics Device Interface (GDI) 커서 또는 소프트웨어 에뮬레이션의 어느쪽이든을 사용한다. 보통, 사용자는 WM_SETCURSOR 메시지에 응한다. 예를 들어, 메시지 핸들러를 다음과 같이 기술할 수 있다.

case WM_SETCURSOR:
// Turn off window cursor.  
SetCursor( NULL );
m_pd3dDevice->ShowCursor( TRUE );
return TRUE; // Prevent Windows from setting cursor to window class cursor.
break;

또, 사용자측에서 커서를 변경하는 경우는,IDirect3DDevice9::SetCursorProperties 메서드를 호출한다.

애플리케이션에서는,D3DCAPS9 구조체의 적절한 멤버를 조사하는 것으로, 커서로 이용 가능한 하드웨어 지원을 확인할 수 있다. 일반적으로, 하드웨어가 지원 하는 것은 32 × 32 의 커서 뿐이다. 또, 윈도우 모드에서는, 시스템을 지원 할 수 있는 것도 32 × 32 의 커서 뿐이다. 그 경우에서도 IDirect3DDevice9::SetCursorProperties 는 성공하지만, 커서는 이 사이즈에 축소될 가능성이 있다. 핫 스포트는 적절히 스케일링 된다.

커서는, 장치가 손실한 후는 보관 유지되지 않는다. 장치가 리셋 된 후, 이 메서드를 호출할 필요가 있다.

참조

IDirect3DDevice9::ShowCursor ,D3DCAPS9


© 2002 Microsoft Corporation. All rights reserved.
↑TOP