FLTK 1.4.4

Loading...
Searching...
No Matches
Fl_Chart Class Reference

Fl_Chart displays simple charts. More...

`#include <Fl_Chart.H>`

Inheritance diagram for Fl_Chart:

## Public Member Functions
void | add (double val, const char *str=0, unsigned col=0)
| Adds the data value `val` with optional label `str` and color `col` to the chart.
uchar | autosize () const
| Gets whether the chart will automatically adjust the bounds of the chart.
void | autosize (uchar n)
| Sets whether the chart will automatically adjust the bounds of the chart.
void | bounds (double *a, double *b) const
| Gets the lower and upper bounds of the chart values.
void | bounds (double a, double b)
| Sets the lower and upper bounds of the chart values.
void | clear ()
| Removes all values from the chart.
| Fl_Chart (int X, int Y, int W, int H, const char *L=0)
| Create a new Fl_Chart widget using the given position, size and label string.
void | insert (int ind, double val, const char *str=0, unsigned col=0)
| Inserts a data value `val` at the given position `ind`.
int | maxsize () const
| Gets the maximum number of data values for a chart.
void | maxsize (int m)
| Sets the maximum number of data values for a chart.
void | replace (int ind, double val, const char *str=0, unsigned col=0)
| Replaces a data value `val` at the given position `ind`.
int | size () const
| Returns the number of data values in the chart.
void | size (int W, int H)
| Sets the widget size (width, height).
Fl_Color | textcolor () const
| Gets the chart's text color.
void | textcolor (Fl_Color n)
| Sets the chart's text color to `n`.
Fl_Font | textfont () const
| Gets the chart's text font.
void | textfont (Fl_Font s)
| Sets the chart's text font to `s`.
Fl_Fontsize | textsize () const
| Gets the chart's text size.
void | textsize (Fl_Fontsize s)
| Sets the chart's text size to `s`.
| ~Fl_Chart ()
| Destroys the Fl_Chart widget and all of its data.
Public Member Functions inherited from Fl_Widget
void | _clear_fullscreen ()
void | _set_fullscreen ()
void | activate ()
| Activates the widget.
unsigned int | active () const
| Returns whether the widget is active.
int | active_r () const
| Returns whether the widget and all of its parents are active.
Fl_Align | align () const
| Gets the label alignment.
void | align (Fl_Align alignment)
| Sets the label alignment.
long | argument () const
| Gets the current user data (long) argument that is passed to the callback function.
void | argument (long v)
| Sets the current user data (long) argument that is passed to the callback function.
virtual class Fl_Gl_Window * | as_gl_window ()
| Returns an Fl_Gl_Window pointer if this widget is an Fl_Gl_Window.
virtual class Fl_Gl_Window const * | as_gl_window () const
virtual Fl_Group * | as_group ()
| Returns an Fl_Group pointer if this widget is an Fl_Group.
virtual Fl_Group const * | as_group () const
virtual Fl_Window * | as_window ()
| Returns an Fl_Window pointer if this widget is an Fl_Window.
virtual Fl_Window const * | as_window () const
void | bind_deimage (Fl_Image *img)
| Sets the image to use as part of the widget label when in the inactive state.
void | bind_deimage (int f)
| Bind the inactive image to the widget, so the widget will delete the image when it is no longer needed.
void | bind_image (Fl_Image *img)
| Sets the image to use as part of the widget label when in the active state.
void | bind_image (int f)
| Bind the image to the widget, so the widget will delete the image when it is no longer needed.
Fl_Boxtype | box () const
| Gets the box type of the widget.
void | box (Fl_Boxtype new_box)
| Sets the box type for the widget.
Fl_Callback_p | callback () const
| Gets the current callback function for the widget.
void | callback (Fl_Callback *cb)
| Sets the current callback function for the widget.
void | callback (Fl_Callback *cb, Fl_Callback_User_Data *p, bool auto_free)
| Sets the current callback function and managed user data for the widget.
void | callback (Fl_Callback *cb, void *p)
| Sets the current callback function and data for the widget.
void | callback (Fl_Callback0 *cb)
| Sets the current callback function for the widget.
void | callback (Fl_Callback1 *cb, long p=0)
| Sets the current callback function for the widget.
unsigned int | changed () const
| Checks if the widget value changed since the last callback.
void | clear_active ()
| Marks the widget as inactive without sending events or changing focus.
void | clear_changed ()
| Marks the value of the widget as unchanged.
void | clear_damage (uchar c=0)
| Clears or sets the damage flags.
void | clear_output ()
| Sets a widget to accept input.
void | clear_visible ()
| Hides the widget.
void | clear_visible_focus ()
| Disables keyboard focus navigation with this widget.
Fl_Color | color () const
| Gets the background color of the widget.
void | color (Fl_Color bg)
| Sets the background color of the widget.
void | color (Fl_Color bg, Fl_Color sel)
| Sets the background and selection color of the widget.
Fl_Color | color2 () const
| For back compatibility only.
void | color2 (unsigned a)
| For back compatibility only.
int | contains (const Fl_Widget *w) const
| Checks if w is a child of this widget.
void | copy_label (const char *new_label)
| Sets the current label.
void | copy_tooltip (const char *text)
| Sets the current tooltip text.
uchar | damage () const
| Returns non-zero if draw() needs to be called.
void | damage (uchar c)
| Sets the damage bits for the widget.
void | damage (uchar c, int x, int y, int w, int h)
| Sets the damage bits for an area inside the widget.
int | damage_resize (int, int, int, int)
| Internal use only.
void | deactivate ()
| Deactivates the widget.
Fl_Image * | deimage ()
| Gets the image that is used as part of the widget label when in the inactive state.
const Fl_Image * | deimage () const
| Gets the image that is used as part of the widget label when in the inactive state.
void | deimage (Fl_Image &img)
| Sets the image to use as part of the widget label when in the inactive state.
void | deimage (Fl_Image *img)
| Sets the image to use as part of the widget label when in the inactive state.
int | deimage_bound () const
| Returns whether the inactive image is managed by the widget.
void | do_callback (Fl_Callback_Reason reason=FL_REASON_UNKNOWN)
| Calls the widget callback function with default arguments.
void | do_callback (Fl_Widget *widget, long arg, Fl_Callback_Reason reason=FL_REASON_UNKNOWN)
| Calls the widget callback function with arbitrary arguments.
void | do_callback (Fl_Widget *widget, void *arg=0, Fl_Callback_Reason reason=FL_REASON_UNKNOWN)
| Calls the widget callback function with arbitrary arguments.
void | draw_label (int, int, int, int, Fl_Align) const
| Draws the label in an arbitrary bounding box with an arbitrary alignment.
int | h () const
| Gets the widget height.
virtual int | handle (int event)
| Handles the specified event.
virtual void | hide ()
| Makes a widget invisible.
int | horizontal_label_margin ()
| Get the spacing between the label and the horizontal edge of the widget.
void | horizontal_label_margin (int px)
| Set the spacing between the label and the horizontal edge of the widget.
Fl_Image * | image ()
| Gets the image that is used as part of the widget label when in the active state.
const Fl_Image * | image () const
| Gets the image that is used as part of the widget label when in the active state.
void | image (Fl_Image &img)
| Sets the image to use as part of the widget label when in the active state.
void | image (Fl_Image *img)
| Sets the image to use as part of the widget label when in the active state.
int | image_bound () const
| Returns whether the image is managed by the widget.
int | inside (const Fl_Widget *wgt) const
| Checks if this widget is a child of `wgt`.
int | is_label_copied () const
| Returns whether the current label was assigned with copy_label().
const char * | label () const
| Gets the current label text.
void | label (const char *text)
| Sets the current label pointer.
void | label (Fl_Labeltype a, const char *b)
| Shortcut to set the label text and type in one call.
int | label_image_spacing ()
| Return the gap size between the label and the image.
void | label_image_spacing (int gap)
| Set the gap between the label and the image in pixels.
Fl_Color | labelcolor () const
| Gets the label color.
void | labelcolor (Fl_Color c)
| Sets the label color.
Fl_Font | labelfont () const
| Gets the font to use.
void | labelfont (Fl_Font f)
| Sets the font to use.
Fl_Fontsize | labelsize () const
| Gets the font size in pixels.
void | labelsize (Fl_Fontsize pix)
| Sets the font size in pixels.
Fl_Labeltype | labeltype () const
| Gets the label type.
void | labeltype (Fl_Labeltype a)
| Sets the label type.
void | measure_label (int &ww, int &hh) const
| Sets width ww and height hh accordingly with the label size.
bool | needs_keyboard () const
| Returns whether this widget needs a keyboard.
void | needs_keyboard (bool needs)
| Sets whether this widget needs a keyboard.
unsigned int | output () const
| Returns if a widget is used for output only.
Fl_Group * | parent () const
| Returns a pointer to the parent widget.
void | parent (Fl_Group *p)
| Internal use only - "for hacks only".
void | position (int X, int Y)
| Repositions the window or widget.
void | redraw ()
| Schedules the drawing of the widget.
void | redraw_label ()
| Schedules the drawing of the label.
virtual void | resize (int x, int y, int w, int h)
| Changes the size or position of the widget.
Fl_Color | selection_color () const
| Gets the selection color.
void | selection_color (Fl_Color a)
| Sets the selection color.
void | set_active ()
| Marks the widget as active without sending events or changing focus.
void | set_changed ()
| Marks the value of the widget as changed.
void | set_output ()
| Sets a widget to output only.
void | set_visible ()
| Makes the widget visible.
void | set_visible_focus ()
| Enables keyboard focus navigation with this widget.
int | shortcut_label () const
| Returns whether the widget's label uses '&' to indicate shortcuts.
void | shortcut_label (int value)
| Sets whether the widget's label uses '&' to indicate shortcuts.
virtual void | show ()
| Makes a widget visible.
void | size (int W, int H)
| Changes the size of the widget.
int | take_focus ()
| Gives the widget the keyboard focus.
unsigned int | takesevents () const
| Returns if the widget is able to take events.
int | test_shortcut ()
| Returns true if the widget's label contains the entered '&x' shortcut.
const char * | tooltip () const
| Gets the current tooltip text.
void | tooltip (const char *text)
| Sets the current tooltip text.
Fl_Window * | top_window () const
| Returns a pointer to the top-level window for the widget.
Fl_Window * | top_window_offset (int &xoff, int &yoff) const
| Finds the x/y offset of the current widget relative to the top-level window.
uchar | type () const
| Gets the widget type.
void | type (uchar t)
| Sets the widget type.
int | use_accents_menu ()
| Returns non zero if MAC_USE_ACCENTS_MENU flag is set, 0 otherwise.
void * | user_data () const
| Gets the user data for this widget.
void | user_data (Fl_Callback_User_Data *v, bool auto_free)
| Sets the user data for this widget.
void | user_data (void *v)
| Sets the user data for this widget.
int | vertical_label_margin ()
| Get the spacing between the label and the vertical edge of the widget.
void | vertical_label_margin (int px)
| Set the spacing between the label and the vertical edge of the widget.
unsigned int | visible () const
| Returns whether a widget is visible.
unsigned int | visible_focus () const
| Checks whether this widget has a visible focus.
void | visible_focus (int v)
| Modifies keyboard focus navigation.
int | visible_r () const
| Returns whether a widget and all its parents are visible.
int | w () const
| Gets the widget width.
Fl_When | when () const
| Returns the conditions under which the callback is called.
void | when (uchar i)
| Sets the flags used to decide when a callback is called.
Fl_Window * | window () const
| Returns a pointer to the nearest parent window up the widget hierarchy.
int | x () const
| Gets the widget position in its window.
int | y () const
| Gets the widget position in its window.
virtual | ~Fl_Widget ()
| Destroys the widget.

