Browse Source

Define the function DevFinalize as used in the previous commit.

pre-master-46
Holger Vogt 5 years ago
parent
commit
03517ae86c
  1. 26
      src/frontend/display.c
  2. 1
      src/frontend/display.h
  3. 5
      src/frontend/postsc.c
  4. 1
      src/frontend/postsc.h
  5. 6
      src/frontend/svg.c
  6. 1
      src/frontend/svg.h
  7. 3
      src/include/ngspice/ftedev.h

26
src/frontend/display.c

@ -45,7 +45,7 @@ DISPDEVICE device[] = {
(disp_fn_Close_t *) nop, (disp_fn_Clear_t *) nop, (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_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_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_Track_t *) nop, (disp_fn_MakeMenu_t *) nop, (disp_fn_MakeDialog_t *) nop, gen_Input,
(disp_fn_DatatoScreen_t *) nop,}, (disp_fn_DatatoScreen_t *) nop,},
@ -55,7 +55,7 @@ DISPDEVICE device[] = {
X11_Close, X11_Clear, X11_Close, X11_Clear,
X11_DrawLine, X11_Arc, X11_Text, X11_DrawLine, X11_Arc, X11_Text,
X11_DefineColor, X11_DefineLinestyle, 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, (disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, X11_Input,
gen_DatatoScreen,}, gen_DatatoScreen,},
#endif #endif
@ -66,7 +66,7 @@ DISPDEVICE device[] = {
WIN_Close, WIN_Clear, WIN_Close, WIN_Clear,
WIN_DrawLine, WIN_Arc, WIN_Text, WIN_DrawLine, WIN_Arc, WIN_Text,
WIN_DefineColor, WIN_DefineLinestyle, 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, (disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, gen_Input,
gen_DatatoScreen, }, /* WIN_DiagramReady */ gen_DatatoScreen, }, /* WIN_DiagramReady */
@ -76,7 +76,7 @@ DISPDEVICE device[] = {
WPRINT_Close, WPRINT_Clear, WPRINT_Close, WPRINT_Clear,
WPRINT_DrawLine, WPRINT_Arc, WPRINT_Text, WPRINT_DrawLine, WPRINT_Arc, WPRINT_Text,
WPRINT_DefineColor, WPRINT_DefineLinestyle, 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, (disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, (disp_fn_Input_t *) nodev,
gen_DatatoScreen, }, /* WPRINT_DiagramReady */ gen_DatatoScreen, }, /* WPRINT_DiagramReady */
#endif #endif
@ -87,7 +87,7 @@ DISPDEVICE device[] = {
sp_Tk_Close, sp_Tk_Clear, sp_Tk_Close, sp_Tk_Clear,
sp_Tk_DrawLine, sp_Tk_Arc, sp_Tk_Text, sp_Tk_DrawLine, sp_Tk_Arc, sp_Tk_Text,
sp_Tk_DefineColor, sp_Tk_DefineLinestyle, 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, (disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, (disp_fn_Input_t *) nodev,
gen_DatatoScreen, }, gen_DatatoScreen, },
#endif #endif
@ -97,7 +97,7 @@ DISPDEVICE device[] = {
Plt5_Close, Plt5_Clear, Plt5_Close, Plt5_Clear,
Plt5_DrawLine, Plt5_Arc, Plt5_Text, Plt5_DrawLine, Plt5_Arc, Plt5_Text,
(disp_fn_DefineColor_t *) nodev, (disp_fn_DefineLinestyle_t *) nodev, (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, (disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, (disp_fn_Input_t *) nodev,
gen_DatatoScreen, }, gen_DatatoScreen, },
@ -106,7 +106,7 @@ DISPDEVICE device[] = {
PS_Close, PS_Clear, PS_Close, PS_Clear,
PS_DrawLine, PS_Arc, PS_Text, PS_DrawLine, PS_Arc, PS_Text,
(disp_fn_DefineColor_t *) nodev, (disp_fn_DefineLinestyle_t *) nodev, (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, (disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, (disp_fn_Input_t *) nodev,
gen_DatatoScreen, }, gen_DatatoScreen, },
@ -115,7 +115,7 @@ DISPDEVICE device[] = {
SVG_Close, SVG_Clear, SVG_Close, SVG_Clear,
SVG_DrawLine, SVG_Arc, SVG_Text, SVG_DrawLine, SVG_Arc, SVG_Text,
(disp_fn_DefineColor_t*)nodev, (disp_fn_DefineLinestyle_t*)nodev, (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, (disp_fn_Track_t*)nodev, (disp_fn_MakeMenu_t*)nodev, (disp_fn_MakeDialog_t*)nodev, (disp_fn_Input_t*)nodev,
gen_DatatoScreen, }, gen_DatatoScreen, },
@ -124,7 +124,7 @@ DISPDEVICE device[] = {
GL_Close, GL_Clear, GL_Close, GL_Clear,
GL_DrawLine, GL_Arc, GL_Text, GL_DrawLine, GL_Arc, GL_Text,
(disp_fn_DefineColor_t *) nodev, (disp_fn_DefineLinestyle_t *) nodev, (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, (disp_fn_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, (disp_fn_Input_t *) nodev,
gen_DatatoScreen, }, gen_DatatoScreen, },
@ -133,7 +133,7 @@ DISPDEVICE device[] = {
(disp_fn_Close_t *) nop, (disp_fn_Clear_t *) nodev, (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_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_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_Track_t *) nodev, (disp_fn_MakeMenu_t *) nodev, (disp_fn_MakeDialog_t *) nodev, gen_Input,
(disp_fn_DatatoScreen_t *) nodev, }, (disp_fn_DatatoScreen_t *) nodev, },
@ -296,6 +296,12 @@ DevUpdate(void)
dispdev->Update(); dispdev->Update();
} }
void
DevFinalize(void)
{
if (dispdev)
dispdev->Finalize();
}
/* note: screen coordinates are relative to window /* note: screen coordinates are relative to window
so need to add viewport offsets */ so need to add viewport offsets */

1
src/frontend/display.h

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

5
src/frontend/postsc.c

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

1
src/frontend/postsc.h

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

6
src/frontend/svg.c

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

1
src/frontend/svg.h

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

3
src/include/ngspice/ftedev.h

@ -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_SetLinestyle_t (int linestyleid);
typedef int disp_fn_SetColor_t (int colorid); typedef int disp_fn_SetColor_t (int colorid);
typedef int disp_fn_Update_t (void); 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_Track_t (void);
typedef int disp_fn_MakeMenu_t (void); typedef int disp_fn_MakeMenu_t (void);
typedef int disp_fn_MakeDialog_t (void); typedef int disp_fn_MakeDialog_t (void);
@ -53,7 +54,7 @@ typedef struct {
disp_fn_SetLinestyle_t *SetLinestyle; disp_fn_SetLinestyle_t *SetLinestyle;
disp_fn_SetColor_t *SetColor; disp_fn_SetColor_t *SetColor;
disp_fn_Update_t *Update; disp_fn_Update_t *Update;
/* int (*NDCtoScreen)(); */
disp_fn_Finalize_t *Finalize;
disp_fn_Track_t *Track; disp_fn_Track_t *Track;
disp_fn_MakeMenu_t *MakeMenu; disp_fn_MakeMenu_t *MakeMenu;
disp_fn_MakeDialog_t *MakeDialog; disp_fn_MakeDialog_t *MakeDialog;

Loading…
Cancel
Save