OSDN Git Service

cleanup pettanr.balloon
authoritozyun <itozyun@user.sourceforge.jp>
Mon, 11 Mar 2013 21:31:34 +0000 (06:31 +0900)
committeritozyun <itozyun@user.sourceforge.jp>
Mon, 11 Mar 2013 21:31:34 +0000 (06:31 +0900)
0.5.x/javascripts/peta-apps.js
0.5.x/javascripts/peta-common.js
0.5.x/javascripts/system.js
0.5.x/javascripts/xdoc.js

index 1d822e6..08ae46d 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * pettanR peta.apps.js
- *   version 0.5.47
+ *   version 0.5.48
  *   
  * author:
  *   itozyun
                                                data = createFileData( json, LICENSE_GROUP_ARRAY, 'name,caption,url,classname' );
                                                addChildData( FILE_DATA_LISENCE_GROUP, data );
                                                break;
-                                               
+                                       
+                                       // Speech Balloon Templete
+                                       case FILE_DATA_BALLOON_ROOT :
+                                       case BALLOON_TEMPLETE_ARRAY :
+                                               json.type = FILE_TYPE.BALLOON_TEMPLETE;
+                                               data = createFileData( json, BALLOON_TEMPLETE_ARRAY, 'name,caption,classname,settings' );
+                                               addChildData( FILE_DATA_BALLOON_ROOT, data );
+                                               break;
+                                       
                                        // Author
                                        case FILE_DATA_AUTHOR_ROOT :
                                        case AUTHOR_ARRAY          :
                                                return [ data.name, '先生' ].join( '' );
                                        case FILE_TYPE.ARTIST :
                                                return [ data.name, '画伯' ].join( '' );
+                                       case FILE_TYPE.BALLOON_TEMPLETE :
+                                               return [ data.id, data.caption ].join( ':' );
                                        case FILE_TYPE.FOLDER :
                                };
                                return data.name;
                                                return { className: 'file-type-author' };
                                        case FILE_TYPE.ARTIST :
                                                return { className: 'file-type-artist' };
+                                       case FILE_TYPE.BALLOON_TEMPLETE :
+                                               return { className: 'file-type-balloon' };
                                        case FILE_TYPE.FOLDER :
                                                return { className: 'file-type-folder' };
                                };
                                                return 'author id:' + data.id;
                                        case FILE_TYPE.ARTIST :
                                                return [ 'artist id:', data.id, ' Email:', data.email || 'empty' , ', HP:', data.homepage_url || 'empty' ].join( '' );
+                                       case FILE_TYPE.BALLOON_TEMPLETE :
+                                               return data.name + ', ' + data.settings;
                                        case FILE_TYPE.FOLDER :
                                                return 'pettanR folder';
                                };
                                STORY            : FileAPI.createFileTypeID(),
                                PANEL            : FileAPI.createFileTypeID(),
                                PANEL_ELEMENT    : FileAPI.createFileTypeID(),
-                               BALLOON          : FileAPI.createFileTypeID(),                          
+                               BALLOON          : FileAPI.createFileTypeID(),
+                               BALLOON_TEMPLETE : FileAPI.createFileTypeID(),  
                                ORIGINAL_PICTURE : FileAPI.createFileTypeID(),
                                RESOURCE_PICTURE : FileAPI.createFileTypeID(),
                                PICTURE          : FileAPI.createFileTypeID(),
                                AUTHOR           : FileAPI.createFileTypeID(),
                                ARTIST           : FileAPI.createFileTypeID(),
                                LICENSE          : FileAPI.createFileTypeID(),
-                               LICENSE_GROUP    : FileAPI.createFileTypeID()
+                               LICENSE_GROUP    : FileAPI.createFileTypeID(),
                        }
                ),
                AUTHOR_ARRAY  = [],
                        children:       []
                },
                FILE_DATA_BALLOON_ROOT = {
-                       name:           'Balloon templetes',
+                       name:           'Balloon Templetes',
                        type:           FILE_TYPE.FOLDER,
-                       children:       []
+                       children:       [],
+                       driver:         Driver,
+                       json:           pettanr.CONST.SPEECH_BALOON_TEMPLETE
                };
        FILE_DATA_SERVICE_ROOT.children.push( FILE_DATA_COMICS_ROOT, FILE_DATA_RESOURCE_PICTURES_ROOT, FILE_DATA_ORIGINAL_PICTURES_ROOT, FILE_DATA_LISENCE_ROOT, FILE_DATA_BALLOON_ROOT );
        FILE_DATA_COMICS_ROOT.children.push( FILE_DATA_MY_COMICS_ROOT, FILE_DATA_LATEST_COMICS, FILE_DATA_AUTHOR_ROOT, FILE_DATA_STORY_ROOT, FILE_DATA_PANELS_ROOT );
