class Drawing : private AssignValueTypeNo<Drawing, 49, Moveable<Drawing> >
This concrete class, with full value semantics (with fast deep copy) represents a record of Draw drawing operations that can be replayed at any time. In other words, Drawing is a sort of vector format. To create Drawing, use DrawingDraw class.
Drawing is Value compatible with "rich" feature set - as Value it supports equality comparisons, serialization, Null compatibility and hash-value support.
operator bool() const
True if Drawing is non-empty.
Size GetSize() const
Returns the size of Drawing - the value explicitly defined in DrawingDraw or set by SetSize.
void SetSize(Size sz)
void SetSize(int cx, int cy)
Sets the size of Drawing.
Size RatioSize(int cx, int cy) const
Size RatioSize(Size sz) const
If either width or height specified as parameter is zero, it gets computed based on current Drawing size and nonzero height or width keeping the aspect ratio. If both width and height are zero, returns Drawing size.
Sets Drawing empty.
void Append(Drawing& dw)
Appends another Drawing at the end.
void Serialize(Stream& s)
Serializes the content of Drawing with the stream s.
bool IsNullInstance() const
True if Drawing is empty.
bool operator==(const Drawing& b) const
True if both Drawings are equal.
String ToString() const
Text representation for debug purposes.
unsigned GetHashValue() const
operator Value() const
Returns Drawing as Value - Drawing is "rich" Value, supporting operator==, hashing, Null and serialization.
Drawing(const Value& src)
Deep copy constructor.
Null constructor (provides Drawing Null).