Location:
W32STD.H
Link against: ws32.lib
class RDrawableWindow : public RWindowBase;
Handle to a drawable window.
This class cannot be constructed directly. The two concrete derived classes, RWindow
and RBackedUpWindow
, allow drawing but use different protocols because RWindow
relies on the client to redraw invalid areas.
MWsClientClass
- Base class for all classes whose objects are clients of the window server
RWindowTreeNode
- A handle to a node in the server-side window tree
RWindowBase
- Client-side handle to a server-side window
RDrawableWindow
- Handle to a drawable window
Defined in RDrawableWindow
:
GetDrawRect()
, Scroll()
, Scroll()
, Scroll()
, Scroll()
Inherited from MWsClientClass
:
WsHandle()
Inherited from RWindowBase
:
AbsPosition()
,
Activate()
,
AddKeyRect()
,
AllocPointerMoveBuffer()
,
CancelPointerRepeatEventRequest()
,
ClaimPointerGrab()
,
DisablePointerMoveBuffer()
,
DiscardPointerMoveBuffer()
,
DisplayMode()
,
EnableBackup()
,
EnablePointerMoveBuffer()
,
FadeBehind()
,
FreePointerMoveBuffer()
,
GetPointerCapturePriority()
,
InquireOffset()
,
IsFaded()
,
IsNonFading()
,
MoveToGroup()
,
PasswordWindow()
,
PointerFilter()
,
Position()
,
RemoveAllKeyRects()
,
RequestPointerRepeatEvent()
,
RetrievePointerMoveBuffer()
,
SetCornerType()
,
SetExtentErr()
,
SetPointerCapture()
,
SetPointerCapturePriority()
,
SetPointerGrab()
,
SetPosition()
,
SetRequiredDisplayMode()
,
SetShadowDisabled()
,
SetShadowHeight()
,
SetShape()
,
SetSizeErr()
,
SetVisible()
,
Size()
,
TCaptureDisabled
,
TCaptureDragDrop
,
TCaptureEnabled
,
TCaptureFlagAllGroups
,
TCaptureFlagDragDrop
,
TCaptureFlagEnabled
,
TCaptureFlags
Inherited from RWindowTreeNode
:
Child()
,
ClearPointerCursor()
,
Close()
,
Destroy()
,
DisableErrorMessages()
,
DisableFocusChangeEvents()
,
DisableGroupChangeEvents()
,
DisableGroupListChangeEvents()
,
DisableModifierChangedEvents()
,
DisableOnEvents()
,
DisableVisibilityChangeEvents()
,
EFadeIncludeChildren
,
EFadeWindowOnly
,
EnableErrorMessages()
,
EnableFocusChangeEvents()
,
EnableGroupChangeEvents()
,
EnableGroupListChangeEvents()
,
EnableModifierChangedEvents()
,
EnableOnEvents()
,
EnableVisibilityChangeEvents()
,
FullOrdinalPosition()
,
NextSibling()
,
OrdinalPosition()
,
OrdinalPriority()
,
Parent()
,
PrevSibling()
,
SetCustomPointerCursor()
,
SetFaded()
,
SetNonFading()
,
SetOrdinalPosition()
,
SetPointerCursor()
,
TFadeControl
,
WindowGroupId()
IMPORT_C void Scroll(const TPoint &aOffset);
Scrolls the window contents by an offset.
All parts of an RWindow
are either drawn with content copied from another part of the window or are invalidated. Areas are invalidated when the source
content of the scroll would be outside the window or obscured behind another window. The areas that are invalidated are not
blanked off.
For example, if the window is scrolled towards the right, then there is no content (from outside the window) to move into area on the left hand side. This area is invalidated. Similarly, no content can be scrolled out from under an obscuring window, so the area from beneath the obscuring window is also invalidated.
Note that for an RBackedUpWindow
, the contents of areas obscured by other windows are stored. In this case the window contents are scrolled out from "underneath"
the obscuring window. In the example above the area on the left was invalidated but for this type of window the area simply
contains its old pre-scroll contents.
|
IMPORT_C void Scroll(const TRect &aClipRect, const TPoint &aOffset);
Scrolls the contents of a clip rectangle, independently of the other contents of the window.
This function behaves in exactly the same way as the single parameter overload, except that the scroll region is a clipping rectangle rather than the whole window. All parts of the clipping rectangle are either drawn with content copied from another part of the rectangle or are invalidated.
The RBackedUpWindow
behaviour is also similar to the behaviour in the function above.
|
IMPORT_C void Scroll(const TPoint &aOffset, const TRect &aRect);
Scrolls a rectangle within a window.
This function effectively moves the specified rectangle by the given offset with respect to the window. The destination rectangle may overlap and cover the old rectangle.
Note that if the source of this rectangle is an invalid area, ie it is obscured or lies outside the window, then this area in the destination rectangle will be invalidated.
|
IMPORT_C void Scroll(const TRect &aClipRect, const TPoint &aOffset, const TRect &aRect);
Scrolls the contents of a source rectangle within a clipping rectangle.
The source rectangle is effectively copied from one position to another, with both the source and destination clipped to the
clipping rectangle. Hence if the source and destination rectangles are inside the clipping region then this function behaves
exactly like the Scroll(const TPoint &aOffset, const TRect &aRect)
overload. However if the source or destination for the scrolled rectangle intersect the clipping rectangle then the function
behaves similarly to the Scroll(const TRect &aClipRect,const TPoint &aOffset)
overload, with regards to invalidated regions etc.
|
IMPORT_C TRect GetDrawRect();
Obtains the current rectangle being drawn to this window, during a window redraw cycle.
This function can be called between a BeginRedraw() / EndRedraw() pair to obtain the current window redraw reference rectangle.
|