1b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy/* 2b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * Copyright (C) 2010 The Android Open Source Project 3b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * 4b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * Licensed under the Apache License, Version 2.0 (the "License"); 5b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * you may not use this file except in compliance with the License. 6b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * You may obtain a copy of the License at 7b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * 8b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * http://www.apache.org/licenses/LICENSE-2.0 9b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * 10b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * Unless required by applicable law or agreed to in writing, software 11b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * distributed under the License is distributed on an "AS IS" BASIS, 12b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * See the License for the specific language governing permissions and 14b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * limitations under the License. 15b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy */ 16b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy 17b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guypackage android.view; 18b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy 199420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haaseimport android.graphics.Matrix; 209420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase 21b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy/** 22b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * A display lists records a series of graphics related operation and can replay 23b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * them later. Display lists are usually built by recording operations on a 24b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * {@link android.graphics.Canvas}. Replaying the operations from a display list 25b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * avoids executing views drawing code on every frame, and is thus much more 26daf98e941e140e8739458126640183b9f296a2abChet Haase * efficient. 27daf98e941e140e8739458126640183b9f296a2abChet Haase * 28daf98e941e140e8739458126640183b9f296a2abChet Haase * @hide 29b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy */ 30daf98e941e140e8739458126640183b9f296a2abChet Haasepublic abstract class DisplayList { 31b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy /** 3233f6beb10f98e8ba96250e284876d607055d278dRomain Guy * Flag used when calling 333dd4b51fc37c1f05b1b583f5706e3a12216b9822Romain Guy * {@link HardwareCanvas#drawDisplayList(DisplayList, android.graphics.Rect, int)} 3433f6beb10f98e8ba96250e284876d607055d278dRomain Guy * When this flag is set, draw operations lying outside of the bounds of the 3533f6beb10f98e8ba96250e284876d607055d278dRomain Guy * display list will be culled early. It is recommeneded to always set this 3633f6beb10f98e8ba96250e284876d607055d278dRomain Guy * flag. 3733f6beb10f98e8ba96250e284876d607055d278dRomain Guy */ 3833f6beb10f98e8ba96250e284876d607055d278dRomain Guy public static final int FLAG_CLIP_CHILDREN = 0x1; 3933f6beb10f98e8ba96250e284876d607055d278dRomain Guy 406554943a1dd6854c0f4976900956e556767b49e1Romain Guy // NOTE: The STATUS_* values *must* match the enum in DrawGlInfo.h 416554943a1dd6854c0f4976900956e556767b49e1Romain Guy 426554943a1dd6854c0f4976900956e556767b49e1Romain Guy /** 436554943a1dd6854c0f4976900956e556767b49e1Romain Guy * Indicates that the display list is done drawing. 446554943a1dd6854c0f4976900956e556767b49e1Romain Guy * 453dd4b51fc37c1f05b1b583f5706e3a12216b9822Romain Guy * @see HardwareCanvas#drawDisplayList(DisplayList, android.graphics.Rect, int) 466554943a1dd6854c0f4976900956e556767b49e1Romain Guy */ 476554943a1dd6854c0f4976900956e556767b49e1Romain Guy public static final int STATUS_DONE = 0x0; 486554943a1dd6854c0f4976900956e556767b49e1Romain Guy 496554943a1dd6854c0f4976900956e556767b49e1Romain Guy /** 506554943a1dd6854c0f4976900956e556767b49e1Romain Guy * Indicates that the display list needs another drawing pass. 516554943a1dd6854c0f4976900956e556767b49e1Romain Guy * 523dd4b51fc37c1f05b1b583f5706e3a12216b9822Romain Guy * @see HardwareCanvas#drawDisplayList(DisplayList, android.graphics.Rect, int) 536554943a1dd6854c0f4976900956e556767b49e1Romain Guy */ 54c553fea6b0b8d371c22bb4011cc9555d441aab39Romain Guy public static final int STATUS_DRAW = 0x1; 556554943a1dd6854c0f4976900956e556767b49e1Romain Guy 566554943a1dd6854c0f4976900956e556767b49e1Romain Guy /** 576554943a1dd6854c0f4976900956e556767b49e1Romain Guy * Indicates that the display list needs to re-execute its GL functors. 586554943a1dd6854c0f4976900956e556767b49e1Romain Guy * 593dd4b51fc37c1f05b1b583f5706e3a12216b9822Romain Guy * @see HardwareCanvas#drawDisplayList(DisplayList, android.graphics.Rect, int) 606554943a1dd6854c0f4976900956e556767b49e1Romain Guy * @see HardwareCanvas#callDrawGLFunction(int) 616554943a1dd6854c0f4976900956e556767b49e1Romain Guy */ 626554943a1dd6854c0f4976900956e556767b49e1Romain Guy public static final int STATUS_INVOKE = 0x2; 636554943a1dd6854c0f4976900956e556767b49e1Romain Guy 6433f6beb10f98e8ba96250e284876d607055d278dRomain Guy /** 65486590963e2207d68eebd6944fec70d50d41116aChet Haase * Indicates that the display list performed GL drawing operations. 66486590963e2207d68eebd6944fec70d50d41116aChet Haase * 67486590963e2207d68eebd6944fec70d50d41116aChet Haase * @see HardwareCanvas#drawDisplayList(DisplayList, android.graphics.Rect, int) 68486590963e2207d68eebd6944fec70d50d41116aChet Haase */ 69486590963e2207d68eebd6944fec70d50d41116aChet Haase public static final int STATUS_DREW = 0x4; 70486590963e2207d68eebd6944fec70d50d41116aChet Haase 71486590963e2207d68eebd6944fec70d50d41116aChet Haase /** 72b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * Starts recording the display list. All operations performed on the 73b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * returned canvas are recorded and stored in this display list. 74b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * 75b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * @return A canvas to record drawing operations. 76b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy */ 77b35ab7b72967adcfd01cec483a705dafe8b951d1Gilles Debunne public abstract HardwareCanvas start(); 78b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy 79b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy /** 80b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * Ends the recording for this display list. A display list cannot be 81b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy * replayed if recording is not finished. 82b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy */ 83b35ab7b72967adcfd01cec483a705dafe8b951d1Gilles Debunne public abstract void end(); 84b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy 85b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy /** 869e90a9953b65ae575ec8db3989857e0c145724b1Chet Haase * Invalidates the display list, indicating that it should be repopulated 879e90a9953b65ae575ec8db3989857e0c145724b1Chet Haase * with new drawing commands prior to being used again. Calling this method 889e90a9953b65ae575ec8db3989857e0c145724b1Chet Haase * causes calls to {@link #isValid()} to return <code>false</code>. 899e90a9953b65ae575ec8db3989857e0c145724b1Chet Haase */ 90b35ab7b72967adcfd01cec483a705dafe8b951d1Gilles Debunne public abstract void invalidate(); 919e90a9953b65ae575ec8db3989857e0c145724b1Chet Haase 929e90a9953b65ae575ec8db3989857e0c145724b1Chet Haase /** 9338c2ece5ce4c59f30e5832779bf1d86d68b1c442Romain Guy * Clears additional resources held onto by this display list. You should 9438c2ece5ce4c59f30e5832779bf1d86d68b1c442Romain Guy * only invoke this method after {@link #invalidate()}. 9538c2ece5ce4c59f30e5832779bf1d86d68b1c442Romain Guy */ 9638c2ece5ce4c59f30e5832779bf1d86d68b1c442Romain Guy public abstract void clear(); 9738c2ece5ce4c59f30e5832779bf1d86d68b1c442Romain Guy 9838c2ece5ce4c59f30e5832779bf1d86d68b1c442Romain Guy /** 999e90a9953b65ae575ec8db3989857e0c145724b1Chet Haase * Returns whether the display list is currently usable. If this returns false, 1009e90a9953b65ae575ec8db3989857e0c145724b1Chet Haase * the display list should be re-recorded prior to replaying it. 1019e90a9953b65ae575ec8db3989857e0c145724b1Chet Haase * 1029e90a9953b65ae575ec8db3989857e0c145724b1Chet Haase * @return boolean true if the display list is able to be replayed, false otherwise. 1039e90a9953b65ae575ec8db3989857e0c145724b1Chet Haase */ 104b35ab7b72967adcfd01cec483a705dafe8b951d1Gilles Debunne public abstract boolean isValid(); 10565b345fa22b878e141b8fd8ece9c208df00fa40fRomain Guy 10665b345fa22b878e141b8fd8ece9c208df00fa40fRomain Guy /** 10765b345fa22b878e141b8fd8ece9c208df00fa40fRomain Guy * Return the amount of memory used by this display list. 10865b345fa22b878e141b8fd8ece9c208df00fa40fRomain Guy * 10965b345fa22b878e141b8fd8ece9c208df00fa40fRomain Guy * @return The size of this display list in bytes 11065b345fa22b878e141b8fd8ece9c208df00fa40fRomain Guy */ 111b35ab7b72967adcfd01cec483a705dafe8b951d1Gilles Debunne public abstract int getSize(); 112a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 113a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /////////////////////////////////////////////////////////////////////////// 114a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase // DisplayList Property Setters 115a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /////////////////////////////////////////////////////////////////////////// 116a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 117a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 118a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Set the caching property on the DisplayList, which indicates whether the DisplayList 119a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * holds a layer. Layer DisplayLists should avoid creating an alpha layer, since alpha is 120a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * handled in the drawLayer operation directly (and more efficiently). 121a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 122a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param caching true if the DisplayList represents a hardware layer, false otherwise. 123a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 124a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setCaching(boolean caching); 125a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 126a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 127a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Set whether the DisplayList should clip itself to its bounds. This property is controlled by 128a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * the view's parent. 129a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 130a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param clipChildren true if the DisplayList should clip to its bounds 131a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 132a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setClipChildren(boolean clipChildren); 133a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 134a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 1359420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase * Set the static matrix on the DisplayList. This matrix exists if a custom ViewGroup 1369420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase * overrides 1379420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase * {@link ViewGroup#getChildStaticTransformation(View, android.view.animation.Transformation)} 1389420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase * and also has {@link ViewGroup#setStaticTransformationsEnabled(boolean)} set to true. 1399420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase * This matrix will be concatenated with any other matrices in the DisplayList to position 1409420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase * the view appropriately. 1419420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase * 1429420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase * @param matrix The matrix 1439420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase */ 1449420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase public abstract void setStaticMatrix(Matrix matrix); 1459420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase 1469420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase /** 1479420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase * Set the Animation matrix on the DisplayList. This matrix exists if an Animation is 1489420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase * currently playing on a View, and is set on the DisplayList during at draw() time. When 1499420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase * the Animation finishes, the matrix should be cleared by sending <code>null</code> 1509420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase * for the matrix parameter. 151a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 1529420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase * @param matrix The matrix, null indicates that the matrix should be cleared. 153a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 1549420abd56a2af7ddbeb70562b79d61b2dca8c5a1Chet Haase public abstract void setAnimationMatrix(Matrix matrix); 155a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 156a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 157a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the alpha value for the DisplayList 158a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 159a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param alpha The translucency of the DisplayList 160a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setAlpha(float) 161a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 162a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setAlpha(float alpha); 163a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 164a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 165db8c9a6a4d9bf8c39f834b25611926caf21380f6Chet Haase * Sets whether the DisplayList renders content which overlaps. Non-overlapping rendering 166db8c9a6a4d9bf8c39f834b25611926caf21380f6Chet Haase * can use a fast path for alpha that avoids rendering to an offscreen buffer. 167db8c9a6a4d9bf8c39f834b25611926caf21380f6Chet Haase * 168db8c9a6a4d9bf8c39f834b25611926caf21380f6Chet Haase * @param hasOverlappingRendering 169db8c9a6a4d9bf8c39f834b25611926caf21380f6Chet Haase * @see android.view.View#hasOverlappingRendering() 170db8c9a6a4d9bf8c39f834b25611926caf21380f6Chet Haase */ 171db8c9a6a4d9bf8c39f834b25611926caf21380f6Chet Haase public abstract void setHasOverlappingRendering(boolean hasOverlappingRendering); 172db8c9a6a4d9bf8c39f834b25611926caf21380f6Chet Haase 173db8c9a6a4d9bf8c39f834b25611926caf21380f6Chet Haase /** 174a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the translationX value for the DisplayList 175a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 176a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param translationX The translationX value of the DisplayList 177a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setTranslationX(float) 178a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 179a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setTranslationX(float translationX); 180a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 181a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 182a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the translationY value for the DisplayList 183a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 184a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param translationY The translationY value of the DisplayList 185a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setTranslationY(float) 186a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 187a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setTranslationY(float translationY); 188a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 189a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 190a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the rotation value for the DisplayList 191a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 192a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param rotation The rotation value of the DisplayList 193a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setRotation(float) 194a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 195a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setRotation(float rotation); 196a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 197a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 198a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the rotationX value for the DisplayList 199a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 200a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param rotationX The rotationX value of the DisplayList 201a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setRotationX(float) 202a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 203a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setRotationX(float rotationX); 204a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 205a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 206a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the rotationY value for the DisplayList 207a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 208a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param rotationY The rotationY value of the DisplayList 209a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setRotationY(float) 210a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 211a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setRotationY(float rotationY); 212a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 213a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 214a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the scaleX value for the DisplayList 215a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 216a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param scaleX The scaleX value of the DisplayList 217a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setScaleX(float) 218a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 219a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setScaleX(float scaleX); 220a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 221a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 222a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the scaleY value for the DisplayList 223a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 224a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param scaleY The scaleY value of the DisplayList 225a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setScaleY(float) 226a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 227a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setScaleY(float scaleY); 228a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 229a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 230a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets all of the transform-related values of the View onto the DisplayList 231a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 232a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param alpha The alpha value of the DisplayList 233a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param translationX The translationX value of the DisplayList 234a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param translationY The translationY value of the DisplayList 235a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param rotation The rotation value of the DisplayList 236a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param rotationX The rotationX value of the DisplayList 237a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param rotationY The rotationY value of the DisplayList 238a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param scaleX The scaleX value of the DisplayList 239a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param scaleY The scaleY value of the DisplayList 240a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 241a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setTransformationInfo(float alpha, float translationX, float translationY, 242a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase float rotation, float rotationX, float rotationY, float scaleX, float scaleY); 243a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 244a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 245a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the pivotX value for the DisplayList 246a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 247a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param pivotX The pivotX value of the DisplayList 248a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setPivotX(float) 249a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 250a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setPivotX(float pivotX); 251a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 252a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 253a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the pivotY value for the DisplayList 254a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 255a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param pivotY The pivotY value of the DisplayList 256a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setPivotY(float) 257a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 258a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setPivotY(float pivotY); 259a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 260a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 261a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the camera distance for the DisplayList 262a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 263a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param distance The distance in z of the camera of the DisplayList 264a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setCameraDistance(float) 265a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 266a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setCameraDistance(float distance); 267a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 268a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 269a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the left value for the DisplayList 270a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 271a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param left The left value of the DisplayList 272a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setLeft(int) 273a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 274a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setLeft(int left); 275a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 276a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 277a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the top value for the DisplayList 278a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 279a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param top The top value of the DisplayList 280a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setTop(int) 281a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 282a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setTop(int top); 283a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 284a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 285a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the right value for the DisplayList 286a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 287a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param right The right value of the DisplayList 288a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setRight(int) 289a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 290a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setRight(int right); 291a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 292a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 293a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the bottom value for the DisplayList 294a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 295a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param bottom The bottom value of the DisplayList 296a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setBottom(int) 297a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 298a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setBottom(int bottom); 299a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 300a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 301a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the left and top values for the DisplayList 302a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 303a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param left The left value of the DisplayList 304a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param top The top value of the DisplayList 305a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setLeft(int) 306a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setTop(int) 307a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 308a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setLeftTop(int left, int top); 309a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 310a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 311a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Sets the left and top values for the DisplayList 312a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 313a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param left The left value of the DisplayList 314a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param top The top value of the DisplayList 315a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setLeft(int) 316a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#setTop(int) 317a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 318a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void setLeftTopRightBottom(int left, int top, int right, int bottom); 319a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 320a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 321a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Offsets the left and right values for the DisplayList 322a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 323a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param offset The amount that the left and right values of the DisplayList are offset 324a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#offsetLeftAndRight(int) 325a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 326a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void offsetLeftRight(int offset); 327a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase 328a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase /** 329a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * Offsets the top and bottom values for the DisplayList 330a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * 331a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @param offset The amount that the top and bottom values of the DisplayList are offset 332a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase * @see View#offsetTopAndBottom(int) 333a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase */ 334a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3Chet Haase public abstract void offsetTopBottom(int offset); 335b051e895ccb696604349c6c5efe7c4747e1d1ab6Romain Guy} 336