PineForge v0.13.1-379-g9b50973
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
drawing.hpp File Reference
#include <vector>
#include <deque>
#include <string>
#include <algorithm>
#include <cstdint>
#include <stdexcept>
#include <cmath>
#include <utility>
#include <pineforge/na.hpp>
Include dependency graph for drawing.hpp:

Go to the source code of this file.

Data Structures

struct  pineforge::Line
 
struct  pineforge::Box
 
struct  pineforge::Label
 
struct  pineforge::Linefill
 
struct  pineforge::ChartPoint
 
struct  pineforge::LineRec
 
struct  pineforge::BoxRec
 
struct  pineforge::LabelRec
 
struct  pineforge::LinefillRec
 
struct  pineforge::pine_drawing_error
 
class  pineforge::DrawingArena< Rec >
 

Namespaces

namespace  pineforge
 

Enumerations

enum class  pineforge::XLoc : int {
  pineforge::bar_index = 0 ,
  pineforge::bar_time = 1
}
 
enum class  pineforge::YLoc : int {
  pineforge::price = 0 ,
  pineforge::abovebar = 1 ,
  pineforge::belowbar = 2
}
 

Functions

bool pineforge::is_na (const Line &h)
 
bool pineforge::is_na (const Box &h)
 
bool pineforge::is_na (const Label &h)
 
bool pineforge::is_na (const Linefill &h)
 
bool pineforge::is_na (const ChartPoint &p)
 
template<class Rec, class Handle>
Rec & pineforge::pf_require_live (DrawingArena< Rec > &a, Handle h)
 
int64_t pineforge::pf_point_x (const ChartPoint &p, XLoc xloc)
 
Line pineforge::pf_line_new (DrawingArena< LineRec > &a, int64_t x1, double y1, int64_t x2, double y2, XLoc xloc=XLoc::bar_index, bool el=false, bool er=false)
 
Line pineforge::pf_line_new_pts (DrawingArena< LineRec > &a, ChartPoint p1, ChartPoint p2, XLoc xloc=XLoc::bar_index)
 
int64_t pineforge::pf_line_get_x1 (DrawingArena< LineRec > &a, Line h)
 
int64_t pineforge::pf_line_get_x2 (DrawingArena< LineRec > &a, Line h)
 
double pineforge::pf_line_get_y1 (DrawingArena< LineRec > &a, Line h)
 
double pineforge::pf_line_get_y2 (DrawingArena< LineRec > &a, Line h)
 
void pineforge::pf_line_set_x1 (DrawingArena< LineRec > &a, Line h, int64_t v)
 
void pineforge::pf_line_set_x2 (DrawingArena< LineRec > &a, Line h, int64_t v)
 
void pineforge::pf_line_set_y1 (DrawingArena< LineRec > &a, Line h, double v)
 
void pineforge::pf_line_set_y2 (DrawingArena< LineRec > &a, Line h, double v)
 
void pineforge::pf_line_set_xy1 (DrawingArena< LineRec > &a, Line h, int64_t x, double y)
 
void pineforge::pf_line_set_xy2 (DrawingArena< LineRec > &a, Line h, int64_t x, double y)
 
void pineforge::pf_line_set_first_point (DrawingArena< LineRec > &a, Line h, ChartPoint p)
 
void pineforge::pf_line_set_second_point (DrawingArena< LineRec > &a, Line h, ChartPoint p)
 
void pineforge::pf_line_set_xloc (DrawingArena< LineRec > &a, Line h, int64_t x1, int64_t x2, XLoc xloc)
 
double pineforge::pf_line_get_price (DrawingArena< LineRec > &a, Line h, int64_t x)
 
Line pineforge::pf_line_copy (DrawingArena< LineRec > &a, Line h)
 
void pineforge::pf_line_delete (DrawingArena< LineRec > &a, Line h)
 
Box pineforge::pf_box_new (DrawingArena< BoxRec > &a, int64_t left, double top, int64_t right, double bottom, XLoc xloc=XLoc::bar_index)
 
