⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plot5.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
字号:
/**********Copyright 1990 Regents of the University of California.  All rights reserved.$Id: plot5.c,v 1.4 2005/05/30 20:28:45 sjborley Exp $**********/#include <ngspice.h>#include <graph.h>#include <ftedev.h>#include "plot5.h"#include "graf.h"#include "../error.h"static FILE *plotfile;#define putsi(a)    putc((char) (a), plotfile); \            putc((char) ((a) >> 8), plotfile)#define SOLID 0static char *linestyle[] = { "solid", "dotted", "longdashed", "shortdashed",        "dotdashed" };static int currentlinestyle = SOLID;int Plt5_Init(void){    dispdev->numlinestyles = 4;    dispdev->numcolors = 2;    /* arbitrary */    dispdev->width = 1000;    dispdev->height = 1000;    return(0);}intPlt5_NewViewport(GRAPH *graph){    if (!(plotfile = fopen(graph->devdep, "w"))) {      graph->devdep = (char *) NULL;      perror(graph->devdep);      return(1);    }    if (graph->absolute.width) {      /* hardcopying from the scree,        ie, we are passed a copy of an existing graph */      putc('s', plotfile);      putsi(0);      putsi(0);      putsi(graph->absolute.width);      putsi(graph->absolute.height);      /* re-scale linestyles */      gr_relinestyle(graph);    } else {      /* scale space */      putc('s', plotfile);      putsi(0);      putsi(0);      putsi(dispdev->width);      putsi(dispdev->height);      /* reasonable values, used in gr_ for placement */      graph->fontwidth = 12;      graph->fontheight = 24;      graph->absolute.width = dispdev->width;      graph->absolute.height = dispdev->height;    }    /* set to NULL so graphdb doesn't incorrectly de-allocate it */    graph->devdep = (char *) NULL;    return(0);}intPlt5_Close(void){    /* in case Plt5_Close is called as part of an abort,            w/o having reached Plt5_NewViewport */    if (plotfile)        fclose(plotfile);    return 0;}intPlt5_Clear(void){    /* do nothing */    return 0;}intPlt5_DrawLine(int x1, int y1, int x2, int y2){    putc('l', plotfile);    putsi(x1);    putsi(y1);    putsi(x2);    putsi(y2);    return 0;}/* ARGSUSED */ /* until some code gets written */intPlt5_Arc(int x0, int y0, int radius, double theta1, double theta2){    return 0;}intPlt5_Text(char *text, int x, int y){    int savedlstyle;    /* set linestyle to solid        or may get funny color text on some plotters */    savedlstyle = currentlinestyle;    Plt5_SetLinestyle(SOLID);    /* move to (x, y) */    putc('m', plotfile);    putsi(x);    putsi(y);    /* use the label option */    fprintf(plotfile, "t%s\n", text);    /* restore old linestyle */    Plt5_SetLinestyle(savedlstyle);    return 0;}intPlt5_SetLinestyle(int linestyleid){    if (linestyleid < 0 || linestyleid > dispdev->numlinestyles) {      internalerror("bad linestyleid");	return 0;    }    putc('f', plotfile);    fprintf(plotfile, "%s\n", linestyle[linestyleid]);    currentlinestyle = linestyleid;    return 0;}/* ARGSUSED */intPlt5_SetColor(int colorid){    /* do nothing */    return 0;}intPlt5_Update(void){    fflush(plotfile);    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -