9 #ifndef hifi_ImageEntityItem_h
10 #define hifi_ImageEntityItem_h
12 #include "EntityItem.h"
14 #include "PulsePropertyGroup.h"
17 using Pointer = std::shared_ptr<ImageEntityItem>;
25 virtual void setUnscaledDimensions(
const glm::vec3& value)
override;
28 EntityItemProperties getProperties(
const EntityPropertyFlags& desiredProperties,
bool allowEmptyDesiredProperties)
const override;
31 EntityPropertyFlags getEntityProperties(EncodeBitstreamParams& params)
const override;
33 void appendSubclassData(
OctreePacketData* packetData, EncodeBitstreamParams& params,
34 EntityTreeElementExtraEncodeDataPointer entityTreeElementExtraEncodeData,
35 EntityPropertyFlags& requestedProperties,
36 EntityPropertyFlags& propertyFlags,
37 EntityPropertyFlags& propertiesDidntFit,
39 OctreeElement::AppendState& appendState)
const override;
41 int readEntitySubclassDataFromBuffer(
const unsigned char* data,
int bytesLeftToRead,
42 ReadBitstreamToTreeParams& args,
43 EntityPropertyFlags& propertyFlags,
bool overwriteLocalData,
44 bool& somethingChanged)
override;
46 void setImageURL(
const QString& imageUrl);
47 QString getImageURL()
const;
49 void setEmissive(
bool emissive);
50 bool getEmissive()
const;
52 void setKeepAspectRatio(
bool keepAspectRatio);
53 bool getKeepAspectRatio()
const;
55 void setSubImage(
const QRect& subImage);
56 QRect getSubImage()
const;
58 void setColor(
const glm::u8vec3& color);
59 glm::u8vec3 getColor()
const;
61 void setAlpha(
float alpha);
62 float getAlpha()
const;
64 PulsePropertyGroup getPulseProperties()
const;
66 void setNaturalDimension(
const glm::vec3& naturalDimensions)
const;
71 PulsePropertyGroup _pulseProperties;
74 bool _emissive {
false };
75 bool _keepAspectRatio {
true };
78 mutable glm::vec3 _naturalDimensions;
Definition: EntityItem.h:82
Abstract ID for editing model items. Used in EntityItem JS API.
Definition: EntityItemID.h:28
Definition: EntityItemProperties.h:106
Handles packing of the data portion of PacketType_OCTREE_DATA messages.
Definition: OctreePacketData.h:93