|
|
|
Location:
TextInputServerClient.h
Link against: tisrvc.lib
class RTextInputServerClient : public RSessionBase;
RTextInputServerClient is the client interface to the Text Input server.
UIQ supports two types of input methods: write-anywhere handwriting recognition and in-a-box methods. In-a-box methods, such as the virtual keyboard, are displayed in a box at the bottom of the screen. Additional text input modules may be used in place of the built-in software.
This class is used to turn text input on and off, to load and unload additional text input modules and to reset the text input methods to the default values.
The TextInputServer is an anchoring point for the write-anywhere AnimationDLL , and handles switching between the write-anywhere FEP and the InABox FEP.
Note that this class should only be used for developing a text input engine, for example for handwriting recognition. It is not intended to be used by application developers to set the text input methods for an application. This is normally done by setting the text input capabilities of the application's controls using the class TCoeInputCapabilities .
RHandleBase - A handle to an objectRSessionBase - Client-side handle to a session with a serverRTextInputServerClient - RTextInputServerClient is the client interface to the Text Input serverDefined in RTextInputServerClient:
AddSlaveSpriteAnim(), Close(), Connect(), GetInABoxModule(), GetTextInputConfig(), GetWriteAnywhereModule(), LoadNewAnimDll(), PassOnWriteAnywhereParameters(), PassOnWriteAnywhereParametersReply(), RTextInputServerClient(), SetFactorySettingsForTextInputConfig(), SetInABoxModule(), SetTextInputConfig(), SetTextInputObserver(), SetWriteAnywhereModule(), StartNotificationL(), StatusOfInABoxTi(), StatusOfWriteAnywhereTi(), StopNotification(), Version()
Inherited from RHandleBase:
Attributes(),
Duplicate(),
FullName(),
Handle(),
HandleInfo(),
Name(),
SetHandle(),
SetHandleNC(),
iHandle
Inherited from RSessionBase:
CreateSession(),
EAutoAttach,
EExplicitAttach,
Open(),
Send(),
SendReceive(),
SetReturnedHandle(),
ShareAuto(),
ShareProtected(),
TAttachMode
IMPORT_C TInt Connect();
Connect() connects the client to the Text Input server.
The Client will attach itself automatically to any open session that is held by the process. To end the session with the server, call Close() before destruction.
NOTE: This function must be called after construction and before any other member function is called.
|
IMPORT_C void Close();
Close() ends the session with the Text Input server.
To start a session with the server, call Connect() .
IMPORT_C TVersion Version() const;
Version() returns the version number of the Text Input server.
The version number is necessary for the client to connect to the server. This is mainly used when opening the connection.
|
| Interface status: | deprecated |
IMPORT_C TInt SetWriteAnywhereModule(const TDesC &aFepModuleName) const;
This method has been deprecated. Use RTextInputServerClient::SetTextInputConfig() instead.
Changes the write-anywhere text input FEP. Replacing one HWR-system with another one is thus possible. This function is mainly used by the TextInput Control Panel Item.
The new FEP is installed, but not if the in-a-box FEP is currently active.
|
|
SetTextInputConfig| Interface status: | deprecated |
IMPORT_C TInt GetWriteAnywhereModule(TFileName &aFepModuleName) const;
This method has been deprecated. Use RTextInputServerClient::GetTextInputConfig() instead.
GetWriteAnywhereModule() gets the name of the currently installed write-anywhere text input FEP.
|
|
| Interface status: | deprecated |
IMPORT_C TInt SetInABoxModule(const TDesC &aFepModuleName) const;
This method has been deprecated. Use RTextInputServerClient::SetTextInputConfig() instead.
SetInABoxModule() is mainly used by the TextInput Control Panel Item. It changes the in-a-box text input FEP. The new FEP is installed, but not if the write-anywhere FEP is currently active.
|
|
RTextInputServerClient::SetTextInputConfig| Interface status: | deprecated |
IMPORT_C TInt GetInABoxModule(TFileName &aFepModuleName) const;
This method has been deprecated. Use RTextInputServerClient::GetTextInputConfig() instead.
GetInABoxModule() returns the name of the currently installed in-a-box text-input method.
|
|
IMPORT_C TInt SetTextInputConfig(const TTextInputConfig &aTextInputConfig) const;
SetTextInputConfig() allows switching the primary and secondary text-input module for a specified UI configuration. This function is mainly used by the TextInput Control Panel Item.
This method is used instead of SetInABoxModule() and SetWriteAnywhereModule() which are deprecated.
|
|
IMPORT_C TInt GetTextInputConfig(TTextInputConfig &aTextInputConfig) const;
GetTextInputConfig() returns the names of the primary and secondary text-input module used for a specified UI configuration. This function is mainly used by the TextInput Control Panel Item.
This method is used instead of GetInABoxModule() and GetWriteAnywhereModule() which are deprecated.
|
|
IMPORT_C TInt SetFactorySettingsForTextInputConfig(const TInt aConfigId) const;
SetFactorySettingsForTextInputConfig() resets the primary and secondary text-input module for a specified UI configuration to whatever is defined in the resource file of the TextInputServer.
This method is used instead of SetFactorySettingsForInABoxTi() and SetFactorySettingsForWriteAnywhereTi() which are deprecated.
|
|
IMPORT_C TInt StatusOfInABoxTi(TBool &aStatusActive) const;
StatusOfInABoxTi() tests whether the in-a-box text input method is active or not. Being active does not necessarily mean that it is also visible.
Use OpenTextInputBox() and CloseTextInputBox() to activate and deactivate the in-a-box text input method.
|
|
IMPORT_C TInt StatusOfWriteAnywhereTi(TBool &aStatusActive) const;
StatusOfWriteAnywhereTi() tests whether write-anywhere handwriting recognition is active or not.
|
|
IMPORT_C void SetTextInputObserver(MTextInputObserver *aTextInputObserver);
SetTextInputObserver sets a Notification observer of the Text Input server.
When the client is observing the Text Input server, the observer's HandleTextInputNotification() function is called whenever any important changes occur in the server.
Many of the functions defined in RTextInputServerClient cause notification.
To start observation, StartNotificationL() must be called.
|
IMPORT_C TInt StartNotificationL();
StartNotificationL() starts notification. This enables a client to observe the TextInput server and be informed of important changes.
|
IMPORT_C void StopNotification();
StopNotification() is called when a client no longer wants to be informed of important changes in the TextInput server.
IMPORT_C TInt LoadNewAnimDll(const TDesC &aHandAnimDllPath, TBool aDrawingWithMask=ETrue) const;
LoadNewAnimDll() loads a write-anywhere animation DLL into the window server.
The animation DLL does drawing and character recognition. The sprite which is drawn by the DLL covers the whole screen. It includes any "slave" sprites that are used.
LoadNewAnimDll() must be called by a write-anywhere FEP during construction. Before loading an animation DLL, any previously loaded animation DLL must first be unloaded (see UnloadActiveAnimDll() ).
"Slave" sprites may be added using AddSlaveSpriteAnim() .
|
|
IMPORT_C TInt AddSlaveSpriteAnim(TGulAlignment aCorner, TSize aSize) const;
Using one or more slave sprites, instead of using a single sprite that covers the whole screen all of the time, can significantly improve drawing performance. The smaller slave sprite should contain any static graphics always visible on the screen when handwriting recognition is active, while the large main sprite should only contain the "ink" that is produced when the user writes on the screen.
After the LoadNewAnimDll() method has been called to create the main animation sprite (that covers the whole screen and contains the handwriting recognition engine), AddSlaveSpriteAnim() can be called to create a smaller slave sprite. This allows the large main sprite to be disabled whenever the user is not writing on the screen (the sprite is empty anyway) so only the small slave sprite needs to be updated.
More than one slave sprite can be added by calling the AddSlaveSpriteAnim() method repeatedly. Since a new slave sprite is added each time the AddSlaveSpriteAnim() method is called, it must not be called if the LoadNewAnimDll() method returns KErrAlreadyExists .
|
|
IMPORT_C TInt PassOnWriteAnywhereParameters(TInt anOpCode, TAny *aParameters) const;
Information specific for AnimDll can be sent to the AnimDll . This information can be of any kind (for example, paint color or timer settings). The AnimDll must specify the parameters that are used.
NOTE: Since the parameters are sent over a Client-Server boundary, pointers should not be passed. If pointers are passed, it must be clear that they have no meaning in any other memory space.
|
|
IMPORT_C TInt PassOnWriteAnywhereParametersReply(TInt anOpCode, TAny *aParameters, TInt &aResponse) const;
Information specific for AnimDll can be sent to the AnimDll . This information can be of any kind (for example, paint color or timer settings). The AnimDll must specify the parameters that are used.
NOTE: Since the parameters are sent over a Client-Server boundary, pointers should not be passed. If pointers are passed, it must be clear that they have no meaning in any other memory space. This function allows the AnimDll to give a response.
|
|