index 8b49c55..0237fc7 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * pettanR peta.common.js\r
- *   version 0.5.47\r
+ *   version 0.5.48\r
  * \r
  *   author:\r
  *     itozyun\r
@@ -93,6 +93,7 @@ pettanr.CONST = ( function(){
                URL_MY_COMICS_JSON            : ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'home\/comic.json',\r
                URL_PANELS_JSON               : ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'panels.json',\r
                URL_MY_PANELS_JSON            : ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'home\/panel.json',\r
+               SPEECH_BALOON_TEMPLETE        : ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'speech_balloon_templates.json\/',\r
                NS_PETTANR_COMIC              : 'pettanr-comic',\r
                THUMBNAIL_PATH                : SERVER_SUPPORT === false ? RELATIVE + 'resource_pictures\/thumbnail\/' : PETTANR_ROOT_PATH + 'resource_pictures\/',\r
                RESOURCE_PICTURE_PATH         : SERVER_SUPPORT === false ? RELATIVE + 'resource_pictures\/' : PETTANR_ROOT_PATH + 'resource_pictures\/full\/',\r
@@ -147,7 +148,7 @@ pettanr.balloon = ( function() {
                ELM_BALLOON_ORIGIN = ( function(){\r
                        var ret;\r
                        try {\r
-                               if( IS_VML === true){\r
+                               if( IS_VML === true ){\r
                                        ret = document.createElement( 'DIV');\r
                                        var shape = document.createElement( 'v:shape');\r
                                        shape.coordorigin = "0,0";\r
@@ -187,22 +188,57 @@ pettanr.balloon = ( function() {
                TARGET     = TAIL_WIDTH * TAIL_WIDTH,\r
                isFinit    = Type.isFinite,\r
                ACCURACY   = 1, // 有効少数桁      \r
-               cround     = function ( v, r ){\r
+               cround     = function( v, r ){\r
                                                r = r || ACCURACY;\r
                                                return round( v * pow( 10.0, r )) / pow( 10.0, r );\r
                                        },\r
                DEG_TO_RAD = Math.PI / 180;\r
 \r
        var XBROWSER_BALLOON_CLASS = function( w, h, a ){\r
-               var balloonElm = vectorEnabled === true ? ELM_BALLOON_ORIGIN.cloneNode( true ) : document.createElement( 'img' ), // pettanr.imageに変更\r
-                       path = balloonElm.getElementsByTagName( 'path' )[ 0 ],\r
-                       shape = balloonElm.getElementsByTagName( 'shape' )[ 0 ],\r
-                       instance = this,\r
-                       l = ',';\r
-               \r
-               function draw( _a ){\r
-                       var rx      = w / 2,\r
-                               ry      = h / 2,\r
+               this.elm   = vectorEnabled === true ? ELM_BALLOON_ORIGIN.cloneNode( true ) : document.createElement( 'img' ); // pettanr.imageに変更\r
+               this.path  = this.elm.getElementsByTagName( IS_VML === true ? 'shape' : 'path' )[ 0 ];\r
+               this.resize( a, w, h );\r
+       };\r
+       XBROWSER_BALLOON_CLASS.prototype = {\r
+               elm   : null,\r
+               path  : null,\r
+               w     : 0,\r
+               h     : 0,\r
+               a     : 0,\r
+               resize : function ( _a, _w, _h ){\r
+                       this.w  = isFinit( _w ) === true ? _w - PADDING_TOP  * 2 : this.w;\r
+                       this.h  = isFinit( _h ) === true ? _h - PADDING_LEFT * 2 : this.h;\r
+                       // ie6 でリサイズが反応しない対策\r
+                       if( vectorEnabled === false && UA.isIE === true && UA.ieVersion < 7 ){\r
+                               var parent = this.elm.parentNode;\r
+                               parent.removeChild( this.elm );\r
+                               parent.insertBefore( this.elm, parent.firstChild );\r
+                       };\r
+                       this.angle( _a );\r
+               },\r
+               angle : function( _a ){\r
+                       if( isFinit( _a ) === true ){\r
+                               this.a = _a;\r
+                               if( vectorEnabled === false ){\r
+                                       this.elm.src = pettanr.balloon.getBalloonUrl( this.w, this.h, _a );\r
+                               } else {\r
+                                       this.draw( _a );\r
+                               };\r
+                       };\r
+                       return this.a;\r
+               },\r
+               type : function( _type ){\r
+                       //draw( _a);\r
+               },\r
+               destroy : function(){\r
+                       this.elm.parentNode && this.elm.parentNode.removeChild( this.elm );\r
+                       delete this.elm;\r
+                       delete this.path;\r
+               },\r
+               draw : function( _a ){\r
+                       var rx      = this.w / 2,\r
+                               ry      = this.h / 2,\r
+                               l       = ',',\r
                                tailRad = _a * DEG_TO_RAD,\r
                                tailX   = rx + ( rx + TAIL_HEIGHT ) * sin( tailRad ),\r
                                tailY   = ry - ( ry + TAIL_HEIGHT ) * cos( tailRad ),\r
@@ -215,7 +251,7 @@ pettanr.balloon = ( function() {
                                tailDeg = 0, d;\r
                        \r
                        for( var i = 45; i > 0.01; i /= 2){\r
-                               d = ( tailDeg + i ) /2;\r
+                               d = ( tailDeg + i ) / 2;\r
                                startRad = ( _a + d ) * DEG_TO_RAD;\r
                                endRad   = ( _a - d ) * DEG_TO_RAD;\r
                                \r
@@ -239,27 +275,27 @@ pettanr.balloon = ( function() {
                        if( IS_VML === true ){\r
                                var _tailX = tailX *10,\r
                                        _tailY = tailY *10,\r
-                                       __w = w *10,\r
-                                       __h = h *10;\r
+                                       __w = this.w *10,\r
+                                       __h = this.h *10;\r
                                \r
-                               shape.style.width = w + 'px';\r
-                               shape.style.height = h + 'px';\r
-                               shape.coordsize = [ __w, __h ].join( l );\r
-                               shape.path = [\r
+                               this.path.style.width  = this.w + 'px';\r
+                               this.path.style.height = this.h + 'px';\r
+                               this.path.coordsize = [ __w, __h ].join( l );\r
+                               this.path.path = [\r
                                        ' ar ', 0, l, 0, l, __w, l, __h, l,\r
                                        round( endX * 10 ), l, round( endY * 10 ), l,\r
                                        round( startX * 10 ), l, round( startY * 10 ),\r
                                        ' l ', round( _tailX ), l, round( _tailY ),\r
                                        ' x e'\r
-                               ].join( '');\r
+                               ].join( '' );\r
 \r
-                               balloonElm.style.marginTop =  _tailY < 0 ? floor( ( 60 + _tailY) / 10 ) : 10;\r
-                               balloonElm.style.marginLeft = _tailX < 0 ? floor( ( 60 + _tailX) / 10 ) : 10;\r
+                               this.elm.style.marginTop =  _tailY < 0 ? floor( ( 60 + _tailY) / 10 ) : 10;\r
+                               this.elm.style.marginLeft = _tailX < 0 ? floor( ( 60 + _tailX) / 10 ) : 10;\r
                        } else {\r
-                               balloonElm.setAttribute( 'width', w + PADDING_LEFT *2 );\r
-                               balloonElm.setAttribute( 'height', h + PADDING_TOP *2 );\r
-                               path.setAttribute( 'd', [\r
-                                       'M', cround( tailX + PADDING_LEFT ), l, cround( tailY + PADDING_TOP ),\r
+                               this.elm.setAttribute( 'width',  this.w + PADDING_LEFT *2 );\r
+                               this.elm.setAttribute( 'height', this.h + PADDING_TOP *2 );\r
+                               this.path.setAttribute( 'd', [\r
+                                       'M', cround( tailX + PADDING_LEFT ),  l, cround( tailY  + PADDING_TOP ),\r
                                        'L', cround( startX + PADDING_LEFT ), l, cround( startY + PADDING_TOP ),\r
                                        'A', rx, l, ry,\r
                                        '0 1 1',                        // flag\r
@@ -268,40 +304,6 @@ pettanr.balloon = ( function() {
                                ].join( ' '));\r
                        }\r
                }\r
-               \r
-               this.elm = balloonElm;\r
-               this.resize = function ( _a, _w, _h ){\r
-                       w  = isFinit( _w ) === true ? _w - PADDING_TOP * 2 : w;\r
-                       h  = isFinit( _h ) === true ? _h - PADDING_LEFT * 2 : h;\r
-                       // ie6 でリサイズが反応しない対策\r
-                       if( vectorEnabled === false && UA.isIE === true && UA.ieVersion < 7 ){\r
-                               var parent = balloonElm.parentNode;\r
-                               parent.removeChild( balloonElm );\r
-                               parent.insertBefore( balloonElm, parent.firstChild );\r
-                       }\r
-                       instance.angle( _a );\r
-               };\r
-               this.angle = function( _a ){\r
-                       if( isFinit( _a ) === true ){\r
-                               a = _a;\r
-                               if( vectorEnabled === false ){\r
-                                       balloonElm.src = pettanr.balloon.getBalloonUrl( w, h, _a );\r
-                               } else {\r
-                                       draw( _a );\r
-                               }\r
-                       }\r
-                       return a;\r
-               }\r
-               this.type = function( _type ){\r
-                       //draw( _a);\r
-               }\r
-               this.destroy = function(){\r
-                       delete instance.destroy;\r
-                       balloonElm.parentNode && balloonElm.parentNode.removeChild( balloonElm );\r
-                       balloonElm = path = shape = instance = null;\r
-               }\r
-               \r
-               instance.resize( a, w, h );\r
        };\r
        \r
        return {\r
@@ -329,6 +331,20 @@ pettanr.balloon = ( function() {
        }\r
 })();\r
 \r
+pettanr.newBalloon = ( function(){\r
+       return {\r
+               register : function( className ){\r
+                       \r
+               },\r
+               isBalloonClass : function(){\r
+                       \r
+               },\r
+               isBalloonInstance : function(){\r
+                       \r
+               }\r
+       }\r
+})();\r
+\r
 /* ----------------------------------------\r
  *  pettanr.image\r
  *  \r
@@ -348,7 +364,8 @@ pettanr.balloon = ( function() {
  *     - VML\r
  *     - flash(lite)\r
  *     - silverlight\r
- *     \r
+ *     - pettan server\r
+ * \r
  *     -moz-transform:scale( -1, -1);\r
  */\r
 pettanr.image = ( function(){\r
index 7ab89d8..364938c 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * pettanR system.js\r
- *   version 0.5.47\r
+ *   version 0.5.48\r
  *\r
  * gadgetOS\r
  *   author:\r
@@ -301,6 +301,14 @@ var Class = ( function(){
                        if( iList.length !== 0 ) return;\r
                        delete def.callbackInstanceList;\r
                        delete def.callbackRegisterList;\r
+               },\r
+               listenTo : function( eventDispatcher, eventType, callback ){\r
+                       //if( eventDispatcher instanceof EventDsipatcher ){\r
+                               eventDispatcher.addEventListener( eventType, callback, this );\r
+                       //}\r
+               },\r
+               unlistenTo : function( eventDispatcher, eventType, callback ){\r
+                       \r
                }\r
        };\r
 \r
index 712ba3d..c47c14f 100644 (file)
@@ -1463,10 +1463,12 @@ var XDocument = ( function( window, document ){
                        },\r
                        style : function( v ){\r
                                if( v instanceof NodeStyle ){\r
-                                       this.__style && this.__style.unRegister( this );\r
-                                       this._style = v;\r
-                                       this.__style = StylePrivate.getPrivateData( v );                                        \r
-                                       this.__style.register( this );\r
+                                       if( v !== this._style ){\r
+                                               this.__style && this.__style.unRegister( this );\r
+                                               this._style = v;\r
+                                               this.__style = StylePrivate.getPrivateData( v );                                        \r
+                                               this.__style.register( this );                                          \r
+                                       };\r
                                        return this.User;\r
                                } else\r
                                if( v === null ){\r