RDirectScreenAccess Class Reference

class RDirectScreenAccess : public MWsClientClass

The interface between an application that directly accesses the screen and the window server.

Note that most applications that need to access the screen directly should use CDirectScreenAccess instead. RDirectScreenAccess only needs to be used directly by applications without access to an active scheduler.

Inherits from

Public Member Functions
RDirectScreenAccess()
RDirectScreenAccess(RWsSession &)
IMPORT_C voidCancel()
IMPORT_C voidClose()
IMPORT_C voidCompleted()
IMPORT_C TIntConstruct()
IMPORT_C TIntConstruct(TBool)
IMPORT_C TIntRequest(RRegion *&, TRequestStatus &, const RWindowBase &)
Inherited Functions
MWsClientClass::AddToBitmapArray(const TInt)const
MWsClientClass::AsyncRequest(TRequestStatus &,TUint)const
MWsClientClass::CachedWindowSize(TSize &)const
MWsClientClass::DestroyWindowSizeCacheEntry()
MWsClientClass::MWsClientClass()
MWsClientClass::MWsClientClass(RWsBuffer *)
MWsClientClass::MarkWindowSizeCacheDirty()
MWsClientClass::RefreshWindowSizeCache(const TSize &)const
MWsClientClass::WindowSizeCacheEnabled()const
MWsClientClass::Write(TUint)const
MWsClientClass::Write(const TAny *,TInt,TUint)const
MWsClientClass::Write(const TAny *,TInt,const TAny *,TInt,TUint)const
MWsClientClass::WriteInt(TInt,TUint)const
MWsClientClass::WritePoint(const TPoint &,TUint)const
MWsClientClass::WriteRect(const TRect &,TUint)const
MWsClientClass::WriteReply(TUint,const TIpcArgs *)const
MWsClientClass::WriteReply(const TAny *,TInt,TUint,const TIpcArgs *)const
MWsClientClass::WriteReply(const TAny *,TInt,const TAny *,TInt,TUint,const TIpcArgs *)const
MWsClientClass::WriteReplyByProvidingRemoteReadAccess(const TAny *,TInt,const TReadDescriptorType &,TUint)const
MWsClientClass::WriteReplyInt(TInt,TUint,const TIpcArgs *)const
MWsClientClass::WriteReplyIntP(TInt,const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteReplyP(const TAny *,TInt,const TAny *,TInt,const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteReplyP(const TAny *,TInt,const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteReplyP(const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteSize(const TSize &,TUint)const
MWsClientClass::WsHandle()const
Public Member Enumerations
enumTPriority { EPriorityVeryHigh = 2000 }
enumTTerminationReasons { ETerminateCancel, ETerminateRegion, ETerminateScreenMode, ETerminateRotation }
Private Attributes
TRequestStatus *iDummyRequest
CDsaMsgQueue *iMsgQueue
RWsSession *iWs
RThread iWsThread
Inherited Attributes
MWsClientClass::iBuffer
MWsClientClass::iWsHandle

Constructor & Destructor Documentation

RDirectScreenAccess()

IMPORT_CRDirectScreenAccess()

RDirectScreenAccess(RWsSession &)

IMPORT_CRDirectScreenAccess(RWsSession &aWs)

Parameters

RWsSession & aWs

Member Functions Documentation

Cancel()

IMPORT_C voidCancel()

Close()

IMPORT_C voidClose()

Completed()

IMPORT_C voidCompleted()

Construct()

IMPORT_C TIntConstruct()

Construct(TBool)

IMPORT_C TIntConstruct(TBoolaRegionTrackingOnly)

Parameters

TBool aRegionTrackingOnly

Request(RRegion *&, TRequestStatus &, const RWindowBase &)

IMPORT_C TIntRequest(RRegion *&aRegion,
TRequestStatus &aStatus,
const RWindowBase &aWindow
)

Parameters

RRegion *& aRegion
TRequestStatus & aStatus
const RWindowBase & aWindow

Member Enumerations Documentation

Enum TPriority

The priority of the active object that responds to notification that direct screen access must stop.

Enumerators

EPriorityVeryHigh = 2000

A suggested value for the priority of the active object that responds to notification from the window server that direct screen access must stop. This is also the value used by CDirectScreenAccess for this purpose.

Enum TTerminationReasons

Provides the reason why direct screen access must terminate. This enum is used in the MAbortDirectScreenAccess::AbortNow() and MDirectScreenAccess::Restart() functions.

The first value (ETerminateCancel) indicates that direct screen access is being terminated by the application. The final three values indicate that direct screen access is being terminated by the window server. Note that for users of CDirectScreenAccess, the termination code is not important because these issues are dealt with by CDirectScreenAccess::StartL().

Enumerators

ETerminateCancel

The application has finished direct screen access.

ETerminateRegion

A window is about to come in front of a part of the area that is being used for direct screen access.

ETerminateScreenMode

The screen's color depth (as enumerated by TDisplayMode) is about to change.

ETerminateRotation

The current screen mode (the combination of screen rotation and screen size) is about to change.

Member Data Documentation

TRequestStatus * iDummyRequest

TRequestStatus *iDummyRequest[private]

CDsaMsgQueue * iMsgQueue

CDsaMsgQueue *iMsgQueue[private]

RWsSession * iWs

RWsSession *iWs[private]

RThread iWsThread

RThread iWsThread[private]