⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 swfshape.java

📁 flash swf file player
💻 JAVA
字号:
//// Description://    SWFShape Class//// Authors://    Jonathan Shore <jshore@e-shuppan.com>//    Based on php wrapper developed by <dave@opaque.net>//// Copyright://    Copyright 2001 E-Publishing Group Inc.  Permission is granted to use or//    modify this code provided that the original copyright notice is included.////    This software is distributed with no warranty of liability, merchantability,//    or fitness for a specific purpose.//import SWFShapeI;import SWFColor;////  SWFShape Class//      general polygon / poly-curve region////  Notes//    - building block for flash objects//public class SWFShape extends SWFObject implements SWFShapeI {    public final static float PI = 3.1415926f;    // public methods        public SWFShape (int handle)	throws SWFException    { 	super (handle); 	this.lwidth = 1;	this.color = SWFColor.identity();    }    public SWFShape ()    	throws SWFException    { 	setHandle (nNew()); 	this.lwidth = 1;	this.color = SWFColor.identity();    }    public void	movePen (float x, float y)        { nMovePen (handle, x, y); }    public void	movePenTo (float x, float y)        { nMovePenTo (handle, x, y); }    public void	drawLine (float x, float y)        { nDrawLine (handle, x, y); }    public void	drawLineTo (float x, float y)        { nDrawLineTo (handle, x, y); }    public void	drawLineToRelative (float dx, float dy)        { nDrawLineToRelative (handle, dx, dy); }    public void	drawCurve (float bx, float by, float cx, float cy)        { nDrawCurve (handle, bx, by, cx, cy); }    public void	drawCurveTo (float bx, float by, float cx, float cy)        { nDrawCurveTo (handle, bx, by, cx, cy); }    public void	drawCurve (float bx, float by, float cx, float cy, float dx, float dy)        { nDrawCubic (handle, bx, by, cx, cy, dx, dy); }    public void	drawCurveTo (float bx, float by, float cx, float cy, float dx, float dy)        { nDrawCubicTo (handle, bx, by, cx, cy, dx, dy); }    public void	drawArc (float r, float startAngle, float endAngle)        { iDrawArc (handle, r, startAngle, endAngle); }    public void	drawCircle (float r)        { iDrawCircle (handle, r); }    public void	drawGlyph (SWFFontI font, int c)	throws SWFException    { 	font.eval(); 	nDrawGlyph (handle, font.getHandle(), c); 	preserve (font);    }    public void	end ()        { nEnd (handle); }    // color & line thickness    public void	setLine (short width, int r, int g, int b, int alpha)    { 	lwidth = width;	color = new SWFColor(r,g,b, alpha);	nSetLine (handle, width, r,g,b,alpha);     }    public void	setLine (short width, SWFColor color)    { 	lwidth = width;	this.color = color;	nSetLine (handle, width, color.getRed(), color.getGreen(), color.getBlue(), color.getAlpha());     }    public void	setLine (short width)    { 	lwidth = width;	setLine (width, color);    }    public void	setColor (SWFColor color)    { 	this.color = color;	setLine (lwidth, color);    }    // fills    public SWFFillI addBitmapFill (SWFBitmapI bitmap, int flags)	throws SWFException    { 	bitmap.eval(); 	preserve (bitmap);	return new SWFFill (nAddBitmapFill (handle, bitmap.getHandle(), (short)flags));     }    public SWFFillI addGradientFill (SWFGradientI gradient, int flags)	throws SWFException    { 	gradient.eval(); 	preserve (gradient);	return new SWFFill (nAddGradientFill (handle, gradient.getHandle(), (short)flags));     }    public SWFFillI addSolidFill (int r, int g, int b, int alpha)	throws SWFException        { return new SWFFill (nAddSolidFill (handle, r,g,b, alpha)); }    public SWFFillI addSolidFill (SWFColor color)	throws SWFException        { return new SWFFill (nAddSolidFill (handle, color.getRed(), color.getGreen(), color.getBlue(), color.getAlpha())); }    public void	setLeftFill (SWFFillI fill)	throws SWFException    { 	fill.eval();	preserve (fill);	nSetLeftFill (handle, fill.getHandle());     }    public void	setRightFill (SWFFillI fill)	throws SWFException    { 	fill.eval(); 	preserve (fill);	nSetRightFill (handle, fill.getHandle());     }    protected void finalize()	throws Throwable    {	nDestroy (handle);	super.finalize();    }    // internal stuff        protected void iDrawCircle (int handle, float r)    {	final float a = r * (float)Math.tan (PI/8);	final float b = r * (float)Math.sin (PI/4);	movePen (r, 0);	drawCurve (0, -a, b-r, -b+a);	drawCurve (-b+a, b-r, -a, 0);	drawCurve (-a, 0, a-b, r-b);	drawCurve (b-r, b-a, 0, a);	drawCurve (0,a, r-b, b-a);	drawCurve (b-a,r-b,a,0);	drawCurve (a,0,b-a,b-r);	drawCurve (r-b,a-b,0,-a);	movePen (-r, 0);    }    protected void iDrawArc (int handle, float r, float startAngle, float endAngle)    {	nDrawArc (handle,r,startAngle,endAngle);    }            // native stuff    protected native int	nNew ();    protected native void	nDestroy (int handle);    protected native void	nMovePen (int handle, float x, float y);    protected native void	nMovePenTo (int handle, float x, float y);    protected native void	nDrawLine (int handle, float x, float y);    protected native void	nDrawLineTo (int handle, float x, float y);    protected native void	nDrawLineToRelative (int handle, float dx, float dy);    protected native void	nDrawCurve (int handle, float bx, float by, float cx, float cy);    protected native void	nDrawCurveTo (int handle, float bx, float by, float cx, float cy);    protected native void	nDrawCubic (int handle, float bx, float by, float cx, float cy, float dx, float dy);    protected native void	nDrawCubicTo (int handle, float bx, float by, float cx, float cy, float dx, float dy);    protected native void	nDrawArc (int handle, float r, float startAngle, float endAngle);    protected native void	nDrawCircle (int handle, float r);    protected native void	nDrawGlyph (int handle, int Hfont, int c);    protected native void	nEnd (int handle);    protected native void	nSetLine (int handle, short width, int r, int g, int b, int alpha);    protected native int	nAddBitmapFill (int handle, int Hbitmap, short flags);    protected native int	nAddGradientFill (int handle, int Hgradient, short flags);    protected native int	nAddSolidFill (int handle, int r, int g, int b, int alpha);    protected native void	nSetLeftFill (int handle, int Hfill);    protected native void	nSetRightFill (int handle, int Hfill);    // variables    protected short		lwidth;    protected SWFColor		color;};    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -