1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/*
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2011 Google Inc.
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file.
7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com */
8c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com#ifndef SkColorPalette_DEFINED
9c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com#define SkColorPalette_DEFINED
10c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com
11c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com#define PaletteSlots 5
12c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com#define PalettePadding 5
13c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.comclass SkColorPalette : public SkView {
14c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.compublic:
15c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    SkColorPalette();
16c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    SkColor getColor() { return fCurrColor; }
17c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.comprotected:
18c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    virtual bool onEvent(const SkEvent& evt);
19c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    virtual void onDraw(SkCanvas* canvas);
20c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y);
21c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    virtual bool onClick(SkView::Click* click);
22c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    virtual void onSizeChange();
23c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.comprivate:
24c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    int selectSlot(SkPoint& cursorPosition);
25c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    SkColor selectColorFromGradient(SkPoint& cursorPosition);
26c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    int     fSelected;
27c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    SkRect  fGradientRect;
28c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    SkRect  fSlotRect;
29c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    SkColor fCurrColor;
30c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    SkColor fColors[PaletteSlots];
31c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com    typedef SkView INHERITED;
32c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com};
33c5aeccd8ba0ca51b03512ad5d473adeee82cb6f8yangsu@google.com
34bda03db28935eef7f9a3aae05fdedca57cd984adrmistry@google.com#endif
35