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.