14e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki/* 24e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * Copyright (C) 2016 The Android Open Source Project 34e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * 44e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * Licensed under the Apache License, Version 2.0 (the "License"); 54e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * you may not use this file except in compliance with the License. 64e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * You may obtain a copy of the License at 74e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * 84e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * http://www.apache.org/licenses/LICENSE-2.0 94e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * 104e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * Unless required by applicable law or agreed to in writing, software 114e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * distributed under the License is distributed on an "AS IS" BASIS, 124e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * See the License for the specific language governing permissions and 144e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * limitations under the License. 154e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki */ 164e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki 17ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikaspackage androidx.transition; 184e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki 194e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Arakiimport android.graphics.drawable.Drawable; 204d1d6a17310a57807dabb3f404715cfe43a90ed0Aurimas Liutikas 21ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.annotation.NonNull; 224e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki 234e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Arakiinterface ViewOverlayImpl { 244e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki 254e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki /** 264e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * Adds a Drawable to the overlay. The bounds of the drawable should be relative to 274e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * the host view. Any drawable added to the overlay should be removed when it is no longer 284e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * needed or no longer visible. 294e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * 304e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * @param drawable The Drawable to be added to the overlay. This drawable will be 314e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * drawn when the view redraws its overlay. 324e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * @see #remove(Drawable) 334e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki */ 344e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki void add(@NonNull Drawable drawable); 354e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki 364e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki /** 374e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * Removes all content from the overlay. 384e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki */ 394e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki void clear(); 404e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki 414e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki /** 424e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * Removes the specified Drawable from the overlay. 434e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * 444e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * @param drawable The Drawable to be removed from the overlay. 454e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki * @see #add(Drawable) 464e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki */ 474e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki void remove(@NonNull Drawable drawable); 484e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki 494e5a72756eb66c31baf1a3054c66520f1c3f5b8cYuichi Araki} 50