## Protected Member Functions
void | draw () FL_OVERRIDE
| Draws the Fl_Chart widget.
Protected Member Functions inherited from Fl_Widget
void | clear_flag (unsigned int c)
| Clears a flag in the flags mask.
void | draw_backdrop () const
| If FL_ALIGN_IMAGE_BACKDROP is set, the image or deimage will be drawn.
void | draw_box () const
| Draws the widget box according its box style.
void | draw_box (Fl_Boxtype t, Fl_Color c) const
| Draws a box of type t, of color c at the widget's position and size.
void | draw_box (Fl_Boxtype t, int x, int y, int w, int h, Fl_Color c) const
| Draws a box of type t, of color c at the position X,Y and size W,H.
void | draw_focus () const
| Draws a focus rectangle around the widget.
void | draw_focus (Fl_Boxtype t, int X, int Y, int W, int H) const
| Draws a focus rectangle around the widget.
void | draw_focus (Fl_Boxtype t, int x, int y, int w, int h, Fl_Color bg) const
| Draws a focus box for the widget at the given position and size.
void | draw_label () const
| Draws the widget's label at the defined label position.
void | draw_label (int, int, int, int) const
| Draws the label in an arbitrary bounding box.
| Fl_Widget (int x, int y, int w, int h, const char *label=0L)
| Creates a widget at the given position and size.
unsigned int | flags () const
| Gets the widget flags mask.
void | h (int v)
| Internal use only.
void | set_flag (unsigned int c)
| Sets a flag in the flags mask.
void | w (int v)
| Internal use only.
void | x (int v)
| Internal use only.
void | y (int v)
| Internal use only.

