You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ac...@apache.org on 2017/06/09 06:22:23 UTC

[02/12] incubator-weex git commit: Merge remote-tracking branch 'wip-us/0.14-dev' into 0.14-dev-rotate3D

Merge remote-tracking branch 'wip-us/0.14-dev' into 0.14-dev-rotate3D

# Conflicts:
#	ios/sdk/WeexSDK/Sources/Component/WXTransform.m


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/d3b7a1c5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/d3b7a1c5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/d3b7a1c5

Branch: refs/heads/0.14-dev
Commit: d3b7a1c5f634ff49333dca55ac9dc23bd7601e78
Parents: 5599530 eb1e637
Author: acton393 <zh...@gmail.com>
Authored: Mon Jun 5 16:48:07 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Mon Jun 5 16:48:07 2017 +0800

----------------------------------------------------------------------
 .travis.yml                                     |   1 +
 android/build.gradle                            |   8 +-
 android/commons/build.gradle                    |   1 +
 .../adapter/DefaultWebSocketAdapter.java        |  54 ++++-
 .../weex/commons/util/RequestIdGenerator.java   |  15 ++
 .../weex/commons/util/WSEventReporter.java      | 192 ++++++++++++++++
 android/playground/app/build.gradle             |   2 +-
 .../java/com/alibaba/weex/WXApplication.java    |   2 +
 .../extend/adapter/InterceptWXHttpAdapter.java  |  57 +++--
 .../com/taobao/weex/bridge/WXBridgeManager.java |  45 ++--
 .../com/taobao/weex/common/WXPerformance.java   |   9 +-
 .../ui/component/AbstractEditComponent.java     |  16 +-
 .../taobao/weex/ui/component/WXComponent.java   |  23 +-
 .../java/com/taobao/weex/utils/WXViewUtils.java |   3 +-
 .../java/com/taobao/weex/WXSDKEngineTest.java   |   1 -
 dangerfile.js                                   |   4 +
 .../Sources/Component/WXCycleSliderComponent.m  |   6 +-
 .../Sources/Component/WXSliderComponent.m       |   1 +
 .../WeexSDK/Sources/Component/WXTextComponent.m |  28 ++-
 ios/sdk/WeexSDK/Sources/Component/WXTransform.h |   4 +
 ios/sdk/WeexSDK/Sources/Component/WXTransform.m |  45 +++-
 .../Sources/Controller/WXBaseViewController.m   |   6 -
 ios/sdk/WeexSDK/Sources/Model/WXComponent.h     |   5 +
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m     |  21 +-
 .../Sources/View/WXComponent+ViewManagement.m   |  14 +-
 test/mocha.opts                                 |   2 +-
 test/pages/components/scroller-fixed.vue        |  14 +-
 test/pages/components/slider-common.vue         | 229 +++++++++++++++++++
 test/scripts/components/recycler.test.js        |  12 +-
 test/scripts/components/scroller-fixed.test.js  |   5 +-
 test/scripts/components/slider-common.test.js   | 100 ++++++++
 test/scripts/util.js                            |  24 ++
 32 files changed, 839 insertions(+), 110 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/d3b7a1c5/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
----------------------------------------------------------------------
diff --cc ios/sdk/WeexSDK/Sources/Component/WXTransform.h
index 348a07d,e2fcb3e..75db1c7
--- a/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
@@@ -35,6 -32,10 +35,10 @@@
  
  - (instancetype)initWithCSSValue:(NSString *)cssValue origin:(NSString *)origin instance:(WXSDKInstance *)instance;
  
 -- (instancetype)initWithNativeTransform:(CGAffineTransform)transform instance:(WXSDKInstance *)instance;
++- (instancetype)initWithNativeTransform:(CATransform3D)transform instance:(WXSDKInstance *)instance;
+ 
  - (void)applyTransformForView:(UIView *)view;
  
+ - (void)setTransformOrigin:(NSString *)transformOriginCSS;
+ 
  @end

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/d3b7a1c5/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
----------------------------------------------------------------------
diff --cc ios/sdk/WeexSDK/Sources/Component/WXTransform.m
index ff8388e,6999b1f..fc15a49
--- a/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
@@@ -39,11 -39,8 +39,14 @@@
      WXLength *_originX;
      WXLength *_originY;
      
 -    CGAffineTransform _nativeTransform;
 +    //3d rotate
 +    float _rotateX;
 +    float _rotateY;
 +    float _rotateZ;
++    float _perspective;
 +    
++    CATransform3D _nativeTransform;
+     BOOL _useNativeTransform;
  }
  
  - (instancetype)initWithCSSValue:(NSString *)cssValue origin:(NSString *)origin instance:(WXSDKInstance *)instance
@@@ -64,91 -58,90 +67,127 @@@
      return self;
  }
  
 -- (instancetype)initWithNativeTransform:(CGAffineTransform)transform instance:(WXSDKInstance *)instance
