2009-09-01 3 views
1

이 질문은 CDMA 휴대폰에서 사용되는 BREW 프레임 워크와 관련이 있습니다. 그러나이 주제는 그래픽 용 일반 메모리 버퍼와도 관련이 있다고 생각합니다.현재 비트 맵 버퍼의 IDISPLAY_DrawText를 사용하여 문자열 그리기

저는 현재 비트 맵 버퍼에서 IDISPLAY_DrawText를 사용하여 문자열을 작성하는 방법을 묻고 싶습니다. 이 비트 맵 버퍼는 IDISPLAY_BitBlt가 전체 이미지를 화면에 그리는 데 사용됩니다. 내 문제는 IDISPLAY_DrawText를 사용하면 IDISPLAY_Bitblt가 항상 업데이트 된 비트 맵 버퍼를 그리기 때문에 문자열이 그려지지 않습니다.

고맙습니다.

답변

2

IFONT_DrawText는 비트 맵에 직접 그리는 데 사용할 수 있습니다. 원하는 경우이 비트 맵을 혼합/복사 할 수 있습니다.

그러나 대부분의 경우 IDisplay 비트 맵 자체는 이미 오프 스크린이며 IDISPLAY_Update/IDISPLAY_UpdateEx가 호출 될 때만 화면에 복사됩니다. 따라서 화면 버퍼가 중복 될 수 있습니다.

IFONT 인터페이스는 BREW SDK 2.x 이상에서 AEEFont.h에 정의되어 있습니다. 또한 레이아웃에 도움이되는 텍스트 크기를 측정하는 기능이 포함되어 있습니다.

1

BREW에 대해 잘 모르기 때문에, 올바르게 이해하면 일반적인 질문에 답하려고 노력할 것입니다.
일반적으로 화면에 표시되지 않는 버퍼 또는 여러 버퍼로 그립니다. 그것이 바로 DrawText 호출입니다. 버퍼가 여러 개인 경우 화면 크기의 일반 버퍼에서 버퍼를 결합합니다. 그런 다음 화면 업데이트시 BitBlt이 일반 버퍼를 화면 버퍼에 그립니다. 또는 하드웨어가 허용하는 경우 버퍼를 스와핑합니다. 그건 클래식 더블 버퍼링입니다.

질문 옆에있는 답변에 더 많은 정보를 제공해야 할 수도 있습니다. BREW가 그것을 이해하고 그것을 나보다 잘 대답한다는 것을 아는 누군가가 아닌 이상! :-)

+0

맙소사, 너는 아주 잘 설명해. 사실 내 문제는 비트 블릿 (Bitblt)이 사용할 오프 스크린 버퍼에 DrawText를 사용하여 텍스트를 삽입하는 방법입니다. 감사 – domlao