#ifdef __cplusplus extern "C" { #endif #pragma once #include "HROOT-coreType.h" #include "STDDeletable.h" #include "stdcxxType.h" #define TATTTEXT_DECL_VIRT(Type) \ short Type##_GetTextAlign ( Type##_p p );\ float Type##_GetTextAngle ( Type##_p p );\ short Type##_GetTextColor ( Type##_p p );\ short Type##_GetTextFont ( Type##_p p );\ float Type##_GetTextSize ( Type##_p p );\ void Type##_ResetAttText ( Type##_p p, const char* toption );\ void Type##_SetTextAttributes ( Type##_p p );\ void Type##_SetTextAlign ( Type##_p p, short align );\ void Type##_SetTextAngle ( Type##_p p, float tangle );\ void Type##_SetTextColor ( Type##_p p, int tcolor );\ void Type##_SetTextFont ( Type##_p p, short tfont );\ void Type##_SetTextSize ( Type##_p p, float tsize );\ void Type##_SetTextSizePixels ( Type##_p p, int npixels ); #define TATTTEXT_DECL_NONVIRT(Type) \ Type##_p Type##_newTAttText ( int align, float angle, short color, short font, float tsize ); #define TATTTEXT_DECL_ACCESSOR(Type) \ #define TATTTEXT_DEF_VIRT(Type) \ short Type##_GetTextAlign ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, GetTextAlign, TAttText))(p))->GetTextAlign();\ }\ \ float Type##_GetTextAngle ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, GetTextAngle, TAttText))(p))->GetTextAngle();\ }\ \ short Type##_GetTextColor ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, GetTextColor, TAttText))(p))->GetTextColor();\ }\ \ short Type##_GetTextFont ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, GetTextFont, TAttText))(p))->GetTextFont();\ }\ \ float Type##_GetTextSize ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, GetTextSize, TAttText))(p))->GetTextSize();\ }\ \ void Type##_ResetAttText ( Type##_p p, const char* toption ) {\ ((TYPECASTMETHOD(Type, ResetAttText, TAttText))(p))->ResetAttText(toption);\ }\ \ void Type##_SetTextAttributes ( Type##_p p ) {\ ((TYPECASTMETHOD(Type, SetTextAttributes, TAttText))(p))->SetTextAttributes();\ }\ \ void Type##_SetTextAlign ( Type##_p p, short align ) {\ ((TYPECASTMETHOD(Type, SetTextAlign, TAttText))(p))->SetTextAlign(align);\ }\ \ void Type##_SetTextAngle ( Type##_p p, float tangle ) {\ ((TYPECASTMETHOD(Type, SetTextAngle, TAttText))(p))->SetTextAngle(tangle);\ }\ \ void Type##_SetTextColor ( Type##_p p, int tcolor ) {\ ((TYPECASTMETHOD(Type, SetTextColor, TAttText))(p))->SetTextColor(tcolor);\ }\ \ void Type##_SetTextFont ( Type##_p p, short tfont ) {\ ((TYPECASTMETHOD(Type, SetTextFont, TAttText))(p))->SetTextFont(tfont);\ }\ \ void Type##_SetTextSize ( Type##_p p, float tsize ) {\ ((TYPECASTMETHOD(Type, SetTextSize, TAttText))(p))->SetTextSize(tsize);\ }\ \ void Type##_SetTextSizePixels ( Type##_p p, int npixels ) {\ ((TYPECASTMETHOD(Type, SetTextSizePixels, TAttText))(p))->SetTextSizePixels(npixels);\ } #define TATTTEXT_DEF_NONVIRT(Type) \ Type##_p Type##_newTAttText ( int align, float angle, short color, short font, float tsize ) {\ Type* newp=new Type(align, angle, color, font, tsize);return from_nonconst_to_nonconst(newp);\ } #define TATTTEXT_DEF_ACCESSOR(Type) \ DELETABLE_DECL_VIRT(TAttText) TATTTEXT_DECL_VIRT(TAttText) TATTTEXT_DECL_NONVIRT(TAttText) TATTTEXT_DECL_ACCESSOR(TAttText) #ifdef __cplusplus } #endif