/core/externals/update-engine/externals/google-toolbox-for-mac/AppKit/GTMNSAnimatablePropertyContainer.h

http://macfuse.googlecode.com/ · C++ Header · 49 lines · 10 code · 9 blank · 30 comment · 0 complexity · 3ca8ffc8e395455f825633a6661f86be MD5 · raw file

  1. //
  2. // GTMNSAnimatablePropertyContainer.h
  3. //
  4. // Copyright (c) 2010 Google Inc. All rights reserved.
  5. //
  6. // Licensed under the Apache License, Version 2.0 (the "License"); you may not
  7. // use this file except in compliance with the License. You may obtain a copy
  8. // of the License at
  9. //
  10. // http://www.apache.org/licenses/LICENSE-2.0
  11. //
  12. // Unless required by applicable law or agreed to in writing, software
  13. // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  14. // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  15. // License for the specific language governing permissions and limitations under
  16. // the License.
  17. //
  18. #import <Cocoa/Cocoa.h>
  19. #import "GTMDefines.h"
  20. #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
  21. // There is a bug in 10.5 where you cannot stop an animation on a
  22. // NSAnimatablePropertyContainer by just setting it's duration to 0.0.
  23. // The work around is rather complex requiring you to NULL out animation
  24. // dictionary entries temporarily (see the code for details).
  25. // These categories are to make stopping animations simpler.
  26. // When you want to stop an animation, you just call it like you would
  27. // an animator.
  28. //
  29. // [[myWindow gtm_animatorStopper] setAlphaValue:0.0];
  30. //
  31. // This will stop any current animations that are going on, and will immediately
  32. // set the alpha value of the window to 0.
  33. // If there is no animation, it will still set the alpha value to 0.0 for you.
  34. @interface NSView (GTMNSAnimatablePropertyContainer)
  35. - (id)gtm_animatorStopper;
  36. @end
  37. @interface NSWindow (GTMNSAnimatablePropertyContainer)
  38. - (id)gtm_animatorStopper;
  39. @end
  40. #endif // MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5