/* * Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 * * 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.layoutlib.bridge; import com.android.layoutlib.api.ILayoutResult; import java.awt.image.BufferedImage; /** * Implementation of {@link ILayoutResult} */ public final class LayoutResult implements ILayoutResult { private final ILayoutViewInfo mRootView; private final BufferedImage mImage; private final int mSuccess; private final String mErrorMessage; /** * Creates a {@link #SUCCESS} {@link ILayoutResult} with the specified params * @param rootView * @param image */ public LayoutResult(ILayoutViewInfo rootView, BufferedImage image) { mSuccess = SUCCESS; mErrorMessage = null; mRootView = rootView; mImage = image; } /** * Creates a LayoutResult with a specific success code and associated message * @param code * @param message */ public LayoutResult(int code, String message) { mSuccess = code; mErrorMessage = message; mRootView = null; mImage = null; } public int getSuccess() { return mSuccess; } public String getErrorMessage() { return mErrorMessage; } public BufferedImage getImage() { return mImage; } public ILayoutViewInfo getRootView() { return mRootView; } /** * Implementation of {@link ILayoutResult.ILayoutViewInfo} */ public static final class LayoutViewInfo implements ILayoutViewInfo { private final Object mKey; private final String mName; private final int mLeft; private final int mRight; private final int mTop; private final int mBottom; private ILayoutViewInfo[] mChildren; public LayoutViewInfo(String name, Object key, int left, int top, int right, int bottom) { mName = name; mKey = key; mLeft = left; mRight = right; mTop = top; mBottom = bottom; } public void setChildren(ILayoutViewInfo[] children) { mChildren = children; } public ILayoutViewInfo[] getChildren() { return mChildren; } public Object getViewKey() { return mKey; } public String getName() { return mName; } public int getLeft() { return mLeft; } public int getTop() { return mTop; } public int getRight() { return mRight; } public int getBottom() { return mBottom; } } }