Skip to content

Commit 0aa3f3c

Browse files
author
as
committed
some featured added
1 parent 3a4c585 commit 0aa3f3c

File tree

2 files changed

+71
-11
lines changed

2 files changed

+71
-11
lines changed

src/com/hendrix/feathers/controls/core/BitmapLayersComposer.as

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ package com.hendrix.feathers.controls.core
6363
private var _frameRect: Rectangle = null;
6464
private var _latestCapture: BitmapData = null;
6565

66+
private var _hasLoaded: Boolean = false;
67+
private var _disposeOnRemove: Boolean = true;
68+
6669
/**
6770
* a Flash Display Object composer of layers, Flex Style with a dataprovider<br>
6871
* can be used easily as a SplashScreen
@@ -98,8 +101,15 @@ package com.hendrix.feathers.controls.core
98101
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
99102
}
100103

104+
public function get disposeOnRemove():Boolean { return _disposeOnRemove; }
105+
public function set disposeOnRemove(value:Boolean):void
106+
{
107+
_disposeOnRemove = value;
108+
}
109+
101110
/**
102111
* remove from display list
112+
* and dispose
103113
*
104114
*/
105115
public function remove():void
@@ -115,6 +125,17 @@ package com.hendrix.feathers.controls.core
115125
_timerDelay.start();
116126
}
117127

128+
/**
129+
* remove from display list
130+
* and dispose
131+
*
132+
*/
133+
public function removeNoDispose():void
134+
{
135+
if(_parent)
136+
_parent.removeChild(this);
137+
}
138+
118139
/**
119140
* dispose all
120141
*/
@@ -192,7 +213,7 @@ package com.hendrix.feathers.controls.core
192213
{
193214
_parent.addChild(this);
194215
}
195-
216+
196217
protected function onAddedToStage(event:Event):void
197218
{
198219
_frameRect = new Rectangle(0, 0, stage.fullScreenWidth, stage.fullScreenHeight);
@@ -202,7 +223,8 @@ package com.hendrix.feathers.controls.core
202223
_frameRect.height = _parent.height;
203224
}
204225

205-
loadSources();
226+
if(!_hasLoaded)
227+
loadSources();
206228
}
207229

208230
protected function onTimerComplete(event:TimerEvent = null):void
@@ -213,7 +235,8 @@ package com.hendrix.feathers.controls.core
213235
if(_parent)
214236
_parent.removeChild(this);
215237

216-
dispose();
238+
if(_disposeOnRemove)
239+
dispose();
217240

218241
//_parent.stage.setAspectRatio(StageAspectRatio.ANY);
219242
}
@@ -266,8 +289,10 @@ package com.hendrix.feathers.controls.core
266289
{
267290
_bmSources[ix] = new Bitmap(bitmaps[ix].bmp);
268291
}
292+
293+
layout();
269294

270-
layout();
295+
_hasLoaded = true;
271296
}
272297

273298
private function layout(id:String = null):void

src/com/hendrix/feathers/controls/flex/WarningDialog.as

Lines changed: 42 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,11 @@ package com.hendrix.feathers.controls.flex
7171
*/
7272
private var _textNo: String;
7373

74+
private var _dialogPercentWidth:Number = NaN;
75+
private var _dialogPercentHeight:Number = NaN;
76+
private var _fontSizePercent:Number = NaN;
77+
78+
7479
/**
7580
* a warning popup comp, supports:<br>
7681
* <li>one/two action buttons
@@ -145,6 +150,36 @@ package com.hendrix.feathers.controls.flex
145150
_textHeadline = value;
146151
}
147152

153+
public function get fontSizePercent():Number { return _fontSizePercent; }
154+
public function set fontSizePercent(value:Number):void
155+
{
156+
_fontSizePercent = value;
157+
}
158+
159+
private var _colorBg:uint = 0x00;
160+
161+
public function get colorBg():uint { return _colorBg; }
162+
public function set colorBg(value:uint):void
163+
{
164+
_colorBg = value;
165+
166+
if(_quadBgDark) {
167+
_quadBgDark.color = _colorBg;
168+
}
169+
}
170+
171+
public function get dialogPercentWidth():Number { return _dialogPercentWidth; }
172+
public function set dialogPercentWidth(value:Number):void
173+
{
174+
_dialogPercentWidth = value;
175+
}
176+
177+
public function get dialogPercentHeight():Number { return _dialogPercentHeight; }
178+
public function set dialogPercentHeight(value:Number):void
179+
{
180+
_dialogPercentHeight = value;
181+
}
182+
148183
override public function set visible(value:Boolean):void
149184
{
150185
if(value == true)
@@ -188,9 +223,9 @@ package com.hendrix.feathers.controls.flex
188223
_lblWarning = CompsFactory.newLabel(_textWarning, tf_lbl, true, true, TextAlign.CENTER);
189224

190225
_quadBg = new Quad(1, 1, 0xffffff);
191-
_quadBgDark = new Quad(1, 1, 0x00);
226+
_quadBgDark = new Quad(1, 1, _colorBg);
192227

193-
_quadBgDark.alpha = 0.7;
228+
_quadBgDark.alpha = 0.4;
194229

195230
_quadStrip0 = new Quad(1, 1, 0xEF7F3C); // 0x7DD9FF
196231
_quadStrip1 = new Quad(1, 1, 0xD1D1D1);
@@ -207,7 +242,7 @@ package com.hendrix.feathers.controls.flex
207242
addChild(_quadStrip1);
208243
addChild(_quadStrip2);
209244
}
210-
245+
211246
override protected function draw():void
212247
{
213248
super.draw();
@@ -219,12 +254,12 @@ package com.hendrix.feathers.controls.flex
219254

220255
var padding: Number = height * 0.01;
221256

222-
_quadBg.width = width * 0.95;
257+
_quadBg.width = isNaN(_dialogPercentWidth) ? width * 0.95 : width * _dialogPercentWidth / 100;
223258
_quadBg.x = (width - _quadBg.width) * 0.5;
224259
_quadBg.y = (height - _quadBg.height) * 0.5;
225260

226261
_lblWarning.width = _quadBg.width*0.95;
227-
_lblWarning.textRendererProperties.textFormat.size = width * 0.05;
262+
_lblWarning.textRendererProperties.textFormat.size = isNaN(_fontSizePercent) ? width * 0.05 : height * _fontSizePercent / 100;
228263
_lblWarning.validate();
229264
_lblWarning.height *= 2;
230265
_lblWarning.x = _quadBg.x + (_quadBg.width - _lblWarning.width) * 0.5;
@@ -245,7 +280,7 @@ package com.hendrix.feathers.controls.flex
245280

246281
var tf: TextFormat = _btnNo.defaultLabelProperties.textFormat;
247282

248-
tf.size = width * 0.06;
283+
tf.size = isNaN(_fontSizePercent) ? width * 0.06 : height * _fontSizePercent / 100;
249284

250285
_btnNo.defaultLabelProperties.textFormat = null;
251286
_btnNo.defaultLabelProperties.textFormat = tf;
@@ -289,7 +324,7 @@ package com.hendrix.feathers.controls.flex
289324
{
290325
var tf_lbl: TextFormat = new TextFormat("arial11", 22, 0x3C3C3C);
291326
_lblHeadLine = CompsFactory.newLabel(_textHeadline, tf_lbl, false, true, TextAlign.CENTER);
292-
_lblHeadLine.textRendererProperties.textFormat.size = width * 0.05;
327+
_lblHeadLine.textRendererProperties.textFormat.size = isNaN(_fontSizePercent) ? width * 0.05 : height * _fontSizePercent / 100;;
293328

294329
addChild(_lblHeadLine);
295330

0 commit comments

Comments
 (0)