HVGALayoutParameters.java revision 72735c62aba8fd2a9420a0f9f83d22543e3c164f
1/*
2 * Copyright (C) 2008 Esmertec AG.
3 * Copyright (C) 2008 The Android Open Source Project
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18package com.android.mms.layout;
19
20import android.util.Config;
21import android.util.Log;
22
23public class HVGALayoutParameters implements LayoutParameters {
24    private static final String TAG = "HVGALayoutParameters";
25    private static final boolean DEBUG = false;
26    private static final boolean LOCAL_LOGV = DEBUG ? Config.LOGD : Config.LOGV;
27
28    private int mType = -1;
29
30    private static final int IMAGE_HEIGHT_LANDSCAPE = 240;
31    private static final int TEXT_HEIGHT_LANDSCAPE  = 80;
32    private static final int IMAGE_HEIGHT_PORTRAIT  = 320;
33    private static final int TEXT_HEIGHT_PORTRAIT   = 160;
34
35    public HVGALayoutParameters(int type) {
36        if ((type != HVGA_LANDSCAPE) && (type != HVGA_PORTRAIT)) {
37            throw new IllegalArgumentException(
38                    "Bad layout type detected: " + type);
39        }
40
41        if (LOCAL_LOGV) {
42            Log.v(TAG, "HVGALayoutParameters.<init>(" + type + ").");
43        }
44        mType = type;
45    }
46
47    public int getWidth() {
48        return mType == HVGA_LANDSCAPE ? HVGA_LANDSCAPE_WIDTH
49                                       : HVGA_PORTRAIT_WIDTH;
50    }
51
52    public int getHeight() {
53        return mType == HVGA_LANDSCAPE ? HVGA_LANDSCAPE_HEIGHT
54                                       : HVGA_PORTRAIT_HEIGHT;
55    }
56
57    public int getImageHeight() {
58        return mType == HVGA_LANDSCAPE ? IMAGE_HEIGHT_LANDSCAPE
59                                       : IMAGE_HEIGHT_PORTRAIT;
60    }
61
62    public int getTextHeight() {
63        return mType == HVGA_LANDSCAPE ? TEXT_HEIGHT_LANDSCAPE
64                                       : TEXT_HEIGHT_PORTRAIT;
65    }
66
67    public int getType() {
68        return mType;
69    }
70
71    public String getTypeDescription() {
72        return mType == HVGA_LANDSCAPE ? "HVGA-L" : "HVGA-P";
73    }
74}
75