From ce3cbd145b4222779abae32869da8dd3c2aefb67 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Mon, 25 Feb 2013 15:00:36 -0800 Subject: Disable clipping where unnecessary This change prevents the renderer from using a stencil buffer to render rotated CellLayouts. Change-Id: I0414f59ed45502323ab588820ceb4a5e3ec17140 --- src/com/android/launcher2/CellLayout.java | 5 +++++ src/com/android/launcher2/Workspace.java | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java index 7818da435..23d1d61c8 100644 --- a/src/com/android/launcher2/CellLayout.java +++ b/src/com/android/launcher2/CellLayout.java @@ -181,6 +181,11 @@ public class CellLayout extends ViewGroup { // A ViewGroup usually does not draw, but CellLayout needs to draw a rectangle to show // the user where a dragged item will land when dropped. setWillNotDraw(false); + // CellLayout guarantees its children are not laid out outside of its bounds, + // child clipping is thus unnecessary and disabling it offers better performance + // when we rotate the whole layout + setClipChildren(false); + setClipToPadding(false); mLauncher = (Launcher) context; TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CellLayout, defStyle, 0); diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index 529f4257d..20bcca7ee 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -409,6 +409,8 @@ public class Workspace extends SmoothPagedView LauncherApplication app = (LauncherApplication)context.getApplicationContext(); mIconCache = app.getIconCache(); setWillNotDraw(false); + setClipChildren(false); + setClipToPadding(false); setChildrenDrawnWithCacheEnabled(true); final Resources res = getResources(); -- cgit v1.2.3