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 23 namespace android { 24 25 // --- InputWindowInfo --- 26 27 bool InputWindowInfo::touchableRegionContainsPoint(int32_t x, int32_t y) const { 28 return touchableRegion.contains(x, y); 29 } 30 31 bool InputWindowInfo::frameContainsPoint(int32_t x, int32_t y) const { 32 return x >= frameLeft && x <= frameRight 33 && y >= frameTop && y <= frameBottom; 34 } 35 36 bool InputWindowInfo::isTrustedOverlay() const { 37 return layoutParamsType == TYPE_INPUT_METHOD 38 || layoutParamsType == TYPE_INPUT_METHOD_DIALOG 39 || layoutParamsType == TYPE_SECURE_SYSTEM_OVERLAY; 40 } 41 42 bool InputWindowInfo::supportsSplitTouch() const { 43 return layoutParamsFlags & FLAG_SPLIT_TOUCH; 44 } 45 46 47 // --- InputWindowHandle --- 48 49 InputWindowHandle::InputWindowHandle(const sp<InputApplicationHandle>& inputApplicationHandle) : 50 inputApplicationHandle(inputApplicationHandle), mInfo(NULL) { 51 } 52 53 InputWindowHandle::~InputWindowHandle() { 54 delete mInfo; 55 } 56 57 void InputWindowHandle::releaseInfo() { 58 if (mInfo) { 59 delete mInfo; 60 mInfo = NULL; 61 } 62 } 63 64 } // namespace android 65