115b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang/*
215b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang * Copyright (C) 2012 The Android Open Source Project
315b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang *
415b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang * Licensed under the Apache License, Version 2.0 (the "License");
515b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang * you may not use this file except in compliance with the License.
615b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang * You may obtain a copy of the License at
715b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang *
815b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang *      http://www.apache.org/licenses/LICENSE-2.0
915b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang *
1015b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang * Unless required by applicable law or agreed to in writing, software
1115b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang * distributed under the License is distributed on an "AS IS" BASIS,
1215b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1315b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang * See the License for the specific language governing permissions and
1415b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang * limitations under the License.
1515b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang */
1615b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Changpackage com.android.gallery3d.ui;
1715b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang
1815b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Changimport android.graphics.RectF;
1915b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang
20a4eae1abb4f2547dfbda84301ee764ce35464881John Reckimport com.android.gallery3d.glrenderer.GLCanvas;
21a4eae1abb4f2547dfbda84301ee764ce35464881John Reck
2215b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Changpublic interface ScreenNail {
2315b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang    public int getWidth();
2415b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang    public int getHeight();
2515b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang    public void draw(GLCanvas canvas, int x, int y, int width, int height);
26b8be1e0ad76b6abc0da7ead39f7a9811195d001eChih-Chung Chang
27b8be1e0ad76b6abc0da7ead39f7a9811195d001eChih-Chung Chang    // We do not need to draw this ScreenNail in this frame.
28b8be1e0ad76b6abc0da7ead39f7a9811195d001eChih-Chung Chang    public void noDraw();
29b8be1e0ad76b6abc0da7ead39f7a9811195d001eChih-Chung Chang
30b8be1e0ad76b6abc0da7ead39f7a9811195d001eChih-Chung Chang    // This ScreenNail will not be used anymore. Release related resources.
31b8be1e0ad76b6abc0da7ead39f7a9811195d001eChih-Chung Chang    public void recycle();
3215b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang
3315b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang    // This is only used by TileImageView to back up the tiles not yet loaded.
3415b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang    public void draw(GLCanvas canvas, RectF source, RectF dest);
3515b351a22d02e89d882fc9fe32b3f4c512080e0aChih-Chung Chang}
36