1ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka/* 2ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka * Copyright (C) 2011 The Android Open Source Project 3ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka * 4ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka * Licensed under the Apache License, Version 2.0 (the "License"); 5ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka * you may not use this file except in compliance with the License. 6ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka * You may obtain a copy of the License at 7ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka * 8ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka * http://www.apache.org/licenses/LICENSE-2.0 9ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka * 10ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka * Unless required by applicable law or agreed to in writing, software 11ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka * distributed under the License is distributed on an "AS IS" BASIS, 12ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka * See the License for the specific language governing permissions and 14ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka * limitations under the License. 15ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka */ 16ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka 17ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaokapackage com.android.inputmethod.keyboard; 18ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka 19f44a01b40852dde2363a061cdc7df2ef4cb59aadTadashi G. Takaokaimport android.view.View; 20ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaokaimport android.widget.PopupWindow; 21ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka 229d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaokapublic interface MoreKeysPanel extends PointerTracker.KeyEventHandler { 23f44a01b40852dde2363a061cdc7df2ef4cb59aadTadashi G. Takaoka public interface Controller { 249d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka public boolean dismissMoreKeysPanel(); 25f44a01b40852dde2363a061cdc7df2ef4cb59aadTadashi G. Takaoka } 26f44a01b40852dde2363a061cdc7df2ef4cb59aadTadashi G. Takaoka 27ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka /** 289d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * Show more keys panel. 299d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * 309d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * @param parentView the parent view of this more keys panel 319d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * @param controller the controller that can dismiss this more keys panel 329d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * @param pointX x coordinate of this more keys panel 339d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * @param pointY y coordinate of this more keys panel 349d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * @param window PopupWindow to be used to show this more keys panel 359d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * @param listener the listener that will receive keyboard action from this more keys panel. 36ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka */ 379d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka public void showMoreKeysPanel(View parentView, Controller controller, int pointX, int pointY, 38f44a01b40852dde2363a061cdc7df2ef4cb59aadTadashi G. Takaoka PopupWindow window, KeyboardActionListener listener); 39ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka 40ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka /** 419d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * Translate X-coordinate of touch event to the local X-coordinate of this 429d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * {@link MoreKeysPanel}. 439d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * 4463c233ab9f50d844be6e52e382c6664475606760Tadashi G. Takaoka * @param x the global X-coordinate 459d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * @return the local X-coordinate to this {@link MoreKeysPanel} 46ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka */ 4763c233ab9f50d844be6e52e382c6664475606760Tadashi G. Takaoka public int translateX(int x); 48ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka 49ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka /** 509d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * Translate Y-coordinate of touch event to the local Y-coordinate of this 519d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * {@link MoreKeysPanel}. 529d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * 5363c233ab9f50d844be6e52e382c6664475606760Tadashi G. Takaoka * @param y the global Y-coordinate 549d5601e9013c5ec9a7ac75db16f4a0a8218b02bfTadashi G. Takaoka * @return the local Y-coordinate to this {@link MoreKeysPanel} 55ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka */ 5663c233ab9f50d844be6e52e382c6664475606760Tadashi G. Takaoka public int translateY(int y); 57ff082d081f3ea18ff0b9b22126ee4a86504cf83cTadashi G. Takaoka} 58