다음을 통해 공유


DVASPECT2 열거형(ocidl.h)

그리기 프로세스를 최적화하는 데 사용되는 새 그리기 측면을 지정합니다.

Syntax

typedef enum tagDVASPECT2 {
  DVASPECT_OPAQUE = 16,
  DVASPECT_TRANSPARENT = 32
} DVASPECT2;

상수

 
DVASPECT_OPAQUE
값: 16
불투명하고 쉽게 개체의 부분을 클리핑할 수 있는 부분을 나타냅니다. 개체는 이 측면을 지원할 수도 있거나 지원하지 않을 수도 있습니다.
DVASPECT_TRANSPARENT
값: 32
개체의 투명하거나 불규칙한 부분(일반적으로 비용이 많이 들거나 잘라내기 불가능한 부분)을 나타냅니다. 개체는 이 측면을 지원할 수도 있거나 지원하지 않을 수도 있습니다.

설명

깜박임을 줄이기 위해 그리기 최적화를 지원하려면 개체가 세 가지 개별 측면에 대한 정보를 그리고 반환할 수 있어야 합니다.

양상 Description
DVASPECT_CONTENT 개체의 전체 콘텐츠를 지정합니다. 모든 개체는 이 측면을 지원해야 합니다.
DVASPECT_OPAQUE 불투명하고 쉽게 개체의 부분을 클리핑할 수 있는 부분을 나타냅니다. 개체는 이 측면을 지원할 수도 있거나 지원하지 않을 수도 있습니다.
DVASPECT_TRANSPARENT 개체의 투명하거나 불규칙한 부분(일반적으로 비용이 많이 들거나 잘라내기 불가능한 부분)을 나타냅니다. 개체는 이 측면을 지원할 수도 있거나 지원하지 않을 수도 있습니다.
 

컨테이너는 새 메서드 IViewObjectEx::GetViewStatus를 호출하여 개체가 지원하는 그리기 측면 중 어느 것을 결정할 수 있습니다. 개별 비트는 지원되는 측면에 대한 정보를 반환합니다. 개체가 IViewObjectEx 인터페이스를 지원하지 않는 경우 DVASPECT_CONTENT만 지원하는 것으로 간주됩니다.

지원되는 측면에 따라 컨테이너는 개체가 프런트에서 백 패스로만, 백-프런트 패스만 또는 둘 다에만 그리도록 개체에 요청할 수 있습니다. 가능한 다양한 사례는 다음과 같습니다.

  • DVASPECT_CONTENT 지원하는 개체는 겹치는 개체의 모든 불투명 부분이 잘린 상태에서 후면에서 프런트 패스로 그려야 합니다. 모든 개체가 이 측면을 지원해야 하므로 깜박이는 것을 염려하지 않는 컨테이너는 오프스크린 비트맵으로 그리기 때문에 모든 개체를 그런 식으로 그리고 앞면에서 백 패스로 건너뛰도록 선택할 수 있습니다.
  • DVASPECT_OPAQUE 지원하는 개체는 앞뒤 패스 중에 이 측면을 그려야 할 수 있습니다. 컨테이너는 개체의 불투명 영역을 클리핑한 후 그 뒤에 추가 개체를 그리는 역할을 합니다.
  • DVASPECT_TRANSPARENT 지원하는 개체는 백에서 프런트 패스로 이 측면을 그려야 할 수 있습니다. 컨테이너는 개체가 이 측면을 그릴 수 있도록 하려면 겹치는 개체의 불투명 부분을 클리핑해야 합니다.
DVASPECT_OPAQUE 및 DVASPECT_TRANSPARENT 지원되더라도 컨테이너는 이러한 측면을 자유롭게 사용할 수 있습니다. 특히 오프스크린 비트맵으로 그리기 때문에 깜박임에 대해 신경 쓰지 않는 경우 컨테이너는 DVASPECT_CONTENT 및 원패스 그리기만 사용할 수 있습니다. 그러나 2패스 드로잉에서 컨테이너가 프런트 투 백 패스 중에 DVASPECT_OPAQUE 사용하는 경우 백 투 프런트 패스 중에 DVASPECT_TRANSPARENT 사용하여 개체의 렌더링을 완료해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 ocidl.h

추가 정보

IViewObject::Draw