/*
* Copyright 2017 Google LLC
*
* Use of this source code is governed by a BSD - style license that can be
* found in the LICENSE file .
*/
#ifndef SkKeyedImage_DEFINED
#define SkKeyedImage_DEFINED
#include "include/core/SkImage.h"
#include "include/core/SkRefCnt.h"
#include "src/pdf/SkBitmapKey.h"
class SkBitmap;
struct SkIRect;
/**
This class has all the advantages of SkBitmaps and SkImages .
The SkImage holds on to encoded data . The SkBitmapKey properly de - dups subsets .
*/
class SkKeyedImage {
public:
SkKeyedImage() {}
explicit SkKeyedImage(sk_sp<SkImage>);
explicit SkKeyedImage(const SkBitmap&);
SkKeyedImage(SkKeyedImage&&) = default ;
SkKeyedImage(const SkKeyedImage&) = default ;
SkKeyedImage& operator =(SkKeyedImage&&) = default ;
SkKeyedImage& operator =(const SkKeyedImage&) = default ;
explicit operator bool () const { return fImage != nullptr; }
const SkBitmapKey& key() const { return fKey; }
const sk_sp<SkImage>& image() const { return fImage; }
sk_sp<SkImage> release();
SkKeyedImage subset(SkIRect subset) const ;
private :
sk_sp<SkImage> fImage;
SkBitmapKey fKey = {{0 , 0 , 0 , 0 }, 0 };
};
/**
* Given an Image , return the Bitmap Key that corresponds to it . If the Image
* wraps a Bitmap , use that Bitmap ' s key .
*/
SkBitmapKey SkBitmapKeyFromImage(const SkImage*);
#endif // SkKeyedImage_DEFINED
Messung V0.5 in Prozent C=89 H=97 G=93
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland