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