Packagecom.sogou.flashskin
Classpublic class FlashSkinAsync
InheritanceFlashSkinAsync Inheritance Object

搜狗输入法提供的异步调用的接口

异步调用的优点可以避免皮肤与输入法通信时候的阻塞。



Public Methods
 MethodDefined By
  
do_get_variable(section:String, var_name:String):void
[static] 注册获取保存在本地的的变量的函数,结合do_get_variable方法使用
FlashSkinAsync
  
do_save_file(register_funcName:String, file_name:String, file_data:String):void
[static] 执行将数据保存到文件的函数(存在”输入法用户目录\Flash\files”),结合register_save_file方法使用
FlashSkinAsync
  
regist_get_ime_status(func_name:Function, _input:Boolean, _status:Boolean = false, _comp:Boolean = false):void
[static] 用于输入法输入状态改变时获取输入法当前的输入状态(中、英、A,中文标点、英文标点;简体、繁体)此方式只可以用在状态栏里,分窗口中无效
FlashSkinAsync
  
register_get_variable(func_name:Function):void
[static] 注册获取保存在本地的的变量的函数,结合do_get_variable方法使用
FlashSkinAsync
  
register_get_windowPose(func_name:Function):void
[static] 通知popup窗口中的flash,推送当前状态栏位置,popup窗口位置和屏幕大小。可以通过返回值设置popup窗口的位置,与状态栏粘滞的矩形的区域
FlashSkinAsync
  
register_mousePoint_setfocus(func_name:Function):void
[static] 点在某点上是否可抢焦点,只能用在popup窗口,一般使用情况是与popup窗口交互时防止状态栏消失(是否呼出搜狗输入法,如果当前不是使用的搜狗输入法会切换到搜狗输入法,此时会显示输入法状态栏)
FlashSkinAsync
  
register_popupWindow_movable(func_name:Function):void
[static] popup窗口中flash的某点上是否可拖动窗口
FlashSkinAsync
  
register_save_file(_function:Function, register_funcName:String):void
[static] 注册将数据保存到文件的函数(存在”输入法用户目录\Flash\files”),结合do_save_file方法使用
FlashSkinAsync
Method Detail
do_get_variable()method
public static function do_get_variable(section:String, var_name:String):void

注册获取保存在本地的的变量的函数,结合do_get_variable方法使用

Parameters

section:String — 自定义回调函数,回调函数的参数为2个字符串,第一个字符串为变量名,第二个字符串是变量的值。
 
var_name:String

See also


Example

获取本地变量myname的值

实例源码下载
         function getlocalvar(param1,param2):void
         {
                 trace("变量:"+param1 +"的值为--"+param);
         }
         
         FlashskinAsync.register_get_variable(getlocalvar);
         FlashskinAsync.do_get_variable("this", "myname");
         
do_save_file()method 
public static function do_save_file(register_funcName:String, file_name:String, file_data:String):void

执行将数据保存到文件的函数(存在”输入法用户目录\Flash\files”),结合register_save_file方法使用

Parameters

register_funcName:String — 在客户端注册的函数的名字
 
file_name:String — 要保存的文件的名字(要包括扩展名)
 
file_data:String — 要保存的文件的二进制的base64编码

See also


Example
实例源码下载
         import flash.utils.ByteArray;
         import com.hurlant.util.Base64;
         import flash.display.BitmapData;
         var _save_bitmapdata:BitmapData=new BitmapData(100,100,1,0xffcccccc);
         var _bytearray:ByteArray = PNGEncoder.encode(_save_bitmapdata);
         var base64:String = Base64.encodeByteArray(_bytearray);
         private function creat_pic_complete(param:String):void
         {
                 var resultArray:Array = param.split(",");
                 if(resultArray[1]=="1")
                 {
                     trace("图片"+resultArray[0]+"保存成功!");
             }else
                 {
                     trace("图片保存失败!");
                 }
         }
         FlashskinAsync.register_save_file(creat_pic_complete,"ime_creat_pic");
         FlashskinAsync.do_save_file("ime_creat_pic","mypic.png",base64);
         
regist_get_ime_status()method 
public static function regist_get_ime_status(func_name:Function, _input:Boolean, _status:Boolean = false, _comp:Boolean = false):void

用于输入法输入状态改变时获取输入法当前的输入状态(中、英、A,中文标点、英文标点;简体、繁体)此方式只可以用在状态栏里,分窗口中无效

Parameters

func_name:Function — 自定义的回调函数

