You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by mi...@apache.org on 2018/04/28 02:45:53 UTC

[1/5] incubator-weex git commit: [android] Fix the display problem of the box-shadow property of the scroller component

Repository: incubator-weex
Updated Branches:
  refs/heads/master 9e6b5f5ff -> 62439cae0


[android] Fix the display problem of the box-shadow property of the scroller component


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

Branch: refs/heads/master
Commit: 73062333b8c05a34c707c572279da0655ba55c13
Parents: 42aa126
Author: 刘坡 <li...@autonavi.com>
Authored: Mon Mar 12 14:33:35 2018 +0800
Committer: 刘坡 <li...@autonavi.com>
Committed: Mon Mar 12 14:33:35 2018 +0800

----------------------------------------------------------------------
 .../java/com/taobao/weex/utils/BoxShadowUtil.java   | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73062333/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java b/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
index 288be62..2796b32 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
@@ -392,19 +392,23 @@ public class BoxShadowUtil {
       setBounds(-paddingX, -paddingY, viewRect.width() + paddingX, viewRect.height() + paddingY);
     }
 
-    @Override
     public void draw(Canvas canvas) {
-      Rect newRect = canvas.getClipBounds();
+      Rect bounds = canvas.getClipBounds();
+      Rect newRect = new Rect(bounds);
       // Make the Canvas Rect bigger according to the padding.
       newRect.inset(-paddingX * 2, -paddingY * 2);
       canvas.clipRect(newRect, Region.Op.REPLACE);
 
       Path contentPath = new Path();
-      RectF rectF = new RectF(0f, 0f, viewRect.width(), viewRect.height());
+      // the content area map must be aligned with bounds
+      RectF rectF = new RectF(bounds);
       contentPath.addRoundRect(rectF, radii, Path.Direction.CCW);
       // can not antialias
       canvas.clipPath(contentPath, Region.Op.DIFFERENCE);
 
+      // translate the canvas to a suitable position and then draw the bitmap, otherwise draw from the origin(0, 0)
+      canvas.translate(bounds.left, bounds.top);
+
       super.draw(canvas);
     }
   }
