| |
| /* |
| * Copyright 2011 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| #ifndef SkColorPalette_DEFINED |
| #define SkColorPalette_DEFINED |
| |
| #define PaletteSlots 5 |
| #define PalettePadding 5 |
| class SkColorPalette : public SkView { |
| public: |
| SkColorPalette(); |
| SkColor getColor() { return fCurrColor; } |
| protected: |
| virtual bool onEvent(const SkEvent& evt); |
| virtual void onDraw(SkCanvas* canvas); |
| virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y); |
| virtual bool onClick(SkView::Click* click); |
| virtual void onSizeChange(); |
| private: |
| int selectSlot(SkPoint& cursorPosition); |
| SkColor selectColorFromGradient(SkPoint& cursorPosition); |
| int fSelected; |
| SkRect fGradientRect; |
| SkRect fSlotRect; |
| SkColor fCurrColor; |
| SkColor fColors[PaletteSlots]; |
| typedef SkView INHERITED; |
| }; |
| |
| #endif |