此回调函数有1个参数,字符串类型,此参数代表了输入法当前的输入状态值,具体内容请参考 附录A

 
_input:Boolean — 是否捕捉输入法的输入状态的状态(中、英、A,中文标点、英文标点;简体、繁体等)
 
_status:Boolean (default = false) — 是否捕捉状态栏的状态(显示、隐藏)
 
_comp:Boolean (default = false) — 是否捕捉写作窗的状态(显示、隐藏)

See also

附录A

Example
获取输入法当前的输入状态(中、英、A,中文标点、英文标点;简体、繁体;...) 实例源码下载
         function OnImeStatusChange(key:String)
          {
             switch(key)
                 {
                     case "cn":                        //第二个参数为true可用
                     trace("当前输入状态是 中文");
                         break;
                     case "en":                        //第二个参数为true可用
                     trace("当前输入状态是 英文");
                         break;
                     case "A":                        //第二个参数为true可用
                     trace("当前输入状态是 大写");
                         break;
                     case "cs":                        //第二个参数为true可用
                     trace("当前输入状态是 中文标点");
                         break;
                     case "es":                        //第二个参数为true可用
                     trace("当前输入状态是 英文标点");
                         break;
                     case "full":                        //第二个参数为true可用
                     trace("当前输入状态是 全角");
                         break;
                     case "half":                        //第二个参数为true可用
                     trace("当前输入状态是 半角");
                         break;
                     case "shuang":                        //第二个参数为true可用
                     trace("当前输入状态是 双拼");
                         break;
                     case "quan":                        //第二个参数为true可用
                     trace("当前输入状态是 全拼");
                         break;
                     case "jian":                        //第二个参数为true可用
                     trace("当前输入状态是 简体");
                         break;
                     case "fan":                        //第二个参数为true可用
                     trace("当前输入状态是 繁体");
                         break;
                     case "statusshow":      //第三个参数设为true才可用
                         trace("状态栏显示");
                         break;
                     case "statushide":     //第三个参数设为true才可用
                         trace("状态栏隐藏");
                         break;
                     case "compshow":       //第四个参数设为true才可用
                         trace("写作窗显示");
                         break;
                     case "comphide":       //第四个参数设为true才可用
                         trace("写作窗隐藏");
                         break;
                     default:
                         break;
                 }
          }
         FlashskinAsync.regist_get_ime_status(OnImeStatusChange,true,true,true);
         
register_get_variable()method 
public static function register_get_variable(func_name:Function):void

注册获取保存在本地的的变量的函数,结合do_get_variable方法使用

Parameters

func_name:Function — 自定义回调函数,回调函数的参数为2个字符串,第一个字符串为变量名,第二个字符串是变量的值。

See also


Example

获取本地变量myname0,myname1的值

实例源码下载
         function getlocalvar(param1,param2):void
         {
                 trace("变量:"+param1 +"的值为--"+param);
         }
         
         FlashskinAsync.register_get_variable(getlocalvar);
         FlashskinAsync.do_get_variable("this", "myname");
         
register_get_windowPose()method 
public static function register_get_windowPose(func_name:Function):void

通知popup窗口中的flash,推送当前状态栏位置,popup窗口位置和屏幕大小。可以通过返回值设置popup窗口的位置,与状态栏粘滞的矩形的区域

Parameters

func_name:Function — 自定义的回调函数

1:此回调函数拥有一个字符串类型的参数,格式为: bStick,(left,top,right,bottom),(left,top,right,bottom),(left,top,right,bottom)。bStick为"1"代表粘滞,为"0"代表不粘滞.

参数代表的意义为:popup窗口是否与状态栏粘滞,(状态栏左,上,右,下4个点的值),(popup窗口左,上,右,下4个点的值),(当前屏幕左,上,右,下4个点的值)

2:此函数有一个返回值 类型为字符串 格式为(x,y),nRefresh,(rtStick) 。nRefresh为"1"代表解决刷新问题,为"0"代表不解决刷新问题。rtStick为"1"代表粘滞,为"0"代表不粘滞.

参数代表的意义为:(popup窗口左上顶点的x,y坐标),是否解决刷新问题,popup窗口是否与状态栏粘滞

此函数有一个返回值,格式为(x,y),把popup窗口定位到屏幕的x,y处


