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:22 UTC
[01/12] incubator-weex git commit: * [ios] support 3d transform
Repository: incubator-weex
Updated Branches:
refs/heads/0.14-dev 45cb5f0a4 -> 660efaac0
* [ios] support 3d transform
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5599530f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5599530f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5599530f
Branch: refs/heads/0.14-dev
Commit: 5599530fd63f831666c4431725158c6460289e34
Parents: afb5d1b
Author: acton393 <zh...@gmail.com>
Authored: Wed May 31 17:47:35 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Wed May 31 17:47:35 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Component/WXTransform.h | 3 +
ios/sdk/WeexSDK/Sources/Component/WXTransform.m | 92 ++++++++++++++++----
.../WeexSDK/Sources/Module/WXAnimationModule.m | 24 +++++
3 files changed, 102 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5599530f/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTransform.h b/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
index ddc0541..348a07d 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
@@ -25,6 +25,9 @@
@interface WXTransform : NSObject
@property (nonatomic, assign, readonly) float rotateAngle;
+@property (nonatomic, assign, readonly) float rotateX;
+@property (nonatomic, assign, readonly) float rotateY;
+@property (nonatomic, assign, readonly) float rotateZ;
@property (nonatomic, strong, readonly) WXLength *translateX;
@property (nonatomic, strong, readonly) WXLength *translateY;
@property (nonatomic, assign, readonly) float scaleX;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5599530f/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTransform.m b/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
index 29c92bc..ff8388e 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
@@ -31,13 +31,19 @@
@implementation WXTransform
{
- float _rotateAngle;
+ float _rotateAngle; //for rotate
float _scaleX;
float _scaleY;
WXLength *_translateX;
WXLength *_translateY;
WXLength *_originX;
WXLength *_originY;
+
+ //3d rotate
+ float _rotateX;
+ float _rotateY;
+ float _rotateZ;
+
}
- (instancetype)initWithCSSValue:(NSString *)cssValue origin:(NSString *)origin instance:(WXSDKInstance *)instance
@@ -46,6 +52,9 @@
_weexInstance = instance;
_scaleX = 1.0;
_scaleY = 1.0;
+ _rotateX = 0.0;
+ _rotateY = 0.0;
+ _rotateZ = 0.0;
_rotateAngle = 0.0;
[self parseTransform:cssValue];
@@ -60,6 +69,21 @@
return _rotateAngle;
}
+- (float)rotateX
+{
+ return _rotateX;
+}
+
+- (float)rotateY
+{
+ return _rotateY;
+}
+
+- (float)rotateZ
+{
+ return _rotateZ;
+}
+
- (WXLength *)translateX
{
return _translateX;
@@ -80,30 +104,51 @@
return _scaleY;
}
-- (CGAffineTransform)nativeTransformWithView:(UIView *)view
+- (CATransform3D)nativeTransformWithView:(UIView *)view
{
- CGAffineTransform nativeTransform = [self nativeTransformWithoutRotateWithView:view];
+ CATransform3D nativeTransform3d = [self nativeTransformWithoutRotateWithView:view];
- nativeTransform = CGAffineTransformRotate(nativeTransform, _rotateAngle);
+ 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;
+ }
- return nativeTransform;
+ nativeTransform3d = CATransform3DRotate(nativeTransform3d, rotateAngle, x, y, z);
+// nativeTransform = CGAffineTransformRotate(nativeTransform, _rotateAngle);
+
+ 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
@@ -146,11 +191,9 @@
_originY ? [_originY valueForMaximum:view.bounds.size.width] / view.bounds.size.height : 0.5);
[self setAnchorPoint:anchorPoint forView:view];
}
-
- CGAffineTransform nativeTransform = [self nativeTransformWithView:view];
-
- if (!CGAffineTransformEqualToTransform(view.transform, nativeTransform)) {
- view.transform = nativeTransform;
+ CATransform3D nativeTransform3d = [self nativeTransformWithView:view];
+ if (!CATransform3DEqualToTransform(view.layer.transform, nativeTransform3d)){
+ view.layer.transform = nativeTransform3d;
}
}
@@ -241,6 +284,21 @@
_rotateAngle = rotateAngle;
}
+- (void)parseRotatex:(NSArray *)value
+{
+ _rotateX = [self getAngle:value[0]];
+}
+
+- (void)parseRotatey:(NSArray *)value
+{
+ _rotateY = [self getAngle:value[0]];
+}
+
+- (void)parseRotatez:(NSArray *)value
+{
+ _rotateZ = [self getAngle:value[0]];
+}
+
- (void)parseTranslate:(NSArray *)value
{
WXLength *translateX;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5599530f/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
index eb3fd84..76a9d6a 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
@@ -201,6 +201,30 @@ WX_EXPORT_METHOD(@selector(transition:args:callback:))
newInfo.toValue = [NSNumber numberWithDouble:wxTransform.rotateAngle];
[infos addObject:newInfo];
}
+ if (wxTransform.rotateX != oldTransform.rotateX)
+ {
+ WXAnimationInfo *newInfo = [info copy];
+ newInfo.propertyName = @"transform.rotation.x";
+ newInfo.fromValue = @(oldTransform.rotateX);
+ newInfo.toValue = [NSNumber numberWithDouble:wxTransform.rotateX];
+ [infos addObject:newInfo];
+ }
+ if (wxTransform.rotateY != oldTransform.rotateY)
+ {
+ WXAnimationInfo *newInfo = [info copy];
+ newInfo.propertyName = @"transform.rotation.y";
+ newInfo.fromValue = @(oldTransform.rotateY);
+ newInfo.toValue = [NSNumber numberWithDouble:wxTransform.rotateY];
+ [infos addObject:newInfo];
+ }
+ if (wxTransform.rotateZ != oldTransform.rotateZ)
+ {
+ WXAnimationInfo *newInfo = [info copy];
+ newInfo.propertyName = @"transform.rotation.z";
+ newInfo.fromValue = @(oldTransform.rotateZ);
+ newInfo.toValue = [NSNumber numberWithDouble:wxTransform.rotateZ];
+ [infos addObject:newInfo];
+ }
if (wxTransform.scaleX != oldTransform.scaleX) {
WXAnimationInfo *newInfo = [info copy];
[10/12] incubator-weex git commit: * [ios] cancel support for
perspective style
Posted by ac...@apache.org.
* [ios] cancel support for perspective style
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5bc78941
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5bc78941
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5bc78941
Branch: refs/heads/0.14-dev
Commit: 5bc78941babb7e456ae1cea87fe850741e374866
Parents: 2742b7b
Author: acton393 <zh...@gmail.com>
Authored: Wed Jun 7 10:31:52 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Wed Jun 7 10:31:52 2017 +0800
----------------------------------------------------------------------
.../WeexSDK/Sources/Component/WXComponent_internal.h | 1 -
ios/sdk/WeexSDK/Sources/Component/WXTransform.h | 1 -
ios/sdk/WeexSDK/Sources/Component/WXTransform.m | 7 -------
ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 1 -
ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m | 2 --
.../Sources/View/WXComponent+ViewManagement.m | 15 ---------------
6 files changed, 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc78941/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h b/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
index 6e5e327..ce2e80a 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
+++ b/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
@@ -55,7 +55,6 @@
WXBoxShadow *_lastBoxShadow;
WXBoxShadow *_boxShadow;
- CGFloat _perspective;
/**
* accessibility support
*/
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc78941/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTransform.h b/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
index e9e23c3..75db1c7 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
@@ -32,7 +32,6 @@
@property (nonatomic, strong, readonly) WXLength *translateY;
@property (nonatomic, assign, readonly) float scaleX;
@property (nonatomic, assign, readonly) float scaleY;
-@property (nonatomic, assign) float perspective;
- (instancetype)initWithCSSValue:(NSString *)cssValue origin:(NSString *)origin instance:(WXSDKInstance *)instance;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc78941/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTransform.m b/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
index 8965f88..d4926a6 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
@@ -43,7 +43,6 @@
float _rotateX;
float _rotateY;
float _rotateZ;
- float _perspective;
CATransform3D _nativeTransform;
BOOL _useNativeTransform;
@@ -60,9 +59,6 @@
_rotateZ = 0.0;
_rotateAngle = 0.0;
- // default is parallel projection
- _perspective = CGFLOAT_MAX;
-
[self parseTransform:cssValue];
[self parseTransformOrigin:origin];
}
@@ -235,9 +231,6 @@
[self setAnchorPoint:anchorPoint forView:view];
}
CATransform3D nativeTransform3d = [self nativeTransformWithView:view];
- if (_perspective) {
- nativeTransform3d.m34 = -1.0/_perspective;
- }
if (!CATransform3DEqualToTransform(view.layer.transform, nativeTransform3d)){
view.layer.transform = nativeTransform3d;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc78941/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
index d66fb43..561baa5 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
@@ -92,7 +92,6 @@
_isViewFrameSyncWithCalculated = YES;
_async = NO;
- _perspective = CGFLOAT_MAX;
//TODO set indicator style
if ([type isEqualToString:@"indicator"]) {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc78941/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
index b7d550c..76a9d6a 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
@@ -91,8 +91,6 @@
if ([_animationInfo.propertyName hasPrefix:@"transform"]) {
WXTransform *transform = _animationInfo.target->_transform;
- float perspective = [[_animationInfo.target valueForKey:@"perspective"] floatValue];
- transform.perspective = perspective;
[transform applyTransformForView:_animationInfo.target.view];
} else if ([_animationInfo.propertyName isEqualToString:@"backgroundColor"]) {
_animationInfo.target.view.layer.backgroundColor = (__bridge CGColorRef _Nullable)(_animationInfo.toValue);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc78941/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
index 9923fed..3310afc 100644
--- a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
+++ b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
@@ -168,14 +168,6 @@ do {\
if (_boxShadow) {
_lastBoxShadow = _boxShadow;
}
- if (styles[@"perspective"]) {
- _perspective = [WXConvert WXPixelType:styles[@"perspective"] scaleFactor:self.weexInstance.pixelScaleFactor];
- if (_perspective <= 0) {
- _perspective = CGFLOAT_MAX;
- }
-
- _transform.perspective = _perspective;
- }
}
- (void)_updateViewStyles:(NSDictionary *)styles
@@ -243,15 +235,8 @@ do {\
self.view.hidden = YES;
}
}
- if (styles[@"perspective"]) {
- _perspective = [WXConvert WXPixelType:styles[@"perspective"] scaleFactor:self.weexInstance.pixelScaleFactor];
- if (_perspective <= 0) {
- _perspective = CGFLOAT_MAX;
- }
- }
if (styles[@"transform"]) {
_transform = [[WXTransform alloc] initWithCSSValue:[WXConvert NSString:styles[@"transform"]] origin:[WXConvert NSString:self.styles[@"transformOrigin"]] instance:self.weexInstance];
- _transform.perspective = _perspective;
if (!CGRectEqualToRect(self.calculatedFrame, CGRectZero)) {
[_transform applyTransformForView:_view];
[_layer setNeedsDisplay];
[08/12] incubator-weex git commit: * [ios] fix rotate bug
Posted by ac...@apache.org.
* [ios] fix rotate bug
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c81ea1c5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c81ea1c5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c81ea1c5
Branch: refs/heads/0.14-dev
Commit: c81ea1c542481103f4d1ab2a091d85af320b5e7d
Parents: 8a88b88
Author: acton393 <zh...@gmail.com>
Authored: Tue Jun 6 17:38:25 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Tue Jun 6 17:38:25 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Component/WXTransform.m | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c81ea1c5/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTransform.m b/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
index 1c9c49f..8965f88 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
@@ -161,6 +161,7 @@
}
if (_rotateAngle != 0) {
rotateAngle = _rotateAngle;
+ z = 1;
}
if (_rotateY != 0) {
y = 1;
[12/12] incubator-weex git commit: Merge branch '0.14-dev-rotate3D'
of https://github.com/acton393/incubator-weex into wip-us-0.14-dev
Posted by ac...@apache.org.
Merge branch '0.14-dev-rotate3D' of https://github.com/acton393/incubator-weex into wip-us-0.14-dev
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/660efaac
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/660efaac
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/660efaac
Branch: refs/heads/0.14-dev
Commit: 660efaac05c4d68e413da84700fb7a4fbc081b99
Parents: 45cb5f0 19a2052
Author: acton393 <zh...@gmail.com>
Authored: Fri Jun 9 14:21:48 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Fri Jun 9 14:21:48 2017 +0800
----------------------------------------------------------------------
.../Sources/Component/WXImageComponent.m | 7 +-
ios/sdk/WeexSDK/Sources/Component/WXTransform.h | 5 +-
ios/sdk/WeexSDK/Sources/Component/WXTransform.m | 109 ++++++++++++++-----
.../Sources/Manager/WXComponentManager.m | 5 +-
ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 2 +-
.../WeexSDK/Sources/Module/WXAnimationModule.m | 24 ++++
.../Sources/View/WXComponent+ViewManagement.m | 1 -
7 files changed, 121 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
[03/12] incubator-weex git commit: * [ios] add perspective support
Posted by ac...@apache.org.
* [ios] add perspective support
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/75008cc4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/75008cc4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/75008cc4
Branch: refs/heads/0.14-dev
Commit: 75008cc485485d280d1df89af693d27c02538417
Parents: d3b7a1c
Author: acton393 <zh...@gmail.com>
Authored: Tue Jun 6 10:40:41 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Tue Jun 6 10:40:41 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h | 1 +
ios/sdk/WeexSDK/Sources/Component/WXTransform.h | 1 +
ios/sdk/WeexSDK/Sources/Component/WXTransform.m | 6 ++++++
ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 3 ++-
ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m | 9 ++++++++-
5 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/75008cc4/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h b/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
index ce2e80a..6e5e327 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
+++ b/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
@@ -55,6 +55,7 @@
WXBoxShadow *_lastBoxShadow;
WXBoxShadow *_boxShadow;
+ CGFloat _perspective;
/**
* accessibility support
*/
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/75008cc4/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTransform.h b/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
index 75db1c7..e9e23c3 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTransform.h
@@ -32,6 +32,7 @@
@property (nonatomic, strong, readonly) WXLength *translateY;
@property (nonatomic, assign, readonly) float scaleX;
@property (nonatomic, assign, readonly) float scaleY;
+@property (nonatomic, assign) float perspective;
- (instancetype)initWithCSSValue:(NSString *)cssValue origin:(NSString *)origin instance:(WXSDKInstance *)instance;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/75008cc4/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTransform.m b/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
index fc15a49..a118c29 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
@@ -60,6 +60,9 @@
_rotateZ = 0.0;
_rotateAngle = 0.0;
+ // default is parallel projection
+ _perspective = CGFLOAT_MAX;
+
[self parseTransform:cssValue];
[self parseTransformOrigin:origin];
}
@@ -232,6 +235,9 @@
}
CATransform3D nativeTransform3d = [self nativeTransformWithView:view];
if (!CATransform3DEqualToTransform(view.layer.transform, nativeTransform3d)){
+ if (_perspective) {
+ nativeTransform3d.m34 = -1.0/_perspective;
+ }
view.layer.transform = nativeTransform3d;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/75008cc4/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
index 173dd14..d66fb43 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
@@ -92,6 +92,7 @@
_isViewFrameSyncWithCalculated = YES;
_async = NO;
+ _perspective = CGFLOAT_MAX;
//TODO set indicator style
if ([type isEqualToString:@"indicator"]) {
@@ -472,7 +473,7 @@
{
WXAssertMainThread();
- _transform = [[WXTransform alloc] initWithNativeTransform:transform instance:self.weexInstance];
+ _transform = [[WXTransform alloc] initWithNativeTransform:CATransform3DMakeAffineTransform(transform) instance:self.weexInstance];
if (!CGRectEqualToRect(self.calculatedFrame, CGRectZero)) {
[_transform applyTransformForView:_view];
[_layer setNeedsDisplay];
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/75008cc4/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
index 2a158b1..57428ce 100644
--- a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
+++ b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
@@ -168,6 +168,10 @@ do {\
if (_boxShadow) {
_lastBoxShadow = _boxShadow;
}
+ if (styles[@"perspective"]) {
+ _perspective = [WXConvert CGFloat:styles[@"perspective"]];
+ _transform.perspective = _perspective;
+ }
}
- (void)_updateViewStyles:(NSDictionary *)styles
@@ -235,9 +239,12 @@ do {\
self.view.hidden = YES;
}
}
-
+ if (styles[@"perspective"]) {
+ _perspective = [WXConvert CGFloat:styles[@"perspective"]];
+ }
if (styles[@"transform"]) {
_transform = [[WXTransform alloc] initWithCSSValue:[WXConvert NSString:styles[@"transform"]] origin:[WXConvert NSString:self.styles[@"transformOrigin"]] instance:self.weexInstance];
+ _transform.perspective = _perspective;
if (!CGRectEqualToRect(self.calculatedFrame, CGRectZero)) {
[_transform applyTransformForView:_view];
[_layer setNeedsDisplay];
[05/12] incubator-weex git commit: Merge remote-tracking branch
'wip-us/0.14-dev' into 0.14-dev-rotate3D
Posted by ac...@apache.org.
Merge remote-tracking branch 'wip-us/0.14-dev' into 0.14-dev-rotate3D
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/93039d1d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/93039d1d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/93039d1d
Branch: refs/heads/0.14-dev
Commit: 93039d1d7da3d81e9426ee9712a16f83974aa4f2
Parents: a6c508e 0218e91
Author: acton393 <zh...@gmail.com>
Authored: Tue Jun 6 15:22:33 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Tue Jun 6 15:22:33 2017 +0800
----------------------------------------------------------------------
.travis.yml | 2 +-
dangerfile.js | 33 +++++++++++---------
.../WeexDemo.xcodeproj/project.pbxproj | 2 +-
ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 2 +-
ios/sdk/WeexSDK/Sources/WeexSDK.h | 1 +
test/run.sh | 7 +++++
test/scripts/util.js | 4 +--
7 files changed, 32 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
[11/12] incubator-weex git commit: * [ios] fix component thread call
UI method
Posted by ac...@apache.org.
* [ios] fix component thread call UI method
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/19a2052c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/19a2052c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/19a2052c
Branch: refs/heads/0.14-dev
Commit: 19a2052ca2cba5d8aa1dcaab56d8d47857c4b20d
Parents: 5bc7894
Author: acton393 <zh...@gmail.com>
Authored: Thu Jun 8 10:33:40 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Thu Jun 8 10:33:40 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19a2052c/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m
index d1b15b9..180d2b3 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m
@@ -202,11 +202,10 @@ static NSThread *WXComponentThread;
_rootComponent = [self _buildComponentForData:data];
[self _initRootCSSNode];
-
- self.weexInstance.rootView.wx_component = _rootComponent;
__weak typeof(self) weakSelf = self;
[self _addUITask:^{
__strong typeof(self) strongSelf = weakSelf;
+ strongSelf.weexInstance.rootView.wx_component = strongSelf->_rootComponent;
[strongSelf.weexInstance.rootView addSubview:strongSelf->_rootComponent.view];
}];
}
@@ -508,7 +507,7 @@ static css_node_t * rootNodeGetChild(void *context, int i)
WXAssertComponentThread();
WXSDKInstance *instance = self.weexInstance;
- [self _addUITask:^{
+ [self _addUITask:^{
UIView *rootView = instance.rootView;
WX_MONITOR_INSTANCE_PERF_END(WXPTFirstScreenRender, instance);
[07/12] incubator-weex git commit: * [ios] parse quality in attributes
Posted by ac...@apache.org.
* [ios] parse quality in attributes
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/8a88b88f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/8a88b88f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/8a88b88f
Branch: refs/heads/0.14-dev
Commit: 8a88b88fd11afc6c8b0e18899a102e30d73df449
Parents: 92c2de5
Author: acton393 <zh...@gmail.com>
Authored: Tue Jun 6 17:37:35 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Tue Jun 6 17:37:35 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8a88b88f/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
index 66148c6..5c6cd05 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
@@ -76,7 +76,12 @@ static dispatch_queue_t WXImageUpdateQueue;
[self configPlaceHolder:attributes];
_resizeMode = [WXConvert UIViewContentMode:attributes[@"resize"]];
[self configFilter:styles];
- _imageQuality = [WXConvert WXImageQuality:styles[@"quality"]];
+ if (styles[@"quality"]) {
+ _imageQuality = [WXConvert WXImageQuality:styles[@"quality"]];
+ }
+ if (attributes[@"quality"]) {
+ _imageQuality = [WXConvert WXImageQuality:attributes[@"quality"]];
+ }
_imageSharp = [WXConvert WXImageSharp:styles[@"sharpen"]];
_imageLoadEvent = NO;
_imageDownloadFinish = NO;
[09/12] incubator-weex git commit: * [ios] ignore negtive value
Posted by ac...@apache.org.
* [ios] ignore negtive value
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2742b7b7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2742b7b7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2742b7b7
Branch: refs/heads/0.14-dev
Commit: 2742b7b7bfae96e30b62fb88abd8209398c3db48
Parents: c81ea1c
Author: acton393 <zh...@gmail.com>
Authored: Tue Jun 6 21:09:27 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Tue Jun 6 21:09:27 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2742b7b7/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
index d1f3edb..9923fed 100644
--- a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
+++ b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
@@ -169,10 +169,9 @@ do {\
_lastBoxShadow = _boxShadow;
}
if (styles[@"perspective"]) {
- if ([styles[@"perspective"] isEqualToString:@"none"]) {
+ _perspective = [WXConvert WXPixelType:styles[@"perspective"] scaleFactor:self.weexInstance.pixelScaleFactor];
+ if (_perspective <= 0) {
_perspective = CGFLOAT_MAX;
- }else {
- _perspective = [WXConvert WXPixelType:styles[@"perspective"] scaleFactor:self.weexInstance.pixelScaleFactor];
}
_transform.perspective = _perspective;
@@ -245,10 +244,9 @@ do {\
}
}
if (styles[@"perspective"]) {
- if ([styles[@"perspective"] isEqualToString:@"none"]) {
+ _perspective = [WXConvert WXPixelType:styles[@"perspective"] scaleFactor:self.weexInstance.pixelScaleFactor];
+ if (_perspective <= 0) {
_perspective = CGFLOAT_MAX;
- }else {
- _perspective = [WXConvert WXPixelType:styles[@"perspective"] scaleFactor:self.weexInstance.pixelScaleFactor];
}
}
if (styles[@"transform"]) {
[02/12] incubator-weex git commit: Merge remote-tracking branch
'wip-us/0.14-dev' into 0.14-dev-rotate3D
Posted by ac...@apache.org.
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
[06/12] incubator-weex git commit: * [ios] use none property
Posted by ac...@apache.org.
* [ios] use none property
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/92c2de51
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/92c2de51
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/92c2de51
Branch: refs/heads/0.14-dev
Commit: 92c2de51bfb11619ecc8720cb072beca6f1aaca9
Parents: 93039d1
Author: acton393 <zh...@gmail.com>
Authored: Tue Jun 6 16:33:53 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Tue Jun 6 16:33:53 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Component/WXTransform.m | 6 +++---
.../WeexSDK/Sources/View/WXComponent+ViewManagement.m | 13 +++++++++++--
2 files changed, 14 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/92c2de51/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTransform.m b/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
index a118c29..1c9c49f 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
@@ -234,10 +234,10 @@
[self setAnchorPoint:anchorPoint forView:view];
}
CATransform3D nativeTransform3d = [self nativeTransformWithView:view];
+ if (_perspective) {
+ nativeTransform3d.m34 = -1.0/_perspective;
+ }
if (!CATransform3DEqualToTransform(view.layer.transform, nativeTransform3d)){
- if (_perspective) {
- nativeTransform3d.m34 = -1.0/_perspective;
- }
view.layer.transform = nativeTransform3d;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/92c2de51/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
index 668f9ad..d1f3edb 100644
--- a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
+++ b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
@@ -169,7 +169,12 @@ do {\
_lastBoxShadow = _boxShadow;
}
if (styles[@"perspective"]) {
- _perspective = [WXConvert WXPixelType:styles[@"perspective"] scaleFactor:self.weexInstance.pixelScaleFactor];
+ if ([styles[@"perspective"] isEqualToString:@"none"]) {
+ _perspective = CGFLOAT_MAX;
+ }else {
+ _perspective = [WXConvert WXPixelType:styles[@"perspective"] scaleFactor:self.weexInstance.pixelScaleFactor];
+ }
+
_transform.perspective = _perspective;
}
}
@@ -240,7 +245,11 @@ do {\
}
}
if (styles[@"perspective"]) {
- _perspective = [WXConvert WXPixelType:styles[@"perspective"] scaleFactor:self.weexInstance.pixelScaleFactor];
+ if ([styles[@"perspective"] isEqualToString:@"none"]) {
+ _perspective = CGFLOAT_MAX;
+ }else {
+ _perspective = [WXConvert WXPixelType:styles[@"perspective"] scaleFactor:self.weexInstance.pixelScaleFactor];
+ }
}
if (styles[@"transform"]) {
_transform = [[WXTransform alloc] initWithCSSValue:[WXConvert NSString:styles[@"transform"]] origin:[WXConvert NSString:self.styles[@"transformOrigin"]] instance:self.weexInstance];
[04/12] incubator-weex git commit: * [ios] use pixel type
Posted by ac...@apache.org.
* [ios] use pixel type
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/a6c508e9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/a6c508e9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/a6c508e9
Branch: refs/heads/0.14-dev
Commit: a6c508e9b8aff13077ca76394e372cfa823ee951
Parents: 75008cc
Author: acton393 <zh...@gmail.com>
Authored: Tue Jun 6 15:14:23 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Tue Jun 6 15:14:23 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m | 2 ++
ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m | 4 ++--
2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a6c508e9/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
index 76a9d6a..b7d550c 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXAnimationModule.m
@@ -91,6 +91,8 @@
if ([_animationInfo.propertyName hasPrefix:@"transform"]) {
WXTransform *transform = _animationInfo.target->_transform;
+ float perspective = [[_animationInfo.target valueForKey:@"perspective"] floatValue];
+ transform.perspective = perspective;
[transform applyTransformForView:_animationInfo.target.view];
} else if ([_animationInfo.propertyName isEqualToString:@"backgroundColor"]) {
_animationInfo.target.view.layer.backgroundColor = (__bridge CGColorRef _Nullable)(_animationInfo.toValue);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a6c508e9/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
index 57428ce..668f9ad 100644
--- a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
+++ b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
@@ -169,7 +169,7 @@ do {\
_lastBoxShadow = _boxShadow;
}
if (styles[@"perspective"]) {
- _perspective = [WXConvert CGFloat:styles[@"perspective"]];
+ _perspective = [WXConvert WXPixelType:styles[@"perspective"] scaleFactor:self.weexInstance.pixelScaleFactor];
_transform.perspective = _perspective;
}
}
@@ -240,7 +240,7 @@ do {\
}
}
if (styles[@"perspective"]) {
- _perspective = [WXConvert CGFloat:styles[@"perspective"]];
+ _perspective = [WXConvert WXPixelType:styles[@"perspective"] scaleFactor:self.weexInstance.pixelScaleFactor];
}
if (styles[@"transform"]) {
_transform = [[WXTransform alloc] initWithCSSValue:[WXConvert NSString:styles[@"transform"]] origin:[WXConvert NSString:self.styles[@"transformOrigin"]] instance:self.weexInstance];