Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
ImageSlide.cpp
Go to the documentation of this file.
1/*
2* Copyright 2016 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
9
11#include "include/core/SkData.h"
14
15#include <utility>
16
17ImageSlide::ImageSlide(const SkString& name, const SkString& path) : fPath(path) {
18 fName = name;
19}
20
22 : fImage(std::move(image)), fRetainImage(true) {
23 fName = name;
24}
25
27 return fImage ? fImage->dimensions() : SkISize::Make(0, 0);
28}
29
31 SkASSERT(fImage);
32 canvas->drawImage(fImage, 0, 0);
33}
34
36 if (fRetainImage) {
37 SkASSERT(fImage);
38 } else {
40 fImage = SkImages::DeferredFromEncodedData(encoded);
41 }
42}
43
45 if (!fRetainImage) {
46 fImage.reset(nullptr);
47 }
48}
SkPath fPath
#define SkASSERT(cond)
Definition SkAssert.h:116
SkISize getDimensions() const override
ImageSlide(const SkString &name, const SkString &path)
void unload() override
void load(SkScalar winWidth, SkScalar winHeight) override
void draw(SkCanvas *canvas) override
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
Definition SkCanvas.h:1528
static sk_sp< SkData > MakeFromFileName(const char path[])
Definition SkData.cpp:148
SkISize dimensions() const
Definition SkImage.h:297
const char * c_str() const
Definition SkString.h:133
SkString fName
Definition Slide.h:54
void reset(T *ptr=nullptr)
Definition SkRefCnt.h:310
sk_sp< SkImage > image
Definition examples.cpp:29
float SkScalar
Definition extension.cpp:12
const char * name
Definition fuchsia.cc:50
SK_API sk_sp< SkImage > DeferredFromEncodedData(sk_sp< SkData > encoded, std::optional< SkAlphaType > alphaType=std::nullopt)
Definition ref_ptr.h:256
static constexpr SkISize Make(int32_t w, int32_t h)
Definition SkSize.h:20