blob: a8693e57d8a3dd17f3ba6e9ad13bf8b4519c4535 [file] [log] [blame]
reed@google.com6997ebb2012-07-30 19:50:31 +00001/*
2 * Copyright 2012 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
reed@google.com58b21ec2012-07-30 18:20:12 +00008#include "SkImage_Base.h"
reed@google.com889b09e2012-07-27 21:10:42 +00009#include "SkImagePriv.h"
reed@google.comf6627b72012-07-27 18:02:50 +000010#include "SkBitmap.h"
mike@reedtribe.org70e35902012-07-29 20:38:16 +000011#include "SkCanvas.h"
reed@google.comf6627b72012-07-27 18:02:50 +000012
reed@google.comf6627b72012-07-27 18:02:50 +000013static SkImage_Base* asIB(SkImage* image) {
14 return static_cast<SkImage_Base*>(image);
15}
16
reed@google.comf6627b72012-07-27 18:02:50 +000017uint32_t SkImage::NextUniqueID() {
18 static int32_t gUniqueID;
19
20 // never return 0;
21 uint32_t id;
22 do {
23 id = sk_atomic_inc(&gUniqueID) + 1;
24 } while (0 == id);
25 return id;
26}
27
28void SkImage::draw(SkCanvas* canvas, SkScalar x, SkScalar y,
29 const SkPaint* paint) {
mike@reedtribe.org70e35902012-07-29 20:38:16 +000030 asIB(this)->onDraw(canvas, x, y, paint);
reed@google.comf6627b72012-07-27 18:02:50 +000031}
32