IndexObject ModelBLObjectInfo

BLObjectInfo Struct Reference [¶]

Information bits used by BLObjectCore and all Blend2D compatible objects inheriting it.

Public Members

Members

Static Public Attributes

Constants

Member Functions

Overloaded Operators
Info Data Accessors - Generic
BLObject Signature Accessors
BLObject Type Accessors

Static Functions

Static Methods for Packing & Unpacking

uint32_t BLObjectInfo::pack_type()constexprstaticnoexcept[¶]

Packs object type into object info bits.

uint32_t BLObjectInfo::pack_type_with_marker()constexprstaticnoexcept[¶]

Packs object type and M flag into object info bits.

uint32_t BLObjectInfo::pack_abcp(
uint32_t a_field,
uint32_t b_field = 0u,
uint32_t c_field = 0u,
uint32_t p_field = 0u
)constexprstaticnoexcept[¶]

Packs A, B, C, and P fields so they can be combined with other object info bits.

template<uint32_t Shift, uint32_t Mask>
uint32_t BLObjectInfo::get_field() constconstexprnoexcept[¶]

Extracts a field based on Shift and Mask.

Note

It doesn't verify whether the object info is valid, it just extracts the field.

bool BLObjectInfo::has_object_signature_and_flags(
uint32_t mask,
uint32_t check
) constconstexprnoexcept[1/2][¶]

Tests whether BLObjectInfo describes a valid BLObject and verifies that additional_bits match the given mask in BLObjectInfo bits as well. This function is a higher-level function used by others.

bool BLObjectInfo::has_object_signature_and_flags(
uint32_t flags
) constconstexprnoexcept[2/2][¶]

Tests whether BLObjectInfo describes a valid BLObject and verifies the the given flags are all set.

bool BLObjectInfo::has_object_signature() constconstexprnoexcept[¶]

Tests whether the object info represents a valid BLObject signature.

A valid signature describes a BLObjectCore and not an alternative representation used by BLRgba data.

bool BLObjectInfo::check_object_signature_and_raw_type() constconstexprnoexcept[¶]

Tests whether BLObjectInfo describes a valid BLObject of the given type.

bool BLObjectInfo::is_object() constconstexprnoexcept[¶]

Tests a whether this BLObjectInfo represents a valid BLObjectCore.

uint32_t BLObjectInfo::is_object_mask() constconstexprnoexcept[¶]

Returns a whether this BLObjectInfo represents a valid BLObjectCore as a mask (either all zeros or all ones).

bool BLObjectInfo::is_dynamic_object() constconstexprnoexcept[¶]

Tests whether the object info represents a valid BLObject, which has a valid Impl field.

bool BLObjectInfo::is_ref_counted_object() constconstexprnoexcept[¶]

Tests whether the object info represents a valid BLObject, which has a valid Impl, and is reference counted.

bool BLObjectInfo::is_virtual_object() constconstexprnoexcept[¶]

Tests whether the object info represents a valid BLObject, which has a valid Impl, and has a virtual function table.

BLObjectType BLObjectInfo::raw_type() constconstexprnoexcept[¶]

Returns a RAW BLObjectType read from object info bits without checking for a 'M' object marker.

This function should only be used in case that the caller knows that the object info is of a valid BLObjectCore. In any other case the use of get_type() is preferred and would always provide a correct type.

BLObjectType BLObjectInfo::get_type() constconstexprnoexcept[¶]

Returns a corrected BLObjectType read from object info bits.

If the object marker bit 'M' is not set, 0 will be returned, which represents BL_OBJECT_TYPE_RGBA.

bool BLObjectInfo::is_array() constconstexprnoexcept[¶]

Tests whether the object info represents a BLArray<T> storing any supported type.

bool BLObjectInfo::is_bit_array() constconstexprnoexcept[¶]

Tests whether the object info represents a BLBitArray.

bool BLObjectInfo::is_bit_set() constconstexprnoexcept[¶]

Tests whether the object info represents a BLBitSet.

bool BLObjectInfo::is_bool() constconstexprnoexcept[¶]

Tests whether the object info represents a boxed bool value.

bool BLObjectInfo::is_context() constconstexprnoexcept[¶]

Tests whether the object info represents BLContext.

bool BLObjectInfo::is_double() constconstexprnoexcept[¶]

Tests whether the object info represents a boxed double value.

bool BLObjectInfo::is_font() constconstexprnoexcept[¶]

Tests whether the object info represents BLFont.

bool BLObjectInfo::is_font_data() constconstexprnoexcept[¶]

Tests whether the object info represents BLFontData.

bool BLObjectInfo::is_font_face() constconstexprnoexcept[¶]

Tests whether the object info represents BLFontFace.

bool BLObjectInfo::is_font_feature_settings() constconstexprnoexcept[¶]

Tests whether the object info represents BLFontFeatureSettings.

bool BLObjectInfo::is_font_manager() constconstexprnoexcept[¶]

Tests whether the object info represents BLFontManager.

bool BLObjectInfo::is_font_variation_settings() constconstexprnoexcept[¶]

Tests whether the object info represents BLFontVariationSettings.

bool BLObjectInfo::is_gradient() constconstexprnoexcept[¶]

Tests whether the object info represents BLGradient.

bool BLObjectInfo::is_image() constconstexprnoexcept[¶]

Tests whether the object info represents BLImage.

bool BLObjectInfo::is_image_codec() constconstexprnoexcept[¶]

Tests whether the object info represents BLImageCodec.

bool BLObjectInfo::is_image_decoder() constconstexprnoexcept[¶]

Tests whether the object info represents BLImageDecoder.

bool BLObjectInfo::is_image_encoder() constconstexprnoexcept[¶]

Tests whether the object info represents BLImageEncoder.

bool BLObjectInfo::is_int64() constconstexprnoexcept[¶]

Tests whether the object info represents a boxed int64_t value.

bool BLObjectInfo::is_null() constconstexprnoexcept[¶]

Tests whether the object info represents a null value.

bool BLObjectInfo::is_path() constconstexprnoexcept[¶]

Tests whether the object info represents BLPath.

bool BLObjectInfo::is_pattern() constconstexprnoexcept[¶]

Tests whether the object info represents BLPattern.

bool BLObjectInfo::is_rgba() constconstexprnoexcept[¶]

Tests whether the object info represents BLRgba.

bool BLObjectInfo::is_rgba32() constconstexprnoexcept[¶]

Tests whether the object info represents BLRgba32.

bool BLObjectInfo::is_rgba64() constconstexprnoexcept[¶]

Tests whether the object info represents BLRgba64.

bool BLObjectInfo::is_string() constconstexprnoexcept[¶]

Tests whether the object info represents BLString.

bool BLObjectInfo::is_uint64() constconstexprnoexcept[¶]

Tests whether the object info represents a boxed uint64_t value.

bool BLObjectInfo::is_style() constconstexprnoexcept[¶]

Tests whether the object info represents a style that can be passed to the rendering context.

uint32_t BLObjectInfo::bits[¶]

Stores all object info bits.

uint32_t BLObjectInfo::kSignatureSSOBitSetRangestaticconstexpr[¶]

Initial value:
(BL_OBJECT_TYPE_BIT_SET << BL_OBJECT_INFO_TYPE_SHIFT) |

Signature of a SSO BitSet, which is in Range mode.