## Static Protected Member Functions
static void | draw_barchart (int x, int y, int w, int h, int numb, FL_CHART_ENTRY entries[], double min, double max, int autosize, int maxnumb, Fl_Color textcolor)
| Draws a bar chart.
static void | draw_horbarchart (int x, int y, int w, int h, int numb, FL_CHART_ENTRY entries[], double min, double max, int autosize, int maxnumb, Fl_Color textcolor)
| Draws a horizontal bar chart.
static void | draw_linechart (int type, int x, int y, int w, int h, int numb, FL_CHART_ENTRY entries[], double min, double max, int autosize, int maxnumb, Fl_Color textcolor)
| Draws a line chart.
static void | draw_piechart (int x, int y, int w, int h, int numb, FL_CHART_ENTRY entries[], int special, Fl_Color textcolor)
| Draws a pie chart.

## Additional Inherited Members
Static Public Member Functions inherited from Fl_Widget
static void | default_callback (Fl_Widget *widget, void *data)
| The default callback for all widgets that don't set a callback.
static unsigned int | label_shortcut (const char *t)
| Returns the Unicode value of the '&x' shortcut in a given text.
static int | test_shortcut (const char *, const bool require_alt=false)
| Returns true if the given text `t` contains the entered '&x' shortcut.
Protected Types inherited from Fl_Widget
enum | { INACTIVE = 1<<0 , INVISIBLE = 1<<1 , OUTPUT = 1<<2 , NOBORDER = 1<<3 , FORCE_POSITION = 1<<4 , NON_MODAL = 1<<5 , SHORTCUT_LABEL = 1<<6 , CHANGED = 1<<7 , OVERRIDE = 1<<8 , VISIBLE_FOCUS = 1<<9 , COPIED_LABEL = 1<<10 , CLIP_CHILDREN = 1<<11 , MENU_WINDOW = 1<<12 , TOOLTIP_WINDOW = 1<<13 , MODAL = 1<<14 , NO_OVERLAY = 1<<15 , GROUP_RELATIVE = 1<<16 , COPIED_TOOLTIP = 1<<17 , FULLSCREEN = 1<<18 , MAC_USE_ACCENTS_MENU = 1<<19 , NEEDS_KEYBOARD = 1<<20 , IMAGE_BOUND = 1<<21 , DEIMAGE_BOUND = 1<<22 , AUTO_DELETE_USER_DATA = 1<<23 , MAXIMIZED = 1<<24 , POPUP = 1<<25 , USERFLAG3 = 1<<29 , USERFLAG2 = 1<<30 , USERFLAG1 = 1<<31 }
| flags possible values enumeration. More...

