# IViewObjectEx::GetRect

Returns a rectangle describing a requested drawing aspect.

HRESULT GetRect(

DWORD dwAspect, | //Requested drawing aspect
LPRECTL pRect | //Pointer to the rectangle
); |

Parameters

dwAspect
  [in] Drawing aspect requested.
pRect
  [out] Pointer to the rectangle describing the requested drawing aspect.

Return Values

S_OK
  The rectangle was successfully returned.
DV_E_DVASPECT
  The method does not support the specified aspect. Either the object does not support the aspect requested or the aspect is not rectangular.

Remarks

This method returns a rectangle describing the specified drawing aspect. The returned rectangle is in HIMETRIC units, relative to the object’s origin. The rectangle returned depends on the drawing aspect as follows:

DVASPECT_CONTENT
  Objects should return the bounding rectangle of the whole object. The top-left corner is at the object’s origin and the size is equal to the extent returned by IViewObject2::GetExtent.
DVASPECT_OPAQUE
  Objects with a rectangular opaque region should return that rectangle. Others should fail and return error code DV_E_DVASPECT.

  If a rectangle is returned, it is guaranteed to be completely obscured by calling IViewObject::Draw for that aspect. The container should use that rectangle to clip out the object’s opaque parts before drawing any object behind it during the back to front pass. If this method fails on an object with a non-rectangular opaque region, the container should draw the entire object in the back to front part using the DVASPECT_CONTENT aspect.

DVASPECT_TRANSPARENT
  Objects should return the rectangle covering all transparent or irregular parts. If the object does not have any transparent or irregular parts, it may return DV_E_ASPECT. A container may use this rectangle to determine whether there are other objects overlapping the transparent parts of a given object.