API Docs for: 最后更新日期:2014年8月25日
Google搜索   
Show:

File: filters/LDropShadowFilter.js

/** @language japanese
 * DropShadowFilter クラスは、ドロップシャドウを表示オブジェクトに追加します。シャドウアルゴリズムは、ぼかしフィルターで使用するのと同じボックスフィルターに基づいています。ドロップシャドウのスタイルには複数のオプションがあり、内側シャドウ、外側シャドウ、ノックアウトモードなどがあります。。
 * @class LDropShadowFilter
 * @extends LObject
 * @constructor
 * @param {int} distance シャドウのオフセット距離(ピクセル単位)です。
 * @param {int} angle シャドウの角度です。
 * @param {int} color シャドウのカラーです。
 * @param {int} blur ぼかし量。
 * @example
 * 	var bitmapdata = new LBitmapData(event.target);  
 * 	var bitmap = new LBitmap(bitmapdata);
 * 	addChild(bitmap);
 * 	var shadow = new LDropShadowFilter(5,45,"#000000");
 * 	bitmap.filters = [shadow];
 * @examplelink <p><a href="../../../api/LDropShadowFilter/index.html" target="_blank">実際のサンプルを見る</a></p>
 * @since 1.6.0
 * @public
 */
var LDropShadowFilter = (function () {
	function LDropShadowFilter (distance, angle, color, blur) {
		var s = this;
		LExtends(s, LObject, []);
		s.type = "LDropShadowFilter";
		s.distance = distance ? distance : 0;
		s.angle = angle ? angle : 0;
		s.shadowColor = color ? color : "#000000";
		s.shadowBlur = blur ? blur : 20;
		s.setShadowOffset();
	}
	var p = {
		setShadowOffset : function () {
			var s = this;
			var a = s.angle * Math.PI / 180;
			s.shadowOffsetX = s.distance * Math.cos(a);
			s.shadowOffsetY = s.distance * Math.sin(a);
		},
		ll_show : function () {
			var s = this, c = LGlobal.canvas;
			c.shadowColor = s.shadowColor;
			c.shadowBlur = s.shadowBlur;
			c.shadowOffsetX = s.shadowOffsetX;
			c.shadowOffsetY = s.shadowOffsetY;
		},
		/** @language japanese
		 * シャドウのオフセット距離を設定する
		 * @method setDistance
		 * @param {int} distance シャドウのオフセット距離(ピクセル単位)です。
		 * @since 1.6.0
		 * @public
		 */
		setDistance : function (distance) {
			this.distance = distance;
			this.setShadowOffset();
		},
		/** @language japanese
		 * シャドウの角度を設定する
		 * @method setAngle
		 * @param {int} angle シャドウの角度です。
		 * @since 1.6.0
		 * @public
		 */
		setAngle : function (angle) {
			this.angle = angle;
			this.setShadowOffset();
		},
		/** @language japanese
		 * シシャドウのカラーを設定する
		 * @method setColor
		 * @param {int} color シャドウのカラーです。
		 * @since 1.6.0
		 * @public
		 */
		setColor : function (color) {
			this.shadowColor = color;
		},
		/** @language japanese
		 * ぼかし量を設定する
		 * @method setBlur
		 * @param {int} blur ぼかし量です。
		 * @since 1.6.0
		 * @public
		 */
		setBlur : function (blur) {
			this.shadowBlur = blur;
		}
	};
	for (var k in p) {
		LDropShadowFilter.prototype[k] = p[k];
	}
	return LDropShadowFilter;
})();