1/* 2 * Copyright (C) 2011 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17#define LOG_TAG "InputWindow" 18 19#include "InputWindow.h" 20 21#include <cutils/log.h> 22 23namespace android { 24 25// --- InputWindowInfo --- 26 27bool InputWindowInfo::touchableRegionContainsPoint(int32_t x, int32_t y) const { 28 return touchableRegion.contains(x, y); 29} 30 31bool InputWindowInfo::frameContainsPoint(int32_t x, int32_t y) const { 32 return x >= frameLeft && x <= frameRight 33 && y >= frameTop && y <= frameBottom; 34} 35 36bool InputWindowInfo::isTrustedOverlay() const { 37 return layoutParamsType == TYPE_INPUT_METHOD 38 || layoutParamsType == TYPE_INPUT_METHOD_DIALOG 39 || layoutParamsType == TYPE_SECURE_SYSTEM_OVERLAY; 40} 41 42bool InputWindowInfo::supportsSplitTouch() const { 43 return layoutParamsFlags & FLAG_SPLIT_TOUCH; 44} 45 46 47// --- InputWindowHandle --- 48 49InputWindowHandle::InputWindowHandle(const sp<InputApplicationHandle>& inputApplicationHandle) : 50 inputApplicationHandle(inputApplicationHandle), mInfo(NULL) { 51} 52 53InputWindowHandle::~InputWindowHandle() { 54 delete mInfo; 55} 56 57void InputWindowHandle::releaseInfo() { 58 if (mInfo) { 59 delete mInfo; 60 mInfo = NULL; 61 } 62} 63 64} // namespace android 65