Example
把popup窗口定位到状态栏的正上方(默认是在正下方) 实例源码下载
         import flash.external.ExternalInterface;
         import flash.events.Event;
         import flash.external.ExternalInterface;
         import flash.system.fscommand;
         if (ExternalInterface.available)
         {
             ExternalInterface.addCallback("ImeIsMovablePlace", ImeIsMovablePlace);
             ExternalInterface.addCallback("ImeGetWindowPos", ImeGetWindowPos);
         }
         function ImeIsMovablePlace(param:String):int
         {
             return 0;
         }
         
         function ImeGetWindowPos(param:String):String
         {
             var _tempArray:Array = param.split(",");
             var _statusArray:Array = new Array();
             _statusArray.push(Number(_tempArray[1].substring(2, _tempArray[1].length)));
             _statusArray.push(Number(_tempArray[2]));
             _statusArray.push(Number(_tempArray[3]));
             _statusArray.push(Number(_tempArray[4].substring(0, _tempArray[4].length - 1)));
             _statusArray.push(Number(_tempArray[5].substring(2, _tempArray[5].length)));
             _statusArray.push(Number(_tempArray[6]));
             _statusArray.push(Number(_tempArray[7]));
             _statusArray.push(Number(_tempArray[8].substring(0, _tempArray[8].length - 1)));
             var _screenWidth:Number = Number(_tempArray[11]) / 2;
             var _screenHeight:Number = Number(_tempArray[12].substring(0,_tempArray[12].length - 1)) / 2;
         
         
             var _mx:String = _statusArray[0];
             var _my:String = String(Number(_statusArray[1]) - this.stage.stageHeight);
             var _returnString:String = "(" + _mx + "," + _my + ")";
             return _returnString;
         }
         
register_mousePoint_setfocus()method 
public static function register_mousePoint_setfocus(func_name:Function):void

点在某点上是否可抢焦点,只能用在popup窗口,一般使用情况是与popup窗口交互时防止状态栏消失(是否呼出搜狗输入法,如果当前不是使用的搜狗输入法会切换到搜狗输入法,此时会显示输入法状态栏)

Parameters

func_name:Function — 自定义的回调函数

此函数有一个字符串参数.格式为(x,y),x代表鼠标在屏幕的x坐标,y代表鼠标在屏幕的y坐标

此函数有一个返回值 类型为字符串 "1"代表呼出输入法


Example
光标在popup窗口中的flash上单击的时候,呼出输入法,此时会显示状态栏. 实例源码下载
         function popupwindow_notuse_sogouime(param:String):String
         {
                 return "1";
         }
         FlashskinAsync.register_mousePoint_setfocus(popupwindow_notuse_sogouime);
         
register_popupWindow_movable()method 
public static function register_popupWindow_movable(func_name:Function):void

popup窗口中flash的某点上是否可拖动窗口

Parameters

func_name:Function — 自定义的回调函数

此函数有一个字符串参数.格式为(x,y),x代表鼠标在屏幕的x坐标,y代表鼠标在屏幕的y坐标

此函数有一个返回值 类型为字符串 "0"代表不拖动窗口,"1"代表拖动窗口


Example
设置某个popup窗口中的flash被拖拽是,窗口无法被拖拽. 实例源码下载
         function popupwindow_not_movable(param:String):String
         {
                 return "0";
         }
         FlashskinAsync.register_popupWindow_movable(popupwindow_not_movable);
         
register_save_file()method 
public static function register_save_file(_function:Function, register_funcName:String):void

注册将数据保存到文件的函数(存在”输入法用户目录\Flash\files”),结合do_save_file方法使用

Parameters

_function:Function — 在flash中定义的回调函数,参数为1个字符串,格式为 a,b

a代表保存到本地的文件名字

b为0或者1,0代表保存失败,1代表保存成功

 
register_funcName:String — 在客户端注册的函数的名字

See also


Example
实例源码下载
         import flash.utils.ByteArray;
         import com.hurlant.util.Base64;
         import flash.display.BitmapData;
         var _save_bitmapdata:BitmapData=new BitmapData(100,100,1,0xffcccccc);
         var _bytearray:ByteArray = PNGEncoder.encode(_save_bitmapdata);
         var base64:String = Base64.encodeByteArray(_bytearray);
         private function creat_pic_complete(param:String):void
         {
                 var resultArray:Array = param.split(",");
                 if(resultArray[1]=="1")
                 {
                     trace("图片"+resultArray[0]+"保存成功!");
             }else
                 {
                     trace("图片保存失败!");
                 }
         }
         FlashskinAsync.register_save_file(creat_pic_complete,"ime_creat_pic");
         FlashskinAsync.do_save_file("ime_creat_pic","mypic.png",base64);