Skip to content

Latest commit

 

History

History
533 lines (455 loc) · 18.3 KB

INTERFACE.md

File metadata and controls

533 lines (455 loc) · 18.3 KB
- This document is not finished!

Public interface

Name File
class Chart chart.h
class Graph graph.h
class Text text.h
class Font font.h
abstract class IWConsole iwconsole.h
abstract class IHeader iheader.h
abstract class IRange irange.h
abstract class IGrid igrid.h
abstract class IPrecisionP1 iprecision.h
abstract class IPrecisionP2 iprecision.h

Inheritances & implementations class diagram:

uml class

Dependencies class diagram:

uml class

Chart

Public methods Description Derived
(constructor) Constructs the chart object
SetChartType Sets the ChartType
SetOpacity Sets the Opacity
SetChartColors Sets the chart Colors
PrintObject Print the chart to the console
SetSize Sets the size ... IWConsole
NewLine Print the new line and ... IWConsole
NewLineInBlock Print the new line in block and ... IWConsole
Clear Clear console output IWConsole
ClearLast Clear the last chart IWConsole
ClearFirst Go to the position of the first printing chart IWConsole
PrintBound Print object subject to previous changes IWConsole
SetDataPosition Sets the DataPosition IHeader
ShowDataHeader Show the data header IHeader
SetVerticalRange Sets the vertical range value (Y) IRange
SetHorizontalRange Sets the horizontal range value (X) IRange
SetAxisColor Sets the axis Color IGrid
SetGridColor Sets the grid Color IGrid
SetArrow Sets the Arrow IGrid
ShowArrow Show the arrow IGrid
ShowGrid Show the grid IGrid
SetPrecision Sets the precision of ... IPrecisionP1

explicit Chart (const ChartType type = ChartType::Column, const Opacity opacity = Opacity::OP_100);

Constructs the chart object.
type ChartType
opacity chart Opacity

void SetChartType (const ChartType type) noexcept;

Setting the chart type.
type ChartType

void SetOpacity (const Opacity opacity) noexcept;

Setting the opacity of the bricks.
opacity Opacity

void SetChartColors (const std::vector<Color> & colors) noexcept;

Setting the chart colors. If the colors are less than the data, the colors are repeated.
colors Colors

template <typename T>
void PrintObject (const std::vector<T> & data);

Print chart.
data data vector

Graph

Public methods Description Derived
(constructor) Constructs the graph object
SetPoint Sets the Point type
PrintObject Print the graph to the console
SetSize Sets the size ... IWConsole
NewLine Print the new line and ... IWConsole
NewLineInBlock Print the new line in block and ... IWConsole
Clear Clear console output IWConsole
ClearLast Clear the last chart IWConsole
ClearFirst Go to the position of the first printing chart IWConsole
PrintBound Print object subject to previous changes IWConsole
SetDataPosition Sets the DataPosition IHeader
ShowDataHeader Show the data header IHeader
SetVerticalRange Sets the vertical range value (Y) IRange
SetHorizontalRange Sets the horizontal range value (X) IRange
SetAxisColor Sets the axis Color IGrid
SetGridColor Sets the grid Color IGrid
SetArrow Sets the Arrow IGrid
ShowArrow Show the arrow IGrid
ShowGrid Show the grid IGrid
SetVerticalPrecision Sets the vertical precision of ... IPrecisionP2
SetHorizontalPrecision Sets the horizontal precision of ... IPrecisionP2

explicit Graph (const Point point = Point::Dot, const Color point_color = Color::BrightRed);

Constructs the graph object.
point Point
point_color point Color

void SetPoint (const Point point) noexcept;

Setting the point.
point Point

template <typename T>
void PrintObject (const std::vector<std::pair<T, T>> & data);

Print garph.
data coordinate pairs vector

Text

Public methods Description Derived
(constructor) Constructs the text object
PrintObject Print the text to the console
SetSize Sets the size ... IWConsole
NewLine Print the new line and ... IWConsole
NewLineInBlock Print the new line in block and ... IWConsole
Clear Clear console output IWConsole
ClearLast Clear the last chart IWConsole
ClearFirst Go to the position of the first printing chart IWConsole
PrintBound Print object subject to previous changes IWConsole

explicit Text (const FontType & font_type = FontType::Monospace);

Constructs the text object.
font_type FontType

void PrintObject (const char * s) noexcept;
void PrintObject (const std::string & str) noexcept;
void PrintObject (const std::string & str, const Font & font) noexcept;

Print text.
s pointer to C-string
str string
font Font object

Font

