summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/ui/AlbumSetSlotRenderer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/ui/AlbumSetSlotRenderer.java')
-rw-r--r--src/com/android/gallery3d/ui/AlbumSetSlotRenderer.java242
1 files changed, 0 insertions, 242 deletions
diff --git a/src/com/android/gallery3d/ui/AlbumSetSlotRenderer.java b/src/com/android/gallery3d/ui/AlbumSetSlotRenderer.java
deleted file mode 100644
index 5332ef89a..000000000
--- a/src/com/android/gallery3d/ui/AlbumSetSlotRenderer.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.gallery3d.ui;
-
-import com.android.gallery3d.R;
-import com.android.gallery3d.app.AbstractGalleryActivity;
-import com.android.gallery3d.app.AlbumSetDataLoader;
-import com.android.gallery3d.data.MediaObject;
-import com.android.gallery3d.data.Path;
-import com.android.gallery3d.glrenderer.ColorTexture;
-import com.android.gallery3d.glrenderer.FadeInTexture;
-import com.android.gallery3d.glrenderer.GLCanvas;
-import com.android.gallery3d.glrenderer.ResourceTexture;
-import com.android.gallery3d.glrenderer.Texture;
-import com.android.gallery3d.glrenderer.TiledTexture;
-import com.android.gallery3d.glrenderer.UploadedTexture;
-import com.android.gallery3d.ui.AlbumSetSlidingWindow.AlbumSetEntry;
-
-public class AlbumSetSlotRenderer extends AbstractSlotRenderer {
- @SuppressWarnings("unused")
- private static final String TAG = "AlbumSetView";
- private static final int CACHE_SIZE = 96;
- private final int mPlaceholderColor;
-
- private final ColorTexture mWaitLoadingTexture;
- private final ResourceTexture mCameraOverlay;
- private final AbstractGalleryActivity mActivity;
- private final SelectionManager mSelectionManager;
- protected final LabelSpec mLabelSpec;
-
- protected AlbumSetSlidingWindow mDataWindow;
- private SlotView mSlotView;
-
- private int mPressedIndex = -1;
- private boolean mAnimatePressedUp;
- private Path mHighlightItemPath = null;
- private boolean mInSelectionMode;
-
- public static class LabelSpec {
- public int labelBackgroundHeight;
- public int titleOffset;
- public int countOffset;
- public int titleFontSize;
- public int countFontSize;
- public int leftMargin;
- public int iconSize;
- public int titleRightMargin;
- public int backgroundColor;
- public int titleColor;
- public int countColor;
- public int borderSize;
- }
-
- public AlbumSetSlotRenderer(AbstractGalleryActivity activity,
- SelectionManager selectionManager,
- SlotView slotView, LabelSpec labelSpec, int placeholderColor) {
- super (activity);
- mActivity = activity;
- mSelectionManager = selectionManager;
- mSlotView = slotView;
- mLabelSpec = labelSpec;
- mPlaceholderColor = placeholderColor;
-
- mWaitLoadingTexture = new ColorTexture(mPlaceholderColor);
- mWaitLoadingTexture.setSize(1, 1);
- mCameraOverlay = new ResourceTexture(activity,
- R.drawable.ic_cameraalbum_overlay);
- }
-
- public void setPressedIndex(int index) {
- if (mPressedIndex == index) return;
- mPressedIndex = index;
- mSlotView.invalidate();
- }
-
- public void setPressedUp() {
- if (mPressedIndex == -1) return;
- mAnimatePressedUp = true;
- mSlotView.invalidate();
- }
-
- public void setHighlightItemPath(Path path) {
- if (mHighlightItemPath == path) return;
- mHighlightItemPath = path;
- mSlotView.invalidate();
- }
-
- public void setModel(AlbumSetDataLoader model) {
- if (mDataWindow != null) {
- mDataWindow.setListener(null);
- mDataWindow = null;
- mSlotView.setSlotCount(0);
- }
- if (model != null) {
- mDataWindow = new AlbumSetSlidingWindow(
- mActivity, model, mLabelSpec, CACHE_SIZE);
- mDataWindow.setListener(new MyCacheListener());
- mSlotView.setSlotCount(mDataWindow.size());
- }
- }
-
- private static Texture checkLabelTexture(Texture texture) {
- return ((texture instanceof UploadedTexture)
- && ((UploadedTexture) texture).isUploading())
- ? null
- : texture;
- }
-
- private static Texture checkContentTexture(Texture texture) {
- return ((texture instanceof TiledTexture)
- && !((TiledTexture) texture).isReady())
- ? null
- : texture;
- }
-
- @Override
- public int renderSlot(GLCanvas canvas, int index, int pass, int width, int height) {
- AlbumSetEntry entry = mDataWindow.get(index);
- int renderRequestFlags = 0;
- renderRequestFlags |= renderContent(canvas, entry, width, height);
- renderRequestFlags |= renderLabel(canvas, entry, width, height);
- renderRequestFlags |= renderOverlay(canvas, index, entry, width, height);
- return renderRequestFlags;
- }
-
- protected int renderOverlay(
- GLCanvas canvas, int index, AlbumSetEntry entry, int width, int height) {
- int renderRequestFlags = 0;
- if (entry.album != null && entry.album.isCameraRoll()) {
- int uncoveredHeight = height - mLabelSpec.labelBackgroundHeight;
- int dim = uncoveredHeight / 2;
- mCameraOverlay.draw(canvas, (width - dim) / 2,
- (uncoveredHeight - dim) / 2, dim, dim);
- }
- if (mPressedIndex == index) {
- if (mAnimatePressedUp) {
- drawPressedUpFrame(canvas, width, height);
- renderRequestFlags |= SlotView.RENDER_MORE_FRAME;
- if (isPressedUpFrameFinished()) {
- mAnimatePressedUp = false;
- mPressedIndex = -1;
- }
- } else {
- drawPressedFrame(canvas, width, height);
- }
- } else if ((mHighlightItemPath != null) && (mHighlightItemPath == entry.setPath)) {
- drawSelectedFrame(canvas, width, height);
- } else if (mInSelectionMode && mSelectionManager.isItemSelected(entry.setPath)) {
- drawSelectedFrame(canvas, width, height);
- }
- return renderRequestFlags;
- }
-
- protected int renderContent(
- GLCanvas canvas, AlbumSetEntry entry, int width, int height) {
- int renderRequestFlags = 0;
-
- Texture content = checkContentTexture(entry.content);
- if (content == null) {
- content = mWaitLoadingTexture;
- entry.isWaitLoadingDisplayed = true;
- } else if (entry.isWaitLoadingDisplayed) {
- entry.isWaitLoadingDisplayed = false;
- content = new FadeInTexture(mPlaceholderColor, entry.bitmapTexture);
- entry.content = content;
- }
- drawContent(canvas, content, width, height, entry.rotation);
- if ((content instanceof FadeInTexture) &&
- ((FadeInTexture) content).isAnimating()) {
- renderRequestFlags |= SlotView.RENDER_MORE_FRAME;
- }
-
- return renderRequestFlags;
- }
-
- protected int renderLabel(
- GLCanvas canvas, AlbumSetEntry entry, int width, int height) {
- Texture content = checkLabelTexture(entry.labelTexture);
- if (content == null) {
- content = mWaitLoadingTexture;
- }
- int b = AlbumLabelMaker.getBorderSize();
- int h = mLabelSpec.labelBackgroundHeight;
- content.draw(canvas, -b, height - h + b, width + b + b, h);
-
- return 0;
- }
-
- @Override
- public void prepareDrawing() {
- mInSelectionMode = mSelectionManager.inSelectionMode();
- }
-
- private class MyCacheListener implements AlbumSetSlidingWindow.Listener {
-
- @Override
- public void onSizeChanged(int size) {
- mSlotView.setSlotCount(size);
- }
-
- @Override
- public void onContentChanged() {
- mSlotView.invalidate();
- }
- }
-
- public void pause() {
- mDataWindow.pause();
- }
-
- public void resume() {
- mDataWindow.resume();
- }
-
- @Override
- public void onVisibleRangeChanged(int visibleStart, int visibleEnd) {
- if (mDataWindow != null) {
- mDataWindow.setActiveWindow(visibleStart, visibleEnd);
- }
- }
-
- @Override
- public void onSlotSizeChanged(int width, int height) {
- if (mDataWindow != null) {
- mDataWindow.onSlotSizeChanged(width, height);
- }
- }
-}