Define the function DevFinalize as used in the previous commit.

This commit is contained in:
Holger Vogt 2021-06-11 18:43:11 +02:00
parent 5e8ae680db
commit 03517ae86c
7 changed files with 32 additions and 11 deletions

View File

@ -45,7 +45,7 @@ DISPDEVICE device[] = {
(disp_fn_Close_t *) nop, (disp_fn_Clear_t *) nop,
(disp_fn_DrawLine_t *) nop, (disp_fn_Arc_t *) nop, (disp_fn_Text_t *) nop,
(disp_fn_DefineColor_t *) nop, (disp_fn_DefineLinestyle_t *) nop,
(disp_fn_SetLinestyle_t *) nop, (disp_fn_SetColor_t *) nop, (disp_fn_Update_t *) nop,
(disp_fn_SetLinestyle_t *) nop, (disp_fn_SetColor_t *) nop, (disp_fn_Update_t *) nop, (disp_fn_Finalize_t *) nop,
(disp_fn_Track_t *) nop, (disp_fn_MakeMenu_t *) nop, (disp_fn_MakeDialog_t *) nop, gen_Input,
(disp_fn_DatatoScreen_t *) nop,},
@ -55,7 +55,7 @@ DISPDEVICE device[] = {
X11_Close, X11_Clear,
X11_DrawLine, X11_Arc, X11_Text,
X11_DefineColor, X11_DefineLinestyle,
X11_SetLinestyle, X11_SetColor, X11_Update,
X11_SetLinestyle, X11_SetColor, X11_Update, (disp_fn_Finalize_t*) nop,
(disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, X11_Input,
gen_DatatoScreen,},
#endif
@ -66,7 +66,7 @@ DISPDEVICE device[] = {
WIN_Close, WIN_Clear,
WIN_DrawLine, WIN_Arc, WIN_Text,
WIN_DefineColor, WIN_DefineLinestyle,
WIN_SetLinestyle, WIN_SetColor, WIN_Update,
WIN_SetLinestyle, WIN_SetColor, WIN_Update, (disp_fn_Finalize_t*) nop,
(disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, gen_Input,
gen_DatatoScreen, }, /* WIN_DiagramReady */
@ -76,7 +76,7 @@ DISPDEVICE device[] = {
WPRINT_Close, WPRINT_Clear,
WPRINT_DrawLine, WPRINT_Arc, WPRINT_Text,
WPRINT_DefineColor, WPRINT_DefineLinestyle,
WPRINT_SetLinestyle, WPRINT_SetColor, WPRINT_Update,
WPRINT_SetLinestyle, WPRINT_SetColor, WPRINT_Update, (disp_fn_Finalize_t*) nop,
(disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, (disp_fn_Input_t *) nodev,
gen_DatatoScreen, }, /* WPRINT_DiagramReady */
#endif
@ -87,7 +87,7 @@ DISPDEVICE device[] = {
sp_Tk_Close, sp_Tk_Clear,
sp_Tk_DrawLine, sp_Tk_Arc, sp_Tk_Text,
sp_Tk_DefineColor, sp_Tk_DefineLinestyle,
sp_Tk_SetLinestyle, sp_Tk_SetColor, sp_Tk_Update,
sp_Tk_SetLinestyle, sp_Tk_SetColor, sp_Tk_Update, (disp_fn_Finalize_t*) nop,
(disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, (disp_fn_Input_t *) nodev,
gen_DatatoScreen, },
#endif
@ -97,7 +97,7 @@ DISPDEVICE device[] = {
Plt5_Close, Plt5_Clear,
Plt5_DrawLine, Plt5_Arc, Plt5_Text,
(disp_fn_DefineColor_t *) nodev, (disp_fn_DefineLinestyle_t *) nodev,
Plt5_SetLinestyle, Plt5_SetColor, Plt5_Update,
Plt5_SetLinestyle, Plt5_SetColor, Plt5_Update, (disp_fn_Finalize_t*) nop,
(disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, (disp_fn_Input_t *) nodev,
gen_DatatoScreen, },
@ -106,7 +106,7 @@ DISPDEVICE device[] = {
PS_Close, PS_Clear,
PS_DrawLine, PS_Arc, PS_Text,
(disp_fn_DefineColor_t *) nodev, (disp_fn_DefineLinestyle_t *) nodev,
PS_SetLinestyle, PS_SetColor, PS_Update,
PS_SetLinestyle, PS_SetColor, PS_Update, PS_Finalize,
(disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, (disp_fn_Input_t *) nodev,
gen_DatatoScreen, },
@ -115,7 +115,7 @@ DISPDEVICE device[] = {
SVG_Close, SVG_Clear,
SVG_DrawLine, SVG_Arc, SVG_Text,
(disp_fn_DefineColor_t*)nodev, (disp_fn_DefineLinestyle_t*)nodev,
SVG_SetLinestyle, SVG_SetColor, SVG_Update,
SVG_SetLinestyle, SVG_SetColor, SVG_Update, SVG_Finalize,
(disp_fn_Track_t*)nodev, (disp_fn_MakeMenu_t*)nodev, (disp_fn_MakeDialog_t*)nodev, (disp_fn_Input_t*)nodev,
gen_DatatoScreen, },
@ -124,7 +124,7 @@ DISPDEVICE device[] = {
GL_Close, GL_Clear,
GL_DrawLine, GL_Arc, GL_Text,
(disp_fn_DefineColor_t *) nodev, (disp_fn_DefineLinestyle_t *) nodev,
GL_SetLinestyle, GL_SetColor, GL_Update,
GL_SetLinestyle, GL_SetColor, GL_Update, (disp_fn_Finalize_t*) nop,
(disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, (disp_fn_Input_t *) nodev,
gen_DatatoScreen, },
@ -133,7 +133,7 @@ DISPDEVICE device[] = {
(disp_fn_Close_t *) nop, (disp_fn_Clear_t *) nodev,
(disp_fn_DrawLine_t *) nodev, (disp_fn_Arc_t *) nodev, (disp_fn_Text_t *) nodev,
(disp_fn_DefineColor_t *) nodev, (disp_fn_DefineLinestyle_t *) nodev,
(disp_fn_SetLinestyle_t *) nodev, (disp_fn_SetColor_t *) nodev, (disp_fn_Update_t *) nop,
(disp_fn_SetLinestyle_t *) nodev, (disp_fn_SetColor_t *) nodev, (disp_fn_Update_t *) nop, (disp_fn_Finalize_t*) nop,
(disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, gen_Input,
(disp_fn_DatatoScreen_t *) nodev, },
@ -296,6 +296,12 @@ DevUpdate(void)
dispdev->Update();
}
void
DevFinalize(void)
{
if (dispdev)
dispdev->Finalize();
}
/* note: screen coordinates are relative to window
so need to add viewport offsets */

View File

@ -25,6 +25,7 @@ void DefineLinestyle(int linestyleid, int mask);
void SetLinestyle(int linestyleid);
void SetColor(int colorid);
void DevUpdate(void);
void DevFinalize(void);
void DatatoScreen(GRAPH *graph, double x, double y, int *screenx, int *screeny);
void Input(REQUEST *request, RESPONSE *response);
void SaveText(GRAPH *graph, char *text, int x, int y);

View File

@ -490,6 +490,11 @@ int PS_Update(void)
return 0;
}
int PS_Finalize(void)
{
fprintf(plotfile, "stroke\n");
return 0;
}
/**************** PRIVAT FUNCTIONS OF PS FRONTEND *****************************/

View File

@ -16,5 +16,6 @@ disp_fn_Text_t PS_Text;
disp_fn_SetLinestyle_t PS_SetLinestyle;
disp_fn_SetColor_t PS_SetColor;
disp_fn_Update_t PS_Update;
disp_fn_Finalize_t PS_Finalize;
#endif

View File

@ -517,6 +517,12 @@ SVG_Update(void)
return 0;
}
int
SVG_Finalize(void)
{
fputs("\"/>\n", plotfile);
return 0;
}
/**************** PRIVATE FUNCTIONS OF SVG FRONTEND ***************************/

View File

@ -13,5 +13,6 @@ disp_fn_Text_t SVG_Text;
disp_fn_SetLinestyle_t SVG_SetLinestyle;
disp_fn_SetColor_t SVG_SetColor;
disp_fn_Update_t SVG_Update;
disp_fn_Finalize_t SVG_Finalize;
#endif

View File

@ -29,6 +29,7 @@ typedef int disp_fn_DefineLinestyle_t (int linestyleid, int mask);
typedef int disp_fn_SetLinestyle_t (int linestyleid);
typedef int disp_fn_SetColor_t (int colorid);
typedef int disp_fn_Update_t (void);
typedef int disp_fn_Finalize_t (void);
typedef int disp_fn_Track_t (void);
typedef int disp_fn_MakeMenu_t (void);
typedef int disp_fn_MakeDialog_t (void);
@ -53,7 +54,7 @@ typedef struct {
disp_fn_SetLinestyle_t *SetLinestyle;
disp_fn_SetColor_t *SetColor;
disp_fn_Update_t *Update;
/* int (*NDCtoScreen)(); */
disp_fn_Finalize_t *Finalize;
disp_fn_Track_t *Track;
disp_fn_MakeMenu_t *MakeMenu;
disp_fn_MakeDialog_t *MakeDialog;