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