X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput.h;h=baa9d473029d956c74d9c0300af5cdf062b8d50a;hb=1339492699ce7e12c9bf9fa17f9d60a66024cbd1;hp=98f8d4f122368d82828c99f8d703f2051f460a1b;hpb=722d896a394329ad9da31575439e1a082161fa6b;p=pspp diff --git a/src/output.h b/src/output.h index 98f8d4f122..baa9d47302 100644 --- a/src/output.h +++ b/src/output.h @@ -14,13 +14,16 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ #if !output_h #define output_h 1 #include "str.h" +#include "config.h" + +#include "chart.h" /* A rectangle. */ struct rect @@ -29,31 +32,6 @@ struct rect int x2, y2; /* Lower right, not part of the rectangle. */ }; -#if 0 -#if __GNUC__ > 1 && defined(__OPTIMIZE__) -extern inline int width (rect r) __attribute__ ((const)); -extern inline int height (rect r) __attribute__ ((const)); - -extern inline int -width (rect r) -{ - return r.x2 - r.x1 + 1; -} - -extern inline int -height (rect r) -{ - return r.y2 - r.y1 + 1; -} -#else /* !__GNUC__ */ -/* Be carefull of these ... they use the argument more than once. */ -#define width(R) \ - ((R).x2 - (R).x1 + 1) -#define height(R) \ - ((R).y2 - (R).y1 + 1) -#endif /* !__GNUC__ */ -#endif - /* Color descriptor. */ struct color { @@ -126,7 +104,7 @@ struct outp_text { /* Public. */ int options; /* What is specified. */ - struct len_string s; /* String. */ + struct fixed_string s; /* String. */ int h, v; /* Horizontal, vertical size. */ int x, y; /* Position. */ @@ -134,7 +112,7 @@ struct outp_text int w, l; /* Width, length. */ }; -struct som_table; +struct som_entity; struct outp_driver; /* Defines a class of output driver. */ @@ -160,8 +138,8 @@ struct outp_class int (*open_page) (struct outp_driver *); int (*close_page) (struct outp_driver *); - /* special != 0: Used to submit tables for output. */ - void (*submit) (struct outp_driver *, struct som_table *); + /* special != 0: Used to submit entities for output. */ + void (*submit) (struct outp_driver *, struct som_entity *); /* special != 0: Methods below need not be defined. */ @@ -191,6 +169,10 @@ struct outp_class int (*text_get_size) (struct outp_driver *, int *em_width); void (*text_metrics) (struct outp_driver *, struct outp_text *); void (*text_draw) (struct outp_driver *, struct outp_text *); + + void (*initialise_chart)(struct outp_class *, struct chart *); + void (*finialise_chart)(struct outp_class *, struct chart *); + }; /* Device types. */ @@ -253,9 +235,6 @@ struct outp_driver_class_list struct outp_driver_class_list *next; }; -/* List of known output driver classes. */ -extern struct outp_driver_class_list *outp_class_list; - /* List of configured output drivers. */ extern struct outp_driver *outp_driver_list;