?? tagwriter.java
字號(hào):
int depth,
int charId,
Matrix matrix,
AlphaTransform cxform,
int ratio,
String name,
int clipActionFlags )
throws IOException
{
boolean hasClipActions = ( clipActionFlags != 0 );
startTag( TAG_PLACEOBJECT2, false );
out.writeUBits( 1, hasClipActions ? 1 : 0 );
out.writeUBits( 1, (clipDepth > 0) ? 1 : 0 );
out.writeUBits( 1, (name != null) ? 1 : 0 );
out.writeUBits( 1, (ratio >= 0) ? 1 : 0 );
out.writeUBits( 1, (cxform != null) ? 1 : 0 );
out.writeUBits( 1, (matrix != null) ? 1 : 0 );
out.writeUBits( 1, (charId > 0) ? 1 : 0 );
out.writeUBits( 1, isMove ? 1 : 0 );
out.writeUI16( depth );
if( charId > 0 ) out .writeUI16( charId );
if( matrix != null ) matrix.write ( out );
if( cxform != null ) cxform.write ( out );
if( ratio >= 0 ) out .writeUI16( ratio );
if( clipDepth > 0 ) out .writeUI16( clipDepth );
if( name != null )
{
out.writeString( name, mStringEncoding );
longTag = true;
}
if( hasClipActions )
{
out.writeUI16( 0 ); //unknown
out.writeUI16( clipActionFlags );
return new ActionWriter( this, version )
{
public void start( int conditions ) throws IOException
{
super.start( conditions );
tagWriter.out.writeUI16( conditions );
}
protected void writeBytes( byte[] bytes ) throws IOException
{
tagWriter.out.writeUI32( bytes.length );
super.writeBytes( bytes );
}
public void done() throws IOException
{
tagWriter.out.writeUI16(0);
super.done();
}
};
}
completeTag();
return null;
}
/**
* SWFTagTypes interface
*/
public void tagRemoveObject( int charId, int depth ) throws IOException
{
startTag( TAG_REMOVEOBJECT, false );
out.writeUI16( charId );
out.writeUI16( depth );
completeTag();
}
/**
* SWFTagTypes interface
*/
public void tagRemoveObject2(int depth ) throws IOException
{
startTag( TAG_REMOVEOBJECT2, false );
out.writeUI16( depth );
completeTag();
}
/**
* SWFTagTypes interface
*/
public void tagSetBackgroundColor( Color color ) throws IOException
{
startTag( TAG_SETBACKGROUNDCOLOR, false );
color.writeRGB( out );
completeTag();
}
/**
* SWFTagTypes interface
*/
public void tagFrameLabel( String label ) throws IOException
{
tagFrameLabel( label, false );
}
/**
* SWFTagTypes interface
*/
public void tagFrameLabel( String label, boolean isAnchor ) throws IOException {
startTag( TAG_FRAMELABEL, true );
out.writeString( label, mStringEncoding );
if( isAnchor ) out.writeUI8( 1 );
completeTag();
}
/**
* SWFTagTypes interface
*/
public SWFTagTypes tagDefineSprite( int id ) throws IOException
{
startTag( TAG_DEFINESPRITE, id, true );
out.writeUI16( 0 ); //framecount - to be filled in later
TagWriter writer = new TagWriter( new SpriteTags() );
writer.version = version;
return writer;
}
/**
* SWFTagTypes interface
*/
public void tagProtect( byte[] password ) throws IOException
{
mTags.tag( TAG_PROTECT, false, password );
}
/**
* SWFTagTypes interface
*/
public void tagEnableDebug( byte[] password ) throws IOException
{
mTags.tag( TAG_ENABLEDEBUG, false, password );
}
/**
* SWFTagTypes interface
*/
public void tagEnableDebug2( byte[] password ) throws IOException
{
startTag( TAG_ENABLEDEBUGGER2, 0, false );
out.write( password );
completeTag();
}
/**
* SWFTagTypes interface
*/
public SWFVectors tagDefineFont( int id, int numGlyphs ) throws IOException
{
startTag( TAG_DEFINEFONT, id, true );
return new SWFShapeImpl( this, numGlyphs );
}
/**
* SWFTagTypes interface
*/
public void tagDefineFontInfo( int fontId, String fontName, int flags, int[] codes )
throws IOException
{
startTag( TAG_DEFINEFONTINFO, true );
out.writeUI16( fontId );
byte[] chars = fontName.getBytes();
out.writeUI8( chars.length );
out.write( chars );
out.writeUI8( flags );
boolean wide = (flags & FONT_WIDECHARS) != 0;
for( int i = 0; i < codes.length; i++ )
{
if( wide ) out.writeUI16( codes[i] );
else out.writeUI8 ( codes[i] );
}
completeTag();
}
/**
* SWFTagTypes interface
*/
public void tagDefineFontInfo2( int fontId, String fontName, int flags, int[] codes, int languageCode )
throws IOException
{
startTag( TAG_DEFINEFONTINFO2, true );
out.writeUI16( fontId );
byte[] chars = fontName.getBytes();
out.writeUI8( chars.length );
out.write( chars );
flags |= SWFConstants.FONT_WIDECHARS; //always wide
out.writeUI8( flags );
out.writeUI8( languageCode );
for( int i = 0; i < codes.length; i++ )
{
out.writeUI16( codes[i] );
}
completeTag();
}
/**
* SWFTagTypes interface
*/
public SWFVectors tagDefineFont2( int id, int flags, String name, int numGlyphs,
int ascent, int descent, int leading,
int[] codes, int[] advances, Rect[] bounds,
int[] kernCodes1, int[] kernCodes2,
int[] kernAdjustments ) throws IOException
{
startTag( TAG_DEFINEFONT2, id, true );
out.writeUI8( flags );
out.writeUI8( 0 ); //reserved flags
byte[] nameBytes = name.getBytes();
out.writeUI8 ( nameBytes.length );
out.write ( nameBytes );
out.writeUI16( numGlyphs );
return new Font2ShapeImpl( this, flags, numGlyphs, ascent, descent, leading,
codes, advances, bounds,
kernCodes1, kernCodes2, kernAdjustments );
}
/**
* SWFTagTypes interface
*/
public void tagDefineTextField( int fieldId, String fieldName,
String initialText, Rect boundary, int flags,
AlphaColor textColor, int alignment, int fontId, int fontSize,
int charLimit, int leftMargin, int rightMargin, int indentation,
int lineSpacing )
throws IOException
{
flags |= 0x2005;
startTag( TAG_DEFINETEXTFIELD, fieldId, true );
boundary.write( out );
out.writeUI16( flags );
out.writeUI16( fontId );
out.writeUI16( fontSize );
textColor.write( out );
if( (flags & TEXTFIELD_LIMIT_CHARS ) != 0 )
{
out.writeUI16( charLimit );
}
out.writeUI8 ( alignment );
out.writeUI16( leftMargin );
out.writeUI16( rightMargin );
out.writeUI16( indentation );
out.writeUI16( lineSpacing );
out.writeString( fieldName, mStringEncoding );
if( (flags & TEXTFIELD_HAS_TEXT ) != 0 )
{
out.writeString( initialText, mStringEncoding );
}
completeTag();
}
/**
* SWFTagTypes interface
*/
public SWFText tagDefineText( int id, Rect bounds, Matrix matrix )
throws IOException
{
startTag( TAG_DEFINETEXT, id, true );
return defineText( bounds, matrix, false );
}
/**
* SWFTagTypes interface
*/
public SWFText tagDefineText2( int id, Rect bounds, Matrix matrix ) throws IOException
{
startTag( TAG_DEFINETEXT2, id, true );
return defineText( bounds, matrix, true );
}
/**
* SWFTagTypes interface
*/
public SWFActions tagDefineButton( int id, Vector buttonRecords )
throws IOException
{
startTag( TAG_DEFINEBUTTON, id, true );
ButtonRecord.write( out, buttonRecords );
System.out.println( "BUTTON" );
return new ActionWriter( this, version );
}
/**
* SWFTagTypes interface
*/
public void tagButtonCXForm( int buttonId, ColorTransform transform )
throws IOException
{
startTag( TAG_DEFINEBUTTONCXFORM, buttonId, false );
transform.writeWithoutAlpha( out );
completeTag();
}
/**
* SWFTagTypes interface
*/
public SWFActions tagDefineButton2( int id,
boolean trackAsMenu,
Vector buttonRecord2s )
throws IOException
{
startTag( TAG_DEFINEBUTTON2, id, true );
out.writeUI8( trackAsMenu ? 1 : 0 );
return new ButtonActionWriter( this, version, buttonRecord2s );
}
/**
* SWFTagTypes interface
*/
public void tagExport( String[] names, int[] ids ) throws IOException
{
startTag( TAG_EXPORT, true );
int count = ids.length;
out.writeUI16( count );
for( int i = 0; i < count; i++ )
{
//System.out.println( "Exporting " + ids[i] + " as " + names[i] );
out.writeUI16 ( ids [i] );
out.writeString( names[i], mStringEncoding );
}
completeTag();
}
/**
* SWFTagTypes interface
*/
public void tagImport( String movieName, String[] names, int[] ids )
throws IOException
{
startTag( TAG_IMPORT, true );
int count = ids.length;
out.writeString( movieName, mStringEncoding );
out.writeUI16 ( count );
for( int i = 0; i < count; i++ )
{
//System.out.println( "Importing " + names[i] + " as " + ids[i] + " from " + movieName );
out.writeUI16 ( ids [i] );
out.writeString( names[i], mStringEncoding );
}
completeTag();
}
/**
* SWFTagTypes interface
*/
public void tagDefineQuickTimeMovie( int id, String filename ) throws IOException
{
startTag( TAG_DEFINEQUICKTIMEMOVIE, id, true );
out.writeString( filename, mStringEncoding );
completeTag();
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -