@@ -206,39 +206,21 @@ ccs.UILayout = ccs.UIWidget.extend(/** @lends ccs.UILayout# */{
206
206
}
207
207
this . _backGroundImageFileName = fileName ;
208
208
this . _bgImageTexType = texType ;
209
- if ( this . _backGroundScale9Enabled ) {
210
- switch ( this . _bgImageTexType ) {
211
- case ccs . TextureResType . local :
212
- this . _backGroundImage . initWithFile ( fileName ) ;
213
- break ;
214
- case ccs . TextureResType . plist :
215
- this . _backGroundImage . initWithSpriteFrameName ( fileName ) ;
216
- break ;
217
- default :
218
- break ;
219
- }
220
- this . _backGroundImage . setPreferredSize ( this . _size ) ;
221
- }
222
- else {
223
- switch ( this . _bgImageTexType ) {
224
- case ccs . TextureResType . local :
225
- this . _backGroundImage . initWithFile ( fileName ) ;
226
- break ;
227
- case ccs . TextureResType . plist :
228
- this . _backGroundImage . initWithSpriteFrameName ( fileName ) ;
229
- break ;
230
- default :
231
- break ;
232
- }
209
+ switch ( this . _bgImageTexType ) {
210
+ case ccs . TextureResType . local :
211
+ this . _backGroundImage . initWithFile ( fileName ) ;
212
+ break ;
213
+ case ccs . TextureResType . plist :
214
+ this . _backGroundImage . initWithSpriteFrameName ( fileName ) ;
215
+ break ;
216
+ default :
217
+ break ;
233
218
}
234
219
if ( this . _backGroundScale9Enabled ) {
235
- this . _backGroundImage . setColor ( this . getColor ( ) ) ;
236
- this . _backGroundImage . setOpacity ( this . getOpacity ( ) ) ;
237
- }
238
- else {
239
- this . _backGroundImage . setColor ( this . getColor ( ) ) ;
240
- this . _backGroundImage . setOpacity ( this . getOpacity ( ) ) ;
220
+ this . _backGroundImage . setPreferredSize ( this . _size ) ;
241
221
}
222
+ this . _backGroundImage . setColor ( this . getColor ( ) ) ;
223
+ this . _backGroundImage . setOpacity ( this . getOpacity ( ) ) ;
242
224
this . _backGroundImageTextureSize = this . _backGroundImage . getContentSize ( ) ;
243
225
this . _backGroundImage . setPosition ( cc . p ( this . _size . width / 2.0 , this . _size . height / 2.0 ) ) ;
244
226
} ,
@@ -285,15 +267,13 @@ ccs.UILayout = ccs.UIWidget.extend(/** @lends ccs.UILayout# */{
285
267
addBackGroundImage : function ( ) {
286
268
if ( this . _backGroundScale9Enabled ) {
287
269
this . _backGroundImage = cc . Scale9Sprite . create ( ) ;
288
- this . _backGroundImage . setZOrder ( - 1 ) ;
289
- this . _renderer . addChild ( this . _backGroundImage ) ;
290
270
this . _backGroundImage . setPreferredSize ( this . _size ) ;
291
271
}
292
272
else {
293
273
this . _backGroundImage = cc . Sprite . create ( ) ;
294
- this . _backGroundImage . setZOrder ( - 1 ) ;
295
- this . _renderer . addChild ( this . _backGroundImage ) ;
296
274
}
275
+ this . _backGroundImage . setZOrder ( - 1 ) ;
276
+ this . _renderer . addChild ( this . _backGroundImage ) ;
297
277
this . _backGroundImage . setPosition ( cc . p ( this . _size . width / 2.0 , this . _size . height / 2.0 ) ) ;
298
278
} ,
299
279
@@ -772,8 +752,8 @@ ccs.UILayout = ccs.UIWidget.extend(/** @lends ccs.UILayout# */{
772
752
}
773
753
var locRelativeWidgetMargin ;
774
754
var locMargin = locLayoutParameter . getMargin ( ) ;
775
- if ( locRelativeWidget ) {
776
- locRelativeWidgetMargin = locRelativeWidget . getLayoutParameter ( ccs . LayoutParameterType . relative ) . getMargin ( ) ;
755
+ if ( locRelativeWidgetLP ) {
756
+ locRelativeWidgetMargin = locRelativeWidgetLP . getMargin ( ) ;
777
757
}
778
758
//handle margin
779
759
switch ( locAlign ) {
@@ -810,28 +790,128 @@ ccs.UILayout = ccs.UIWidget.extend(/** @lends ccs.UILayout# */{
810
790
break ;
811
791
812
792
case ccs . UIRelativeAlign . locationAboveLeftAlign :
793
+ locFinalPosY += locMargin . bottom ;
794
+ if ( locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopCenterHorizontal
795
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopLeft
796
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignNone
797
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopRight )
798
+ {
799
+ locFinalPosY += locRelativeWidgetMargin . top ;
800
+ }
801
+ locFinalPosY += locMargin . left ;
802
+ break ;
813
803
case ccs . UIRelativeAlign . locationAboveCenter :
804
+ locFinalPosY += locMargin . bottom ;
805
+ if ( locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopCenterHorizontal
806
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopLeft
807
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignNone
808
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopRight )
809
+ {
810
+ locFinalPosY += locRelativeWidgetMargin . top ;
811
+ }
812
+ break ;
814
813
case ccs . UIRelativeAlign . locationAboveRightAlign :
815
814
locFinalPosY += locMargin . bottom ;
816
- locFinalPosY += locRelativeWidgetMargin . top ;
815
+ if ( locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopCenterHorizontal
816
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopLeft
817
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignNone
818
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopRight )
819
+ {
820
+ locFinalPosY += locRelativeWidgetMargin . top ;
821
+ }
822
+ locFinalPosX -= locMargin . right ;
817
823
break ;
818
824
case ccs . UIRelativeAlign . locationLeftOfTopAlign :
825
+ locFinalPosX -= locMargin . right ;
826
+ if ( locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopLeft
827
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignNone
828
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentLeftBottom
829
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentLeftCenterVertical )
830
+ {
831
+ locFinalPosX -= locRelativeWidgetMargin . left ;
832
+ }
833
+ locFinalPosY -= locMargin . top ;
834
+ break ;
819
835
case ccs . UIRelativeAlign . locationLeftOfCenter :
836
+ locFinalPosX -= locMargin . right ;
837
+ if ( locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopLeft
838
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignNone
839
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentLeftBottom
840
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentLeftCenterVertical )
841
+ {
842
+ locFinalPosX -= locRelativeWidgetMargin . left ;
843
+ }
844
+ break ;
820
845
case ccs . UIRelativeAlign . locationLeftOfBottomAlign :
821
846
locFinalPosX -= locMargin . right ;
822
- locFinalPosX -= locRelativeWidgetMargin . left ;
847
+ if ( locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopLeft
848
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignNone
849
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentLeftBottom
850
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentLeftCenterVertical )
851
+ {
852
+ locFinalPosX -= locRelativeWidgetMargin . left ;
853
+ }
854
+ locFinalPosY += locMargin . bottom ;
855
+ break ;
823
856
break ;
824
857
case ccs . UIRelativeAlign . locationRightOfTopAlign :
858
+ locFinalPosX += locMargin . left ;
859
+ if ( locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopRight
860
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentRightBottom
861
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentRightCenterVertical )
862
+ {
863
+ locFinalPosX += locRelativeWidgetMargin . right ;
864
+ }
865
+ locFinalPosY -= locMargin . top ;
866
+ break ;
825
867
case ccs . UIRelativeAlign . locationRightOfCenter :
868
+ locFinalPosX += locMargin . left ;
869
+ if ( locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopRight
870
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentRightBottom
871
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentRightCenterVertical )
872
+ {
873
+ locFinalPosX += locRelativeWidgetMargin . right ;
874
+ }
875
+ break ;
826
876
case ccs . UIRelativeAlign . locationRightOfBottomAlign :
827
877
locFinalPosX += locMargin . left ;
828
- locFinalPosX += locRelativeWidgetMargin . right ;
878
+ if ( locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentTopRight
879
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentRightBottom
880
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentRightCenterVertical )
881
+ {
882
+ locFinalPosX += locRelativeWidgetMargin . right ;
883
+ }
884
+ locFinalPosY += locMargin . bottom ;
885
+ break ;
829
886
break ;
830
887
case ccs . UIRelativeAlign . locationBelowLeftAlign :
888
+ locFinalPosY -= locMargin . top ;
889
+ if ( locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentLeftBottom
890
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentRightBottom
891
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentBottomCenterHorizontal )
892
+ {
893
+ locFinalPosY -= locRelativeWidgetMargin . bottom ;
894
+ }
895
+ locFinalPosX += locMargin . left ;
896
+ break ;
831
897
case ccs . UIRelativeAlign . locationBelowCenter :
898
+ locFinalPosY -= locMargin . top ;
899
+ if ( locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentLeftBottom
900
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentRightBottom
901
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentBottomCenterHorizontal )
902
+ {
903
+ locFinalPosY -= locRelativeWidgetMargin . bottom ;
904
+ }
905
+ break ;
832
906
case ccs . UIRelativeAlign . locationBelowRightAlign :
833
907
locFinalPosY -= locMargin . top ;
834
- locFinalPosY -= locRelativeWidgetMargin . bottom ;
908
+ if ( locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentLeftBottom
909
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentRightBottom
910
+ && locRelativeWidgetLP . getAlign ( ) != ccs . UIRelativeAlign . alignParentBottomCenterHorizontal )
911
+ {
912
+ locFinalPosY -= locRelativeWidgetMargin . bottom ;
913
+ }
914
+ locFinalPosX -= locMargin . right ;
835
915
break ;
836
916
default :
837
917
break ;
@@ -930,7 +1010,7 @@ ccs.UIRectClippingNode = cc.ClippingNode.extend({
930
1010
this . _arrRect [ 3 ] = cc . p ( 0 , this . _clippingSize . height ) ;
931
1011
932
1012
var green = cc . c4f ( 0 , 1 , 0 , 1 ) ;
933
- this . _innerStencil . drawPoly ( this . _arrRect , 4 , green , 0 , green ) ;
1013
+ // this._innerStencil.drawPoly(this._arrRect,green, 0, green);
934
1014
if ( cc . Browser . supportWebGL ) {
935
1015
if ( cc . ClippingNode . prototype . init . call ( this , this . _innerStencil ) ) {
936
1016
return true ;
@@ -954,7 +1034,7 @@ ccs.UIRectClippingNode = cc.ClippingNode.extend({
954
1034
this . _arrRect [ 3 ] = cc . p ( 0 , this . _clippingSize . height ) ;
955
1035
var green = cc . c4f ( 0 , 1 , 0 , 1 ) ;
956
1036
this . _innerStencil . clear ( ) ;
957
- this . _innerStencil . drawPoly ( this . _arrRect , 4 , green , 0 , green ) ;
1037
+ // this._innerStencil.drawPoly(this._arrRect, green, 0, green);
958
1038
} ,
959
1039
960
1040
setClippingEnabled : function ( enabled ) {
@@ -1015,6 +1095,7 @@ ccs.UIRectClippingNode = cc.ClippingNode.extend({
1015
1095
1016
1096
this . _orderOfArrival = 0 ;
1017
1097
context . restore ( ) ;
1098
+ this . _stencil . visit ( ) ;
1018
1099
} ,
1019
1100
1020
1101
setEnabled : function ( enabled ) {
0 commit comments