diff options
author | Pixel <pixel@nobis-crew.org> | 2009-11-04 11:56:41 -0800 |
---|---|---|
committer | Pixel <pixel@nobis-crew.org> | 2009-11-04 11:59:33 -0800 |
commit | d577d991b97ae2b5ee1af23641bcffc3f83af5b2 (patch) | |
tree | 590639d50205d1bcfaff2a7d2dc6ebf3f373c7ed /cd/test/cdtest/cdtest.h |
Initial import. Contains the im, cd and iup librairies, and a "working" Makefile for them under linux.
Diffstat (limited to 'cd/test/cdtest/cdtest.h')
-rwxr-xr-x | cd/test/cdtest/cdtest.h | 415 |
1 files changed, 415 insertions, 0 deletions
diff --git a/cd/test/cdtest/cdtest.h b/cd/test/cdtest/cdtest.h new file mode 100755 index 0000000..f670cc6 --- /dev/null +++ b/cd/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 |