diff options
author | Xavier Ducrohet <xav@android.com> | 2012-10-18 11:04:45 -0700 |
---|---|---|
committer | Xavier Ducrohet <xav@android.com> | 2012-10-18 11:04:45 -0700 |
commit | 7b12d7af066c7e21429da4d3f51bbb52dcff3dc9 (patch) | |
tree | ed737fb770bb3cded64225dc32e41a9751cf1bce /eclipse | |
parent | b8bd06476ddbaa2cf745270e1223508407505217 (diff) | |
download | sdk-7b12d7af066c7e21429da4d3f51bbb52dcff3dc9.zip sdk-7b12d7af066c7e21429da4d3f51bbb52dcff3dc9.tar.gz sdk-7b12d7af066c7e21429da4d3f51bbb52dcff3dc9.tar.bz2 |
Move HardwareConfigHelper to sdk_common.
Change-Id: Iae39e23f6c72f5a2e1444c39da1eb1a78894e9f4
Diffstat (limited to 'eclipse')
2 files changed, 1 insertions, 153 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/HardwareConfigHelper.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/HardwareConfigHelper.java deleted file mode 100644 index db1c1f1..0000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/HardwareConfigHelper.java +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.eclipse.org/org/documents/epl-v10.php - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ide.eclipse.adt.internal.editors.layout.gle2; - -import com.android.ide.common.rendering.api.HardwareConfig; -import com.android.resources.ScreenOrientation; -import com.android.sdklib.devices.ButtonType; -import com.android.sdklib.devices.Device; -import com.android.sdklib.devices.Screen; - -/** - * Helper method to create a {@link HardwareConfig} object. - * - * The base data comes from a {@link Device} object, with additional data provided on the helper - * object. - * - * Since {@link HardwareConfig} is immutable, this allows creating one in several (optional) - * steps more easily. - * - */ -public class HardwareConfigHelper { - - private final Device mDevice; - private ScreenOrientation mScreenOrientation = ScreenOrientation.PORTRAIT; - - // optional - private int mMaxRenderWidth = -1; - private int mMaxRenderHeight = -1; - private int mOverrideRenderWidth = -1; - private int mOverrideRenderHeight = -1; - - /** - * Creates a new helper for a given device. - * @param device the device to provide the base data. - */ - public HardwareConfigHelper(Device device) { - mDevice = device; - } - - /** - * Sets the orientation of the config. - * @param screenOrientation the orientation. - * @return this (such that chains of setters can be stringed together) - */ - public HardwareConfigHelper setOrientation(ScreenOrientation screenOrientation) { - mScreenOrientation = screenOrientation; - return this; - } - - /** - * Overrides the width and height to be used during rendering. - * - * A value of -1 will make the rendering use the normal width and height coming from the - * {@link Device} object. - * - * @param overrideRenderWidth the width in pixels of the layout to be rendered - * @param overrideRenderHeight the height in pixels of the layout to be rendered - * @return this (such that chains of setters can be stringed together) - */ - public HardwareConfigHelper setOverrideRenderSize(int overrideRenderWidth, - int overrideRenderHeight) { - mOverrideRenderWidth = overrideRenderWidth; - mOverrideRenderHeight = overrideRenderHeight; - return this; - } - - /** - * Sets the max width and height to be used during rendering. - * - * A value of -1 will make the rendering use the normal width and height coming from the - * {@link Device} object. - * - * @param maxRenderWidth the max width in pixels of the layout to be rendered - * @param maxRenderHeight the max height in pixels of the layout to be rendered - * @return this (such that chains of setters can be stringed together) - */ - public HardwareConfigHelper setMaxRenderSize(int maxRenderWidth, int maxRenderHeight) { - mMaxRenderWidth = maxRenderWidth; - mMaxRenderHeight = maxRenderHeight; - return this; - } - - /** - * Creates and returns the HardwareConfig object. - * @return the config - */ - public HardwareConfig getConfig() { - Screen screen = mDevice.getDefaultHardware().getScreen(); - - // compute width and height to take orientation into account. - int x = screen.getXDimension(); - int y = screen.getYDimension(); - int width, height; - - if (x > y) { - if (mScreenOrientation == ScreenOrientation.LANDSCAPE) { - width = x; - height = y; - } else { - width = y; - height = x; - } - } else { - if (mScreenOrientation == ScreenOrientation.LANDSCAPE) { - width = y; - height = x; - } else { - width = x; - height = y; - } - } - - if (mOverrideRenderHeight != -1) { - width = mOverrideRenderWidth; - } - - if (mOverrideRenderHeight != -1) { - height = mOverrideRenderHeight; - } - - if (mMaxRenderWidth != -1) { - width = mMaxRenderWidth; - } - - if (mMaxRenderHeight != -1) { - height = mMaxRenderHeight; - } - - return new HardwareConfig( - width, - height, - screen.getPixelDensity(), - (float) screen.getXdpi(), - (float) screen.getYdpi(), - screen.getSize(), - mScreenOrientation, - mDevice.getDefaultHardware().getButtonType() == ButtonType.SOFT); - } -} diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderService.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderService.java index 065e327..0dd81b2 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderService.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderService.java @@ -21,6 +21,7 @@ import com.android.annotations.NonNull; import com.android.ide.common.api.IClientRulesEngine; import com.android.ide.common.api.INode; import com.android.ide.common.api.Rect; +import com.android.ide.common.rendering.HardwareConfigHelper; import com.android.ide.common.rendering.LayoutLibrary; import com.android.ide.common.rendering.api.Capability; import com.android.ide.common.rendering.api.DrawableParams; |