Box pineforge::pf_box_new_pts (DrawingArena< BoxRec > &a, ChartPoint top_left, ChartPoint bottom_right, XLoc xloc=XLoc::bar_index)
 
int64_t pineforge::pf_box_get_left (DrawingArena< BoxRec > &a, Box h)
 
int64_t pineforge::pf_box_get_right (DrawingArena< BoxRec > &a, Box h)
 
double pineforge::pf_box_get_top (DrawingArena< BoxRec > &a, Box h)
 
double pineforge::pf_box_get_bottom (DrawingArena< BoxRec > &a, Box h)
 
void pineforge::pf_box_set_left (DrawingArena< BoxRec > &a, Box h, int64_t v)
 
void pineforge::pf_box_set_right (DrawingArena< BoxRec > &a, Box h, int64_t v)
 
void pineforge::pf_box_set_top (DrawingArena< BoxRec > &a, Box h, double v)
 
void pineforge::pf_box_set_bottom (DrawingArena< BoxRec > &a, Box h, double v)
 
void pineforge::pf_box_set_lefttop (DrawingArena< BoxRec > &a, Box h, int64_t left, double top)
 
void pineforge::pf_box_set_rightbottom (DrawingArena< BoxRec > &a, Box h, int64_t right, double bottom)
 
void pineforge::pf_box_set_top_left_point (DrawingArena< BoxRec > &a, Box h, ChartPoint p)
 
void pineforge::pf_box_set_bottom_right_point (DrawingArena< BoxRec > &a, Box h, ChartPoint p)
 
void pineforge::pf_box_set_xloc (DrawingArena< BoxRec > &a, Box h, int64_t left, int64_t right, XLoc xloc)
 
Box pineforge::pf_box_copy (DrawingArena< BoxRec > &a, Box h)
 
void pineforge::pf_box_delete (DrawingArena< BoxRec > &a, Box h)
 
Label pineforge::pf_label_new (DrawingArena< LabelRec > &a, int64_t x, double y, std::string text, XLoc xloc=XLoc::bar_index, YLoc yloc=YLoc::price)
 
Label pineforge::pf_label_new_pt (DrawingArena< LabelRec > &a, ChartPoint point, std::string text, YLoc yloc=YLoc::price)
 
int64_t pineforge::pf_label_get_x (DrawingArena< LabelRec > &a, Label h)
 
double pineforge::pf_label_get_y (DrawingArena< LabelRec > &a, Label h)
 
std::string pineforge::pf_label_get_text (DrawingArena< LabelRec > &a, Label h)
 
void pineforge::pf_label_set_x (DrawingArena< LabelRec > &a, Label h, int64_t v)
 
void pineforge::pf_label_set_y (DrawingArena< LabelRec > &a, Label h, double v)
 
void pineforge::pf_label_set_xy (DrawingArena< LabelRec > &a, Label h, int64_t x, double y)
 
void pineforge::pf_label_set_point (DrawingArena< LabelRec > &a, Label h, ChartPoint p)
 
void pineforge::pf_label_set_xloc (DrawingArena< LabelRec > &a, Label h, int64_t x, XLoc xloc)
 
void pineforge::pf_label_set_yloc (DrawingArena< LabelRec > &a, Label h, YLoc yloc)
 
void pineforge::pf_label_set_text (DrawingArena< LabelRec > &a, Label h, std::string text)
 
Label pineforge::pf_label_copy (DrawingArena< LabelRec > &a, Label h)
 
void pineforge::pf_label_delete (DrawingArena< LabelRec > &a, Label h)
 
Linefill pineforge::pf_linefill_new (DrawingArena< LinefillRec > &a, Line l1, Line l2)
 
Line pineforge::pf_linefill_get_line1 (DrawingArena< LinefillRec > &a, Linefill h)
 
Line pineforge::pf_linefill_get_line2 (DrawingArena< LinefillRec > &a, Linefill h)
 
void pineforge::pf_linefill_delete (DrawingArena< LinefillRec > &a, Linefill h)
 
template<class... A>
void pineforge::pf_noop (A &&...)