diff options
author | nicolasroard <nicolasroard@google.com> | 2013-03-09 11:18:43 -0800 |
---|---|---|
committer | nicolasroard <nicolasroard@google.com> | 2013-03-11 10:33:31 -0700 |
commit | 28bf7ac129344ca6306d83fc114759c9cf923806 (patch) | |
tree | 998b953d768c6b59f36b7063a8e7228fb758a07a /src/com | |
parent | 976e017fa90c7134ef62cd69f61bbc08315b6042 (diff) | |
download | android_packages_apps_Snap-28bf7ac129344ca6306d83fc114759c9cf923806.tar.gz android_packages_apps_Snap-28bf7ac129344ca6306d83fc114759c9cf923806.tar.bz2 android_packages_apps_Snap-28bf7ac129344ca6306d83fc114759c9cf923806.zip |
Add tiled background
Change-Id: I52292f6cae4f1121795829663dc4738cb38a953b
Diffstat (limited to 'src/com')
3 files changed, 38 insertions, 17 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index e36a3841e..1c7c0642a 100644 --- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java +++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java @@ -37,13 +37,8 @@ import android.provider.MediaStore; import android.util.DisplayMetrics; import android.util.Log; import android.util.TypedValue; -import android.view.Display; -import android.view.LayoutInflater; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; +import android.view.*; import android.view.View.OnClickListener; -import android.view.WindowManager; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.FrameLayout; @@ -208,23 +203,32 @@ public class FilterShowActivity extends Activity implements OnItemClickListener, mPanelController.addView(findViewById(R.id.applyEffect)); + ((ViewStub) findViewById(R.id.historyPanelStub)).inflate(); + ((ViewStub) findViewById(R.id.statePanelStub)).inflate(); + setupHistoryPanel(); + setupStatePanel(); + + mPanelController.setRowPanel(findViewById(R.id.secondRowPanel)); + mPanelController.setUtilityPanel(this, findViewById(R.id.filterButtonsList), + findViewById(R.id.panelAccessoryViewList), + findViewById(R.id.applyEffect)); + + mPanelController.setCurrentPanel(R.id.fxButton); + } + + public void setupHistoryPanel() { findViewById(R.id.resetOperationsButton).setOnClickListener( createOnClickResetOperationsButton()); ListView operationsList = (ListView) findViewById(R.id.operationsList); operationsList.setAdapter(mMasterImage.getHistory()); operationsList.setOnItemClickListener(this); + } + public void setupStatePanel() { ListView imageStateList = (ListView) findViewById(R.id.imageStateList); imageStateList.setAdapter(mMasterImage.getState()); mImageLoader.setAdapter(mMasterImage.getHistory()); - - mPanelController.setRowPanel(findViewById(R.id.secondRowPanel)); - mPanelController.setUtilityPanel(this, findViewById(R.id.filterButtonsList), - findViewById(R.id.panelAccessoryViewList), - findViewById(R.id.applyEffect)); - - mPanelController.setCurrentPanel(R.id.fxButton); } private void fillPanel(Vector<FilterRepresentation> representations, int layoutId, int buttonId) { diff --git a/src/com/android/gallery3d/filtershow/HistoryAdapter.java b/src/com/android/gallery3d/filtershow/HistoryAdapter.java index a10e66ba4..dc42f4027 100644 --- a/src/com/android/gallery3d/filtershow/HistoryAdapter.java +++ b/src/com/android/gallery3d/filtershow/HistoryAdapter.java @@ -205,7 +205,7 @@ public class HistoryAdapter extends ArrayAdapter<ImagePreset> { if (position == mCurrentPresetPosition) { view.setBackgroundColor(Color.WHITE); } else { - view.setBackgroundResource(R.drawable.filtershow_button_background); + view.setBackgroundResource(R.color.background_main_toolbar); } } diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java index f44e6f5a7..92d6c7435 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java @@ -28,6 +28,7 @@ import android.graphics.RectF; import android.net.Uri; import android.os.Handler; import android.util.AttributeSet; +import android.util.Log; import android.view.GestureDetector; import android.view.GestureDetector.OnDoubleTapListener; import android.view.GestureDetector.OnGestureListener; @@ -249,7 +250,7 @@ public class ImageShow extends View implements OnGestureListener, Point translate = MasterImage.getImage().getTranslation(); float scaleFactor = MasterImage.getImage().getScaleFactor(); m.postTranslate(translate.x, translate.y); - m.postScale(scaleFactor, scaleFactor, getWidth()/2.0f, getHeight()/2.0f); + m.postScale(scaleFactor, scaleFactor, getWidth() / 2.0f, getHeight() / 2.0f); return m; } @@ -301,12 +302,26 @@ public class ImageShow extends View implements OnGestureListener, @Override public void onDraw(Canvas canvas) { MasterImage.getImage().setImageShowSize(getWidth(), getHeight()); - canvas.save(); - // TODO: center scale on gesture + float cx = canvas.getWidth()/2.0f; float cy = canvas.getHeight()/2.0f; float scaleFactor = MasterImage.getImage().getScaleFactor(); Point translation = MasterImage.getImage().getTranslation(); + + Matrix scalingMatrix = new Matrix(); + scalingMatrix.postScale(scaleFactor, scaleFactor, cx, cy); + scalingMatrix.preTranslate(translation.x, translation.y); + + RectF unscaledClipRect = new RectF(mImageBounds); + scalingMatrix.mapRect(unscaledClipRect, unscaledClipRect); + + canvas.save(); + if (!unscaledClipRect.isEmpty()) { + canvas.clipRect(unscaledClipRect); + } + + canvas.save(); + // TODO: center scale on gesture canvas.scale(scaleFactor, scaleFactor, cx, cy); canvas.translate(translation.x, translation.y); drawBackground(canvas); @@ -337,6 +352,8 @@ public class ImageShow extends View implements OnGestureListener, drawPartialImage(canvas, getGeometryOnlyImage()); canvas.restore(); + canvas.restore(); + drawToast(canvas); } |