Asset.h
Go to the documentation of this file.
107 }
144 {
147 {
157 };
175 virtual size_t readPixels(const Location& loc, PixelFormat format, void* buffer, uint16_t width) const = 0;
181 }
185 };
190 GradientBrush(BrushStyle style, Color color1, Color color2) : TextureBrush(style), color1(color1), color2(color2)
196 {
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;
247 };
280 {
286 }
290 }
303 }
326 }
331 }
336 }
341 }
357 }
367 assert(kind == Kind::PackedColor);
412 {
413 }
421 }
434 };
441 template <typename... ParamTypes> PenAsset(AssetID id, ParamTypes... params) : AssetTemplate(id), Pen(params...)
442 {
506 {
560 };
572 {
594 ResourceTypeface(const Resource::FontResource& font, const Resource::TypefaceResource& typeface)
623 };
653 {
658 }
663 };
691 }
695 }
697 TextAsset(AssetID id, String&& s) : AssetTemplate(id), stream(new MemoryDataStream(std::move(s)))
699 }
720 }
725 }
virtual PixelFormat getPixelFormat() const
Definition: Asset.h:189
@ None
uint16_t writePixels(const Location &loc, void *buffer, uint16_t pixelCount) const
Base class template for linked items with type casting.
Definition: LinkedObject.h:61
Definition: Asset.h:162
Definition: Asset.h:610
virtual FontStyles getStyle() const =0
Style of this typeface (bold, italic, etc.)
A character glyph image.
Definition: Libraries/Graphics/src/include/Graphics/Object.h:870
Definition: Asset.h:771
Definition: Asset.h:457
ObjectAsset(const Object *object)
uint16_t AssetID
Numeric identifiers for re-useable objects.
Definition: Libraries/Graphics/src/include/Graphics/Types.h:61
virtual uint8_t descent() const =0
Pen()=default
virtual size_t readPixels(const Location &loc, PixelFormat format, void *buffer, uint16_t width) const =0
GlyphMetrics getMetrics(char ch) const override
Get metrics for a character.
PixelBuffer unpack(PixelBuffer src, PixelFormat format)
Convert packed colour into RGB.
size_t readPixels(const Location &loc, PixelFormat format, void *buffer, uint16_t width) const override
void init(IDataSourceStream *stream)
Application calls this method to set source for graphics resourcess.
Definition: Asset.h:421
virtual GlyphObject * getGlyph(char ch, const GlyphOptions &options) const =0
Get the glyph for a character.
virtual void write(MetaWriter &meta) const
bool setPixel(Surface &surface, const Location &loc) const
Identifies position within bounding rectangle.
Definition: Libraries/Graphics/src/include/Graphics/Types.h:702
uint16_t getTextWidth(const char *text, uint16_t length) const
Compute displayed width for a text string.
std::enable_if< std::is_base_of< Meta, T >::value, void >::type write(const String &name, const T &value)
Definition: Meta.h:74
Definition: Array.hpp:107
Definition: resource.h:131
String toString(Graphics::AssetType type)
Definition: resource.h:121
Definition: Asset.h:471
XX(name)
virtual uint8_t height() const =0
Get height of typeface, same for all characters.
Definition: Asset.h:761
Definition: Asset.h:644
Definition: Virtual.h:30
PixelFormat getPixelFormat() const override
virtual const TypeFace * getFace(FontStyles style) const =0
Definition: Asset.h:206
virtual uint16_t height() const =0
A drawable object inherits from this virtual base class.
Definition: Libraries/Graphics/src/include/Graphics/Object.h:115
IDataSourceStream * createSubStream(uint32_t offset, size_t size)
Graphics objects call this method to obtain access to resource data.
@ SourceLocal
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
ResourceFont(const Resource::FontResource &font)
Definition: Asset.h:648
Definition: Asset.h:684
size_t readPixels(const Location &loc, PixelFormat format, void *buffer, uint16_t pixelCount) const
Definition: Libraries/Graphics/src/include/Graphics/Types.h:751
Definition: Asset.h:144
ImageBrush(BrushStyle style, ImageObject &image)
Definition: Asset.h:243
size_t read(uint32_t offset, char *buffer, size_t length) const
Definition: Asset.h:725
virtual String name() const =0
String getTypeStr() const
virtual Type type() const =0
uint8_t height() const override
Get height of typeface, same for all characters.
Definition: Asset.h:623
@ FullScreen
void write(MetaWriter &meta) const
virtual String getTypeStr() const
PixelBuffer pack(PixelBuffer src, PixelFormat format)
Convert RGB colour into packed format.
~ObjectAsset()
GradientBrush(BrushStyle style, Color color1, Color color2)
Definition: Asset.h:209
XX(tag)
#define F(string_literal)
Wrap a string literal stored in flash and access it using a String object.
Definition: WString.h:113
Empty base class to support object enumeration Non-virtual to avoid bloat.
Definition: Meta.h:57
const TypeFace * getFace(FontStyles style) const override
void write(MetaWriter &meta) const override
uint16_t setPixels(Surface &surface, const Location &loc, uint16_t pixelCount) const
Virtual base class for an image.
Definition: Libraries/Graphics/src/include/Graphics/Object.h:581
uint16_t writePixel(const Location &loc, void *buffer) const
GlyphObject * getGlyph(char ch, const GlyphOptions &options) const override
Get the glyph for a character.
uint8_t baseline() const
Get baseline relative to top of mbox.
Definition: Asset.h:560
An asset is used to render an Object, but is not itself drawable.
Definition: Asset.h:94
Definition: Asset.h:178
virtual GlyphMetrics getMetrics(char ch) const =0
Get metrics for a character.
FontStyles getStyle() const override
Style of this typeface (bold, italic, etc.)
Definition: Asset.h:618
void store(Asset *asset)
ResourceTypeface(const Resource::FontResource &font, const Resource::TypefaceResource &typeface)
Definition: Asset.h:613