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