This is Import.h in view mode; [Download] [Up]
/* * $RCSfile: Import.h,v $ * * Copyright (C) 1992 by Adobe Systems Incorporated. * All rights reserved. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notices appear in all copies and that * both those copyright notices and this permission notice appear in * supporting documentation and that the name of Adobe Systems * Incorporated not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. If any portion of this software is changed, it cannot be * marketed under Adobe's trademarks and/or copyrights unless Adobe, in * its sole discretion, approves by a prior writing the quality of the * resulting implementation. * * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL * IMPLIED WARRANTIES OF MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE AND * NON-INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT, * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE. * * PostScript, Display PostScript, and Adobe are trademarks of Adobe Systems * Incorporated registered in the U.S.A. and other countries. * * Author: Adobe Systems Incorporated */ #ifndef _IMPORT__H #define _IMPORT__H /*************************************************************** ** ** INCLUDES ** ***************************************************************/ #include <stdio.h> #include <math.h> #include <sys/time.h> #include <X11/Intrinsic.h> #include <Xm/Text.h> #include <Xm/DialogS.h> #include <Xm/FileSB.h> #include <Xm/MwmUtil.h> #include <Mrm/MrmAppl.h> /* Motif Toolkit and MRM */ #include <DPS/dpsXclient.h> #include <DPS/dpsXshare.h> #include <DPS/dpsXuserpath.h> #include "ImportWraps.h" /*************************************************************** ** ** CONSTANT DEFINITIONS ** ***************************************************************/ /* ** These numbers are matched with corresponding numbers in hit.uil */ #define cMainDrawArea 1 #define cBufferDrawArea0 2 #define cBufferDrawArea1 3 #define cTraceToggle 4 #define cMainHorzSBar 5 #define cMainVertSBar 6 #define PTS_PER_INCH 72 #define PAGE_WIDTH (PTS_PER_INCH * 8.5) #define PAGE_HEIGHT (PTS_PER_INCH * 11.0) #define MIN(x, y) ((x) < (y) ? (x) : (y)) #define MAX(x, y) ((x) > (y) ? (x) : (y)) #define ABS(a) ((a) < 0 ? -(a) : (a)) #define SIGN(a) ((a) < 0 ? -1 : 1) #define DTOR(angle) ((angle) * M_PI / 180.0) #define RTOD(angle) ((angle) * 180.0 / M_PI) #define A_COEFF 0 #define B_COEFF 1 #define C_COEFF 2 #define D_COEFF 3 #define TX_CONS 4 #define TY_CONS 5 /*************************************************************** ** ** TYPEDEF DECLARATIONS ** ***************************************************************/ typedef struct { float x; float y; } Point; typedef struct { Point ll; Point ur; } BBox; /* ** XRect is like XRectangle, but it has signed width and height fields */ typedef struct { int x, y, width, height; } XRect; typedef struct _Resource { String name; String version, revision; /* For procsets only */ Boolean included; struct _Resource *next; } Resource; typedef struct _ResourceType { String name; Resource *list; struct _ResourceType *next; } ResourceType; typedef struct _Element { char *filename; /* Name of EPS file */ unsigned long length; /* Length of file in bytes */ FILE *f; /* File pointer, if open */ BBox origBBox; /* Bounding box from file */ float tx, ty; /* Translation of element in picture */ float sx, sy; /* Scale of element in picture */ float rotation; /* Rotation of element in picture */ Pixmap image; /* Rendered image pixmap */ Pixmap mask; /* Rendered mask pixmap */ XRect xBBox; /* Bounding box, aligned with axes */ XRect sizeBox; /* Bounding box in unrotated space */ ResourceType *resources; /* List of resources used by file */ struct _Element *next, *prev; } Element; typedef struct { GC gc; /* our graphics context */ GC blackgc; /* gc for drawing black */ GC bitmapgc; /* gc for drawing to bitmaps */ DPSContext dpsCtxt; /* DPS context */ DPSContext imageCtxt; /* imaging context */ Widget drawingArea; /* main drawing area */ Widget bufOrig; /* original buffer show window */ Widget bufComp; /* composite buffer show window */ Widget bufferBox; /* dialog box showing buffers */ Widget hScroll; /* horizontal scrollbar */ Widget vScroll; /* vertical scrollbar */ Widget fileDialog; /* file selection dialog */ DPSGState origGState; /* gstate for original pixmap */ DPSGState compGState; /* gstate for composite pixmap */ DPSGState winGState; /* gstate for window */ int depth; /* depth of drawing area */ int xOffset; /* x offset of device space origin */ int yOffset; /* y offset of device space origin */ float ctm[6]; /* current transformation matrix */ float invctm[6]; /* inverse ctm */ float origInvctm[6]; /* original inverse ctm */ int originX; /* where the origin is */ int originY; /* (relative to X offset */ Boolean trace; /* trace flag */ Boolean showBuffer; /* display buffers flag */ Boolean useBoxes; /* use boxes instead of pictures */ Boolean scrolling; /* scrolling in progress flag */ Boolean includePreview; /* include preview in save file */ Boolean deepPreview; /* make previews 8-bits deep */ Boolean rotating; /* in the midst of rotating */ Boolean scaling; /* in the midst of scaling */ Dimension drawingHeight; /* height of view window */ Dimension drawingWidth; /* width of view window */ int scaledWidth; /* width of scaled page */ int scaledHeight; /* height of scaled page */ int scrollX; /* X location of scroll bar */ int scrollY; /* Y location of scroll bar */ Pixmap original; /* original curve pixmap */ Pixmap composite; /* composite curve pixmap */ Cursor crosshairCursor;/* crosshair cursor */ Cursor busyCursor; /* busy cursor */ long pixmapMaxSize; /* maximum size for pixmaps */ Element *elements; /* first (highest) element) */ Element *lastElement; /* last (lowest) element */ Element *selected; /* selected element */ Element *adding; /* element currently being added */ Element *pendingCut; /* cut, but might still be requested */ Element *moveElement; /* element being moved */ } AppDataType, *AppDataTypePtr; extern void initDPSContext(); extern void graphicExpose(); extern void scrollProc(); extern void doScroll(); extern void convertToX(); extern void convertToDPS(); extern void convertToOrigDPS(); extern void positionDrawingArea(); extern void drawSelf(); extern void drawSelfAndUpdate(); extern void setOrigin(); extern void selectElement(); extern void unselect(); extern void freeElement(); extern void sweepRectangle(); extern void addElement(); extern void freeResourceList(); extern Boolean parseFileHeader(); extern Boolean imageFile(); extern char *convertToEPS(); extern void pasteEPS(); extern void writePictureToFile(); extern void setEPSIPixmapParameters(); extern void setEPSIBitmapParameters(); extern Pixmap allocPixmap(); extern void drawSelectionMarks(); extern void computeBBox(); extern void updateElement(); extern void renderElement(); extern void moveElement(); extern void scaleElement(); extern void rotateElement(); extern Boolean pointInElement(); /*************************************************************** ** ** EXTERNAL DATA DECLARATIONS ** ***************************************************************/ /* ** Global pointers to the application name and data block */ extern AppDataType AppData; #endif /* _IMPORT_H -- Add nothing below this line */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.