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

#include <svglinechartwriter.h>

Detailed Description

Specialized SVG page writer which draws a line chart diagrams.

Inherits Http::SvgPageWriter.

Classes

struct  Track

Public Member Functions

 SvgLineChartWriter ()
 constructor
virtual ~SvgLineChartWriter ()
 destructor
virtual bool Open ()
 begin writing to the stream
void SetupXAxis (const Util::String &axisName, const Util::String &unitName, int minVal, int maxVal)
 setup the x axis
void SetupYAxis (const Util::String &axisName, const Util::String &unitName, float minVal, float maxVal)
 setup the y axis
void AddTrack (const Util::String &name, const Util::String &color, const Util::Array< float > &values)
 add a value track
void AddTrack (const Util::String &name, const Util::String &color, const Util::Array< float > &values, const Util::Array< Timing::Tick > &timeStamps)
 add a value track with timestamps
void Draw ()
 draw diagram
Public Member Functions inherited from Http::SvgPageWriter
 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 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

Private Member Functions

 __DeclareClass (SvgLineChartWriter)

Private Attributes

Util::String xAxisName
Util::String xAxisUnitName
int xAxisMinVal
int xAxisMaxVal
Util::String yAxisName
Util::String yAxisUnitName
float yAxisMinVal
float yAxisMaxVal
Util::Array< Tracktracks

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

Constructor & Destructor Documentation

◆ SvgLineChartWriter()

Http::SvgLineChartWriter::SvgLineChartWriter ( )

constructor

◆ ~SvgLineChartWriter()

Http::SvgLineChartWriter::~SvgLineChartWriter ( )
virtual

destructor

Member Function Documentation

◆ __DeclareClass()

Http::SvgLineChartWriter::__DeclareClass ( SvgLineChartWriter )
private

◆ AddTrack() [1/2]

void Http::SvgLineChartWriter::AddTrack ( const Util::String & name,
const Util::String & color,
const Util::Array< float > & values )

add a value track

◆ AddTrack() [2/2]

void Http::SvgLineChartWriter::AddTrack ( const Util::String & name,
const Util::String & color,
const Util::Array< float > & values,
const Util::Array< Timing::Tick > & timeStamps )

add a value track with timestamps

◆ Draw()

void Http::SvgLineChartWriter::Draw ( )

draw diagram

◆ Open()

bool Http::SvgLineChartWriter::Open ( )
virtual

begin writing to the stream

Reimplemented from Http::SvgPageWriter.

◆ SetupXAxis()

void Http::SvgLineChartWriter::SetupXAxis ( const Util::String & axisName,
const Util::String & unitName,
int minVal,
int maxVal )

setup the x axis

◆ SetupYAxis()

void Http::SvgLineChartWriter::SetupYAxis ( const Util::String & axisName,
const Util::String & unitName,
float minVal,
float maxVal )

setup the y axis

Member Data Documentation

◆ tracks

Util::Array<Track> Http::SvgLineChartWriter::tracks
private

◆ xAxisMaxVal

int Http::SvgLineChartWriter::xAxisMaxVal
private

◆ xAxisMinVal

int Http::SvgLineChartWriter::xAxisMinVal
private

◆ xAxisName

Util::String Http::SvgLineChartWriter::xAxisName
private

◆ xAxisUnitName

Util::String Http::SvgLineChartWriter::xAxisUnitName
private

◆ yAxisMaxVal

float Http::SvgLineChartWriter::yAxisMaxVal
private

◆ yAxisMinVal

float Http::SvgLineChartWriter::yAxisMinVal
private

◆ yAxisName

Util::String Http::SvgLineChartWriter::yAxisName
private

◆ yAxisUnitName

Util::String Http::SvgLineChartWriter::yAxisUnitName
private

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