Scaleform 4.0 Changes

The overall structure of IME implementation is relatively unchanged from 3.x. As explained in later sections, the user still

  1. Creates an instance of the IMEManager.
  2. Taps into IME related windows messages, creates Events and passes them to Scaleform.

Since Scaleform 4.0 supports both AS2 and AS3, we have provided the AS2 and AS3 versions of the IMESample.swf file (located in Bin/Data/AS2 or AS3). The structure of the flash files has been simplified. Since AS3 doesn’t support scripts on MovieClip instances, these scripts have been moved to either AS files or frame scripts (for example see ListRow.as). Another major departure from 3.x is the removal of the specialized fscommand called “imecommand” that was used to send information from AS to C++. Instead, the function injection mechanism introduced in the Direct Access API is used. Using this mechanism, we inject C++ implementations for certain predefined ActionScript functions (for example, “SendIMEMessage” used in FxCandidateListBox.as) which are used as replacements for imecommand. From the user’s perspective, it’s important to understand that the user doesn’t have to define or implement these functions in ActionScript, they are injected automatically by the core.

GFxIME supports customizing the appearance of the candidate list through ActionScript to match the current theme. In AS3, this customization is performed using the getIMECandidateListStyle and setIMECandidateListStyle functions which are static members of the custom IMEEx class (look at IMEEx.as in AS3/IME/Scaleform/gfx).

Also, please note that the flash IME class and the language bar is currently not implemented in AS3. These components are under development and we should be able to release both of them in the next release of Scaleform 4.0 or higher.