Public methods Description
(constructor) Constructs the font object
SetFontType Sets the FontType
SetForegroundColor Sets the foreground Color
SetBackgroundColor Sets the background Color
SetInverseColor Sets the inverse color
SetUnderline Sets the underline
GetFontType Gets the FontType
WriteParametersToBuff Write parameters to std::wstring buffer

explicit Font (const FontType & font_type = FontType::Monospace);

Constructs the font object.
font_type FontType

void SetFontType (const FontType & font_type) noexcept;

Setting the font type.
font_type FontType

void SetForegroundColor (const Color & color) noexcept;

Setting the foreground color.
color the foreground Color

void SetBackgroundColor (const Color & color) noexcept;

Setting the background color.
color the background Color

void SetInverseColor (const bool is_inverse) noexcept;

Setting the inverse color.
is_inverse true - inverse, false - not inverse

void SetUnderline (const bool is_underline) noexcept;

Setting the underline.
is_underline true - underline, false - not underline

FontType GetFontType () const noexcept;

Return the FontType.

void WriteParametersToBuff (std::wstring & buff) const noexcept;

Write parameters to std::wstring buffer.
buff std::wstring buffer

IWConsole

Public methods Description
SetSize Sets the size ...
NewLine Print the new line and ...
NewLineInBlock Print the new line in block and ...
Clear Clear console output
ClearLast Clear the last chart
ClearFirst Go to the position of the first printing chart
PrintBound Print object subject to previous changes

IHeader

Public methods Description
SetDataPosition Sets the DataPosition
ShowDataHeader Show the data header

IRange

Public methods Description
SetVerticalRange Sets the vertical range value (Y)
SetHorizontalRange Sets the horizontal range value (X)

IGrid

Public methods Description
SetAxisColor Sets the axis Color
SetGridColor Sets the grid Color
SetArrow Sets the Arrow
ShowArrow Show the arrow
ShowGrid Show the grid

IPrecisionP1

Public methods Description
SetPrecision Sets the precision of ...

IPrecisionP2

Public methods Description
SetVerticalPrecision Sets the vertical precision of ...
SetHorizontalPrecision Sets the horizontal precision of ...

Data structures

enum class Arrow : uchar {
        Big,
        Small
    };

enum class ChartType : uchar {
    Column,
    Bar,
    Pie,
};

enum class Color : uchar {
    Black,
    Red,
    Green,
    Yellow,
    Blue,
    Magenta,
    Cyan,
    White,
    BrightBlack,
    BrightRed,
    BrightGreen,
    BrightYellow,
    BrightBlue,
    BrightMagenta,
    BrightCyan,
    BrightWhite,
    Default,
    BrightDefault
};

enum class DataPosition : uchar {
    Right,
    Left,
    Center
};

enum class FontType : uchar {
    Serif,
    SerifItal,
    SerifBold,
    SerifBoldItal,
    SansSerif,
    SansSerifItal,
    SansSerifBold,
    SansSerifBoldItal,
    Monospace,
    ScriptBold,
    FrakturBold,
    FullWidth,
};

enum class Opacity : uchar {
    OP_100,
    OP_75,
    OP_50,
    OP_25,
};

enum class Point : wchar_t {
    Dot           = 0x2022,
    Triangle      = 0x25B2,
    SmallTriangle = 0x25B4,
    Rhombus       = 0x25C6,
    SmallSquare   = 0x25FE,
    Star          = 0x2605,
    Clover        = 0x2618,
    Scythe        = 0x262D,
    YinYang       = 0x262F,
    Smile         = 0x263B,
    SpadeSuit     = 0x2660,
    ClubSuit      = 0x2663,
    HeartSuit     = 0x2665,
    DiamondSuit   = 0x2666,
    Flag          = 0x2691,
    Flower        = 0x2698,
    Zeus          = 0x26A1,
    CheckMarkItal = 0x2714,
    CrossX        = 0x2716,
    CrossXItal    = 0x2718,
    Cross         = 0x271A,
    StarInCircle  = 0x272A,
    Asterisk      = 0x2731,
    BigCrossX     = 0x274C,
    Heart         = 0x2764,
    Square        = 0x2B1B,
    Pentagon      = 0x2B1F,
    Hexagon       = 0x2B22,
    Circle        = 0x2B24,
    SmallRhombus  = 0x2B25,
    Beaver        = 0xF800,
};

<style> .func { font-family: monospace; font-size: 16px; padding: 8px 13px; color: white; background: steelblue; /* background: #3465a4; */ } .keyw { font-weight: bold; color: #fce94f; } .mark { color: #34e2e2; } .term { color: violet; } </style>