1b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala/* 2b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * Copyright (C) 2013 The Android Open Source Project 3b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * 4b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * Licensed under the Apache License, Version 2.0 (the "License"); 5b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * you may not use this file except in compliance with the License. 6b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * You may obtain a copy of the License at 7b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * 8b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * http://www.apache.org/licenses/LICENSE-2.0 9b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * 10b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * Unless required by applicable law or agreed to in writing, software 11b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * distributed under the License is distributed on an "AS IS" BASIS, 12b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * See the License for the specific language governing permissions and 14b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * limitations under the License. 15b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala */ 16b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala 172f1a2e423e0fbb64467d6fcfa4e82c6384f31210Eino-Ville Talvalapackage android.hardware.camera2; 18b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala 19b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala/** 20b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * A simple immutable class for describing the dimensions of camera image 21b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * buffers. 22b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala */ 23b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvalapublic final class Size { 24b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala /** 25b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * Create a new immutable Size instance 26b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala * 27b519cc52ecba8f44da31173c9fc90a7b66d52b79Igor Murashkin * @param width The width to store in the Size instance 28b519cc52ecba8f44da31173c9fc90a7b66d52b79Igor Murashkin * @param height The height to store in the Size instance 29b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala */ 30d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin public Size(int width, int height) { 31b519cc52ecba8f44da31173c9fc90a7b66d52b79Igor Murashkin mWidth = width; 32b519cc52ecba8f44da31173c9fc90a7b66d52b79Igor Murashkin mHeight = height; 33b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala } 34b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala 35b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala public final int getWidth() { 36b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala return mWidth; 37b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala } 38b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala 39b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala public final int getHeight() { 40b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala return mHeight; 41b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala } 42b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala 43d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin @Override 44d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin public boolean equals(Object obj) { 45d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin if (obj == null) { 46d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin return false; 47d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin } 48d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin if (this == obj) { 49d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin return true; 50d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin } 51d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin if (obj instanceof Size) { 52d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin Size other = (Size) obj; 53d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin return mWidth == other.mWidth && mHeight == other.mHeight; 54d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin } 55d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin return false; 56d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin } 57d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin 58d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin @Override 59d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin public String toString() { 60d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin return mWidth + "x" + mHeight; 61d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin } 62d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin 63d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin @Override 64d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin public int hashCode() { 65d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin final long INT_MASK = 0xffffffffL; 66d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin 67d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin long asLong = INT_MASK & mWidth; 68d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin asLong <<= 32; 69d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin 70d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin asLong |= (INT_MASK & mHeight); 71d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin 72d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin return ((Long)asLong).hashCode(); 73d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin } 74d7bf1778df666e82268d1e4549d248ce3dfc9665Igor Murashkin 75b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala private final int mWidth; 76b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala private final int mHeight; 77b2675542c2f414154125b534767ae0903fba581eEino-Ville Talvala}; 78