AbstractDrawingPreview.java revision 2ecbfe8e93f8d8fce0adc47659b5d2f52cb68849
1d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi/*
2d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi * Copyright (C) 2012 The Android Open Source Project
3d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi *
4d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi * use this file except in compliance with the License. You may obtain a copy of
6d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi * the License at
7d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi *
8d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi * http://www.apache.org/licenses/LICENSE-2.0
9d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi *
10d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi * Unless required by applicable law or agreed to in writing, software
11d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi * License for the specific language governing permissions and limitations under
14d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi * the License.
15d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi */
16d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi
17d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bipackage com.android.inputmethod.keyboard.internal;
18d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi
19d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Biimport android.graphics.Canvas;
20d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi
21d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Biimport com.android.inputmethod.keyboard.PointerTracker;
22d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi
23d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi/**
24d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi * Abstract base class for previews that are drawn on PreviewPlacerView, e.g.,
25d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi * GestureFloatingPrevewText, GestureTrail, and SlidingKeyInputPreview.
26d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi */
27d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bipublic abstract class AbstractDrawingPreview {
28d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi    private boolean mPreviewEnabled;
29d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi
30d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi    public void setPreviewEnabled(final boolean enabled) {
31d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi        mPreviewEnabled = enabled;
32d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi    }
33d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi
34d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi    public boolean isPreviewEnabled() {
35d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi        return mPreviewEnabled;
36d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi    }
37d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi
38d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi    /**
39d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi     * Draws the preview
40d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi     * @param canvas The canvas where the preview is drawn.
41d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi     */
422ecbfe8e93f8d8fce0adc47659b5d2f52cb68849Tadashi G. Takaoka    public abstract void drawPreview(final Canvas canvas);
43d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi
44d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi    /**
45d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi     * Set the position of the preview.
46d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi     * @param pt The new location of the preview is based on the points in PointerTracker pt.
47d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi     */
48d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi    public abstract void setPreviewPosition(final PointerTracker pt);
49d52730a2d7a6e98245719ce5c53bcf4b3a3ba1c9Xiaojun Bi}
50