## Detailed Description

Fl_Chart displays simple charts.

It is provided for Forms compatibility.

Todo
  Refactor Fl_Chart::type() information.

The type of an Fl_Chart object can be set using type(uchar t) to:

Chart Type | Description
--- | ---
FL_BAR_CHART | Each sample value is drawn as a vertical bar.
FL_FILLED_CHART | The chart is filled from the bottom of the graph to the sample values.
FL_HORBAR_CHART | Each sample value is drawn as a horizontal bar.
FL_LINE_CHART | The chart is drawn as a polyline with vertices at each sample value.
FL_PIE_CHART | A pie chart is drawn with each sample value being drawn as a proportionate slice in the circle.
FL_SPECIALPIE_CHART | Like `FL_PIE_CHART`, but the first slice is separated from the pie.
FL_SPIKE_CHART | Each sample value is drawn as a vertical line.

## Constructor & Destructor Documentation

## ◆ Fl_Chart()

Fl_Chart::Fl_Chart | ( | int | X,
|  | int | Y,
|  | int | W,
|  | int | H,
|  | const char * | L = 0 )

Create a new Fl_Chart widget using the given position, size and label string.

The default boxstyle is `FL_NO_BOX`.

Parameters

  [in] | X,Y,W,H | position and size of the widget
  [in] | L | widget label, default is no label

