home *** CD-ROM | disk | FTP | other *** search
- /*************************************
- * *
- * Render v2.0 *
- * by Torsten Jürgeleit in 05/91 *
- * *
- * Defines, structs and protos *
- * *
- *************************************/
-
- #ifndef RENDER_H
- #define RENDER_H
-
- /* Defines for render info flags */
-
- #define RENDER_INFO_FLAG_INNER_WINDOW (1 << 0) /* use upper left corner of inner window as location (0,0) */
- #define RENDER_INFO_FLAG_BACK_FILL (1 << 1) /* fill window back ground with different color */
-
- /* Defines for open window flags */
-
- #define OPEN_WINDOW_FLAG_CENTER_WINDOW (1 << 0) /* center window on screen */
- #define OPEN_WINDOW_FLAG_RENDER_PENS (1 << 1) /* use render pens for detail and backfill pen */
-
- /* Defines for render images */
-
- #define MAX_RENDER_IMAGES 11
-
- #define IMAGE_ARROW_LEFT 0
- #define IMAGE_ARROW_RIGHT 1
- #define IMAGE_ARROW_UP 2
- #define IMAGE_ARROW_DOWN 3
- #define IMAGE_KNOB_UNSELECTED 4
- #define IMAGE_KNOB_SELECTED 5
- #define IMAGE_CHECK_UNSELECTED 6
- #define IMAGE_CHECK_SELECTED 7
- #define IMAGE_CYCLE 8
- #define IMAGE_COUNT_LEFT 9
- #define IMAGE_COUNT_RIGHT 10
-
- #define IMAGE_ARROW_WIDTH 9
- #define IMAGE_ARROW_HEIGHT 5
- #define IMAGE_ARROW_DEPTH 1
-
- #define IMAGE_KNOB_WIDTH 18
- #define IMAGE_KNOB_HEIGHT 9
- #define IMAGE_KNOB_DEPTH 2
-
- #define IMAGE_CHECK_WIDTH 13
- #define IMAGE_CHECK_HEIGHT 7
- #define IMAGE_CHECK_DEPTH 1
-
- #define IMAGE_CYCLE_WIDTH 16
- #define IMAGE_CYCLE_HEIGHT 9
- #define IMAGE_CYCLE_DEPTH 2
-
- #define IMAGE_COUNT_WIDTH 8
- #define IMAGE_COUNT_HEIGHT 5
- #define IMAGE_COUNT_DEPTH 1
-
- #define IMAGE_HORIZ_OFFSET 4
- #define IMAGE_VERT_OFFSET 2
-
- #define INTUISUP_DATA_END 0 /* end marker for data arrays */
-
- #define MAX_RENDER_COLORS 16 /* max screen colors to look at */
-
- /* Structures */
-
- struct RenderInfo {
- USHORT ri_ScreenWidth;
- USHORT ri_ScreenHeight;
- UBYTE ri_ScreenDepth;
- UBYTE ri_WindowBorderTop;
- UBYTE ri_WindowBorderLeft;
- UBYTE ri_WindowBorderRight;
- UBYTE ri_WindowBorderBottom;
- UBYTE ri_HighlightPen;
- UBYTE ri_ShadowPen;
- UBYTE ri_TextPen1;
- UBYTE ri_TextPen2;
- UBYTE ri_BackPen;
- USHORT ri_Flags;
- struct TextFont *ri_TextFont;
- struct TextAttr ri_TextAttr;
- struct Image ri_Images[MAX_RENDER_IMAGES];
- USHORT *ri_ImageData;
- ULONG ri_ImageDataSize;
- };
- /* Global prototypes */
-
- struct RenderInfo *get_render_info(struct Screen *screen, USHORT flags);
- VOID free_render_info(struct RenderInfo *ri);
- struct Window *open_window(struct RenderInfo *ri, struct NewWindow *nw,
- USHORT flags);
- VOID clear_render_window(struct RenderInfo *ri, struct Window *win,
- USHORT left_edge, USHORT top_edge, USHORT width, USHORT height);
- SHORT calc_color_difference(SHORT color1, SHORT color2);
-
- /* Global pragmas */
-
- #pragma regcall(get_render_info(a0,d0))
- #pragma regcall(free_render_info(a0))
- #pragma regcall(open_window(a0,a1,d0))
- #pragma regcall(clear_render_window(a0,a1,d0,d1,d2,d3))
- #pragma regcall(calc_color_difference(d0,d1))
-
- #endif
-