10860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb/*
20860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * Copyright (C) 2011 The Android Open Source Project
30860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb *
40860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * Licensed under the Apache License, Version 2.0 (the "License"); you may not
50860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * use this file except in compliance with the License. You may obtain a copy of
60860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * the License at
70860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb *
80860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * http://www.apache.org/licenses/LICENSE-2.0
90860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb *
100860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * Unless required by applicable law or agreed to in writing, software
110860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
120860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
130860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * License for the specific language governing permissions and limitations under
140860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * the License.
150860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb */
160860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
170860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolbpackage com.android.browser.view;
180860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
191acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolbimport com.android.browser.view.PieMenu.PieView;
201acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb
21565752e1025129ad16c030ceca9dee7a695ed73eMichael Kolbimport android.graphics.Path;
220860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolbimport android.view.View;
230860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
240860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb/**
250860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * Pie menu item
260860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb */
270860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolbpublic class PieItem {
280860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
290860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    private View mView;
301acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb    private PieView mPieView;
310860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    private int level;
320860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    private float start;
330860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    private float sweep;
340860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    private int inner;
350860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    private int outer;
360860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    private boolean mSelected;
37565752e1025129ad16c030ceca9dee7a695ed73eMichael Kolb    private Path mPath;
380860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
390860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    public PieItem(View view, int level) {
400860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        mView = view;
410860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        this.level = level;
420860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    }
430860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
441acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb    public PieItem(View view, int level, PieView sym) {
451acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb        mView = view;
461acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb        this.level = level;
471acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb        mPieView = sym;
481acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb    }
491acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb
500860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    public void setSelected(boolean s) {
510860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        mSelected = s;
520860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        if (mView != null) {
530860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb            mView.setSelected(s);
540860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        }
550860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    }
560860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
570860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    public boolean isSelected() {
580860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        return mSelected;
590860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    }
600860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
610860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    public int getLevel() {
620860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        return level;
630860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    }
640860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
65565752e1025129ad16c030ceca9dee7a695ed73eMichael Kolb    public void setGeometry(float st, float sw, int inside, int outside, Path p) {
660860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        start = st;
670860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        sweep = sw;
680860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        inner = inside;
690860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        outer = outside;
70565752e1025129ad16c030ceca9dee7a695ed73eMichael Kolb        mPath = p;
710860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    }
720860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
730860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    public float getStartAngle() {
740860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        return start;
750860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    }
760860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
770860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    public float getSweep() {
780860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        return sweep;
790860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    }
800860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
810860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    public int getInnerRadius() {
820860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        return inner;
830860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    }
840860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
850860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    public int getOuterRadius() {
860860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        return outer;
870860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    }
880860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
891acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb    public boolean isPieView() {
901acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb        return (mPieView != null);
911acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb    }
921acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb
930860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    public View getView() {
940860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb        return mView;
950860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb    }
960860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb
971acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb    public void setPieView(PieView sym) {
981acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb        mPieView = sym;
991acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb    }
1001acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb
1011acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb    public PieView getPieView() {
1021acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb        return mPieView;
1031acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb    }
1041acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb
105565752e1025129ad16c030ceca9dee7a695ed73eMichael Kolb    public Path getPath() {
106565752e1025129ad16c030ceca9dee7a695ed73eMichael Kolb        return mPath;
107565752e1025129ad16c030ceca9dee7a695ed73eMichael Kolb    }
108565752e1025129ad16c030ceca9dee7a695ed73eMichael Kolb
1090860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb}
110