@@ -517,12 +521,16 @@ public class BoxShadowUtil {
 
     @Override
     public void draw(Canvas canvas) {
+      Rect bounds = canvas.getClipBounds();
       Path border = new Path();
-      RectF rectF = new RectF(0, 0, canvas.getWidth(), canvas.getHeight());
+      RectF rectF = new RectF(bounds);
       border.addRoundRect(rectF, radii, Path.Direction.CCW);
       canvas.clipPath(border);
       //TODO: we need clip border-width too
 
+      // translate the canvas to the right place and then draw the inner shadow
+      canvas.translate(bounds.left, bounds.top);
+
       for (int i = 0; i < 4; i++) {
         Shader shader = shades[i];
         Path path = paths[i];


[5/5] incubator-weex git commit: Merge remote-tracking branch 'upstream/pr1114' into apache-master

Posted by mi...@apache.org.
Merge remote-tracking branch 'upstream/pr1114' into apache-master


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

Branch: refs/heads/master
Commit: 62439cae0be8689dec47dad5ca1189a7f48eb8bf
Parents: 467840a ee16722
Author: misakuo <mi...@apache.org>
Authored: Sat Apr 28 10:45:43 2018 +0800
Committer: misakuo <mi...@apache.org>
Committed: Sat Apr 28 10:45:43 2018 +0800

----------------------------------------------------------------------
 .../com/taobao/weex/ui/component/WXVContainer.java | 17 ++++++++++++++++-
 .../java/com/taobao/weex/utils/BoxShadowUtil.java  |  6 ++++--
 test/pages/css/border.vue                          |  9 +++++++++
 3 files changed, 29 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/62439cae/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
----------------------------------------------------------------------


[4/5] incubator-weex git commit: Merge remote-tracking branch 'upstream/pr1064' into apache-master

Posted by mi...@apache.org.
Merge remote-tracking branch 'upstream/pr1064' into apache-master


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

Branch: refs/heads/master
Commit: 467840a12fa272427617e6d044d47324a24a2eab
Parents: 9e6b5f5 7306233
Author: misakuo <mi...@apache.org>
Authored: Sat Apr 28 10:45:20 2018 +0800
Committer: misakuo <mi...@apache.org>
Committed: Sat Apr 28 10:45:20 2018 +0800

----------------------------------------------------------------------
 .../java/com/taobao/weex/utils/BoxShadowUtil.java   | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/467840a1/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
----------------------------------------------------------------------


[3/5] incubator-weex git commit: * [test] add box-shadow test case

Posted by mi...@apache.org.
* [test] add box-shadow test case


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

Branch: refs/heads/master
Commit: ee167224ff06e80a85141a305b80550d251a7481
Parents: 46cdd0e
Author: Yanjiie <su...@163.com>
Authored: Tue Apr 17 10:04:12 2018 +0800
Committer: Yanjiie <su...@163.com>
Committed: Tue Apr 17 10:04:12 2018 +0800

----------------------------------------------------------------------
 test/pages/css/border.vue | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ee167224/test/pages/css/border.vue
----------------------------------------------------------------------
diff --git a/test/pages/css/border.vue b/test/pages/css/border.vue
index 804669f..3e7ea51 100644
--- a/test/pages/css/border.vue
+++ b/test/pages/css/border.vue
@@ -53,6 +53,7 @@
         <text class="boxShadow1"></text>
         <text class="boxShadow2"></text>
         <text class="boxShadow3"></text>
+        <text class="boxShadow4"></text>
         <text test-id="test-text">box shadow</text>
     </div>
     <div class="container">
@@ -305,6 +306,14 @@
   border-bottom-right-radius: 50px;
   margin:30px;
 }
+.boxShadow4 {
+  width: 100px;
+  height: 45px;
+  background-color: red;
+  box-shadow: 0px 0px 10px 0px green;
+  padding: 20px;
+  border-width: 5px;
+}
 
 .circle {
   width: 100px;


[2/5] incubator-weex git commit: * [android] fix box-shadow size should cover padding and border

Posted by mi...@apache.org.
* [android] fix box-shadow size should cover padding and border


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

Branch: refs/heads/master
Commit: 46cdd0e0265368cd6b4eb13e6954c5e03c207736
Parents: ea2e12f
Author: Yanjiie <su...@163.com>
Authored: Tue Apr 17 09:37:58 2018 +0800
Committer: Yanjiie <su...@163.com>
Committed: Tue Apr 17 09:37:58 2018 +0800

----------------------------------------------------------------------
 .../com/taobao/weex/ui/component/WXVContainer.java | 17 ++++++++++++++++-
 .../java/com/taobao/weex/utils/BoxShadowUtil.java  |  6 ++++--
 2 files changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46cdd0e0/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java
index 635b8e4..2bb4703 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java
@@ -29,11 +29,13 @@ import android.util.Pair;
 import android.view.Menu;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.FrameLayout;
 
 import com.taobao.weex.WXSDKInstance;
 import com.taobao.weex.annotation.JSMethod;
 import com.taobao.weex.common.Constants;
 import com.taobao.weex.dom.WXDomObject;
+import com.taobao.weex.dom.flex.Spacing;
 import com.taobao.weex.ui.view.WXImageView;
 import com.taobao.weex.utils.WXLogUtils;
 import com.taobao.weex.utils.WXUtils;
@@ -596,7 +598,20 @@ public abstract class WXVContainer<T extends ViewGroup> extends WXComponent<T> {
         if (mBoxShadowHost == null) {
           mBoxShadowHost = new BoxShadowHost(getContext());
           WXViewUtils.setBackGround(mBoxShadowHost, null);
-          mBoxShadowHost.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
+
+          Spacing padding = this.getDomObject().getPadding();
+          Spacing border = this.getDomObject().getBorder();
+
+          int left = (int) (padding.get(Spacing.LEFT) + border.get(Spacing.LEFT));
+          int top = (int) (padding.get(Spacing.TOP) + border.get(Spacing.TOP));
+          int right = (int) (padding.get(Spacing.RIGHT) + border.get(Spacing.RIGHT));
+          int bottom = (int) (padding.get(Spacing.BOTTOM) + border.get(Spacing.BOTTOM));
+
+          ViewGroup.MarginLayoutParams layoutParams = new ViewGroup.MarginLayoutParams(hostView.getLayoutParams()) ;
+          layoutParams.setMargins(-left, -top, -right, -bottom);
+
+          mBoxShadowHost.setLayoutParams(layoutParams);
+
           hostView.addView(mBoxShadowHost);
         }
         hostView.removeView(mBoxShadowHost);

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46cdd0e0/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java b/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
index b4adbb4..dba8b63 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
@@ -65,12 +65,12 @@ import java.util.regex.Pattern;
 
 public class BoxShadowUtil {
   private static final String TAG = "BoxShadowUtil";
-  private static boolean sBoxShadowEnabled = false /*disable box-shadow temporary*/;
+  private static boolean sBoxShadowEnabled = true /*disable box-shadow temporary*/;
 
   private static Pattern sColorPattern;
 
   public static void setBoxShadowEnabled(boolean enabled) {
-    //sBoxShadowEnabled = enabled;
+    sBoxShadowEnabled = enabled;
     WXLogUtils.w(TAG, "Switch box-shadow status: " + enabled);
   }
 
@@ -195,6 +195,8 @@ public class BoxShadowUtil {
     int h = target.getHeight();
     int w = target.getWidth();
 
+    ViewGroup.LayoutParams p = target.getLayoutParams();
+
     if (h == 0 || w == 0) {
       Log.w(TAG, "Target view is invisible, ignore set shadow.");
       return;