1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
|
/*
* Miscellaneous definitions and prototypes, including those from misc.c.
*/
/* $Id: misc.h,v 1.17 2005/03/20 20:15:32 demailly Exp $ */
#if defined(HAVE_PARAM_H)
#include <sys/param.h>
#endif
#include <stdio.h>
/*
** By default everything uses drand48(),
** I was making more exceptions than inclusions.
*/
#if !defined(__EMX__) && !defined(__CYGWIN__)
#define USE_DRAND
#endif
#if defined(SVR4) || defined(__osf__)
#define SHORT_RANGE
#else
#if !defined(__GLIBC__) & !defined(random) & !defined(__CYGWIN__)
long random(void);
#endif
#if !defined(__VMS) & !defined(linux) & !defined(__EMX__) & !defined(__FreeBSD__) & !defined(__CYGWIN__)
#if defined(BSD4_4) || defined(HPArchitecture) || defined(SGIArchitecture) || defined(_AIX) || defined(_SCO_DS)
void srandom(unsigned int);
#else
int srandom(unsigned int);
#endif /* BSD4_4 */
#endif /* linux */
#endif
#ifdef USE_DRAND
#ifdef DECLARE_DRAND48
extern double drand48();
extern long lrand48();
#endif
#define RANDOMI() lrand48()
#define RANDOMI2(s, f) (drand48() * ((f) - (s)) + (s))
#define SRANDOM(seed) srand48((long) (seed))
#else
#ifdef SHORT_RANGE
#define RANGE 0x00000fff
#else
#define RANGE 0x0fffffff
#endif
#define RANDOMI() random()
#define RANDOMI2(s, f) (((double)(random() % RANGE) / \
(double)RANGE) * ((f) - (s)) + (s))
#define SRANDOM(seed) srandom((unsigned) (seed))
#endif
#ifdef __EMX__
#define strcasecmp stricmp
#endif
#define ICONWIDTH 48
#define ICONHEIGHT 44
/* dialog.c */
void AlertBox(Widget parent, char *msg, XtCallbackProc okProc,
XtCallbackProc nokProc, void *data);
void Notice(Widget w,...);
/* fatBitsEdit.c */
void FatCursorSet(Widget w, Pixmap cursor);
void FatCursorAddZoom(int zoom, Widget winwid);
void FatCursorRemoveZoom(Widget winwid);
void FatCursorDestroyCallback(Widget w, XtPointer arg, XtPointer junk);
void FatCursorOff(Widget w);
void FatbitsUpdate(Widget w, int zoom);
void FatbitsEdit(Widget paint);
/* fileName.c */
void *GetFileNameGetLastId(void);
void StdSaveRegionFile(Widget w, XtPointer paintArg, XtPointer junk);
void StdSaveAsFile(Widget w, XtPointer paintArg, XtPointer junk);
void StdSaveFile(Widget w, XtPointer paintArg, XtPointer junk);
void *ReadMagic(char *file);
void *getArgType(Widget w);
void GetFileName(Widget w, int type, char *def,
XtCallbackProc okFunc, XtPointer data);
/* fontSelect.c */
void FontSelect(Widget w, Widget paint);
/* iprocess.c */
Boolean isFilterDefined();
void ScriptEditor(Widget w, Widget paint);
/* grab.c */
#ifdef __IMAGE_H__
Image *DoGrabImage(Widget w, int width, int height);
#endif
void DoGrabPixel(Widget w, Pixel * p, Colormap * cmap);
XColor *DoGrabColor(Widget w);
/* help.c */
char *matchGet(char *line, char *pat);
void HelpDialog(Widget parent, String name);
#if defined( _STDIO_H ) || defined( __VMS )
void HelpTextOutput(FILE* fd, String name);
#endif
void HelpInit(Widget top);
/* main.c */
void SetDefaultWHZ(int w, int h, int zoom);
void GetDefaultWH(int *w, int *h);
void GetPaintWH(int *w, int *h);
void GetInitZoom(int *z);
char *GetDefaultRC(void);
void SetIconImage(Widget w);
void SetMenuBarHidden(Boolean flag);
void SetFullMenuPopup(Boolean flag);
Boolean ThereIsNoMenuBar();
Boolean IsFullPopup();
Boolean ToolsAreHorizontal();
/* misc.c */
int privateXErrorHandler(Display *dpy, XErrorEvent *myerr);
Widget GetToplevel(Widget w);
Widget GetShell(Widget w);
void SetIBeamCursor(Widget w);
void SetCrossHairCursor(Widget w);
void SetPencilCursor(Widget w);
void SetCapAndJoin(Widget w, GC gc, int join);
void EnlargePixmap(Display * dpy, Pixmap cursor, int zoom,
Pixmap * data, Pixmap * mask);
XRectangle *RectUnion(XRectangle * a, XRectangle * b);
XRectangle *RectIntersect(XRectangle * a, XRectangle * b);
void GetPixmapWHD(Display * dpy, Drawable d, int *wth, int *hth, int *dth);
Pixmap dupPixmap(Display * dpy, Pixmap pix);
Pixmap GetBackgroundPixmap(Widget w);
GC GetGCX(Widget w);
void StrToArgv(char *str, int *argc, char **argv);
XImage *NewXImage(Display * dpy, Visual * visual,
int depth, int width, int height);
double gauss(void);
int gaussclamp(int range);
void *xmalloc(size_t n);
void AutoCrop(Widget paint);
Widget XtVisCreatePopupShell(String name, WidgetClass widget_class, Widget parent, ArgList args, Cardinal num_args);
/* graphic.c */
void loadClipboard(Widget w, XtPointer junk, XtPointer junk2);
void lineWidth(Widget w, int width);
void changeDashStyleAction(Widget w, XEvent * event);
void setToolIconPixmap(Widget paint, void *ptr);
void setBrushIconPixmap(Widget paint, void *ptr);
void setFontIcon(Widget paint);
void setCanvasColorsIcon(Widget paint);
void changeBackground(Widget w, XtPointer paintArg, XtPointer junk2);
void AddItemToCanvasPalette(Widget paint, Pixel p, Pixmap pix);
Boolean inCanvasPixmaps(Widget paint, Pixmap pix);
/* pattern.c */
void PatternEdit(Widget w, Pixel *pixels, Pixmap *patterns, void *brushes,
int npixels, int npatterns, int nbrushes);
void checkPatternLink(Widget w, int mode);
void setPatternLineWidth(void * ptr, int width);
/* print.c */
void PrintPopup(Widget w, XtPointer paintArg);
void ExternPopup(Widget w, XtPointer paintArg);
void checkExternalLink(Widget pw);
/* size.c */
void SizeSelect(Widget w, Widget paint, void (*func) (Widget, int, int, int));
/* typeConvert.c */
void InitTypeConverters(void);
/* operation.c */
void takeSnapshot(Widget w, XtPointer junk, XtPointer junk2);
void exitPaint(Widget w, XtPointer junk, XtPointer junk2);
void setToolIconOnWidget(Widget w);
/* snapshot.c */
void SnapshotImage(Widget w, XtPointer paintArg, int flag);
/* brushOp.c */
void BrushSelect(Widget w);
void setBrushIconOnWidget(Widget w);
/* rw/readWritePNM.c */
#ifdef __IMAGE_H__
extern int WritePNM(char *file, Image * image);
#endif
void mousewheelScroll(Widget w, void * l, XEvent * event, Boolean * flg);
|