summaryrefslogtreecommitdiff
path: root/test/cdtest/cdtest.h
diff options
context:
space:
mode:
Diffstat (limited to 'test/cdtest/cdtest.h')
-rw-r--r--test/cdtest/cdtest.h415
1 files changed, 415 insertions, 0 deletions
diff --git a/test/cdtest/cdtest.h b/test/cdtest/cdtest.h
new file mode 100644
index 0000000..f670cc6
--- /dev/null
+++ b/test/cdtest/cdtest.h
@@ -0,0 +1,415 @@
+/*=========================================================================*/
+/* CDTEST.H - 05/12/95. */
+/*=========================================================================*/
+#ifndef CDTEST_H
+#define CDTEST_H
+
+/*- Constantes: -----------------------------------------------------------*/
+#define MAXPOINTS 300
+
+/*- Macros: ---------------------------------------------------------------*/
+#define isdigit(_) (((_)>='0') && ((_)<='9'))
+#define ignore(_) (void)(_)
+
+/*-------------------------------------------------------------------------*/
+/* Tipos enumerados. */
+/*-------------------------------------------------------------------------*/
+typedef enum {
+ LINE,
+ RECT,
+ BOX,
+ ARC,
+ SECTOR,
+ CHORD,
+ PIXEL,
+ MARK,
+ TEXT,
+ POLY,
+ CLIP,
+ IMAGE,
+ RGB,
+ META
+} tPrim;
+
+enum {
+ BACKGROUND,
+ FOREGROUND
+};
+
+enum {
+ NO_BUFFER,
+ IMAGE_BUFFER,
+ IMAGERGB_BUFFER
+};
+
+typedef enum {
+ NEWPOINT,
+ MOVE,
+ CLOSE,
+ CENTER,
+ REPAINT
+} tRubber;
+
+#if ((!defined(FALSE))&&(!defined(TRUE)))
+typedef enum {
+ FALSE,
+ TRUE
+} tBoolean;
+#else
+#define tBoolean int
+#endif
+
+/*-------------------------------------------------------------------------*/
+/* Definicao das estruturas de dados usadas. */
+/*-------------------------------------------------------------------------*/
+typedef struct {
+ int x, y;
+} tPoint;
+
+typedef struct {
+ cdContext* ctx;
+ char *filename;
+} tMeta;
+
+typedef struct {
+ int x1;
+ int y1;
+ int x2;
+ int y2;
+ int write_mode;
+ int line_style;
+ int line_width;
+ int line_cap;
+ int line_join;
+ int interior_style;
+ int back_opacity;
+ int hatch;
+ long foreground;
+ long background;
+} tLB; /* cdLine ou cdBox ou cdRect */
+
+typedef struct {
+ int xc;
+ int yc;
+ int w;
+ int h;
+ double angle1;
+ double angle2;
+ int write_mode;
+ int line_style;
+ int line_width;
+ int line_cap;
+ int line_join;
+ int interior_style;
+ int back_opacity;
+ int hatch;
+ long foreground;
+ long background;
+} tAS; /* cdArc e cdSector e Chord */
+
+typedef struct {
+ int x;
+ int y;
+ int write_mode;
+ long foreground;
+} tPixel; /* cdPixel */
+
+typedef struct {
+ int x;
+ int y;
+ int write_mode;
+ int mark_type;
+ int mark_size;
+ long foreground;
+} tMark; /* cdMark */
+
+typedef struct {
+ int x;
+ int y;
+ char *s;
+ int write_mode;
+ int font_size;
+ int font_style;
+ int font_typeface;
+ int back_opacity;
+ double text_orientation;
+ int text_alignment;
+ long foreground;
+ long background;
+} tText; /* cdText */
+
+typedef struct {
+ int poly_mode;
+ int write_mode;
+ int line_style;
+ int line_width;
+ int line_cap;
+ int line_join;
+ int fill_mode;
+ int back_opacity;
+ int interior_style;
+ int hatch;
+ long foreground;
+ long background;
+ int num_points;
+ tPoint *points;
+} tPoly; /* cdBegin, cdVertex e cdEnd */
+
+typedef struct tnode {
+ tPrim type;
+ union {
+ tLB lineboxpar;
+ tAS arcsectorpar;
+ tPoly polypar;
+ tPixel pixelpar;
+ tMark markpar;
+ tText textpar;
+ tMeta metapar;
+ } par;
+ struct tnode *next;
+} tList;
+
+/*-------------------------------------------------------------------------*/
+/* Contexto do CD Test. */
+/*-------------------------------------------------------------------------*/
+typedef struct {
+ cdCanvas *iup_canvas; /* canvas do iup */
+ int w, h; /* largura e altura do canvas */
+ double res;
+ int bpp;
+
+ cdCanvas *wd_canvas; /* canvas IUP p/ WD */
+ int wd_dialog; /* se o dialogo do canvas WD estah na tela */
+
+ cdCanvas *pic_canvas; /* canvas IUP p/ Picture */
+ cdCanvas *picture; /* Picture */
+ int pic_dialog; /* se o dialogo do canvas Picture estah na tela */
+
+ cdCanvas *buffer_canvas; /* canvas para double-buffering */
+ int buffering;
+
+ Ihandle *dlg_cur_prim; /* handle do dialogo de primitiva ativo */
+ Ihandle *bt_cur_prim; /* handle do botao da primitiva corente */
+
+ tPrim cur_prim; /* primitiva corrente */
+ tBoolean following; /* flag de rubber-band */
+ int dlg_x;
+ int dlg_y;
+ int visible;
+
+ int write_mode; /* atributos do CD */
+ int line_cap;
+ int line_join;
+ int line_style;
+ int line_width;
+ int fill_mode;
+ int font_typeface;
+ int font_style;
+ int font_size;
+ int text_alignment;
+ double text_orientation;
+ int back_opacity;
+ int mark_type;
+ int poly_mode;
+ long foreground;
+ long background;
+ int interior_style;
+ int hatch;
+
+ unsigned char stipple[100];/* sample stipple */
+ long pattern[100]; /* sample pattern */
+ int dashes[4]; /* sample dash */
+
+ int clip_xmin;
+ int clip_xmax;
+ int clip_ymin;
+ int clip_ymax;
+ int clip_mode;
+
+ unsigned char *red; /* imagem RGB */
+ unsigned char *green;
+ unsigned char *blue;
+ int rgb_w, rgb_h; /* largura e altura da imagem RGB */
+
+ cdImage *test_image; /* imagem off-screen para testes */
+
+ int num_points; /* numero de pontos no poligono corrente */
+ tPoint points[MAXPOINTS]; /* armazanamento temporario do poligono */
+
+ char status_line[256]; /* linha de status */
+ char title[80]; /* barra de titulo do programa */
+
+ int x, y; /* posiccao do mouse no canvas */
+ char mouse_pos[40]; /* posiccao do mouse em uma string */
+
+ int sim; /* flag para simulacao */
+ int stretch_play;
+
+ tList *head; /* lista de primitivas */
+} tCTC; /* CD Test Context */
+
+extern tCTC ctgc;
+
+/* parametros geometricos das primitivas */
+typedef struct {
+ int x1, x2, y1, y2;
+} tLinePos;
+
+typedef struct {
+ int xmin, xmax, ymin, ymax;
+ int x, y;
+} tBoxPos;
+
+typedef struct {
+ int x, y;
+} tPixelPos;
+
+typedef struct {
+ int x, y;
+ int size;
+} tMarkPos;
+
+typedef struct {
+ int xc, yc;
+ int w, h;
+ double angle1, angle2;
+} tArcPos;
+
+/*-------------------------------------------------------------------------*/
+/* Funccoes do modulo CDTEST.C. */
+/*-------------------------------------------------------------------------*/
+int fEditUndo(void);
+int fEditClear(void);
+
+int fRepaint(void);
+int fFileExit(void);
+int fOK(void);
+int fOpenLines(void);
+int fClosedLines(void);
+int fPolyBezier(void);
+int fFill(void);
+int fSolid(void);
+int fHatch(void);
+int fStipple(void);
+int fPattern(void);
+
+int fPolyClip(void);
+int fClipPoly(void);
+
+int fWDCanvas(void);
+int fCloseWD(void);
+int fWDRepaint(void);
+
+int fPICCanvas(void);
+int fClosePIC(void);
+int fPICRepaint(void);
+
+int fOpacity(Ihandle *, char *, int, int);
+int fMarkType(Ihandle *, char *, int, int);
+
+int fNoBuffering(Ihandle *, int);
+int fImageBuffer(Ihandle *, int);
+int fRGBBuffer(Ihandle *, int);
+
+int fWriteMode(Ihandle *, char *, int, int);
+int fLineStyle(Ihandle *, char *, int, int);
+int fLineCap(Ihandle *, char *, int, int);
+int fLineJoin(Ihandle *, char *, int, int);
+int fFillMode(Ihandle *, char *, int, int);
+int fFontStyle(Ihandle *, char *, int, int);
+int fFontTypeFace(Ihandle *, char *, int, int);
+int fTextAlignment(Ihandle *, char *, int, int);
+int fHatchStyle(Ihandle *, char *, int, int);
+
+int fColor(Ihandle *);
+
+int fClip(Ihandle *);
+int fClipArea(void);
+int fClipOff(void);
+
+int fImage(Ihandle *);
+int fImagePut(void);
+int fImageGet(void);
+
+int fImageRGB(Ihandle *);
+int fImageRGBPut(void);
+int fImageRGBGet(void);
+
+int fLine(Ihandle *);
+int fRect(Ihandle *);
+int fBox(Ihandle *);
+int fArc(Ihandle *);
+int fSector(Ihandle *);
+int fChord(Ihandle *);
+int fPixel(Ihandle *);
+int fMark(Ihandle *);
+int fText(Ihandle *);
+int fPoly(Ihandle *);
+
+int fShowDialog(void);
+
+int fStretchPlay(Ihandle*, int);
+int fSimulate(Ihandle *, int);
+int fOptionsHide(void);
+int fOptions(void);
+int fAttributes(void);
+int fAttributesHide(void);
+int fMsgHide(void);
+
+int fInteger(Ihandle *, int);
+int fReal(Ihandle *, int);
+
+int fDraw(void);
+
+int fHelpAbout(void);
+int fCloseAbout(void);
+
+int fMotionCB(Ihandle *, int, int, char *);
+int fButtonCB(Ihandle *, int, int, int, int, char *);
+int fResizeCB(Ihandle *, int, int);
+int fGetFocusCB(Ihandle *);
+
+void set_status(void);
+void mouse_pos(int, int);
+void putlist(cdCanvas *target);
+void draw(void);
+
+/*-------------------------------------------------------------------------*/
+/* Funccoes do modulo RUBBER.C. */
+/*-------------------------------------------------------------------------*/
+void follow(int, int);
+void line(tRubber, int, int);
+void box(tRubber, int, int);
+void arc(tRubber, int, int);
+void polygon(tRubber, int, int);
+
+/*-------------------------------------------------------------------------*/
+/* Funccoes do modulo LIST.C. */
+/*-------------------------------------------------------------------------*/
+int newpolypoint(int, int);
+int newline(int, int, int, int);
+int newrect(int, int, int, int);
+int newbox(int, int, int, int);
+int newarc(int, int, int, int, double, double);
+int newsector(int, int, int, int, double, double);
+int newchord(int, int, int, int, double, double);
+int newpixel(int, int);
+int newmark(int, int, int);
+int newtext(int, int, char *);
+int newmetafile(char *, cdContext* ctx);
+int newpoly(void);
+void dellist(void);
+void dellast(void);
+
+/*-------------------------------------------------------------------------*/
+/* Funccoes do modulo DRIVERS.C. */
+/*-------------------------------------------------------------------------*/
+void DriversInit(void);
+
+/*-------------------------------------------------------------------------*/
+/* Funccoes do modulo COLORBAR.C. */
+/*-------------------------------------------------------------------------*/
+int ColorBarInit(Ihandle *parent, Ihandle *canvas, long *foreground, long *background);
+void ColorBarClose(void);
+
+#endif