Nebula
Loading...
Searching...
No Matches
Http::SvgPageWriter Class Reference

#include <svgpagewriter.h>

Detailed Description

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::StringGetClassName () const
 get the class name
 
Util::FourCC GetClassFourCC () const
 get the class FourCC code
 

Protected Attributes

Ptr< IO::XmlWriterxmlWriter
 
SizeT canvasWidth
 
SizeT canvasHeight
 
SizeT unitWidth
 
SizeT unitHeight
 
- Protected Attributes inherited from IO::StreamWriter
Ptr< Streamstream
 
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)
 

Constructor & Destructor Documentation

◆ SvgPageWriter()

Http::SvgPageWriter::SvgPageWriter ( )

constructor

◆ ~SvgPageWriter()

Http::SvgPageWriter::~SvgPageWriter ( )
virtual

destructor

Member Function Documentation

◆ __DeclareClass()

Http::SvgPageWriter::__DeclareClass ( SvgPageWriter )
private

◆ BeginNode()

void Http::SvgPageWriter::BeginNode ( const Util::String & nodeName)

begin a new node under the current node

◆ BeginPaintGroup()

void Http::SvgPageWriter::BeginPaintGroup ( const Util::String & fillColor,
const Util::String & strokeColor,
int strokeWidth )

begin a paint group

◆ BeginTextGroup()

void Http::SvgPageWriter::BeginTextGroup ( int fontSize,
const Util::String & textColor )

begin a text group

◆ BeginTransformGroup()

void Http::SvgPageWriter::BeginTransformGroup ( const Math::vec2 & translate,
float rotate,
const Math::vec2 & scale )

begin a transformation group

◆ Circle()

void Http::SvgPageWriter::Circle ( float x,
float y,
float r )

draw a circle, all units are in pixels

◆ Close()

void Http::SvgPageWriter::Close ( )
virtual

end writing to the stream

Reimplemented from IO::StreamWriter.

◆ Ellipse()

void Http::SvgPageWriter::Ellipse ( float x,
float y,
float rx,
float ry )

draw an ellipse, all units are in pixels

◆ EndGroup()

void Http::SvgPageWriter::EndGroup ( )

end the most recent group

◆ EndNode()

void Http::SvgPageWriter::EndNode ( )

end current node, set current node to parent

◆ Line()

void Http::SvgPageWriter::Line ( float x1,
float y1,
float x2,
float y2 )

draw a line, all units are in pixels

◆ Open()

bool Http::SvgPageWriter::Open ( )
virtual

begin writing to the stream

Reimplemented from IO::StreamWriter.

Reimplemented in Http::SvgLineChartWriter.

◆ Polygon()

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.

◆ PolyLine()

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.

◆ Rect()

void Http::SvgPageWriter::Rect ( float x,
float y,
float w,
float h )

draw a rectangle, all units are in pixels

◆ SetCanvasDimensions()

void Http::SvgPageWriter::SetCanvasDimensions ( SizeT w,
SizeT h )
inline

set width and height of canvas in pixels

◆ SetString()

void Http::SvgPageWriter::SetString ( const Util::String & name,
const Util::String & value )

set string attribute on current node

◆ SetUnitDimensions()

void Http::SvgPageWriter::SetUnitDimensions ( SizeT w,
SizeT h )
inline

set width and height in draw units

◆ Text()

void Http::SvgPageWriter::Text ( float x,
float y,
const Util::String & text )

draw text, all units are in pixels

◆ WriteContent()

void Http::SvgPageWriter::WriteContent ( const Util::String & text)

write content text

Member Data Documentation

◆ canvasHeight

SizeT Http::SvgPageWriter::canvasHeight
protected

◆ canvasWidth

SizeT Http::SvgPageWriter::canvasWidth
protected

◆ unitHeight

SizeT Http::SvgPageWriter::unitHeight
protected

◆ unitWidth

SizeT Http::SvgPageWriter::unitWidth
protected

◆ xmlWriter

Ptr<IO::XmlWriter> Http::SvgPageWriter::xmlWriter
protected

The documentation for this class was generated from the following files: