チェンジセット 1403

差分発生行の前後
無視リスト:
コミット日時:
2008/09/28 23:06:51 (5 年前)
コミッタ:
tasuku
ログメッセージ:

changed Communication library API

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/gunyarapaint/trunk/gunyarapaint/src/gplogplayer.mxml

    r1352 r1403  
    2525  import mx.managers.PopUpManager; 
    2626 
    27   private var comm:Com; 
    2827  private var oelog:ByteArray; 
    2928  private var baseImg:BitmapData; 
     
    3332  /*** debug ***/ 
    3433  private var debugOekakiId:uint = 0; // 0でデバッグしない 
    35   private var commDebug:Com; 
    3634  private var debugCheckPngUrl:String; 
    3735  private var debugCheckPng:ByteArray; 
     
    4543      parameters['oelogUrl'] = 'http://dic.nicovideo.jp/oelog/' + debugOekakiId; 
    4644      debugCheckPngUrl = 'http://dic.nicovideo.jp/oekaki/' + debugOekakiId + '.png'; 
    47       commDebug = new Com(); 
    48       commDebug.sendGetUrlRequest(debugCheckPngUrl); 
    49       commDebug.addEventListener('completeGetData', function(evt:Event):void { debugCheckPng = commDebug.getData();}); 
     45      new Com().sendGetUrlRequest(debugCheckPngUrl, function(com:Com):void { debugCheckPng = com.data; }); 
    5046    } 
    5147 
    5248    if (parameters['oelogUrl']) { 
    5349      var url:String = parameters['oelogUrl']; 
    54       comm = new Com(); 
    55       comm.sendGetUrlRequest(url); 
    56       comm.addEventListener('completeGetData', getDataHandler); 
     50      new Com().sendGetUrlRequest(url, getOelogHandler); 
    5751    } else { 
    5852      return; 
    5953    } 
     54    if (parameters['baseImgUrl']) { 
     55      new Com().loadURL(parameters['baseImgUrl'], getBaseImgHandler); 
     56    } 
     57     
    6058    if (parameters['postUrl']) { 
    6159      postUrl = parameters['postUrl']; 
     
    6967    playSpeedHSlider.addEventListener(SliderEvent.THUMB_DRAG, playSpeedHSliderHandler); 
    7068  } 
     69   
     70  private function getOelogHandler(com:Com):void { 
     71    oelog = com.data; 
     72    oelog.uncompress(); 
     73    if (!parameters['baseImgUrl'] || baseImg) { // baseImgがいらないか、そちらもそろったときにplay 
     74      play(); 
     75    } 
     76  } 
    7177 
    72   private function getDataHandler(evt:Event):void { 
    73     if (oelog) { 
    74       baseImg = Bitmap(comm.getContent()).bitmapData; 
     78  private function getBaseImgHandler(com:Com):void { 
     79    baseImg = Bitmap(com.content).bitmapData; 
     80    if (oelog) { // どちらもそろったときにplay 
    7581      play(); 
    76     } else { 
    77       oelog = comm.getData(); 
    78       oelog.uncompress(); 
    79       if (parameters['baseImgUrl']) { 
    80         var url:String = parameters['baseImgUrl']; 
    81         comm.loadUrl(url); 
    82       } else { 
    83         play(); 
    84       } 
    8582    } 
    8683  } 
  • as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.as

    r1353 r1403  
    55import flash.geom.Point; 
    66import flash.ui.Keyboard; 
     7import flash.utils.ByteArray; 
    78 
    89import mx.controls.Alert; 
     
    2223private var basex:uint, basey:uint, baseWidth:uint, baseHeight:uint; 
    2324 
    24 private var comm:Com; 
    2525private var oekakiId:uint; 
    2626private var redirectUrl:String; 
    27 private var onPost:Boolean = false; 
    2827 
    2928private var canvasWidth:uint; 
     
    5049 
    5150  this.enabled = false; 
    52   comm = new Com(); 
    53   comm.addEventListener('completeGetData', commCompleteHandler); 
    54    
    5551  if (parameters['postUrl'] && parameters['cookie'] && parameters['magic'] && parameters['redirectUrl']) { 
    56     comm.setPostEnv(parameters['postUrl'], parameters['cookie'], parameters['magic']); 
     52    new Com().setPostEnv(parameters['postUrl'], parameters['cookie'], parameters['magic']); 
    5753    postOekakiButton.enabled = true; 
    5854    redirectUrl = parameters['redirectUrl']; 
     
    7672    oekakiId = uint(parameters['oekakiId']); 
    7773    var url:String = parameters['baseImgUrl']; 
    78     comm.loadUrl(url); 
     74    new Com().sendGetUrlRequest(url, getBaseImgHandler); 
    7975    this.enabled = false; 
    8076  } else { 
     
    195191} 
    196192 
    197 private function commCompleteHandler(evt:Event):void { 
    198   if (onPost) { 
    199     onPost = false; 
    200     if (comm.getErrorStr()) { 
    201       // error 
    202       Alert.show(comm.getErrorStr(), ALERT_TITLE); 
    203       this.enabled = true; 
    204     } else if (comm.getStringData() != '') { 
    205       Alert.show(comm.getStringData(), ALERT_TITLE); 
    206       this.enabled = true; 
    207     } else { 
    208       // redirect 
    209       Com.redirect(redirectUrl); 
    210     } 
    211   } else { 
    212     // 続きを書く 
    213     var baseImg:BitmapData = Bitmap(comm.getContent()).bitmapData; 
    214     canvasWidth = baseImg.width; 
    215     canvasHeight = baseImg.height; 
    216     gpCanvas = gpCanvasWindow.createCanvas(0, 0, undoBufferSize, null, baseImg, penDetailWindow.pen); 
    217     initGunyaraPaintCanvas(); 
     193private function getBaseImgHandler(com:Com):void { 
     194  var baseImg:BitmapData = Bitmap(data).bitmapData; 
     195  canvasWidth = baseImg.width; 
     196  canvasHeight = baseImg.height; 
     197  gpCanvas = gpCanvasWindow.createCanvas(0, 0, undoBufferSize, null, baseImg, penDetailWindow.pen); 
     198  initGunyaraPaintCanvas(); 
     199  this.enabled = true; 
     200
     201 
     202private function commCompleteHandler(com:Com):void { 
     203  if (com.errStr) { 
     204    // error 
     205    Alert.show(com.errStr, ALERT_TITLE); 
    218206    this.enabled = true; 
     207  } else if (data.toString() != '') { 
     208    Alert.show(data.toString(), ALERT_TITLE); 
     209    this.enabled = true; 
     210  } else { 
     211    // redirect 
     212    Com.redirect(redirectUrl); 
    219213  } 
    220214} 
     
    276270  } 
    277271  this.enabled = false; 
    278   onPost = true; 
    279   comm.postOekaki(fromTextInput.text, 
    280                   messageTextArea.text, 
    281                   gpCanvas.getPNGImage(), 
    282                   gpCanvas.compressedLog, 
    283                   oekakiId, 
    284                   gpCanvas.concatLayerPNGImage, 
    285                   gpCanvas.logCount 
    286                  ); 
     272  new Com().postOekaki(fromTextInput.text, 
     273                       messageTextArea.text, 
     274                       gpCanvas.getPNGImage(), 
     275                       gpCanvas.compressedLog, 
     276                       oekakiId, 
     277                       gpCanvas.concatLayerPNGImage, 
     278                       gpCanvas.logCount 
     279                      ); 
    287280} 
    288281 
  • as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/controls/GPCanvas.as

    r1353 r1403  
    251251        // 0.0.1の互換性のため 
    252252    public function oldMoveTo(x:Number, y:Number):void { 
     253          setPlayerCursor(x, y); 
    253254      _pen.drawGraphics.moveTo(x, y); 
    254255      setAndLogLineStyle(); 
     
    262263 
    263264        public function moveTo(x:Number, y:Number):void { 
    264           setPlayerCursor(x, y); 
    265265          x = Math.floor(x) + 0.5; 
    266266      y = Math.floor(y) + 0.5; 
     
    270270    // 0.0.1の互換性のため 
    271271    public function oldLineTo(x:Number, y:Number):void { 
     272      setPlayerCursor(x, y); 
    272273      _pen.drawGraphics.lineTo(x, y); 
    273274      logWrite(['lineTo', x, y]); 
     
    278279         
    279280        public function lineTo(x:Number, y:Number):void { 
    280       setPlayerCursor(x, y); 
    281281      x = Math.floor(x) + 0.5; 
    282282      y = Math.floor(y) + 0.5; 
  • as3/gunyarapaint/trunk/nicopedia/org/libspark/nicopedia/Com.as

    r1352 r1403  
    2626    private var cookie:String; 
    2727    private var magic:String; 
     28    private var callback:Function; 
    2829   
    2930    private var urlLoader:URLLoader; 
     
    125126    } 
    126127     
    127     public function sendGetUrlRequest(url:String):void { 
     128    public function sendGetUrlRequest(url:String, callback:Function):void { 
    128129      var r:URLRequest = new URLRequest(); 
    129130      r.url = url; 
    130131      r.method = URLRequestMethod.GET; 
     132      this.callback = callback; 
    131133      post(r); 
    132134    } 
     
    140142    } 
    141143 
    142     public function loadUrl(url:String):void { 
    143       var r:URLRequest = new URLRequest(); 
     144    // 画像の読み込み専用! 
     145    public function loadURL(url:String, callback:Function):void { 
     146      var r:URLRequest = new URLRequest; 
    144147      r.url = url; 
    145148      r.method = URLRequestMethod.GET; 
    146       load(r); 
    147     } 
    148  
    149     public function load(request:URLRequest):void { 
    150149      loader = new Loader(); 
    151150      configureListeners(loader.contentLoaderInfo); 
    152       loader.load(request); 
     151      this.callback = callback; 
     152      loader.load(r); 
    153153    } 
    154154     
     
    177177    } 
    178178    private function postCompleteHandler(evt:Event):void { 
    179       dispatchEvent(new Event('completeGetData')); 
     179      callback(this); 
    180180    } 
    181     public function getData():ByteArray { 
     181    public function get data():ByteArray { 
    182182      return urlLoader.data; 
    183183    } 
    184     public function getStringData():String { 
    185       return urlLoader.data.toString(); 
    186     } 
    187     public function getContent():DisplayObject { 
     184    public function get content():DisplayObject { 
     185      // for png to bitmap 
    188186      return loader.content; 
    189187    } 
    190     public function getErrorStr():String { 
     188    public function get errStr():String { 
    191189      return errorStr; 
    192190    } 
  • as3/gunyarapaint/trunk/picokakiko/src/picokakiko.as

    r1343 r1403  
    88import org.libspark.nicopedia.Com; 
    99 
    10 private var comm:Com; 
    1110private var mmlId:uint; 
    1211private var played:Boolean = false; 
     
    1514private const ALERT_TITLE:String = 'ピコカキコ'; 
    1615 
    17 private var onPost:Boolean = false; 
    18  
    1916public function init():void { 
    20   comm = new Com; 
    21   comm.addEventListener('completeGetData', commCompleteHandler); 
    2217  if (parameters['mmlUrl']) { 
    2318    var url:String = parameters['mmlUrl']; 
    24     comm.sendGetUrlRequest(url); 
     19    new Com().sendGetUrlRequest(url, getMMLHandler); 
    2520    mml.enabled = false; 
    2621  } 
    2722  if (parameters['postUrl'] && parameters['cookie'] && parameters['magic']) { 
    28     comm.setPostEnv(parameters['postUrl'], parameters['cookie'], parameters['magic']); 
     23    new Com().setPostEnv(parameters['postUrl'], parameters['cookie'], parameters['magic']); 
    2924    postPicoButton.enabled = true; 
    3025  } 
     
    5853} 
    5954 
    60 private function commCompleteHandler(evt:Event):void { 
    61   if (onPost) { 
    62     onPost = false; 
    63     if (comm.getErrorStr()) { 
    64       // error 
    65       Alert.show(comm.getErrorStr(), ALERT_TITLE); 
    66       postPicoButton.enabled = true; 
    67     } else if (comm.getStringData()) { 
    68       Alert.show(comm.getStringData(), ALERT_TITLE); 
    69       postPicoButton.enabled = true
    70     } else { 
    71       // redirect 
    72       Com.redirect(redirectUrl); 
    73     } 
     55private function getMMLHandler(data:ByteArray):void { 
     56  mml.text = data.toString(); 
     57  mml.enabled = true; 
     58  playButton.enabled = true; 
     59
     60 
     61private function completePostMMLHandler(com:Com, data:ByteArray, errStr:String):void { 
     62  if (errStr) { 
     63    // error 
     64    Alert.show(errStr, ALERT_TITLE)
     65    postPicoButton.enabled = true; 
     66  } else if (data.toString()) { 
     67    Alert.show(data.toString(), ALERT_TITLE); 
     68    postPicoButton.enabled = true; 
    7469  } else { 
    75     mml.text = comm.getStringData(); 
    76     mml.enabled = true; 
    77     playButton.enabled = true; 
     70    // redirect 
     71    Com.redirect(redirectUrl); 
    7872  } 
    7973} 
     
    114108  } 
    115109  postPicoButton.enabled = false; 
    116   onPost = true; 
    117   comm.postPico(fromTextInput.text, titleTextInput.text, messageTextArea.text, mml.text, mmlId, jasracTextInput.text); 
     110  new Com().postPico(fromTextInput.text, titleTextInput.text, messageTextArea.text, mml.text, mmlId, jasracTextInput.text); 
    118111} 
    119112 
  • as3/gunyarapaint/trunk/picokakiko/src/picoplayer.mxml

    r1302 r1403  
    1717  import mx.managers.PopUpManager; 
    1818 
    19   private var comm:Com; 
    20   private var mml:String; 
     19  private var mml:String = ''; 
    2120  private var mmlUrl:String; 
    2221  private var autoPlay:Boolean; 
     
    4847 
    4948  private function fetchMML():void { 
    50     comm = new Com(); 
    51     comm.sendGetUrlRequest(mmlUrl); 
    52     comm.addEventListener('completeGetData', getMMLHandler);     
     49    new Com().sendGetUrlRequest(mmlUrl, getMMLHandler); 
    5350  } 
    5451 
    55   private function getMMLHandler(evt:Event):void { 
    56     mml = comm.getStringData(); 
     52  private function getMMLHandler(com:Com):void { 
     53    mml = com.data.toString(); 
    5754    if (autoPlay) { 
    5855      play(); 
     
    7673 
    7774  private function play():void { 
    78     if (!comm) { 
     75    if (mml == '') { 
    7976      autoPlay = true; 
    8077      fetchMML();