#ifdef __cplusplus extern "C" { #endif #pragma once #include "HROOT-grafType.h" #include "HROOTCoreTObject.h" #include "HROOTCoreTAttMarker.h" #include "HROOTCoreTAttBBox2D.h" #include "STDDeletable.h" #include "HROOT-coreType.h" #define TMARKER_DECL_VIRT(Type) \ void Type##_SetX ( Type##_p p, double x );\ void Type##_SetY ( Type##_p p, double y ); #define TMARKER_DECL_NONVIRT(Type) \ Type##_p Type##_newTMarker ( double x, double y, int marker );\ double Type##_tMarker_GetX ( Type##_p p );\ double Type##_tMarker_GetY ( Type##_p p ); #define TMARKER_DECL_ACCESSOR(Type) \ #define TMARKER_DEF_VIRT(Type) \ void Type##_SetX ( Type##_p p, double x ) {\ ((TYPECASTMETHOD(Type, SetX, TMarker))(p))->SetX(x);\ }\ \ void Type##_SetY ( Type##_p p, double y ) {\ ((TYPECASTMETHOD(Type, SetY, TMarker))(p))->SetY(y);\ } #define TMARKER_DEF_NONVIRT(Type) \ Type##_p Type##_newTMarker ( double x, double y, int marker ) {\ Type* newp=new Type(x, y, marker);return from_nonconst_to_nonconst(newp);\ }\ \ double Type##_tMarker_GetX ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, tMarker_GetX, TMarker))(p))->GetX();\ }\ \ double Type##_tMarker_GetY ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, tMarker_GetY, TMarker))(p))->GetY();\ } #define TMARKER_DEF_ACCESSOR(Type) \ TOBJECT_DECL_VIRT(TMarker) TATTMARKER_DECL_VIRT(TMarker) TATTBBOX2D_DECL_VIRT(TMarker) DELETABLE_DECL_VIRT(TMarker) TMARKER_DECL_VIRT(TMarker) TMARKER_DECL_NONVIRT(TMarker) TMARKER_DECL_ACCESSOR(TMarker) #ifdef __cplusplus } #endif