17f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard/*
27f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * Copyright 2010, The Android Open Source Project
37f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard *
47f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * Redistribution and use in source and binary forms, with or without
57f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * modification, are permitted provided that the following conditions
67f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * are met:
77f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard *  * Redistributions of source code must retain the above copyright
87f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard *    notice, this list of conditions and the following disclaimer.
97f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard *  * Redistributions in binary form must reproduce the above copyright
107f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard *    notice, this list of conditions and the following disclaimer in the
117f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard *    documentation and/or other materials provided with the distribution.
127f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard *
137f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
147f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
157f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
167f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
177f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
187f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
197f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
207f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
217f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
227f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
237f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
247f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard */
257f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard
267f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard#ifndef RenderSkinMediaButton_h
277f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard#define RenderSkinMediaButton_h
287f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard
297f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard#include "RenderSkinAndroid.h"
307f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard
317f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roardclass SkCanvas;
327f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard
337f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roardnamespace WebCore {
347f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roardclass IntRect;
359d867bf3af621a847929fdc13e4c36ffcaa580f2Leon Scrogginsclass RenderObject;
369d867bf3af621a847929fdc13e4c36ffcaa580f2Leon Scroggins
37de89b1aa0a100f46600ed48b6b3b57759c446447Teng-Hui Zhuclass RenderSkinMediaButton {
387f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roardpublic:
39ce03c1c1203621e552d41a8b3831837636f364a9Ben Murdoch    static void Decode();
407f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard    /**
417f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard     * Draw the skin to the canvas, using the rectangle for its bounds and the
427f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard     * State to determine which skin to use, i.e. focused or not focused.
437f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard     */
449d867bf3af621a847929fdc13e4c36ffcaa580f2Leon Scroggins    static void Draw(SkCanvas* , const IntRect& , int buttonType, bool translucent = false,
459d867bf3af621a847929fdc13e4c36ffcaa580f2Leon Scroggins                     RenderObject* o = 0);
467f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard    /**
477f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard     * Button types
487f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard     */
49de89b1aa0a100f46600ed48b6b3b57759c446447Teng-Hui Zhu    enum { PAUSE, PLAY, MUTE, REWIND, FORWARD, FULLSCREEN, SPINNER_OUTER, SPINNER_INNER , VIDEO, BACKGROUND_SLIDER, SLIDER_TRACK, SLIDER_THUMB };
507f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard    /**
517f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard     * Slider dimensions
527f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard     */
535de943634277e6efbe111dbea829454fe497a278Leon Scroggins    static int sliderThumbWidth() { return 32; }
545de943634277e6efbe111dbea829454fe497a278Leon Scroggins    static int sliderThumbHeight() { return 32; }
557f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard
567f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard};
577f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard
587f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard} // WebCore
597f493d591dfd3492d5916ca301a4dbcd61554a06Nicolas Roard#endif // RenderSkinMediaButton_h
60