++- (instancetype)initWithNativeTransform:(CATransform3D)transform instance:(WXSDKInstance *)instance
+ {
+     if (self = [super init]) {
+         _weexInstance = instance;
+         _nativeTransform = transform;
+         _useNativeTransform = YES;
+     }
 -    
+     return self;
+ }
+ 
  - (float)rotateAngle
  {
+     if (_useNativeTransform) {
 -        return atan2(_nativeTransform.b, _nativeTransform.a);
++        return atan2(_nativeTransform.m11, _nativeTransform.m12);
+     }
      return _rotateAngle;
  }
  
 +- (float)rotateX
 +{
++    if (_useNativeTransform) {
++        return atan2(_nativeTransform.m22, _nativeTransform.m23);
++    }
 +    return _rotateX;
 +}
 +
 +- (float)rotateY
 +{
++    if (_useNativeTransform) {
++        return atan2(_nativeTransform.m11, _nativeTransform.m31);
++    }
 +    return _rotateY;
 +}
 +
 +- (float)rotateZ
 +{
 +    return _rotateZ;
 +}
 +
  - (WXLength *)translateX
  {
+     if (_useNativeTransform) {
 -        return [WXLength lengthWithFloat:_nativeTransform.tx type:WXLengthTypeFixed];
++        return [WXLength lengthWithFloat:_nativeTransform.m41 type:WXLengthTypeFixed];
+     }
      return _translateX;
  }
  
  - (WXLength *)translateY
  {
+     if (_useNativeTransform) {
 -        return [WXLength lengthWithFloat:_nativeTransform.ty type:WXLengthTypeFixed];
++        return [WXLength lengthWithFloat:_nativeTransform.m42 type:WXLengthTypeFixed];
+     }
      return _translateY;
  }
  
  - (float)scaleX
  {
+     if (_useNativeTransform) {
 -        return sqrt(_nativeTransform.a * _nativeTransform.a + _nativeTransform.c * _nativeTransform.c);
++        return sqrt(_nativeTransform.m11 * _nativeTransform.m11 + _nativeTransform.m21 * _nativeTransform.m21);
+     }
      return _scaleX;
  }
  
  - (float)scaleY
  {
+     if (_useNativeTransform) {
 -        return sqrt(_nativeTransform.b * _nativeTransform.b + _nativeTransform.d * _nativeTransform.d);
++        return sqrt(_nativeTransform.m12 * _nativeTransform.m12 + _nativeTransform.m22 * _nativeTransform.m22);
+     }
      return _scaleY;
  }
  
+ - (void)setTransformOrigin:(NSString *)transformOriginCSS
+ {
+     [self parseTransformOrigin:transformOriginCSS];
+ }
+ 
 -- (CGAffineTransform)nativeTransformWithView:(UIView *)view
 +- (CATransform3D)nativeTransformWithView:(UIView *)view
  {
+     if (_useNativeTransform) {
+         return _nativeTransform;
+     }
 +    CATransform3D nativeTransform3d = [self nativeTransformWithoutRotateWithView:view];
      
 -    CGAffineTransform nativeTransform = [self nativeTransformWithoutRotateWithView:view];
 +    float x = 0,y = 0,z = 0;
 +    float rotateAngle = 0;
 +    if (_rotateZ != 0) {
 +        z = 1;
 +        rotateAngle = _rotateZ;
 +    }
 +    if (_rotateAngle != 0) {
 +        rotateAngle = _rotateAngle;
 +    }
 +    if (_rotateY != 0) {
 +        y = 1;
 +        rotateAngle = _rotateY;
 +    }
 +    if (_rotateX != 0) {
 +        x = 1;
 +        rotateAngle = _rotateX;
 +    }
      
 -    nativeTransform = CGAffineTransformRotate(nativeTransform, _rotateAngle);
 +    nativeTransform3d = CATransform3DRotate(nativeTransform3d, rotateAngle, x, y, z);
- //    nativeTransform = CGAffineTransformRotate(nativeTransform, _rotateAngle);
      
 -    return nativeTransform;
 +    return nativeTransform3d;
  }
  
 -- (CGAffineTransform)nativeTransformWithoutRotateWithView:(UIView *)view
 +- (CATransform3D)nativeTransformWithoutRotateWithView:(UIView *)view
  {
- //    CGAffineTransform nativeTransform = CGAffineTransformIdentity;
 -    CGAffineTransform nativeTransform = CGAffineTransformIdentity;
 +    CATransform3D nativeTansform3D = CATransform3DIdentity;
      
      if (!view || view.bounds.size.width <= 0 || view.bounds.size.height <= 0) {
 -        return nativeTransform;
 +        return nativeTansform3D;
      }
      
      if (_translateX || _translateY) {
 -        nativeTransform = CGAffineTransformTranslate(nativeTransform, _translateX ? [_translateX valueForMaximum:view.bounds.size.width] : 0,  _translateY ? [_translateY valueForMaximum:view.bounds.size.height] : 0);
 +        
 +        nativeTansform3D = CATransform3DTranslate(nativeTansform3D, _translateX ? [_translateX valueForMaximum:view.bounds.size.width] : 0, _translateY ? [_translateY valueForMaximum:view.bounds.size.height]:0, 0);
- //        nativeTransform = CGAffineTransformTranslate(nativeTransform, _translateX ? [_translateX valueForMaximum:view.bounds.size.width] : 0,  _translateY ? [_translateY valueForMaximum:view.bounds.size.height] : 0);
      }
 +    nativeTansform3D = CATransform3DScale(nativeTansform3D, _scaleX, _scaleY, 1.0);
      
 -    nativeTransform = CGAffineTransformScale(nativeTransform, _scaleX, _scaleY);
 -    
 -    return nativeTransform;
 +    return nativeTansform3D;
  }
  
  -(void)setAnchorPoint:(CGPoint)anchorPoint forView:(UIView *)view