HROOT-graf-0.10.0.1: csrc/HROOTGrafTLine.h
#ifdef __cplusplus
extern "C" {
#endif
#pragma once
#include "HROOT-grafType.h"
#include "HROOTCoreTObject.h"
#include "HROOTCoreTAttLine.h"
#include "STDDeletable.h"
#include "HROOT-coreType.h"
#define TLINE_DECL_VIRT(Type) \
TLine_p Type##_DrawLine ( Type##_p p, double x1, double y1, double x2, double y2 );\
TLine_p Type##_DrawLineNDC ( Type##_p p, double x1, double y1, double x2, double y2 );\
void Type##_PaintLine ( Type##_p p, double x1, double y1, double x2, double y2 );\
void Type##_PaintLineNDC ( Type##_p p, double u1, double v1, double u2, double v2 );\
void Type##_SetX1 ( Type##_p p, double x1 );\
void Type##_SetX2 ( Type##_p p, double x2 );\
void Type##_SetY1 ( Type##_p p, double y1 );\
void Type##_SetY2 ( Type##_p p, double y2 );
#define TLINE_DECL_NONVIRT(Type) \
Type##_p Type##_newTLine ( double x1, double y1, double x2, double y2 );\
double Type##_tLine_GetX1 ( Type##_p p );\
double Type##_tLine_GetX2 ( Type##_p p );\
double Type##_tLine_GetY1 ( Type##_p p );\
double Type##_tLine_GetY2 ( Type##_p p );\
bool Type##_tLine_IsHorizontal ( Type##_p p );\
bool Type##_tLine_IsVertical ( Type##_p p );\
void Type##_tLine_SetHorizontal ( Type##_p p, bool set );\
void Type##_tLine_SetVertical ( Type##_p p, bool set );
#define TLINE_DECL_ACCESSOR(Type) \
#define TLINE_DEF_VIRT(Type) \
TLine_p Type##_DrawLine ( Type##_p p, double x1, double y1, double x2, double y2 ) {\
return from_nonconst_to_nonconst<TLine_t, TLine>((TLine*)((TYPECASTMETHOD(Type, DrawLine, TLine))(p))->DrawLine(x1, y1, x2, y2));\
}\
\
TLine_p Type##_DrawLineNDC ( Type##_p p, double x1, double y1, double x2, double y2 ) {\
return from_nonconst_to_nonconst<TLine_t, TLine>((TLine*)((TYPECASTMETHOD(Type, DrawLineNDC, TLine))(p))->DrawLineNDC(x1, y1, x2, y2));\
}\
\
void Type##_PaintLine ( Type##_p p, double x1, double y1, double x2, double y2 ) {\
((TYPECASTMETHOD(Type, PaintLine, TLine))(p))->PaintLine(x1, y1, x2, y2);\
}\
\
void Type##_PaintLineNDC ( Type##_p p, double u1, double v1, double u2, double v2 ) {\
((TYPECASTMETHOD(Type, PaintLineNDC, TLine))(p))->PaintLineNDC(u1, v1, u2, v2);\
}\
\
void Type##_SetX1 ( Type##_p p, double x1 ) {\
((TYPECASTMETHOD(Type, SetX1, TLine))(p))->SetX1(x1);\
}\
\
void Type##_SetX2 ( Type##_p p, double x2 ) {\
((TYPECASTMETHOD(Type, SetX2, TLine))(p))->SetX2(x2);\
}\
\
void Type##_SetY1 ( Type##_p p, double y1 ) {\
((TYPECASTMETHOD(Type, SetY1, TLine))(p))->SetY1(y1);\
}\
\
void Type##_SetY2 ( Type##_p p, double y2 ) {\
((TYPECASTMETHOD(Type, SetY2, TLine))(p))->SetY2(y2);\
}
#define TLINE_DEF_NONVIRT(Type) \
Type##_p Type##_newTLine ( double x1, double y1, double x2, double y2 ) {\
Type* newp=new Type(x1, y1, x2, y2);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\
}\
\
double Type##_tLine_GetX1 ( Type##_p p ) {\
return ((TYPECASTMETHOD(Type, tLine_GetX1, TLine))(p))->GetX1();\
}\
\
double Type##_tLine_GetX2 ( Type##_p p ) {\
return ((TYPECASTMETHOD(Type, tLine_GetX2, TLine))(p))->GetX2();\
}\
\
double Type##_tLine_GetY1 ( Type##_p p ) {\
return ((TYPECASTMETHOD(Type, tLine_GetY1, TLine))(p))->GetY1();\
}\
\
double Type##_tLine_GetY2 ( Type##_p p ) {\
return ((TYPECASTMETHOD(Type, tLine_GetY2, TLine))(p))->GetY2();\
}\
\
bool Type##_tLine_IsHorizontal ( Type##_p p ) {\
return ((TYPECASTMETHOD(Type, tLine_IsHorizontal, TLine))(p))->IsHorizontal();\
}\
\
bool Type##_tLine_IsVertical ( Type##_p p ) {\
return ((TYPECASTMETHOD(Type, tLine_IsVertical, TLine))(p))->IsVertical();\
}\
\
void Type##_tLine_SetHorizontal ( Type##_p p, bool set ) {\
((TYPECASTMETHOD(Type, tLine_SetHorizontal, TLine))(p))->SetHorizontal(set);\
}\
\
void Type##_tLine_SetVertical ( Type##_p p, bool set ) {\
((TYPECASTMETHOD(Type, tLine_SetVertical, TLine))(p))->SetVertical(set);\
}
#define TLINE_DEF_ACCESSOR(Type) \
TOBJECT_DECL_VIRT(TLine)
TATTLINE_DECL_VIRT(TLine)
DELETABLE_DECL_VIRT(TLine)
TLINE_DECL_VIRT(TLine)
TLINE_DECL_NONVIRT(TLine)
TLINE_DECL_ACCESSOR(TLine)
#ifdef __cplusplus
}
#endif