Class for coordinate axis ruler. More...
#include <ruler.hpp>
Public Member Functions | |
Ruler () | |
Default contructor. More... | |
Ruler (int cind) | |
Contructor for defined coordinate index. More... | |
Ruler (const Ruler &ruler) | |
Copy contructor. More... | |
Ruler & | operator= (const Ruler &ruler) |
Assignment operator. More... | |
~Ruler () | |
Destructor. More... | |
void | copy_tics (const Ruler &ruler) |
Copy tics and from other ruler. More... | |
void | set_font_size (double size) |
Set font size. More... | |
void | set_color (const Vec3D &color) |
Set ruler color. More... | |
void | set_ticlen (double inlen, double outlen) |
Set tic lengths. More... | |
void | set_autorange (bool autorange_min, bool autorange_max) |
Set ruler autoranging status. More... | |
void | get_autorange (bool &autorange_min, bool &autorange_max) const |
Get ruler autoranging status. More... | |
void | set_ranges (double min, double max) |
Set ruler ranges. More... | |
void | get_ranges (double &min, double &max) const |
Get current ruler ranges. More... | |
void | set_endpoints (double x1, double y1, double x2, double y2) |
End points in pixels for ruler. More... | |
void | set_axis_label (const std::string &label) |
Set axis label. More... | |
void | enable_labels (bool enable) |
Enable axis title and tic labels. More... | |
void | set_coord_index (int cind) |
Set coordinate index. More... | |
void | set_indir (bool ccw) |
Set in direction for frame ruler. More... | |
void | calculate (cairo_t *cairo, Coordmapper1D &cm, bool ruler_tic_bbox_test) |
Calculate ruler ranges, set tics and coordmapper. More... | |
void | draw (cairo_t *cairo, Coordmapper1D &cm, bool recalculate=true) |
Draw ruler with cairo. More... | |
void | get_bbox (cairo_t *cairo, double bbox[4], Coordmapper1D &cm, bool recalculate=true) |
Get bounding box of ruler. More... | |
void | debug_print (std::ostream &os) const |
Debug print to stream. More... | |
Detailed Description
Class for coordinate axis ruler.
Ruler is a class for drawing coordinate axis for frame or palette colormap legend for example.
Constructor & Destructor Documentation
◆ Ruler() [1/3]
Ruler::Ruler | ( | ) |
Default contructor.
◆ Ruler() [2/3]
Ruler::Ruler | ( | int | cind | ) |
Contructor for defined coordinate index.
◆ Ruler() [3/3]
Ruler::Ruler | ( | const Ruler & | ruler | ) |
Copy contructor.
◆ ~Ruler()
|
inline |
Destructor.
Member Function Documentation
◆ calculate()
void Ruler::calculate | ( | cairo_t * | cairo, |
Coordmapper1D & | cm, | ||
bool | ruler_tic_bbox_test | ||
) |
Calculate ruler ranges, set tics and coordmapper.
If ruler_tic_bbox_test is set to true, the bounding boxes of the tic labels are tested against overlapping and tics are rebuilt with larger tic spacing to prevent this.
◆ copy_tics()
void Ruler::copy_tics | ( | const Ruler & | ruler | ) |
Copy tics and from other ruler.
◆ debug_print()
void Ruler::debug_print | ( | std::ostream & | os | ) | const |
Debug print to stream.
◆ draw()
void Ruler::draw | ( | cairo_t * | cairo, |
Coordmapper1D & | cm, | ||
bool | recalculate = true |
||
) |
Draw ruler with cairo.
If recalculate is false, the ruler will be drawn with it's current settings. This is for frame to prevent excess recalculation of rulers.
◆ enable_labels()
void Ruler::enable_labels | ( | bool | enable | ) |
Enable axis title and tic labels.
◆ get_autorange()
void Ruler::get_autorange | ( | bool & | autorange_min, |
bool & | autorange_max | ||
) | const |
Get ruler autoranging status.
◆ get_bbox()
void Ruler::get_bbox | ( | cairo_t * | cairo, |
double | bbox[4], | ||
Coordmapper1D & | cm, | ||
bool | recalculate = true |
||
) |
Get bounding box of ruler.
If recalculate is false, the ruler bounding box will correspond to it's current settings. This is for frame to prevent excess recalculation of rulers.
◆ get_ranges()
void Ruler::get_ranges | ( | double & | min, |
double & | max | ||
) | const |
Get current ruler ranges.
Returns finite values used for ruler ranges.
◆ operator=()
◆ set_autorange()
void Ruler::set_autorange | ( | bool | autorange_min, |
bool | autorange_max | ||
) |
Set ruler autoranging status.
◆ set_axis_label()
void Ruler::set_axis_label | ( | const std::string & | label | ) |
Set axis label.
◆ set_color()
void Ruler::set_color | ( | const Vec3D & | color | ) |
Set ruler color.
◆ set_coord_index()
void Ruler::set_coord_index | ( | int | cind | ) |
Set coordinate index.
Set cind to 0 for x and 1 for y.
◆ set_endpoints()
void Ruler::set_endpoints | ( | double | x1, |
double | y1, | ||
double | x2, | ||
double | y2 | ||
) |
End points in pixels for ruler.
◆ set_font_size()
void Ruler::set_font_size | ( | double | size | ) |
Set font size.
◆ set_indir()
void Ruler::set_indir | ( | bool | ccw | ) |
Set in direction for frame ruler.
◆ set_ranges()
void Ruler::set_ranges | ( | double | min, |
double | max | ||
) |
Set ruler ranges.
Set ruler ranges to finite values. If only one range is either infinite or NaN, it is replaced by a number to get a total range span of 1. If both numbers are infinite or NaN, the minimum will be set to 0.0 and maximum to 1.0.
◆ set_ticlen()
void Ruler::set_ticlen | ( | double | inlen, |
double | outlen | ||
) |
Set tic lengths.
The documentation for this class was generated from the following files: