チェンジセット 1403
- コミット日時:
- 2008/09/28 23:06:51 (5 年前)
- ファイル:
-
- as3/gunyarapaint/trunk/gunyarapaint/src/com/adobe/serialization (追加)
- as3/gunyarapaint/trunk/gunyarapaint/src/com/adobe/serialization/json (追加)
- as3/gunyarapaint/trunk/gunyarapaint/src/com/adobe/serialization/json/JSON.as (追加)
- as3/gunyarapaint/trunk/gunyarapaint/src/com/adobe/serialization/json/JSONDecoder.as (追加)
- as3/gunyarapaint/trunk/gunyarapaint/src/com/adobe/serialization/json/JSONEncoder.as (追加)
- as3/gunyarapaint/trunk/gunyarapaint/src/com/adobe/serialization/json/JSONParseError.as (追加)
- as3/gunyarapaint/trunk/gunyarapaint/src/com/adobe/serialization/json/JSONToken.as (追加)
- as3/gunyarapaint/trunk/gunyarapaint/src/com/adobe/serialization/json/JSONTokenType.as (追加)
- as3/gunyarapaint/trunk/gunyarapaint/src/com/adobe/serialization/json/JSONTokenizer.as (追加)
- as3/gunyarapaint/trunk/gunyarapaint/src/gplogplayer.mxml (更新) (4 diffs)
- as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.as (更新) (6 diffs)
- as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/controls/GPCanvas.as (更新) (4 diffs)
- as3/gunyarapaint/trunk/nicopedia/org/libspark/nicopedia/Com.as (更新) (4 diffs)
- as3/gunyarapaint/trunk/picokakiko/src/picokakiko.as (更新) (4 diffs)
- as3/gunyarapaint/trunk/picokakiko/src/picoplayer.mxml (更新) (3 diffs)
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/gunyarapaint/trunk/gunyarapaint/src/gplogplayer.mxml
r1352 r1403 25 25 import mx.managers.PopUpManager; 26 26 27 private var comm:Com;28 27 private var oelog:ByteArray; 29 28 private var baseImg:BitmapData; … … 33 32 /*** debug ***/ 34 33 private var debugOekakiId:uint = 0; // 0でデバッグしない 35 private var commDebug:Com;36 34 private var debugCheckPngUrl:String; 37 35 private var debugCheckPng:ByteArray; … … 45 43 parameters['oelogUrl'] = 'http://dic.nicovideo.jp/oelog/' + debugOekakiId; 46 44 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; }); 50 46 } 51 47 52 48 if (parameters['oelogUrl']) { 53 49 var url:String = parameters['oelogUrl']; 54 comm = new Com(); 55 comm.sendGetUrlRequest(url); 56 comm.addEventListener('completeGetData', getDataHandler); 50 new Com().sendGetUrlRequest(url, getOelogHandler); 57 51 } else { 58 52 return; 59 53 } 54 if (parameters['baseImgUrl']) { 55 new Com().loadURL(parameters['baseImgUrl'], getBaseImgHandler); 56 } 57 60 58 if (parameters['postUrl']) { 61 59 postUrl = parameters['postUrl']; … … 69 67 playSpeedHSlider.addEventListener(SliderEvent.THUMB_DRAG, playSpeedHSliderHandler); 70 68 } 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 } 71 77 72 private function get DataHandler(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 75 81 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 }85 82 } 86 83 } as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.as
r1353 r1403 5 5 import flash.geom.Point; 6 6 import flash.ui.Keyboard; 7 import flash.utils.ByteArray; 7 8 8 9 import mx.controls.Alert; … … 22 23 private var basex:uint, basey:uint, baseWidth:uint, baseHeight:uint; 23 24 24 private var comm:Com;25 25 private var oekakiId:uint; 26 26 private var redirectUrl:String; 27 private var onPost:Boolean = false;28 27 29 28 private var canvasWidth:uint; … … 50 49 51 50 this.enabled = false; 52 comm = new Com();53 comm.addEventListener('completeGetData', commCompleteHandler);54 55 51 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']); 57 53 postOekakiButton.enabled = true; 58 54 redirectUrl = parameters['redirectUrl']; … … 76 72 oekakiId = uint(parameters['oekakiId']); 77 73 var url:String = parameters['baseImgUrl']; 78 comm.loadUrl(url);74 new Com().sendGetUrlRequest(url, getBaseImgHandler); 79 75 this.enabled = false; 80 76 } else { … … 195 191 } 196 192 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(); 193 private 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 202 private function commCompleteHandler(com:Com):void { 203 if (com.errStr) { 204 // error 205 Alert.show(com.errStr, ALERT_TITLE); 218 206 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); 219 213 } 220 214 } … … 276 270 } 277 271 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 ); 287 280 } 288 281 as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/controls/GPCanvas.as
r1353 r1403 251 251 // 0.0.1の互換性のため 252 252 public function oldMoveTo(x:Number, y:Number):void { 253 setPlayerCursor(x, y); 253 254 _pen.drawGraphics.moveTo(x, y); 254 255 setAndLogLineStyle(); … … 262 263 263 264 public function moveTo(x:Number, y:Number):void { 264 setPlayerCursor(x, y);265 265 x = Math.floor(x) + 0.5; 266 266 y = Math.floor(y) + 0.5; … … 270 270 // 0.0.1の互換性のため 271 271 public function oldLineTo(x:Number, y:Number):void { 272 setPlayerCursor(x, y); 272 273 _pen.drawGraphics.lineTo(x, y); 273 274 logWrite(['lineTo', x, y]); … … 278 279 279 280 public function lineTo(x:Number, y:Number):void { 280 setPlayerCursor(x, y);281 281 x = Math.floor(x) + 0.5; 282 282 y = Math.floor(y) + 0.5; as3/gunyarapaint/trunk/nicopedia/org/libspark/nicopedia/Com.as
r1352 r1403 26 26 private var cookie:String; 27 27 private var magic:String; 28 private var callback:Function; 28 29 29 30 private var urlLoader:URLLoader; … … 125 126 } 126 127 127 public function sendGetUrlRequest(url:String ):void {128 public function sendGetUrlRequest(url:String, callback:Function):void { 128 129 var r:URLRequest = new URLRequest(); 129 130 r.url = url; 130 131 r.method = URLRequestMethod.GET; 132 this.callback = callback; 131 133 post(r); 132 134 } … … 140 142 } 141 143 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; 144 147 r.url = url; 145 148 r.method = URLRequestMethod.GET; 146 load(r);147 }148 149 public function load(request:URLRequest):void {150 149 loader = new Loader(); 151 150 configureListeners(loader.contentLoaderInfo); 152 loader.load(request); 151 this.callback = callback; 152 loader.load(r); 153 153 } 154 154 … … 177 177 } 178 178 private function postCompleteHandler(evt:Event):void { 179 dispatchEvent(new Event('completeGetData'));179 callback(this); 180 180 } 181 public function get Data():ByteArray {181 public function get data():ByteArray { 182 182 return urlLoader.data; 183 183 } 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 188 186 return loader.content; 189 187 } 190 public function get ErrorStr():String {188 public function get errStr():String { 191 189 return errorStr; 192 190 } as3/gunyarapaint/trunk/picokakiko/src/picokakiko.as
r1343 r1403 8 8 import org.libspark.nicopedia.Com; 9 9 10 private var comm:Com;11 10 private var mmlId:uint; 12 11 private var played:Boolean = false; … … 15 14 private const ALERT_TITLE:String = 'ピコカキコ'; 16 15 17 private var onPost:Boolean = false;18 19 16 public function init():void { 20 comm = new Com;21 comm.addEventListener('completeGetData', commCompleteHandler);22 17 if (parameters['mmlUrl']) { 23 18 var url:String = parameters['mmlUrl']; 24 comm.sendGetUrlRequest(url);19 new Com().sendGetUrlRequest(url, getMMLHandler); 25 20 mml.enabled = false; 26 21 } 27 22 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']); 29 24 postPicoButton.enabled = true; 30 25 } … … 58 53 } 59 54 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 // redirect72 Com.redirect(redirectUrl);73 }55 private function getMMLHandler(data:ByteArray):void { 56 mml.text = data.toString(); 57 mml.enabled = true; 58 playButton.enabled = true; 59 } 60 61 private 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; 74 69 } else { 75 mml.text = comm.getStringData(); 76 mml.enabled = true; 77 playButton.enabled = true; 70 // redirect 71 Com.redirect(redirectUrl); 78 72 } 79 73 } … … 114 108 } 115 109 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); 118 111 } 119 112 as3/gunyarapaint/trunk/picokakiko/src/picoplayer.mxml
r1302 r1403 17 17 import mx.managers.PopUpManager; 18 18 19 private var comm:Com; 20 private var mml:String; 19 private var mml:String = ''; 21 20 private var mmlUrl:String; 22 21 private var autoPlay:Boolean; … … 48 47 49 48 private function fetchMML():void { 50 comm = new Com(); 51 comm.sendGetUrlRequest(mmlUrl); 52 comm.addEventListener('completeGetData', getMMLHandler); 49 new Com().sendGetUrlRequest(mmlUrl, getMMLHandler); 53 50 } 54 51 55 private function getMMLHandler( evt:Event):void {56 mml = com m.getStringData();52 private function getMMLHandler(com:Com):void { 53 mml = com.data.toString(); 57 54 if (autoPlay) { 58 55 play(); … … 76 73 77 74 private function play():void { 78 if ( !comm) {75 if (mml == '') { 79 76 autoPlay = true; 80 77 fetchMML();