## Member Function Documentation

## ◆ add()

void Fl_Chart::add | ( | double | val,
|  | const char * | str = 0,
|  | unsigned | col = 0 )

Adds the data value `val` with optional label `str` and color `col` to the chart.

Parameters

  [in] | val | data value
  [in] | str | optional data label
  [in] | col | optional data color

## ◆ autosize() [1/2]

uchar Fl_Chart::autosize | ( |  | ) | const
| inline

Gets whether the chart will automatically adjust the bounds of the chart.

Returns
  non-zero if auto-sizing is enabled and zero if disabled.

## ◆ autosize() [2/2]

void Fl_Chart::autosize | ( | uchar | n | ) |
| inline

Sets whether the chart will automatically adjust the bounds of the chart.

Parameters

  [in] | n | non-zero to enable automatic resizing, zero to disable.

## ◆ bounds() [1/2]

void Fl_Chart::bounds | ( | double * | a,
|  | double * | b ) const
| inline

Gets the lower and upper bounds of the chart values.

Parameters

  [out] | a,b | are set to lower, upper

## ◆ bounds() [2/2]

void Fl_Chart::bounds | ( | double | a,
|  | double | b )

Sets the lower and upper bounds of the chart values.

Parameters

  [in] | a,b | are used to set lower, upper

## ◆ draw()

void Fl_Chart::draw | ( | void |  | ) |
| protected virtual

Draws the Fl_Chart widget.

Implements Fl_Widget.

## ◆ draw_barchart()

void Fl_Chart::draw_barchart | ( | int | x,
|  | int | y,
|  | int | w,
|  | int | h,
|  | int | numb,
|  | FL_CHART_ENTRY | entries[],
|  | double | min,
|  | double | max,
|  | int | autosize,
|  | int | maxnumb,
|  | Fl_Color | textcolor )
| static protected

Draws a bar chart.

`x`, `y`, `w`, `h` is the bounding box, `entries` the array of `numb` entries, and `min` and `max` the boundaries.

