及时当勉励
分类:
2010-04-13 23:00:36
/*
*估计用不成了,过时了.
* File: graphics.h
* Version: 1.0
* Last modified on Mon Jun 6 11:03:27 1994 by eroberts
* -----------------------------------------------------
* This interface provides access to a simple library of
* functions that make it possible to draw lines and arcs
* on the screen. This interface presents a portable
* abstraction that can be used with a variety of window
* systems implemented on different hardware platforms.
*/
#ifndef _graphics_h
#define _graphics_h
/*
* Overview
* --------
* This library provides several functions for drawing lines
* and circular arcs in a region of the screen that is
* defined as the "graphics window." Once drawn, these
* lines and arcs stay in their position, which means that
* the package can only be used for static pictures and not
* for animation.
*
* Individual points within the window are specified by
* giving their x and y coordinates. These coordinates are
* real numbers measured in inches, with the origin in the
* lower left corner, as it is in traditional mathematics.
*
* The calls available in the package are listed below. More
* complete descriptions are included with each function
* description.
*
* InitGraphics();
* MovePen(x, y);
* DrawLine(dx, dy);
* DrawArc(r, start, sweep);
* width = GetWindowWidth();
* height = GetWindowHeight();
* x = GetCurrentX();
* y = GetCurrentY();
*/
/*
* Function: InitGraphics
* Usage: InitGraphics();
* ----------------------
* This procedure creates the graphics window on the screen.
* The call to InitGraphics must precede any calls to other
* functions in this package and must also precede any printf
* output. In most cases, the InitGraphics call is the first
* statement in the function main.
*/
void InitGraphics(void);
/*
* Function: MovePen
* Usage: MovePen(x, y);
* ---------------------
* This procedure moves the current point to the position
* (x, y), without drawing a line. The model is that of
* the pen being lifted off the graphics window surface and
* then moved to its new position.
*/
void MovePen(double x, double y);
/*
* Function: DrawLine
* Usage: DrawLine(dx, dy);
* ------------------------
* This procedure draws a line extending from the current
* point by moving the pen dx inches in the x direction
* and dy inches in the y direction. The final position
* becomes the new current point.
*/
void DrawLine(double dx, double dy);
/*
* Function: DrawArc
* Usage: DrawArc(r, start, sweep);
* --------------------------------
* This procedure draws a circular arc, which always begins
* at the current point. The arc itself has radius r, and
* starts at the angle specified by the parameter start,
* relative to the center of the circle. This angle is
* measured in degrees counterclockwise from the 3 o'clock
* position along the x-axis, as in traditional mathematics.
* For example, if start is 0, the arc begins at the 3 o'clock
* position; if start is 90, the arc begins at the 12 o'clock
* position; and so on. The fraction of the circle drawn is
* specified by the parameter sweep, which is also measured in
* degrees. If sweep is 360, DrawArc draws a complete circle;
* if sweep is 90, it draws a quarter of a circle. If the value
* of sweep is positive, the arc is drawn counterclockwise from
* the current point. If sweep is negative, the arc is drawn
* clockwise from the current point. The current point at the
* end of the DrawArc operation is the final position of the pen
* along the arc.
*
* Examples:
* DrawArc(r, 0, 360) Draws a circle to the left of the
* current point.
* DrawArc(r, 90, 180) Draws the left half of a semicircle
* starting from the 12 o'clock position.
* DrawArc(r, 0, 90) Draws a quarter circle from the 3
* o'clock to the 12 o'clock position.
* DrawArc(r, 0, -90) Draws a quarter circle from the 3
* o'clock to the 6 o'clock position.
* DrawArc(r, -90, -90) Draws a quarter circle from the 6
* o'clock to the 9 o'clock position.
*/
void DrawArc(double r, double start, double sweep);
/*
* Functions: GetWindowWidth, GetWindowHeight
* Usage: width = GetWindowWidth();
* height = GetWindowHeight();
* ------------------------------------------
* These functions return the width and height of the graphics
* window, in inches.
*/
double GetWindowWidth(void);
double GetWindowHeight(void);
/*
* Functions: GetCurrentX, GetCurrentY
* Usage: x = GetCurrentX();
* y = GetCurrentY();
* -----------------------------------
* These functions return the current x and y positions.
*/
double GetCurrentX(void);
double GetCurrentY(void);
#endif