aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkImageGeneratorPriv.h
blob: 93114e328fb57014ad15720a4c475ca8a6a30a94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
 * Copyright 2014 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#ifndef SkImageGeneratorPriv_DEFINED
#define SkImageGeneratorPriv_DEFINED

#include "SkImageGenerator.h"
#include "SkDiscardableMemory.h"

/**
 *  Takes ownership of SkImageGenerator.  If this method fails for
 *  whatever reason, it will return false and immediatetely delete
 *  the generator.  If it succeeds, it will modify destination
 *  bitmap.
 *
 *  If generator is nullptr, will safely return false.
 *
 *  If this fails or when the SkDiscardablePixelRef that is
 *  installed into destination is destroyed, it will call
 *  `delete` on the generator.  Therefore, generator should be
 *  allocated with `new`.
 *
 *  @param destination Upon success, this bitmap will be
 *  configured and have a pixelref installed.
 *
 *  @param factory If not nullptr, this object will be used as a
 *  source of discardable memory when decoding.  If nullptr, then
 *  SkDiscardableMemory::Create() will be called.
 *
 *  @return true iff successful.
 */
bool SkDEPRECATED_InstallDiscardablePixelRef(SkImageGenerator*, const SkIRect* subset,
                                             SkBitmap* destination,
                                             SkDiscardableMemory::Factory* factory);

#endif