#ifdef __cplusplus extern "C" { #endif #pragma once #include "HROOT-coreType.h" #include "HROOTCoreTObject.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttPad.h" #include "HROOTCoreTQObject.h" #include "STDDeletable.h" #define TVIRTUALPAD_DECL_VIRT(Type) \ Type##_p Type##_cd ( Type##_p p, int subpadnumber );\ void Type##_divide_tvirtualpad ( Type##_p p, int nx, int ny, float xmargin, float ymargin, int color );\ void Type##_Modified ( Type##_p p, bool flag );\ void Type##_Range ( Type##_p p, double x1, double y1, double x2, double y2 );\ void Type##_SetLogx ( Type##_p p, int value );\ void Type##_SetLogy ( Type##_p p, int value );\ void Type##_SetLogz ( Type##_p p, int value );\ void Type##_Update ( Type##_p p ); #define TVIRTUALPAD_DECL_NONVIRT(Type) \ #define TVIRTUALPAD_DECL_ACCESSOR(Type) \ #define TVIRTUALPAD_DEF_VIRT(Type) \ Type##_p Type##_cd ( Type##_p p, int subpadnumber ) {\ return from_nonconst_to_nonconst((Type*)((TYPECASTMETHOD(Type, cd, TVirtualPad))(p))->cd(subpadnumber));\ }\ \ void Type##_divide_tvirtualpad ( Type##_p p, int nx, int ny, float xmargin, float ymargin, int color ) {\ ((TYPECASTMETHOD(Type, divide_tvirtualpad, TVirtualPad))(p))->Divide(nx, ny, xmargin, ymargin, color);\ }\ \ void Type##_Modified ( Type##_p p, bool flag ) {\ ((TYPECASTMETHOD(Type, Modified, TVirtualPad))(p))->Modified(flag);\ }\ \ void Type##_Range ( Type##_p p, double x1, double y1, double x2, double y2 ) {\ ((TYPECASTMETHOD(Type, Range, TVirtualPad))(p))->Range(x1, y1, x2, y2);\ }\ \ void Type##_SetLogx ( Type##_p p, int value ) {\ ((TYPECASTMETHOD(Type, SetLogx, TVirtualPad))(p))->SetLogx(value);\ }\ \ void Type##_SetLogy ( Type##_p p, int value ) {\ ((TYPECASTMETHOD(Type, SetLogy, TVirtualPad))(p))->SetLogy(value);\ }\ \ void Type##_SetLogz ( Type##_p p, int value ) {\ ((TYPECASTMETHOD(Type, SetLogz, TVirtualPad))(p))->SetLogz(value);\ }\ \ void Type##_Update ( Type##_p p ) {\ ((TYPECASTMETHOD(Type, Update, TVirtualPad))(p))->Update();\ } #define TVIRTUALPAD_DEF_NONVIRT(Type) \ #define TVIRTUALPAD_DEF_ACCESSOR(Type) \ TOBJECT_DECL_VIRT(TVirtualPad) TATTLINE_DECL_VIRT(TVirtualPad) TATTFILL_DECL_VIRT(TVirtualPad) TATTPAD_DECL_VIRT(TVirtualPad) TQOBJECT_DECL_VIRT(TVirtualPad) DELETABLE_DECL_VIRT(TVirtualPad) TVIRTUALPAD_DECL_VIRT(TVirtualPad) TVIRTUALPAD_DECL_NONVIRT(TVirtualPad) TVIRTUALPAD_DECL_ACCESSOR(TVirtualPad) #ifdef __cplusplus } #endif