Parameters

  [in] | x,y,w,h | Widget position and size
  [in] | numb | Number of values
  [in] | entries | Array of values
  [in] | min | Lower boundary
  [in] | max | Upper boundary
  [in] | autosize | Whether the chart autosizes
  [in] | maxnumb | Maximal number of entries
  [in] | textcolor | Text color

## ◆ draw_horbarchart()

void Fl_Chart::draw_horbarchart | ( | int | x,
|  | int | y,
|  | int | w,
|  | int | h,
|  | int | numb,
|  | FL_CHART_ENTRY | entries[],
|  | double | min,
|  | double | max,
|  | int | autosize,
|  | int | maxnumb,
|  | Fl_Color | textcolor )
| static protected

Draws a horizontal bar chart.

`x`, `y`, `w`, `h` is the bounding box, `entries` the array of `numb` entries, and `min` and `max` the boundaries.

Parameters

  [in] | x,y,w,h | Widget position and size
  [in] | numb | Number of values
  [in] | entries | Array of values
  [in] | min | Lower boundary
  [in] | max | Upper boundary
  [in] | autosize | Whether the chart autosizes
  [in] | maxnumb | Maximal number of entries
  [in] | textcolor | Text color

## ◆ draw_linechart()

void Fl_Chart::draw_linechart | ( | int | type,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h,
|  | int | numb,
|  | FL_CHART_ENTRY | entries[],
|  | double | min,
|  | double | max,
|  | int | autosize,
|  | int | maxnumb,
|  | Fl_Color | textcolor )
| static protected

Draws a line chart.

`x`, `y`, `w`, `h` is the bounding box, `entries` the array of `numb` entries, and `min` and `max` the boundaries.

Parameters

  [in] | type | Chart type
  [in] | x,y,w,h | Widget position and size
  [in] | numb | Number of values
  [in] | entries | Array of values
  [in] | min | Lower boundary
  [in] | max | Upper boundary
  [in] | autosize | Whether the chart autosizes
  [in] | maxnumb | Maximal number of entries
  [in] | textcolor | Text color

## ◆ draw_piechart()

void Fl_Chart::draw_piechart | ( | int | x,
|  | int | y,
|  | int | w,
|  | int | h,
|  | int | numb,
|  | FL_CHART_ENTRY | entries[],
|  | int | special,
|  | Fl_Color | textcolor )
| static protected

Draws a pie chart.

Parameters

  [in] | x,y,w,h | bounding box
  [in] | numb | number of chart entries
  [in] | entries | array of chart entries
  [in] | special | special (?)
  [in] | textcolor | text color

## ◆ insert()

void Fl_Chart::insert | ( | int | ind,
|  | double | val,
|  | const char * | str = 0,
|  | unsigned | col = 0 )

Inserts a data value `val` at the given position `ind`.

Position 1 is the first data value.

Parameters

  [in] | ind | insertion position
  [in] | val | data value
  [in] | str | optional data label
  [in] | col | optional data color

## ◆ maxsize()

void Fl_Chart::maxsize | ( | int | m | ) |

Sets the maximum number of data values for a chart.

If you do not call this method then the chart will be allowed to grow to any size depending on available memory.

Parameters

  [in] | m | maximum number of data values allowed.

## ◆ replace()

void Fl_Chart::replace | ( | int | ind,
|  | double | val,
|  | const char * | str = 0,
|  | unsigned | col = 0 )

Replaces a data value `val` at the given position `ind`.

Position 1 is the first data value.

Parameters

  [in] | ind | insertion position
  [in] | val | data value
  [in] | str | optional data label
  [in] | col | optional data color

## ◆ size()

void Fl_Chart::size | ( | int | W,
|  | int | H )
| inline

Sets the widget size (width, height).

This is the same as calling Fl_Widget::size(int W, int H);

Parameters

  [in] | W,H | new width and height of the widget

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

- Fl_Chart.H
- Fl_Chart.cxx