X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F02_dom%2F02_XNodeFlags.js;h=77ef0e24552d390d3b51d9936baeb4765bcb942d;hb=HEAD;hp=0a9fad898a3f755f50726edea57281584adcd02a;hpb=eca68ae8a52822bb0d2d7556fd28784bb2103a2f;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/02_dom/02_XNodeFlags.js b/0.6.x/js/02_dom/02_XNodeFlags.js index 0a9fad8..77ef0e2 100644 --- a/0.6.x/js/02_dom/02_XNodeFlags.js +++ b/0.6.x/js/02_dom/02_XNodeFlags.js @@ -33,31 +33,40 @@ var X_NodeFlags_DESTROYED = 0x0, X_NodeFlags_GPU_NOW = 2 << 22, // 3:GPU now! X_NodeFlags_GPU_RELEASE_RESERVED = 2 << 23, // 4:GPU解除予約 X_NodeFlags_GPU_CHILD = 2 << 24, - + X_NodeFlags_IE4_HAS_TEXTNODE = X_UA[ 'IE4' ] ? 2 << 21 : 0, X_NodeFlags_IE4_HAS_ELEMENT = X_UA[ 'IE4' ] ? 2 << 22 : 0, X_NodeFlags_IE4_DIRTY_CHILDREN = X_UA[ 'IE4' ] ? 2 << 23 : 0, X_NodeFlags_IE4_FIXED = X_UA[ 'IE4' ] ? 2 << 24 : 0, X_NodeFlags_IE5_DISPLAY_NONE_FIX = X_UA[ 'IE5' ] && X_UA[ 'ActiveX' ] ? 2 << 24 : 0, - + X_NodeFlags_IE8_OPACITY_FIX = 0,//X_UA[ 'IE8' ] && X_UA[ 'ActiveX' ] ? 2 << 25 : 0, + X_NodeFlags_IE_FILTER_FIX_AFTER = X_UA[ 'ActiveX' ] && 2 << 26, + // http://modernizr.com/downloads/modernizr.js // Thanks to Erik Dahlstrom - X_NodeFlags_IS_SVG = document.createElementNS && document.createElementNS( 'http://www.w3.org/2000/svg', 'svg' )[ 'createSVGRect' ] ? 2 << 25 : 0, + X_NodeFlags_IS_SVG = document.createElementNS && document.createElementNS( 'http://www.w3.org/2000/svg', 'svg' )[ 'createSVGRect' ] ? 2 << 27 : 0, X_NodeFlags_IS_VML = ( function(){ - if( !X_UA[ 'ActiveX' ] || X_UA[ 'IE' ] < 5 || 9 < X_UA[ 'IE' ] || X_UA[ 'ieExeComError' ] ) return 0; // standalone の除外 -> X_UA[ 'ieExeComError' ] + if( !X_UA[ 'ActiveX' ] || X_UA[ 'IE' ] < 5 || 9 < X_UA[ 'IE' ] /* || X_UA[ 'ieExeComError' ] */ ) return 0; // standalone の除外 -> X_UA[ 'ieExeComError' ] document.write( '' + '' ); + /** + * VML のバージョン + * @alias X.Doc.VML + * @type {number} + */ + X[ 'Doc' ][ 'VML' ] = window[ '__vml' ] / 2 || 0; + switch( window[ '__vml' ] ){ case 2 : document.getElementById( 'vmltest2' ).removeNode( true ); case 1 : document.getElementById( 'vmltest1' ).removeNode( true ); - return 2 << 26; + return 2 << 28; }; return 0; })(), @@ -76,10 +85,18 @@ var X_NodeFlags_DESTROYED = 0x0, X_Node_BitMask_IS_DIRTY = X_NodeFlags_DIRTY_POSITION | X_NodeFlags_DIRTY_CONTENT | X_NodeFlags_DIRTY_ID | X_NodeFlags_DIRTY_CLASSNAME | - X_NodeFlags_DIRTY_ATTR | X_NodeFlags_DIRTY_CSS | X_NodeFlags_DIRTY_IE_FILTER, + X_NodeFlags_DIRTY_ATTR | X_NodeFlags_DIRTY_CSS | X_NodeFlags_DIRTY_IE_FILTER | X_NodeFlags_IE8_OPACITY_FIX, X_Node_BitMask_RESET_DIRTY = ( ( 2 << 29 ) - 1 + ( 2 << 29 ) ) ^ X_Node_BitMask_IS_DIRTY, X_Node_BitMask_RESET_GPU = ( ( 2 << 29 ) - 1 + ( 2 << 29 ) ) ^ ( X_NodeFlags_GPU_RESERVED | X_NodeFlags_GPU_NOW | X_NodeFlags_GPU_RELEASE_RESERVED ), X_Node_BitMask_IE4_IS_MIX = X_NodeFlags_IE4_HAS_TEXTNODE | X_NodeFlags_IE4_HAS_ELEMENT; + +// TODO SVGのバージョン +/** + * SVG が有効か? + * @alias X.Doc.SVG + * @type {boolean} + */ +X[ 'Doc' ][ 'SVG' ] = !!X_NodeFlags_IS_SVG;