/***********************************************************************/ /* Open Visualization Data Explorer */ /* (C) Copyright IBM Corp. 1989,1999 */ /* ALL RIGHTS RESERVED */ /* This code licensed under the */ /* "IBM PUBLIC LICENSE - Open Visualization Data Explorer" */ /***********************************************************************/ #include #ifndef tdmInteractorEcho_h #define tdmInteractorEcho_h /*---------------------------------------------------------------------------*\ $Source: /home/gda/dxcvs/dx/src/exec/hwrender/hwInteractorEcho.h,v $ Author: Mark Hood Prototypes and stuff for the routines used to implement TDM direct interactor echos. \*---------------------------------------------------------------------------*/ #include "hwInteractor.h" struct tdmInteractorEchoS { void (*BufferConfig)(void *ctx, void *image,int llx,int lly,int urx, int ury, int *CurrentDisplayMode, int *CurrentBufferMode, tdmInteractorRedrawMode redrawMode) ; void (*BufferRestoreConfig)(void *ctx,int OrigDisplayMode,int OrigBufferMode, tdmInteractorRedrawMode redrawMode) ; void (*CreateCursorPixmaps)(tdmInteractor I) ; void (*DrawArrowhead)(void* ctx, float ax, float ay) ; void (*DrawCursorCoords)(tdmInteractor I,char *text) ; void (*DrawGlobe)(tdmInteractor I, void *udata, float[4][4],int draw) ; void (*DrawGnomon )(tdmInteractor I, void *udata, float[4][4], int draw) ; void (*DrawLine)(void *ctx, int x1, int y1, int x2, int y2) ; void (*DrawMarker)(tdmInteractor I) ; void (*DrawZoombox)(tdmInteractor I, void *udata, float[4][4],int draw) ; void (*EraseCursor)(tdmInteractor I, int x, int y) ; void (*ErasePreviousMarks)(tdmInteractor I) ; void (*GetMaxscreen)(void *ctx, int *w, int *h) ; void (*GetWindowOrigin)(void *ctx, int *x, int *y) ; int (*GetZbufferStatus)(void *ctx) ; void (*PointerInvisible)(void *ctx) ; void (*PointerVisible)(void *ctx) ; void (*ReadBuffer)(void *ctx, int llx, int lly, int urx, int ury,void *buff) ; void (*SetLineColorGray)(void *ctx) ; void (*SetLineColorWhite)(void *ctx) ; void (*SetSolidFillPattern)(void *ctx) ; void (*SetWorldScreen)(void *ctx, int w, int h) ; void (*SetZbufferStatus)(void *ctx, int status) ; void (*WarpPointer)(void *ctx, int x, int y) ; void (*WriteBuffer)(void *ctx, int llx, int lly, int urx, int ury,void *buff); void (*SetLineAttributes)(void *ctx, int32 color, int style, float width) ; } ; #ifndef STRUCTURES_ONLY #define _dxf_GET_ZBUFFER_STATUS(ctx) \ (_eFuncs->GetZbufferStatus)(ctx) #define _dxf_SET_ZBUFFER_STATUS(ctx, status) \ (_eFuncs->SetZbufferStatus)(ctx, status) #define _dxf_SET_SOLID_FILL_PATTERN(ctx) \ (_eFuncs->SetSolidFillPattern)(ctx) #define _dxf_READ_BUFFER(ctx, llx, lly, urx, ury, buff) \ (_eFuncs->ReadBuffer)(ctx, llx, lly, urx, ury, buff) #define _dxf_WRITE_BUFFER(ctx, llx, lly, urx, ury, buff) \ (_eFuncs->WriteBuffer)(ctx, llx, lly, urx, ury, buff) #define _dxf_BUFFER_CONFIG(ctx, image, llx, lly, urx, ury,CurrentDisplayMode, \ CurrentBufferMode,redrawMode) \ (_eFuncs->BufferConfig)(ctx, image, llx, lly, urx, ury, \ CurrentDisplayMode, CurrentBufferMode, \ redrawMode) #define _dxf_BUFFER_RESTORE_CONFIG(ctx, OrigDisplayMode, OrigBufferMode, \ redrawMode) \ (_eFuncs->BufferRestoreConfig)(ctx, OrigDisplayMode, \ OrigBufferMode, redrawMode) #define _dxf_GET_WINDOW_ORIGIN(ctx, x, y) \ (_eFuncs->GetWindowOrigin)(ctx, x, y) #define _dxf_GET_MAXSCREEN(ctx, w, h) \ (_eFuncs->GetMaxscreen)(ctx, w, h) #define _dxf_SET_WORLD_SCREEN(ctx, w, h) \ (_eFuncs->SetWorldScreen)(ctx, w, h) #define _dxf_DRAW_GLOBE(I, udata, matrix, draw) \ (_eFuncs->DrawGlobe)(I, udata, matrix, draw) #define _dxf_DRAW_GNOMON(I, udata, matrix, draw) \ (_eFuncs->DrawGnomon )(I, udata, matrix, draw) #define _dxf_DRAW_ARROWHEAD(ctx, ax, ay) \ (_eFuncs->DrawArrowhead)(ctx, ax, ay) #define _dxf_DRAW_ZOOMBOX(I, udata, matrix, draw) \ (_eFuncs->DrawZoombox)(I, udata, matrix, draw) #define _dxf_CREATE_CURSOR_PIXMAPS(I) \ (_eFuncs->CreateCursorPixmaps)(I) #define _dxf_ERASE_PREVIOUS_MARKS(I) \ (_eFuncs->ErasePreviousMarks)(I) #define _dxf_ERASE_CURSOR(I, x, y) \ (_eFuncs->EraseCursor)(I, x, y) #define _dxf_POINTER_INVISIBLE(ctx) \ (_eFuncs->PointerInvisible)(ctx) #define _dxf_POINTER_VISIBLE(ctx) \ (_eFuncs->PointerVisible)(ctx) #define _dxf_WARP_POINTER(ctx, x, y) \ (_eFuncs->WarpPointer)(ctx, x, y) #define _dxf_SET_LINE_ATTRIBUTES(ctx, color, style, width) \ (_eFuncs->SetLineAttributes)(ctx, color, style, width) /* obsolete: do not use in new code */ #define _dxf_SET_LINE_COLOR_WHITE(ctx) \ (_eFuncs->SetLineColorWhite)(ctx) /* obsolete: do not use in new code */ #define _dxf_SET_LINE_COLOR_GRAY(ctx) \ (_eFuncs->SetLineColorGray)(ctx) #define _dxf_DRAW_LINE(ctx, x1, y1, x2, y2) \ (_eFuncs->DrawLine)(ctx, x1, y1, x2, y2) #define _dxf_DRAW_MARKER(I) \ (_eFuncs->DrawMarker)(I) #define _dxf_DRAW_CURSOR_COORDS(I,text) \ (_eFuncs->DrawCursorCoords)(I,text) #endif /* STRUCTURES_ONLY */ #endif /* tdmInteractorEcho_h */