193ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)/*
293ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles) * Copyright (C) 2012 Google Inc. All rights reserved.
35c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *
45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Redistribution and use in source and binary forms, with or without
55c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * modification, are permitted provided that the following conditions
65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * are met:
75c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 1.  Redistributions of source code must retain the above copyright
85c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *     notice, this list of conditions and the following disclaimer.
95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 2.  Redistributions in binary form must reproduce the above copyright
105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *     notice, this list of conditions and the following disclaimer in the
115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *     documentation and/or other materials provided with the distribution.
125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *
135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) */
245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
2593ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)#ifndef WebTransformKeyframe_h
2693ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)#define WebTransformKeyframe_h
2793ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)
281e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "WebNonCopyable.h"
2993ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)#include "WebPrivateOwnPtr.h"
3093ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)#include "WebTransformOperations.h"
31f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)#if INSIDE_BLINK
321e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)namespace WTF { template <typename T> class PassOwnPtr; }
331e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#endif
345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
3551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)namespace blink {
365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
371e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)class WebTransformKeyframe : public WebNonCopyable {
385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)public:
39f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)#if INSIDE_BLINK
40f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)    BLINK_PLATFORM_EXPORT WebTransformKeyframe(double time, WTF::PassOwnPtr<WebTransformOperations> value);
411e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#endif
4293ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)
43f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)    BLINK_PLATFORM_EXPORT ~WebTransformKeyframe();
4493ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)
45f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)    BLINK_PLATFORM_EXPORT double time() const;
4693ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)
47f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)    BLINK_PLATFORM_EXPORT const WebTransformOperations& value() const;
485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
4993ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)private:
5093ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)    double m_time;
5193ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)    WebPrivateOwnPtr<WebTransformOperations> m_value;
525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)};
535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} // namespace blink
555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
5693ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)#endif // WebTransformKeyframe_h
57