skia2/docs/examples/Colors.cpp

29 lines
1.2 KiB
C++
Raw Normal View History

// Copyright 2019 Google LLC.
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
#include "tools/fiddle/examples.h"
REG_FIDDLE(Colors, 128, 256, false, 0) {
void draw(SkCanvas* canvas) {
const struct { SkColor4f fColor; const char* fName; } kColors[] = {
{SkColors::kBlack, "SkColors::kBlack"},
{SkColors::kDkGray, "SkColors::kDkGray"},
{SkColors::kGray, "SkColors::kGray"},
{SkColors::kLtGray, "SkColors::kLtGray"},
{SkColors::kWhite, "SkColors::kWhite"},
{SkColors::kRed, "SkColors::kRed"},
{SkColors::kGreen, "SkColors::kGreen"},
{SkColors::kBlue, "SkColors::kBlue"},
{SkColors::kYellow, "SkColors::kYellow"},
{SkColors::kCyan, "SkColors::kCyan"},
{SkColors::kMagenta, "SkColors::kMagenta"},
};
float y = 0;
constexpr float kSize = 256.0f / (sizeof(kColors) / sizeof(kColors[0]));
const SkColor4f kBrown{0.5f, 0.25f, 0, 1};
for (const auto& c : kColors) {
canvas->drawRect(SkRect{0, y, 128, y + kSize}, SkPaint(c.fColor));
canvas->drawString(c.fName, 4, y + kSize * 0.7f, SkFont(), SkPaint(kBrown));
y += kSize;
}
}
} // END FIDDLE