Asset.h
Go to the documentation of this file.
175 virtual size_t readPixels(const Location& loc, PixelFormat format, void* buffer, uint16_t width) const = 0;
190 GradientBrush(BrushStyle style, Color color1, Color color2) : TextureBrush(style), color1(color1), color2(color2)
206 size_t readPixels(const Location& loc, PixelFormat format, void* buffer, uint16_t pixelCount) const;
228 ImageBrush(AssetID id, BrushStyle style, ImageObject& image) : TextureBrush(id, style), image(image)
234 size_t readPixels(const Location& loc, PixelFormat format, void* buffer, uint16_t width) const override;
441 template <typename... ParamTypes> PenAsset(AssetID id, ParamTypes... params) : AssetTemplate(id), Pen(params...)
594 ResourceTypeface(const Resource::FontResource& font, const Resource::TypefaceResource& typeface)
697 TextAsset(AssetID id, String&& s) : AssetTemplate(id), stream(new MemoryDataStream(std::move(s)))
String toString(Graphics::AssetType type)
#define F(string_literal)
Wrap a string literal stored in flash and access it using a String object.
Definition: WString.h:113
Definition: Asset.h:753
void store(Asset *asset)
Asset * find(AssetType type, AssetID id)
const Asset * find(AssetType type, AssetID id) const
Definition: Asset.h:767
Definition: Asset.h:126
An asset is used to render an Object, but is not itself drawable.
Definition: Asset.h:76
virtual Type type() const =0
XX(tag)
virtual void write(MetaWriter &meta) const
virtual String getTypeStr() const
bool setPixel(Surface &surface, const Location &loc) const
uint16_t writePixel(const Location &loc, void *buffer) const
PackedColor getPackedColor(Point pt) const
XX(name)
uint16_t setPixels(Surface &surface, const Location &loc, uint16_t pixelCount) const
void write(MetaWriter &meta) const
String getTypeStr() const
uint16_t writePixels(const Location &loc, void *buffer, uint16_t pixelCount) const
PackedColor getPackedColor(PixelFormat format) const
virtual String name() const =0
virtual uint16_t height() const =0
virtual const TypeFace * getFace(FontStyles style) const =0
Definition: Asset.h:188
size_t readPixels(const Location &loc, PixelFormat format, void *buffer, uint16_t pixelCount) const
GradientBrush(AssetID id, BrushStyle style, Color color1, Color color2)
Definition: Asset.h:194
GradientBrush(BrushStyle style, Color color1, Color color2)
Definition: Asset.h:190
ImageBrush(BrushStyle style, ImageObject &image)
Definition: Asset.h:224
size_t readPixels(const Location &loc, PixelFormat format, void *buffer, uint16_t width) const override
PixelFormat getPixelFormat() const override
void write(MetaWriter &meta) const override
ImageBrush(AssetID id, BrushStyle style, ImageObject &image)
Definition: Asset.h:228
Virtual base class for an image.
Definition: Libraries/Graphics/src/include/Graphics/Object.h:562
std::enable_if< std::is_base_of< Meta, T >::value, void >::type write(const String &name, const T &value)
Definition: Meta.h:55
Empty base class to support object enumeration Non-virtual to avoid bloat.
Definition: Meta.h:39
Definition: Asset.h:743
~ObjectAsset()
ObjectAsset(AssetID id, const Object *object)
ObjectAsset(const Object *object)
A drawable object inherits from this virtual base class.
Definition: Libraries/Graphics/src/include/Graphics/Object.h:97
Definition: Asset.h:439
Definition: Asset.h:403
Pen()=default
Definition: Asset.h:626
ResourceFont(const Resource::FontResource &font)
Definition: Asset.h:629
const TypeFace * getFace(FontStyles style) const override
ResourceFont(AssetID id, const Resource::FontResource &font)
Definition: Asset.h:634
Definition: Asset.h:592
uint8_t height() const override
Get height of typeface, same for all characters.
Definition: Asset.h:604
std::unique_ptr< GlyphObject > getGlyph(char ch, const GlyphOptions &options) const override
Get the glyph for a character.
FontStyles getStyle() const override
Style of this typeface (bold, italic, etc.)
Definition: Asset.h:599
GlyphMetrics getMetrics(char ch) const override
Get metrics for a character.
ResourceTypeface(const Resource::FontResource &font, const Resource::TypefaceResource &typeface)
Definition: Asset.h:594
Definition: Libraries/Graphics/src/include/Graphics/Types.h:733
Definition: Asset.h:144
Definition: Asset.h:666
TextAsset(AssetID id, IDataSourceStream *stream)
Definition: Asset.h:680
TextAsset(AssetID id, const char *text, size_t length)
Definition: Asset.h:688
size_t read(uint32_t offset, char *buffer, size_t length) const
Definition: Asset.h:706
Definition: Asset.h:453
TextOptions(Brush fore, Brush back, Scale scale, FontStyles style)
Definition: Asset.h:464
Definition: Asset.h:160
virtual PixelFormat getPixelFormat() const
Definition: Asset.h:170
TextureBrush(AssetID id, BrushStyle style)
Definition: Asset.h:166
virtual size_t readPixels(const Location &loc, PixelFormat format, void *buffer, uint16_t width) const =0
virtual FontStyles getStyle() const =0
Style of this typeface (bold, italic, etc.)
virtual std::unique_ptr< GlyphObject > getGlyph(char ch, const GlyphOptions &options) const =0
Get the glyph for a character.
uint8_t baseline() const
Get baseline relative to top of mbox.
Definition: Asset.h:541
virtual uint8_t descent() const =0
uint16_t getTextWidth(const char *text, uint16_t length) const
Compute displayed width for a text string.
virtual uint8_t height() const =0
Get height of typeface, same for all characters.
virtual GlyphMetrics getMetrics(char ch) const =0
Get metrics for a character.
Definition: LinkedObjectList.h:90
Base class template for linked items with type casting.
Definition: LinkedObject.h:62
Definition: Array.hpp:108
std::enable_if< sizeof(T)==1, T >::type readValue(const T *ptr)
Read a typed value from flash memory ensuring correct alignment of access.
Definition: Utility.hpp:126
void init(IDataSourceStream *stream)
Application calls this method to set source for graphics resourcess.
IDataSourceStream * createSubStream(uint32_t offset, size_t size)
Graphics objects call this method to obtain access to resource data.
Definition: Virtual.h:31
PixelBuffer unpack(PixelBuffer src, PixelFormat format)
Convert packed colour into RGB.
@ SourceLocal
@ FullScreen
PixelBuffer pack(PixelBuffer src, PixelFormat format)
Convert RGB colour into packed format.
uint16_t AssetID
Numeric identifiers for re-useable objects.
Definition: Libraries/Graphics/src/include/Graphics/Types.h:42
@ None
Identifies position within bounding rectangle.
Definition: Libraries/Graphics/src/include/Graphics/Types.h:683
Definition: resource.h:93
Definition: resource.h:83