home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (C) 1991 David Elworthy. All rights reserved.
- Distributed by Free Software Foundation, Inc.
-
- This file is part of Ghostscript.
-
- Ghostscript is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY. No author or distributor accepts responsibility
- to anyone for the consequences of using it or for whether it serves any
- particular purpose or works at all, unless he says so in writing. Refer
- to the Ghostscript General Public License for full details.
-
- Everyone is granted permission to copy, modify and redistribute
- Ghostscript, but only under the conditions described in the Ghostscript
- General Public License. A copy of this license is supposed to have been
- given to you along with Ghostscript so you can know your rights and
- responsibilities. It should be in a file named COPYING. Among other
- things, the copyright notice and this notice must be preserved on all
- copies. */
-
- /* gdevarc.h */
- /* Ghostscript driver for Acorn Archimedes (RISC OS) */
-
- /*--- Miscellaneous parameters and globals ---*/
-
- #define MAX_OPTIONS 80
- #define Max_Zoom (524288)
-
- /* Sprite name - normally we use pointer reference */
- #define sprite_name "gsoutput"
-
- #define file_type 0xff9 /* Sprite */
-
- #if (0)
- extern char *arc_client;
- #endif
-
- /*--- Device structure ---*/
- /* The non-standard field in here are ones that are specifically associated
- with the sprite output device. Things which are general to the user interface
- are help elswehere.
- */
- typedef struct gx_device_arc_s gx_device_arc;
- struct gx_device_arc_s {
- gx_device_common; /* Standard part of device structure */
- int mode; /* Screen mode */
- int xeig, yeig; /* OS/pixel factors */
- wimp_w page_window; /* Page window handle */
- sprite_area *sarea; /* Address of sprite area */
- int sarea_size; /* Space allocated for it */
- sprite_id sprite; /* Sprite identifier block */
- sprite_factors f; /* Current sprite scaling */
- BOOL is_256; /* Is this a 256 colour mode? */
- BOOL page_closed; /* Is page open or closed? */
- BOOL save_only; /* Are we in save only mode? */
- int paltab[256]; /* Palette table */
- };
- #define arc_dev(dev) ((gx_device_arc *)dev)
- #define adev_needed(d) gx_device_arc *adev = arc_dev(d)
- #define arc_is_col256(adev) (adev->is_256)
-
-
- /* Low level code */
- void arc_set_options(gx_device_arc *adev, int mode, float width,
- float height, float xres, float yres);
- BOOL arc_create_op(gx_device_arc *dev);
- void arc_set_title(gx_device_arc *adev, char *title);
- void arc_page_event_handler(wimp_eventstr *e, void *handle);
- BOOL arc_device_options(void *handle, char* hit);
- void arc_set_window_extent(gx_device_arc *adev);
- BOOL arc_saver(char *filename, void *handle);
- void arc_process_page_menu(void *handle, char* hit);
- menu arc_create_page_menu(void *handle);
-