/*
* pettanR peta.apps.js
- * version 0.5.39
+ * version 0.5.44
*
* author:
* itozyun
MyArtistID = 'current_artist' in window ? current_artist.id : ( pettanr.CONST.SERVER_SUPPORT === false ? 1 : -1 ),
Driver = null,
FileAPI = gOS.registerDriver( function(){
- var self = Driver = this;
+ var self = Driver = this,
+ unregisteredFileDataJsonList = [];
- function onLoadJson( _file, _json ){
- var _access = FileAPI.getFileDataAccess( _file ),
- _data = _access !== null ? _access.DATA : null,
- i, l;
- if( _data === null ){
- onErrorJson( _file );
+ function onLoadJson( file, json ){
+ var access = FileAPI.getFileDataAccess( file ),
+ data = access !== null ? access.DATA : null,
+ i, l, args;
+ if( data === null ){
+ onErrorJson( file );
return;
};
- _data.state = Const.FILE.STATE.OK;
-
- if( Type.isArray( _json ) === true ){
- for( i = 0, l = _json.length; i < l; ++i ){
- buildFileData( _json[ i ], _data );
+ data.state = Const.FILE.STATE.OK;
+ if( Type.isArray( json ) === true ){
+ for( i = 0, l = json.length; i < l; ++i ){
+ registerFileData( json[ i ], data );
};
} else
- if( Type.isNumber( _json.id ) === true ){
- buildFileData( _json, _data );
+ if( Type.isNumber( json.id ) === true ){
+ registerFileData( json, data );
+ };
+ while( 0 < unregisteredFileDataJsonList.length ){
+ args = unregisteredFileDataJsonList.shift();
+ registerFileData( args[ 0 ], args[ 1 ] );
+ //alert( unregisteredFileDataJsonList.length )
};
- _file.dispatchEvent( FileAPI.createFileEvent( Const.FILE.EVENT.GET_SEQENTIAL_FILES, _file, 'children', null ) );
+ file.dispatchEvent( FileAPI.createFileEvent( Const.FILE.EVENT.GET_SEQENTIAL_FILES, file, 'children', null ) );
};
- function onErrorJson( _file ){
- var _data = FileAPI.getFileData( _file);
- if( _data !== null){
- _data.state = Const.FILE.STATE.ERROR;
+ function onErrorJson( file ){
+ var data = FileAPI.getFileData( file );
+ if( data !== null){
+ data.state = Const.FILE.STATE.ERROR;
};
- _file.dispatchEvent( FileAPI.createFileEvent( Const.FILE.EVENT.GET_SEQENTIAL_FILES, _file, 'children', null ) );
+ file.dispatchEvent( FileAPI.createFileEvent( Const.FILE.EVENT.GET_SEQENTIAL_FILES, file, 'children', null ) );
};
- function buildFileData( _data, _parent ){
- var _array, i, l;
- // Panel
- if( _parent === FILE_DATA_PANELS_ROOT || _parent === FILE_DATA_MY_PANELS_ROOT ){
- _data.type = FILE_TYPE.PANEL;
- _array = PANEL_ARRAY;
- } else
- // Comic
- if( _parent === FILE_DATA_COMICS_ROOT || _parent === FILE_DATA_MY_COMICS_ROOT ){
- _data.type = FILE_TYPE.COMIC;
- _array = COMIC_ARRAY;
- } else
- if( _parent.type === FILE_TYPE.COMIC ){
- _array = PANEL_ARRAY;
- } else
- // Lisence
- if( _parent === FILE_DATA_LISENCE_ROOT ){
- _data.type = FILE_TYPE.LICENSE;
- _array = ORIGINAL_LICENSE_ARRAY;
- } else
- // Author
- if( _parent === FILE_DATA_AUTHOR_ROOT ){
- _data.type = FILE_TYPE.AUTHOR;
- _array = AUTHOR_ARRAY;
- } else
- // Artist
- if( _parent === FILE_DATA_ARTIST_ROOT ){
- _data.type = FILE_TYPE.ARTIST;
- _array = ARTIST_ARRAY;
- } else
- // Picture
- if( _parent === FILE_DATA_PICTURE_ROOT || _parent === FILE_DATA_MY_PICTURES_ROOT ){
- _data.type = FILE_TYPE.PICTURE;
- _array = RESOURCE_PICTURE_ARRAY;
- // original_license を含まなければ、license object を削除して ビットデータ で保持
- // original_license なら ファイルを作る buildFileData( _license, FILE_DATA_LISENCE_ROOT)
- var _license = _data.license,
- _rule,
- _Math_pow = Math.pow,
- _bits = 0;
- if( typeof _license === 'object' ){
- for( i=0, l=BASIC_LICENSES.length; i<l; ++i ){
- _rule = _license[ BASIC_LICENSES[ i]];
- if( typeof _rule === 'number' && _rule === 1 ){
- _bits += _Math_pow( 2, i );
- };
+ function registerFileData( json, parent ){
+ var data;
+ switch( parent ){
+ // Comic
+ case FILE_DATA_COMICS_ROOT :
+ case FILE_DATA_MY_COMICS_ROOT :
+ case COMIC_ARRAY :
+ json.type = FILE_TYPE.COMIC;
+ data = createFileData( json, COMIC_ARRAY, 'title' );
+ if( data.json !== null ) data.json = true;
+ if( data.author ){
+ addChildData( data.author, data );
+ data.author.id === MyAuthorID && addChildData( FILE_DATA_MY_COMICS_ROOT, data );
};
- _data.license = _bits;
- };
- } else {
- alert( 'error' );
- };
+ parent === FILE_DATA_COMICS_ROOT && addChildData( FILE_DATA_LATEST_COMICS, data );
+ break;
+
+ case STORY_ARRAY :
+ json.type = FILE_TYPE.STORY;
+ data = createFileData( json, STORY_ARRAY, 'x,y,z,t' );
+ addChildData( FILE_DATA_STORY_ROOT, data );
+ break;
+
+ // Lisence
+ case FILE_DATA_LISENCE :
+ case LICENSE_ARRAY :
+ json.type = FILE_TYPE.LICENSE;
+ data = createFileData( json, LICENSE_ARRAY, 'name,caption,url,system_picture_id,settings,credit_pictures' );
+ addChildData( FILE_DATA_LISENCE, data );
+ break;
+ // License Group
+ case FILE_DATA_LISENCE_GROUP :
+ case LICENSE_GROUP_ARRAY :
+ json.type = FILE_TYPE.LICENSE_GROUP;
+ data = createFileData( json, LICENSE_GROUP_ARRAY, 'name,caption,url,classname' );
+ addChildData( FILE_DATA_LISENCE_GROUP, data );
+ break;
+
+ // Author
+ case FILE_DATA_AUTHOR_ROOT :
+ case AUTHOR_ARRAY :
+ json.type = FILE_TYPE.AUTHOR;
+ data = createFileData( json, AUTHOR_ARRAY, 'name,email,homepage_url' );
+ addChildData( FILE_DATA_AUTHOR_ROOT, data );
+ break;
+
+ // Artist
+ case FILE_DATA_ARTIST_ROOT :
+ case ARTIST_ARRAY :
+ json.type = FILE_TYPE.ARTIST;
+ data = createFileData( json, ARTIST_ARRAY, 'name,email,homepage_url' );
+ addChildData( FILE_DATA_ARTIST_ROOT, data );
+ break;
+
+ case PICTURE_ARRAY :
+ json.type = FILE_TYPE.PICTURE;
+ data = createFileData( json, PICTURE_ARRAY, 'ext,revision,credit,settings' );
+ break;
- _data.driver = Driver;
- // alert( ' _array ' + _data.id + Type.isNumber( _data.id ) );
- // _array に _data を格納 または 上書き
- if( Type.isNumber( _data.id ) === true && _data.id > 0 ){
- var _id = _data.id - 1,
- __data = _array[ _id ],
- _reserved = Const.FILE.DATA_PROPERTY_RESERVED.join( ', ' );
- if( __data ){
- for( var key in _data ){
- if( _reserved.indexOf( key ) === -1 ){
- __data[ key ] = _data[ key ];
- };
+ // Resource Picture
+ case FILE_DATA_RESOURCE_PICTURES_ROOT :
+ case FILE_DATA_MY_RESOURCE_PICTURES_ROOT :
+ case RESOURCE_PICTURE_ARRAY :
+ json.type = FILE_TYPE.RESOURCE_PICTURE;
+ data = createFileData( json, RESOURCE_PICTURE_ARRAY, 'ext' );
+ if( data.artist ){
+ addChildData( data.artist, data );
+ data.artist.id === MyArtistID && addChildData( FILE_DATA_MY_RESOURCE_PICTURES_ROOT, data );
};
- _data = __data; // このタイミングで参照が切れるので注意!!
- } else {
- _array[ _id ] = _data;
- };
- } else {
- // alert( 'error' + _parent.name + ' ' + _data.id );
- };
-
- // Author
- // Artist
- if( _parent === FILE_DATA_AUTHOR_ROOT || _parent === FILE_DATA_ARTIST_ROOT ){
- addChildData( _parent, _data );
- } else
- // Comic + Panels
- if( _parent === FILE_DATA_COMICS_ROOT || _parent === FILE_DATA_MY_COMICS_ROOT ){
- var _stories = _data.stories,
- _panel;
- if( Type.isArray( _stories ) === true ){
- for( i=0, l=_stories.length; i<l; ++i ){
- _panel = buildFileData( _stories[ i ].panel, FILE_DATA_PANELS_ROOT );
- /*
- * 間違い! t 順に格納
- */
- addChildData( _data, _panel );
+ break;
+
+ // Original Picture
+ case FILE_DATA_MY_ORIGINAL_PICTURES_ROOT :
+ case ORIGINAL_PICTURE_ARRAY :
+ json.type = FILE_TYPE.ORIGINAL_PICTURE;
+ data = createFileData( json, ORIGINAL_PICTURE_ARRAY, 'ext,filesize,width,height,md5' );
+ if( data.artist ){
+ // addChildData( data.artist, data );
+ data.artist.id === MyArtistID && addChildData( FILE_DATA_MY_ORIGINAL_PICTURES_ROOT, data );
};
- delete _data.stories;
- }// else {
- if( _data.json !== null ){
- _data.json = true;
+ break;
+ // Panel
+ case FILE_DATA_PANELS_ROOT :
+ case FILE_DATA_MY_PANELS_ROOT :
+ case PANEL_ARRAY :
+ json.type = FILE_TYPE.PANEL;
+ data = createFileData( json, PANEL_ARRAY, 'border,publish,width,height' );
+ addChildData( FILE_DATA_LATEST_PANELS, data );
+ data.author.id === MyAuthorID && addChildData( FILE_DATA_MY_PANELS_ROOT, data );
+ break;
+
+ // Panel Element
+ case PANEL_ELEMENT_ARRAY :
+ json.type = FILE_TYPE.PANEL_ELEMENT;
+ data = createFileData( json, PANEL_ELEMENT_ARRAY, 'caption,url,width,height,x,y,z,t' ); // 画像の分
+ // 噴出しの分
+ // 景色の分
+ break;
+
+ default :
+ if( parent.type === FILE_TYPE.COMIC ){
+ //alert( 'comicstory' )
+ data = registerFileData( json, STORY_ARRAY );
+ //addChildData( parent, data );
+ break;
};
- //if( Type.isArray( _data.elements ) === false ){
- // _data.elements = [];
- //};
- //};
- var _author = _data.author || getResource( AUTHOR_ARRAY, _data.author_id );
- if( _author ){
- _data.author = _author = buildFileData( _author, FILE_DATA_AUTHOR_ROOT );
- addChildData( _author, _data );
- _author.id === MyAuthorID && addChildData( FILE_DATA_MY_COMICS_ROOT, _data );
- };
- if( _parent === FILE_DATA_COMICS_ROOT ){
- addChildData( FILE_DATA_LATEST_COMICS, _data );
+ throw new Error( 'build file error!' );
+ };
+ return data;
+ };
+ /*
+ * 1. すでに一度以上ファイルを取得している場合、そのオブジェクトを取得.または、新規に作成.
+ * 2. オブジェクトに値をコピー・上書き
+ * 3.
+ */
+ function createFileData( json, array, copyProps ){
+ copyProps = copyProps + ',id,type';
+
+ var getIndex = Util.getIndex,
+ id = json.id,
+ data = getResource( array, id ),
+ p, i, l,
+ histories, history,
+ stories, story,
+ elements;
+
+ // Copy Props
+ copyProps = copyProps.split( ',' );
+ for( p in json ){
+ if( getIndex( copyProps, p ) !== -1 ) data[ p ] = json[ p ];
+ };
+
+ // Common
+ data.driver = Driver;
+ if( Type.isString( json.created_at ) === true ) data.created_at = Math.floor( new Date( json.created_at ).getTime() / 1000 );
+ if( Type.isString( json.updated_at ) === true ) data.updated_at = Math.floor( new Date( json.updated_at ).getTime() / 1000 );
+
+ // 実素材履歴
+ histories = json.pictures;
+ if( Type.isArray( histories ) === true ){
+ for( i = 0, l = histories.length; i < l; ++i ){
+ history = getResource( PICTURE_ARRAY, histories[ i ] );
+ addChildData( data, history );
};
- } else
- // Panel
- if( _parent.type === FILE_TYPE.COMIC || _parent === FILE_DATA_PANELS_ROOT || _parent === FILE_DATA_MY_PANELS_ROOT ){
- _data.comic && buildFileData( _data.comic, FILE_DATA_COMICS_ROOT );
- _data.author && buildFileData( _data.author, FILE_DATA_AUTHOR_ROOT );
-
- _data.comic = getResource( COMIC_ARRAY, _data.comic_id );
- _data.author = getResource( AUTHOR_ARRAY, _data.author_id );
-
- // picture data をファイルに取り出し
- var _elements = _data.elements || ( _data.panel ? _data.panel.elements : null ),
- _elm;
- if( Type.isArray( _elements ) === true ){
- for( i = 0, l = _elements.length; i<l; ++i ){
- _elm = _elements[ i ];
- if( _elm.picture ){
- _elm.picture = buildFileData( _elm.picture, FILE_DATA_PICTURE_ROOT ); // 上記参照切れに備えてここで上書き
- } else {
- _elm.picture = getResource( RESOURCE_PICTURE_ARRAY, _elm.picture_id );
- };
- };
+ data.picture = history;
+ };
+
+ // ストーリー
+ stories = json.stories;
+ if( Type.isArray( stories ) === true ){
+ for( i = 0, l = stories.length; i < l; ++i ){
+ story = getResource( STORY_ARRAY, stories[ i ] );
+ /*
+ * 間違い! t 順に格納
+ */
+ addChildData( data, story );
};
- /* _data.publish === 1 && */ addChildData( FILE_DATA_LATEST_PANELS, _data );
- _data.author_id === MyAuthorID && addChildData( FILE_DATA_MY_PANELS_ROOT, _data );
- } else
- // Picture
- if( _data.type == FILE_TYPE.PICTURE ){
- var _artist = _data.artist || getResource( ARTIST_ARRAY, _data.artist_id );
- if( _artist){
- _data.artist = _artist = buildFileData( _artist, FILE_DATA_ARTIST_ROOT );
- addChildData( _artist, _data );
- if( _artist.id === MyArtistID ){
- addChildData( FILE_DATA_MY_PICTURES_ROOT, _data );
- //FILE_DATA_MY_PICTURES_ROOT.type = FILE_TYPE.ARTIST;
- //FILE_DATA_MY_PICTURES_ROOT.id = MyArtistID;
- };
+ };
+
+ // パネル要素
+ elements = json.elements;
+ if( Type.isArray( elements ) === true ){
+ for( i = 0, l = elements.length; i<l; ++i ){
+ /*
+ * 間違い! t 順に格納
+ */
+ addChildData( data, getResource( PANEL_ELEMENT_ARRAY, elements[ i ] ) );
};
};
- return _data;
+
+ // Artist
+ if( json.artist || json.artist_id ){
+ data.artist = getResource( ARTIST_ARRAY, json.artist || json.artist_id );
+ };
+
+ // Author
+ if( json.author || json.author_id ){
+ data.author = getResource( AUTHOR_ARRAY, json.author || json.author_id );
+ };
+
+ // Comic
+ if( json.comic || json.comic_id ){
+ data.comic = getResource( COMIC_ARRAY, json.comic || json.comic_id );
+ };
+
+ // Panel
+ if( json.panel || json.panel_id ){
+ data.panel = getResource( PANEL_ARRAY, json.panel || json.panel_id );
+ };
+
+ // 実素材
+ if( json.picture || json.picture_id ){
+ data.picture = getResource( PICTURE_ARRAY, json.picture || json.picture_id );
+ };
+
+ // License
+ if( json.license || json.license_id ){
+ data.license = getResource( LICENSE_ARRAY, json.license || json.license_id );
+ };
+
+ // License Group
+ if( json.license_group || json.license_group_id ){
+ data.license_group = getResource( LICENSE_GROUP_ARRAY, json.license_group || json.license_group_id );
+ };
+
+ // 原画
+ if( json.original_picture || json.original_picture_id ){
+ data.original_picture = getResource( ORIGINAL_PICTURE_ARRAY, json.original_picture || {
+ id : json.original_picture_id,
+ ext : json.ext,
+ filesize : json.filesize,
+ width : json.width,
+ height : json.height,
+ md5 : json.md5,
+ artist : json.artist,
+ artist_id : json.artist_id
+ } );
+ };
+
+ return data;
};
- function addChildData( _parent, _child ){
- if( Type.isArray( _parent.children ) === false ){
- _parent.children = [];
+ function addChildData( parent, child ){
+ if( Type.isArray( parent.children ) === false ){
+ parent.children = [ child ];
+ return;
};
- Util.getIndex( _parent.children, _child ) === -1 && _parent.children.push( _child );
+ Util.getIndex( parent.children, child ) === -1 && parent.children.push( child );
};
- function getResource( _array, _id ){
- if( Type.isArray( _array ) === false || Type.isNumber( _id ) === false || _id < 1 ) return null;
- var _data = _array[ _id - 1 ];
- if( !_data ){
- _data = _array[ _id - 1 ] = {};
+ function getResource( list, IDorOBJECT ){
+ var data, id, obj;
+ if( Type.isNumber( IDorOBJECT ) === true ){
+ id = IDorOBJECT;
+ } else
+ if( IDorOBJECT && Type.isNumber( IDorOBJECT.id ) === true ){
+ obj = IDorOBJECT;
+ id = obj.id;
+ unregisteredFileDataJsonList.push( [ obj, list ] );
+ } else {
+ alert( 'getResource error' + IDorOBJECT.toString() );
+ return undefined;
};
- return _data;
+ data = list[ id ];
+ if( !data ) data = list[ id ] = { id : id };
+ return data;
};
- this.getSeqentialFiles = function( _file ){
- var _data = FileAPI.getFileData( _file ),
- _json = _data !== null ? _data.json : null;
- if( _data.type === FILE_TYPE.COMIC && _json === true ){
+ this.getSeqentialFiles = function( file ){
+ var data = FileAPI.getFileData( file ),
+ json = data.json || null;
+ if( data.type === FILE_TYPE.COMIC && json === true ){
if( pettanr.CONST.SERVER_SUPPORT === false ){
- _json = [ 'json\/comics_', _data.id, '.json' ].join( '' );
+ json = [ 'json\/comics_', data.id, '.json' ].join( '' );
} else {
- _json = [ pettanr.CONST.PETTANR_ROOT_PATH, 'stories\/', _data.id, '\/comic.json' ].join( '' );
+ json = [ pettanr.CONST.PETTANR_ROOT_PATH, 'stories\/', data.id, '\/comic.json' ].join( '' );
};
+ data.json = null;
};
- if( typeof _json === 'string' ){
- FileAPI.getJson( _file, _json, onLoadJson, onErrorJson );
- _data.state = Const.FILE.STATE.LOADING;
- _data.json = null;
+ if( typeof json === 'string' ){
+ FileAPI.getJson( file, json, onLoadJson, onErrorJson );
+ data.state = Const.FILE.STATE.LOADING;
+ if( data.json !== null ) delete data.json;
return;
};
};
- this.getName = function( _file ){
- var _data = FileAPI.getFileData( _file ),
- _type = _data !== null ? _data.type : null;
- if( _type === FILE_TYPE.PICTURE ){
- return [ _data.id, _data.ext ].join( '.' );
- } else
- if( _type === FILE_TYPE.PANEL ){
- return [ 'id:' + _data.id + ', ' + ( _data.t || '' ) + ':', _data.comic ? _data.comic.title : 'no comic' ].join( '' );
- } else
- if( _type === FILE_TYPE.COMIC ){
- return _data.title;
- } else
- if( _type === FILE_TYPE.ARTIST ){
- return [ _data.name, '画伯' ].join( '' );
- } else
- if( _type === FILE_TYPE.AUTHOR ){
- return [ _data.name, '先生' ].join( '' );
+ this.getName = function( file ){
+ var data = FileAPI.getFileData( file ),
+ type = data !== null ? data.type : null;
+ switch( type ){
+ case FILE_TYPE.BALLOON :
+ break;
+ case FILE_TYPE.PANEL_ELEMENT :
+ return 'パネル要素';
+ case FILE_TYPE.RESOURCE_PICTURE :
+ return [ '素材 ' + data.id, '.', data.ext ].join( '' );
+ case FILE_TYPE.PICTURE :
+ return [ '実素材 ' + data.id, '.', data.ext ].join( '' );
+ case FILE_TYPE.ORIGINAL_PICTURE :
+ return [ '原画 ', data.id, '.', data.ext ].join( '' );
+ case FILE_TYPE.COMIC :
+ return data.title;
+ case FILE_TYPE.STORY :
+ return [ 'story id:', data.id, ' ', data.comic ? data.comic.title : 'no comic', ':', data.t ].join( '' );
+ case FILE_TYPE.PANEL :
+ return [ 'panel id:', data.id ].join( '' );
+ case FILE_TYPE.AUTHOR :
+ return [ data.name, '先生' ].join( '' );
+ case FILE_TYPE.ARTIST :
+ return [ data.name, '画伯' ].join( '' );
+ case FILE_TYPE.FOLDER :
};
- return _data.name;
+ return data.name;
};
- this.getThumbnail = function( _file ){
- var _data = FileAPI.getFileData( _file ),
- _type = _data !== null ? _data.type : null;
- if( _type === FILE_TYPE.PICTURE ){
- return { image: [ pettanr.CONST.THUMBNAIL_PATH, _data.id, '.', _data.ext ].join( '' )};
- };
- if( _data === FILE_DATA_COMICS_ROOT ){
- return { className: 'file-type-cabinet' };
- };
- if( _type === FILE_TYPE.COMIC ){
- return { className: 'file-type-comic' };
- };
- if( _type === FILE_TYPE.PANEL ){
- return { className: 'file-type-panel' };
- };
- if( _type === FILE_TYPE.AUTHOR ){
- return { className: 'file-type-author' };
- };
- if( _type === FILE_TYPE.ARTIST ){
- return { className: 'file-type-artist' };
- };
- if( _type === FILE_TYPE.FOLDER){
- return { className: 'file-type-folder' };
+ this.getThumbnail = function( file ){
+ var data = FileAPI.getFileData( file ),
+ type = data !== null ? data.type : null;
+ if( data === FILE_DATA_COMICS_ROOT ) return { className: 'file-type-cabinet' };
+ switch( type ){
+
+ case FILE_TYPE.PANEL_ELEMENT :
+ return { className: 'file-type-charactor' };
+ case FILE_TYPE.RESOURCE_PICTURE :
+ return { image: [ pettanr.CONST.THUMBNAIL_PATH, data.id, '.', data.ext ].join( '' )};
+ case FILE_TYPE.PICTURE :
+ //data = data.original_picture;
+ return { image: [ pettanr.CONST.THUMBNAIL_PATH, data.id, '.', data.ext ].join( '' )};
+ case FILE_TYPE.ORIGINAL_PICTURE :
+ return { className: 'file-type-charactor' };
+ // return { image: [ pettanr.CONST.THUMBNAIL_PATH, data.id, '.', data.ext ].join( '' )};
+ case FILE_TYPE.BALLOON :
+ break;
+ case FILE_TYPE.COMIC :
+ return { className: 'file-type-comic' };
+ case FILE_TYPE.STORY :
+ data = data.panel;
+ case FILE_TYPE.PANEL :
+ return { className: 'file-type-panel' };
+ case FILE_TYPE.AUTHOR :
+ return { className: 'file-type-author' };
+ case FILE_TYPE.ARTIST :
+ return { className: 'file-type-artist' };
+ case FILE_TYPE.FOLDER :
+ return { className: 'file-type-folder' };
};
return { className: 'file-type-broken' };
};
- this.getSummary = function( _file ){
- var _data = FileAPI.getFileData( _file ),
- _type = _data !== null ? _data.type : null;
- if( _type === FILE_TYPE.PICTURE ){
- return [ _data.width, 'x', _data.height, ', filesize:', _data.filesize, ', lisence:', _data.license ].join( '' );
- };
- if( _data === FILE_DATA_COMICS_ROOT ){
- return 'cabinet file';
- };
- if( _type === FILE_TYPE.COMIC ){
- return 'comic file, id:' + _data.id;
- };
- if( _type === FILE_TYPE.PANEL ){
- return [ _data.width, 'x', _data.height ].join( '' );
- };
- if( _type === FILE_TYPE.AUTHOR ){
- return 'author file, id:' + _data.id;
- };
- if( _type === FILE_TYPE.ARTIST ){
- return [ 'id:', _data.id, ' Email:', _data.email || 'empty' , ', HP:', _data.homepage_url || 'empty' ].join( '' );
- };
- if( _type === FILE_TYPE.FOLDER ){
- return 'pettanR folder';
+ this.getSummary = function( file ){
+ var data = FileAPI.getFileData( file ),
+ type = data !== null ? data.type : null;
+ if( data === FILE_DATA_COMICS_ROOT ) return 'cabinet file';
+ switch( type ){
+ case FILE_TYPE.BALLOON :
+ break;
+ case FILE_TYPE.PANEL_ELEMENT :
+ return 'caption:' + data.caption + ' url:' + data.url + ' ' + data.width + 'x' + data.height + ' x:' + data.x + ' y:' + data.y + ' z:' + data.z + ' t:' + data.t;
+ case FILE_TYPE.RESOURCE_PICTURE :
+ data = data.picture;
+ case FILE_TYPE.PICTURE :
+ return '実素材情報 revision:' + data.revision + ' ' + data.credit + ' ' + data.settings;
+ case FILE_TYPE.ORIGINAL_PICTURE :
+ return [ '原画情報 ', data.width, 'x', data.height, ', filesize:', data.filesize, ' md5', data.md5 ].join( '' );
+ case FILE_TYPE.COMIC :
+ return 'comic id:' + data.id;
+ case FILE_TYPE.STORY :
+ data = data.panel;
+ case FILE_TYPE.PANEL :
+ return [ 'panel id:', data.id, ', width:', data.width, ', height:', data.height, ', 枠線:', data.border, ', 公開:', data.publish ].join( '' );
+ case FILE_TYPE.AUTHOR :
+ 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.FOLDER :
+ return 'pettanR folder';
};
return 'pettanR unknown file';
};
- this.read = function( _file ){
- var _data = FileAPI.getFileData( _file ),
- _type = _data !== null ? _data.type : null,
- ret;
- if( _type === FILE_TYPE.COMIC ){
- // children を panels に deepcopy
- ret = {};
- for( var key in _data ){
- ret[ key ] = _data[ key ]
- }
- ret.stories = _data.children;
- return ret;
- }
- if( _type === FILE_TYPE.PANEL ){
- };
- if( _type === FILE_TYPE.PANEL_PICTURE ){
-
- };
- if( _type === FILE_TYPE.BALLOON ){
- };
- if( _type === FILE_TYPE.PICTURE ){
+ this.read = function( file ){
+ var data = FileAPI.getFileData( file ),
+ type = data !== null ? data.type : null,
+ ret, i, elm;
+ switch( type ){
+ case FILE_TYPE.COMIC :
+ ret = Util.copy( data );
+ ret.panels = ret.children;
+ if( Type.isArray( ret.panels ) === true ){
+ for( i = ret.panels.length; i; ){
+ elm = ret.panels[ --i ];
+ elm.elements = elm.children;
+ };
+ };
+ return ret;
+ case FILE_TYPE.STORY :
+ ret = Util.copy( data );
+ ret.panel.elements = ret.panel.children;
+ return ret;
+ case FILE_TYPE.PANEL :
+ ret = Util.copy( data );
+ ret.elements = ret.children;
+ return ret;
+ case FILE_TYPE.PANEL_ELEMENT :
+ case FILE_TYPE.BALLOON :
+ case FILE_TYPE.ORIGINAL_PICTURE :
};
};
- this.write = function( _file, _newData, _onUpdate ){
- var _data = FileAPI.getFileData( _file ),
- _type = _data !== null ? _data.type : null;
- if( _type === FILE_TYPE.COMIC ){
- };
- if( _type === FILE_TYPE.PANEL ){
- };
- if( _type === FILE_TYPE.PANEL_PICTURE ){
-
- };
- if( _type === FILE_TYPE.BALLOON ){
- };
- if( _type === FILE_TYPE.PICTURE ){
+ this.write = function( file, newData, onUpdate ){
+ var data = FileAPI.getFileData( file ),
+ type = data !== null ? data.type : null;
+ switch( type ){
+ case FILE_TYPE.COMIC :
+ case FILE_TYPE.PANEL :
+ case FILE_TYPE.PANEL_ELEMENT :
+ case FILE_TYPE.BALLOON :
+ case FILE_TYPE.ORIGINAL_PICTURE :
};
};
- this.viewerApplicationList = function( _file ){
- var _data = FileAPI.getFileData( _file ),
- _type = _data !== null ? _data.type : null;
- if( _type === FILE_TYPE.PANEL ){
- return [ Reader ];
- };
- if( _type === FILE_TYPE.COMIC ){
- return [ Reader ];
- };
- if( _data === FILE_DATA_MY_PICTURES_ROOT ){
- return [ PremiumSatge ];
- };
- if( _type === FILE_TYPE.ARTIST ){
- return [ PremiumSatge ];
+ this.viewerApplicationList = function( file ){
+ var data = FileAPI.getFileData( file ),
+ type = data !== null ? data.type : null;
+ switch( type ){
+ case FILE_TYPE.COMIC :
+ case FILE_TYPE.PANEL :
+ case FILE_TYPE.STORY :
+ return [ Reader ];
+ case FILE_TYPE.PANEL_ELEMENT :
+ case FILE_TYPE.BALLOON :
+ case FILE_TYPE.ORIGINAL_PICTURE :
+ break;
+ case FILE_TYPE.ARTIST :
+ return [ PremiumSatge ];
+ default :
+ if( data === FILE_DATA_MY_ORIGINAL_PICTURES_ROOT ){
+ return [ PremiumSatge ];
+ };
};
return [];
};
- this.editorApplicationList = function( _file ){
- var _data = FileAPI.getFileData( _file ),
- _type = _data !== null ? _data.type : null;
- if( _type === FILE_TYPE.PANEL ){
- return [ Editor ];
- }
- if( _type === FILE_TYPE.COMIC ){
- return [ Editor, ComicConsole ];
- }
+ this.editorApplicationList = function( file ){
+ var data = FileAPI.getFileData( file ),
+ type = data !== null ? data.type : null;
+ switch( type ){
+ case FILE_TYPE.COMIC :
+ return [ Editor, ComicConsole ];
+ case FILE_TYPE.PANEL :
+ return [ Editor ];
+ case FILE_TYPE.PANEL_ELEMENT :
+ case FILE_TYPE.BALLOON :
+ case FILE_TYPE.ORIGINAL_PICTURE :
+ case FILE_TYPE.ARTIST :
+ default :
+ };
return [];
}
}),
FILE_TYPE = Util.extend(
Const.FILE.TYPE,
{
- COMIC: FileAPI.createFileTypeID(),
- PANEL: FileAPI.createFileTypeID(),
- PICTURE: FileAPI.createFileTypeID(),
- PANEL_PICTURE: FileAPI.createFileTypeID(),
- BALLOON: FileAPI.createFileTypeID(),
- AUTHOR: FileAPI.createFileTypeID(),
- ARTIST: FileAPI.createFileTypeID(),
- LICENSE: FileAPI.createFileTypeID()
+ COMIC : FileAPI.createFileTypeID(),
+ STORY : FileAPI.createFileTypeID(),
+ PANEL : FileAPI.createFileTypeID(),
+ PANEL_ELEMENT : FileAPI.createFileTypeID(),
+ BALLOON : 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()
}
),
+ AUTHOR_ARRAY = [],
+ ARTIST_ARRAY = [],
+ COMIC_ARRAY = [],
+ STORY_ARRAY = [],
+ PANEL_ARRAY = [],
+ LICENSE_ARRAY = [],
+ PICTURE_ARRAY = [],
+ LICENSE_GROUP_ARRAY = [],
+ PANEL_ELEMENT_ARRAY = [],
+ ORIGINAL_PICTURE_ARRAY = [],
+ RESOURCE_PICTURE_ARRAY = [],
+ BALLOON_TEMPLETE_ARRAY = [],
+ BASIC_LICENSES = 'cc_by,cc_nc,cc_nd,cc_sa,keep_aspect_ratio,no_convert,no_flip,no_resize'.split( ','),
FILE_DATA_SERVICE_ROOT = {
name: 'PettanR root',
type: FILE_TYPE.FOLDER,
driver: Driver,
json: pettanr.CONST.URL_PANELS_JSON
},
- FILE_DATA_PICTURE_ROOT = {
- name: 'Picutures',
+ FILE_DATA_RESOURCE_PICTURES_ROOT = {
+ name: '素材',
type: FILE_TYPE.FOLDER,
children: [],
driver: Driver,
json: pettanr.CONST.URL_RESOURCE_PICTURES_JSON
},
+ FILE_DATA_ORIGINAL_PICTURES_ROOT = {
+ name: '原画',
+ type: FILE_TYPE.FOLDER,
+ children: [],
+ driver: Driver
+ },
FILE_DATA_MY_COMICS_ROOT = {
name: 'My Comics',
type: FILE_TYPE.FOLDER,
type: FILE_TYPE.FOLDER,
children: []
},
+ FILE_DATA_STORY_ROOT = {
+ name: 'Stories',
+ type: FILE_TYPE.FOLDER,
+ children: [],
+ driver: Driver
+ },
FILE_DATA_LATEST_PANELS = {
name: 'Latest Panels',
type: FILE_TYPE.FOLDER,
driver: Driver,
json: pettanr.CONST.URL_MY_PANELS_JSON
},
- FILE_DATA_MY_PICTURES_ROOT = {
- name: 'My Pictures',
+ FILE_DATA_MY_RESOURCE_PICTURES_ROOT = {
+ name: 'My 素材画像',
+ type: FILE_TYPE.FOLDER,
+ children: [],
+ driver: Driver,
+ // json: pettanr.CONST.URL_RESOURCE_PICTURES_JSON,
+ id: MyArtistID
+ },
+ FILE_DATA_MY_ORIGINAL_PICTURES_ROOT = {
+ name: 'My 原画',
type: FILE_TYPE.FOLDER,
children: [],
driver: Driver,
- json: pettanr.CONST.URL_ORIGINAL_PICTURES_JSON,
+ json: pettanr.CONST.URL_MY_ORIGINAL_PICTURES_JSON,
id: MyArtistID
},
FILE_DATA_AUTHOR_ROOT = {
children: []
},
FILE_DATA_LISENCE_ROOT = {
- name: 'Original Lisences',
+ name: 'Lisence Root',
+ type: FILE_TYPE.FOLDER,
+ children: []
+ },
+ FILE_DATA_LISENCE = {
+ name: 'Lisence',
+ type: FILE_TYPE.FOLDER,
+ children: []
+ },
+ FILE_DATA_LISENCE_GROUP = {
+ name: 'Lisence Group',
type: FILE_TYPE.FOLDER,
children: []
},
name: 'Balloon templetes',
type: FILE_TYPE.FOLDER,
children: []
- },
- AUTHOR_ARRAY = [],
- ARTIST_ARRAY = [],
- PANEL_ARRAY = [],
- COMIC_ARRAY = [],
- RESOURCE_PICTURE_ARRAY = [],
- BALLOON_TEMPLETE_ARRAY = [],
- ORIGINAL_LICENSE_ARRAY = [],
- BASIC_LICENSES = 'cc_by,cc_nc,cc_nd,cc_sa,keep_aspect_ratio,no_convert,no_flip,no_resize'.split( ',');
- FILE_DATA_SERVICE_ROOT.children.push( FILE_DATA_COMICS_ROOT, FILE_DATA_PICTURE_ROOT, FILE_DATA_PANELS_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_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 );
FILE_DATA_PANELS_ROOT.children.push( FILE_DATA_LATEST_PANELS, FILE_DATA_MY_PANELS_ROOT );
- FILE_DATA_PICTURE_ROOT.children.push( FILE_DATA_MY_PICTURES_ROOT, FILE_DATA_ARTIST_ROOT );
+ FILE_DATA_RESOURCE_PICTURES_ROOT.children.push( FILE_DATA_MY_RESOURCE_PICTURES_ROOT, FILE_DATA_ARTIST_ROOT );
+ FILE_DATA_LISENCE_ROOT.children.push( FILE_DATA_LISENCE_GROUP, FILE_DATA_LISENCE );
+ FILE_DATA_ORIGINAL_PICTURES_ROOT.children.push( FILE_DATA_MY_ORIGINAL_PICTURES_ROOT );
FileAPI.createFolderUnderRoot( FILE_DATA_SERVICE_ROOT );
- Driver.isPettanrFileInstance = function( _file ){
- if( FileAPI.isFileInstance( _file ) === true ){
- var _data = FileAPI.getFileData( _file.getUID() );// _file でなく _file.getUID()
+ Driver.isPettanrFileInstance = function( file ){
+ if( FileAPI.isFileInstance( file ) === true ){
+ var _data = FileAPI.getFileData( file.getUID() );// file でなく file.getUID()
return _data !== null && _data.driver === Driver;
};
return false;
self.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
- tree = FileAPI.createTree( FILE_DATA_PICTURE_ROOT );
+ tree = FileAPI.createTree( FILE_DATA_RESOURCE_PICTURES_ROOT );
var _root = tree.getRootFile(),
_myPic = _root.getChildFileAt( 0 ),
_pic = _root.getChildFileAt( 1 );
var ImageGroupIconClass = function( index, data ){
var elmIconWrap = elmIconOrigin.cloneNode( true ),
elmIconTitle = Util.getElementsByClassName( elmIconWrap, 'image-group-item-title' )[ 0 ],
+ originalPicture = data.original_picture,
SRC = [ BASE_PATH, data.id, '.', data.ext ].join( ''),
- LOW_SRC = data.filesize && data.filesize > LIMIT_FILESIZE ? [ THUMB_PATH, data.id, '.', data.ext ].join( '') : null,
+ LOW_SRC = originalPicture.filesize && originalPicture.filesize > LIMIT_FILESIZE ? [ THUMB_PATH, data.id, '.', originalPicture.ext ].join( '') : null,
reversibleImage = null,
timer = null,
onEnterFlag = false,
instance = this;
elmContainer.appendChild( elmIconWrap );
elmIconWrap.style.left = ( index * itemW ) + 'px';
- elmIconTitle.appendChild( document.createTextNode( data.filesize + 'bytes' ) );
+ elmIconTitle.appendChild( document.createTextNode( originalPicture.filesize + 'bytes' ) );
function onImageLoad( url, _imgW, _imgH ){
- data.width = _imgW = _imgW || data.width || 64;
- data.height = _imgH = _imgH || data.height || 64;
+ data.width = _imgW = _imgW || originalPicture.width || 64;
+ data.height = _imgH = _imgH || originalPicture.height || 64;
elmIconTitle.firstChild.data = _imgW + 'x' + _imgH;
var zoom = 128 /( _imgW > _imgH ? _imgW : _imgH ),
MATH_FLOOR = Math.floor,
self.removeTimer( onEnterShowImage );
self.addTimer( onEnterShowImage, 500 );
- }
+ };
return false;
- }
+ };
function drawIcons(){
while( ICON_ARRAY.length > 0 ){
ICON_ARRAY.shift().destroy();
- }
+ };
var _index = rootFile.search( {
- id: artistID,
- type: FILE_TYPE.ARTIST
+ id : artistID,
+ type : FILE_TYPE.ARTIST
})[ 0 ],
_artistFile = rootFile.getChildFileAt( _index ),
- _file;
+ file;
if( _artistFile !== null ){
- for(var i=0, l=_artistFile.getChildFileLength(); i<l; ++i ){
- _file = _artistFile.getChildFileAt( i );
- ICON_ARRAY.push( new ImageGroupIconClass( i, FileAPI.getFileData( _file ) ));
- _file.destroy();
- }
+ for( var i=0, l=_artistFile.getChildFileLength(); i<l; ++i ){
+ file = _artistFile.getChildFileAt( i );
+ ICON_ARRAY.push( new ImageGroupIconClass( i, FileAPI.getFileData( file ) ));
+ file.destroy();
+ };
elmName.firstChild.data = _artistFile.getName();
_artistFile.destroy();
- }
- }
+ };
+ };
function onFadeout(){
while( ICON_ARRAY.length > 0 ){
ICON_ARRAY.shift().destroy();
- }
+ };
onUpdate !== null && onUpdateData !== null && onUpdate.call( onUpdateContext, onUpdateData );
onUpdate = onUpdateData = onUpdateContext = null;
PremiumSatge.shutdown();
- }
+ };
this.MIN_WIDTH = 320;
this.MIN_HEIGHT = 320;
this.onInit = function(){
- self.rootElement.id = 'image-group-wrapper';
+ self.rootElement.id = 'image-group-wrapper';
- self.rootElement.innerHTML = [
- '<div id="image-group-icon-container"></div>',
- '<div id="image-group-name">NO DATA...</div>',
- '<div id="image-group-button" class="button">close</div>'
- ].join( '' );
-
- self.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
-
- tree = FileAPI.createTree( FILE_DATA_ARTIST_ROOT );
- rootFile = tree.getRootFile();
+ self.rootElement.innerHTML = [
+ '<div id="image-group-icon-container"></div>',
+ '<div id="image-group-name">NO DATA...</div>',
+ '<div id="image-group-button" class="button">close</div>'
+ ].join( '' );
+
+ self.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
+
+ tree = FileAPI.createTree( FILE_DATA_ARTIST_ROOT );
+ rootFile = tree.getRootFile();
};
this.onOpen = function( _windowW, _windowH, _ARTISTIDorFILE, _onUpdate, opt_thisObj ){
elmContainer = document.getElementById( 'image-group-icon-container' );
tree.addTreeEventListener( Const.TREE.EVENT.UPDATE, drawIcons );
var data = FileAPI.getFileData( _ARTISTIDorFILE );
- if( data.type === FILE_TYPE.ARTIST || FILE_DATA_MY_PICTURES_ROOT === data ){
+ if( !data ){
+ artistID = MyArtistID || -1;
+ } else
+ if( data.type === FILE_TYPE.ARTIST || FILE_DATA_MY_ORIGINAL_PICTURES_ROOT === data ){
artistID = data.id || -1;
} else
if( Type.isNumber( _ARTISTIDorFILE ) === true ){
- alert( _ARTISTIDorFILE )
artistID = _ARTISTIDorFILE;
};
}
function draw(){
- var fileData, title, author;
+ var fileData, title, author, story;
if( Driver.isPettanrFileInstance( currentFile ) === true ){
- if( currentFile.getType() === FILE_TYPE.COMIC ){
- fileData = currentFile.read();
- title = fileData.title;
- author = fileData.author.name;
- comicData = fileData;
- numPanel = currentFile.getChildFileLength();
- } else
- if( currentFile.getType() === FILE_TYPE.PANEL ){
- fileData = currentFile.read();
- title = fileData.comic.title;
- author = fileData.comic.author.name;
- comicData = fileData;
- numPanel = 1;
- }
+ switch( currentFile.getType() ){
+ case FILE_TYPE.COMIC :
+ fileData = currentFile.read();
+ title = fileData.title;
+ author = fileData.author.name;
+ comicData = fileData;
+ numPanel = currentFile.getChildFileLength();
+ break;
+ case FILE_TYPE.STORY :
+ story = currentFile.read();
+ fileData = story.panel;
+ title = story.comic.title;
+ author = fileData.author.name;
+ comicData = fileData;
+ numPanel = 1;
+ break;
+ case FILE_TYPE.PANEL :
+ fileData = currentFile.read();
+ title = 'No comic';
+ author = fileData.author.name;
+ comicData = fileData;
+ numPanel = 1;
+ break;
+ };
} else {
};
if( comicData !== null ){
elmTitle.data = title;
elmAuthor.data = author;
- bindWorker.json( comicData );
+ // bindWorker.json( comicData );
+ bindWorker.file( currentFile );
self.addAsyncCall( asyncResize );
};
}
self.fetchCSS( pettanr.CONST.URL_PETA_APPS_CSS );
};
- this.onOpen = function( _w, _h, _file ){
+ this.onOpen = function( _w, _h, file ){
headerH = Util.getElementSize( document.getElementById( 'comic-reader-header' ) ).height;
consoleH = Util.getElementSize( document.getElementById( 'comic-reader-console' ) ).height;
elmContainer = document.getElementById( 'comic-reader-panel-container' );
windowW = _w;
windowH = _h;
- if( FileAPI.isFileInstance( _file ) === true ){
- currentFile = _file;
- _file.addEventListener( Const.FILE.EVENT.GET_SEQENTIAL_FILES, draw );
- _file.getSeqentialFiles();
+ if( FileAPI.isFileInstance( file ) === true ){
+ currentFile = file;
+ file.addEventListener( Const.FILE.EVENT.GET_SEQENTIAL_FILES, draw );
+ file.getSeqentialFiles();
draw();
};
};
var IMAGE_EXPLORER_WINDOW = ( function(){
var tree, finder;
- function onFileSelect( _file ){
+ function onFileSelect( file ){
// 他の image ファイルも許可する?
- if( Driver.isPettanrFileInstance( _file ) === true ){
- if( _file.getType() === FILE_TYPE.PICTURE ){
- PANEL_ELEMENT_CONTROL.onImageSelect( FileAPI.getFileData( _file ) );
+ if( Driver.isPettanrFileInstance( file ) === true ){
+ if( file.getType() === FILE_TYPE.RESOURCE_PICTURE ){
+ PANEL_ELEMENT_CONTROL.onImageSelect( FileAPI.getFileData( file ) );
};
};
};
{
onInit: function(){},
onFirstOpen: function( _w, _h, nodeBody ){
- tree = FileAPI.createTree( FILE_DATA_PICTURE_ROOT );
+ tree = FileAPI.createTree( FILE_DATA_RESOURCE_PICTURES_ROOT );
var _root = tree.getRootFile(),
_myPic = _root.getChildFileAt( 0 ),
_pic = _root.getChildFileAt( 1 );
this.keepSize = false;
this.flipV = data.height < 0 ? -1 : 1;
this.flipH = data.width < 0 ? -1 : 1;
- this.rPicture = data.resource_picture;
- this.artistID = this.rPicture.artist_id || this.rPicture.artist.id || -1;
+ this.rPicture = data.picture;
+ //this.oPicture = this.rPicture.original_picture;
+ //this.artistID = this.oPicture.artist.id || -1;
var self = this;
function animeComplete(){
},
_updateResourcePicture : function( _rPicture ){
this.rPicture = _rPicture;
-
- this.actualW = _rPicture.width;
- this.actualH = _rPicture.height;
+ this.oPicture = this.rPicture.original_picture;
+ this.artistID = this.oPicture.artist.id || -1;
+
+ this.actualW = this.oPicture.width;
+ this.actualH = this.oPicture.height;
var _reversibleImage = pettanr.image.createReversibleImage(
- [ pettanr.CONST.RESOURCE_PICTURE_PATH, _rPicture.id, '.', _rPicture.ext ].join(''),
+ [ pettanr.CONST.RESOURCE_PICTURE_PATH, this.rPicture.id, '.', this.rPicture.ext ].join( '' ),
this.flipH * this.w, this.flipV * this.h
);
if( this.reversibleImage !== null ){
var _panelElement;
if( isPanelPictureData !== true ){
_panelElement = new ImageElementClass( {
- resource_picture:data,
- x: Math.floor( panelW / 2 - data.width / 2 ),
- y: Math.floor( panelH / 2 - data.height / 2 ),
- z: -1,
- t: PANEL_ELEMENT_ARRAY.length + 1,
- width: 1,
- height: 1
+ picture : data,
+ x : Math.floor( panelW / 2 - data.width / 2 ),
+ y : Math.floor( panelH / 2 - data.height / 2 ),
+ z : -1,
+ t : PANEL_ELEMENT_ARRAY.length + 1,
+ width : 1,
+ height : 1
});
_panelElement.init();
PANEL_ELEMENT_CONTROL.add( _panelElement );
- _panelElement.animate( undefined, undefined, Math.abs( data.width ), Math.abs( data.height ) );
+ _panelElement.animate( undefined, undefined, Math.abs( data.picture.original_picture.width ), Math.abs( data.picture.original_picture.height ) );
} else {
_panelElement = new ImageElementClass( data );
_panelElement.init();
delete app.onInit;
};
- this.onOpen = function( _w, _h, _file ){
+ this.onOpen = function( _w, _h, file ){
// 表示奥の物から順に init() していく
PANEL_ELEMENT_CONTROL.init();
PANEL_CONTROL.init();
borderSize,
fileData, panelElements, panelElm;
- if( FileAPI.isFileInstance( _file ) === true ){
- if( Driver.isPettanrFileInstance( _file ) === true ){
- if( _file.getType() === FILE_TYPE.COMIC ){
- fileData = _file.read();
+ if( FileAPI.isFileInstance( file ) === true ){
+ if( Driver.isPettanrFileInstance( file ) === true ){
+ if( file.getType() === FILE_TYPE.COMIC ){
+ fileData = file.read();
panelW = fileData.width;
panelH = fileData.height;
comicID = fileData.id || -1;
} else
- if( _file.getType() === FILE_TYPE.PANEL ){
- fileData = _file.read();
+ if( file.getType() === FILE_TYPE.PANEL ){
+ fileData = file.read();
panelW = fileData.width;
panelH = fileData.height;
borderSize = fileData.border;
if( Type.isArray( panelElements ) === true ){
for( var i=0; i<panelElements.length; ++i ){
panelElm = panelElements[ i ];
- if( panelElm.resource_picture ){
+ if( panelElm.picture ){
PANEL_ELEMENT_CONTROL.createImageElement( panelElm );
} else
if( panelElm.balloon_template_id ){