libscratchcpp
A library for C++ based Scratch project players
Loading...
Searching...
No Matches
asset.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2
3#pragma once
4
5#include "entity.h"
6#include "spimpl.h"
7#include "global.h"
8
9namespace libscratchcpp
10{
11
12class Target;
13class AssetPrivate;
14
17{
18 public:
19 Asset(const std::string &name, const std::string &id, const std::string &format);
20 Asset(const Asset &) = delete;
21
22 virtual ~Asset();
23
24 void setId(const std::string &id);
25
26 const std::string &name() const;
27
28 const std::string &fileName() const;
29
30 const std::string &dataFormat() const;
31
32 const void *data() const;
33 unsigned int dataSize() const;
34 void setData(unsigned int size, void *data);
35
36 Target *target() const;
37 void setTarget(Target *target);
38
39 protected:
40 virtual void processData(unsigned int size, void *data) { }
41 virtual bool isClone() const { return false; }
42
43 private:
44 spimpl::unique_impl_ptr<AssetPrivate> impl;
45};
46
47} // namespace libscratchcpp
const std::string & fileName() const
Definition asset.cpp:40
const std::string & dataFormat() const
Definition asset.cpp:46
virtual bool isClone() const
Definition asset.h:41
void setData(unsigned int size, void *data)
Definition asset.cpp:64
const void * data() const
Definition asset.cpp:52
Target * target() const
Definition asset.cpp:76
const std::string & name() const
Definition asset.cpp:34
Asset(const std::string &name, const std::string &id, const std::string &format)
Definition asset.cpp:10
Asset(const Asset &)=delete
virtual void processData(unsigned int size, void *data)
Definition asset.h:40
void setId(const std::string &id)
Definition asset.cpp:27
unsigned int dataSize() const
Definition asset.cpp:58
void setTarget(Target *target)
Definition asset.cpp:82
Entity(const std::string &id)
Definition entity.cpp:10
The Target class is the Stage or a Sprite.
Definition target.h:28
#define LIBSCRATCHCPP_EXPORT
Definition global.h:17
The main namespace of the library.
Definition asset.h:10