Nebula
|
#include <svgpagewriter.h>
A stream writer to generate simple SVG pages.
Inherits IO::StreamWriter.
Inherited by Http::SvgLineChartWriter.
Public Member Functions | |
SvgPageWriter () | |
constructor | |
virtual | ~SvgPageWriter () |
destructor | |
void | SetCanvasDimensions (SizeT w, SizeT h) |
set width and height of canvas in pixels | |
void | SetUnitDimensions (SizeT w, SizeT h) |
set width and height in draw units | |
virtual bool | Open () |
begin writing to the stream | |
virtual void | Close () |
end writing to the stream | |
void | WriteContent (const Util::String &text) |
write content text | |
void | BeginNode (const Util::String &nodeName) |
begin a new node under the current node | |
void | EndNode () |
end current node, set current node to parent | |
void | SetString (const Util::String &name, const Util::String &value) |
set string attribute on current node | |
void | BeginTransformGroup (const Math::vec2 &translate, float rotate, const Math::vec2 &scale) |
begin a transformation group | |
void | BeginPaintGroup (const Util::String &fillColor, const Util::String &strokeColor, int strokeWidth) |
begin a paint group | |
void | BeginTextGroup (int fontSize, const Util::String &textColor) |
begin a text group | |
void | EndGroup () |
end the most recent group | |
void | Rect (float x, float y, float w, float h) |
draw a rectangle, all units are in pixels | |
void | Circle (float x, float y, float r) |
draw a circle, all units are in pixels | |
void | Ellipse (float x, float y, float rx, float ry) |
draw an ellipse, all units are in pixels | |
void | Line (float x1, float y1, float x2, float y2) |
draw a line, all units are in pixels | |
void | PolyLine (const Util::Array< Math::vec2 > &points) |
draw a poly-line, all units are in pixels | |
void | Polygon (const Util::Array< Math::vec2 > &points) |
draw a polygon, all units are in pixels | |
void | Text (float x, float y, const Util::String &text) |
draw text, all units are in pixels | |
Public Member Functions inherited from IO::StreamWriter | |
StreamWriter () | |
constructor | |
virtual | ~StreamWriter () |
destructor | |
void | SetStream (const Ptr< Stream > &s) |
set stream to write to | |
const Ptr< Stream > & | GetStream () const |
get currently set stream | |
bool | HasStream () const |
return true if a stream is set | |
bool | IsOpen () const |
return true if currently open | |
Public Member Functions inherited from Core::RefCounted | |
RefCounted () | |
constructor | |
int | GetRefCount () const |
get the current refcount | |
void | AddRef () |
increment refcount by one | |
void | Release () |
decrement refcount and destroy object if refcount is zero | |
bool | IsInstanceOf (const Rtti &rtti) const |
return true if this object is instance of given class | |
bool | IsInstanceOf (const Util::String &className) const |
return true if this object is instance of given class by string | |
bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
return true if this object is instance of given class by fourcc | |
bool | IsA (const Rtti &rtti) const |
return true if this object is instance of given class, or a derived class | |
bool | IsA (const Util::String &rttiName) const |
return true if this object is instance of given class, or a derived class, by string | |
bool | IsA (const Util::FourCC &rttiFourCC) const |
return true if this object is instance of given class, or a derived class, by fourcc | |
const Util::String & | GetClassName () const |
get the class name | |
Util::FourCC | GetClassFourCC () const |
get the class FourCC code | |
Protected Attributes | |
Ptr< IO::XmlWriter > | xmlWriter |
SizeT | canvasWidth |
SizeT | canvasHeight |
SizeT | unitWidth |
SizeT | unitHeight |
Protected Attributes inherited from IO::StreamWriter | |
Ptr< Stream > | stream |
bool | isOpen |
bool | streamWasOpen |
Private Member Functions | |
__DeclareClass (SvgPageWriter) | |
Additional Inherited Members | |
Static Public Member Functions inherited from Core::RefCounted | |
static void | DumpRefCountingLeaks () |
dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!) | |
Protected Member Functions inherited from Core::RefCounted | |
virtual | ~RefCounted () |
destructor (called when refcount reaches zero) | |
Http::SvgPageWriter::SvgPageWriter | ( | ) |
constructor
|
virtual |
destructor
|
private |
void Http::SvgPageWriter::BeginNode | ( | const Util::String & | nodeName | ) |
begin a new node under the current node
void Http::SvgPageWriter::BeginPaintGroup | ( | const Util::String & | fillColor, |
const Util::String & | strokeColor, | ||
int | strokeWidth ) |
begin a paint group
void Http::SvgPageWriter::BeginTextGroup | ( | int | fontSize, |
const Util::String & | textColor ) |
begin a text group
void Http::SvgPageWriter::BeginTransformGroup | ( | const Math::vec2 & | translate, |
float | rotate, | ||
const Math::vec2 & | scale ) |
begin a transformation group
void Http::SvgPageWriter::Circle | ( | float | x, |
float | y, | ||
float | r ) |
draw a circle, all units are in pixels
|
virtual |
end writing to the stream
Reimplemented from IO::StreamWriter.
void Http::SvgPageWriter::Ellipse | ( | float | x, |
float | y, | ||
float | rx, | ||
float | ry ) |
draw an ellipse, all units are in pixels
void Http::SvgPageWriter::EndGroup | ( | ) |
end the most recent group
void Http::SvgPageWriter::EndNode | ( | ) |
end current node, set current node to parent
void Http::SvgPageWriter::Line | ( | float | x1, |
float | y1, | ||
float | x2, | ||
float | y2 ) |
draw a line, all units are in pixels
|
virtual |
begin writing to the stream
Reimplemented from IO::StreamWriter.
Reimplemented in Http::SvgLineChartWriter.
void Http::SvgPageWriter::Polygon | ( | const Util::Array< Math::vec2 > & | points | ) |
draw a polygon, all units are in pixels
Note: due to a limitation for the length of XML attributes in TinyXML the array size for a single poly primitive should be about 200 max.
void Http::SvgPageWriter::PolyLine | ( | const Util::Array< Math::vec2 > & | points | ) |
draw a poly-line, all units are in pixels
Note: due to a limitation for the length of XML attributes in TinyXML the array size for a single poly primitive should be about 200 max.
void Http::SvgPageWriter::Rect | ( | float | x, |
float | y, | ||
float | w, | ||
float | h ) |
draw a rectangle, all units are in pixels
set width and height of canvas in pixels
void Http::SvgPageWriter::SetString | ( | const Util::String & | name, |
const Util::String & | value ) |
set string attribute on current node
set width and height in draw units
void Http::SvgPageWriter::Text | ( | float | x, |
float | y, | ||
const Util::String & | text ) |
draw text, all units are in pixels
void Http::SvgPageWriter::WriteContent | ( | const Util::String & | text | ) |
write content text
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |