mirror of
https://github.com/tesseract-ocr/tesseract.git
synced 2024-11-30 23:49:05 +08:00
425d593ebe
git-svn-id: https://tesseract-ocr.googlecode.com/svn/trunk/trunk@2 d0cd1f9f-072b-0410-8dd7-cf729c803f20
422 lines
11 KiB
C
422 lines
11 KiB
C
/* STARBASE_ID:sb.c.h 286.1 07/06/89 22:09:56 */
|
|
|
|
/* (c) Copyright Hewlett-Packard Company, 1985.
|
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
** you may not use this file except in compliance with the License.
|
|
** You may obtain a copy of the License at
|
|
** http://www.apache.org/licenses/LICENSE-2.0
|
|
** Unless required by applicable law or agreed to in writing, software
|
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
** See the License for the specific language governing permissions and
|
|
** limitations under the License.
|
|
All rights are reserved. Copying or other
|
|
reproduction of this program except for archival
|
|
purposes is prohibited without the prior
|
|
written consent of Hewlett-Packard Company.
|
|
|
|
RESTRICTED RIGHTS LEGEND
|
|
|
|
Use, duplication, or disclosure by the U.S. Government
|
|
is subject to restrictions as set forth in
|
|
subdivision (b) (3) (ii) of the Rights in Technical
|
|
Data and Computer Software clause at
|
|
52.227-7013.
|
|
|
|
HEWLETT-PACKARD COMPANY
|
|
Fort Collins, Colorado */
|
|
|
|
/************************************************************************
|
|
*
|
|
* definitions and types to be included with STARBASE application
|
|
* programs
|
|
*
|
|
***********************************************************************/
|
|
|
|
#ifndef _STARBASE_INCLUDED /* allow multiple inclusions */
|
|
#define _STARBASE_INCLUDED
|
|
|
|
/* kinds of graphics devices */
|
|
#define OUTDEV 0
|
|
#define INDEV 1
|
|
#define OUTINDEV 2
|
|
#define OUTMETA 3
|
|
#define INMETA 4
|
|
|
|
/* clear control parameters */
|
|
#define CLEAR_VDC_EXTENT 1
|
|
#define CLEAR_VIEWPORT 17
|
|
#define CLEAR_CLIP_RECTANGLE 33
|
|
#define CLEAR_DISPLAY_SURFACE 65
|
|
#define CLEAR_ALL_BANKS 128
|
|
#define CLEAR_ZBUFFER 256
|
|
|
|
/* clip control parameters */
|
|
#define CLIP_TO_RECT 1
|
|
#define CLIP_TO_VDC 2
|
|
#define CLIP_OFF 3
|
|
#define CLIP_TO_VIEWPORT 4
|
|
|
|
/* gopen open_mode parameter masks */
|
|
#define SPOOLED 0x01 /* if this bit is on, output is spooled */
|
|
//#define INIT 0x02 /* if this bit is on, device initialization occurs */
|
|
#define THREE_D 0x04 /* if this bit is on, all transformations are 3D */
|
|
#define RESET_DEVICE 0x08 /* if this bit is on, hard reset including p1 & p2 */
|
|
#define MODEL_XFORM 0x10 /* if this bit is on, matrix stack in modeling mode */
|
|
#define INT_XFORM 0x20 /* if this bit is on, matrix stack in modeling mode */
|
|
#define FLOAT_XFORM 0x40 /* if this bit is on, matrix stack in modeling mode */
|
|
|
|
/* color map modes set with shade_mode */
|
|
#define CMAP_NORMAL 0
|
|
#define CMAP_MONOTONIC 1
|
|
#define CMAP_FULL 4
|
|
|
|
/* double_buffer mode used to draw into the same buffer that is displayed */
|
|
#define DFRONT 4
|
|
/* double_buffer mode used to not clear buffer when switched */
|
|
#define SUPPRESS_CLEAR 8
|
|
|
|
/* light source types set with light_source */
|
|
#define DIRECTIONAL 0
|
|
#define POSITIONAL 1
|
|
#define ATTEN_LIGHT 2
|
|
#define SPOT_LIGHT 4
|
|
#define CONE_LIGHT 8
|
|
|
|
/* vertex orders set with vertex_format */
|
|
#define CLOCKWISE 0x0000
|
|
#define COUNTER_CLOCKWISE 0x0001
|
|
#define UNIT_NORMALS 0x0200
|
|
|
|
/* set p1 p2 units */
|
|
#define FRACTIONAL 0
|
|
#define METRIC 1
|
|
|
|
/* mapping modes */
|
|
#define ISOTROPIC 0
|
|
#define DISTORT 1
|
|
|
|
/* Starbase linetypes */
|
|
#define SOLID 0
|
|
#define DASH 1
|
|
#define DOT 2
|
|
#define DASH_DOT 3
|
|
#define DASH_DOT_DOT 4
|
|
#define LONG_DASH 5
|
|
#define CENTER_DASH 6
|
|
#define CENTER_DASH_DASH 7
|
|
|
|
/* wide endpoint types */
|
|
#define SQUARE 0
|
|
#define ROUNDED 1
|
|
|
|
/* depth cue models */
|
|
#define DC_MIN 2
|
|
#define DC_COLOR 4
|
|
|
|
/* distance modes for line_width, hatch_spacing */
|
|
#define VDC_UNITS 0
|
|
#define WC_UNITS 1
|
|
#define MC_UNITS WC_UNITS
|
|
#define DC_UNITS 2
|
|
|
|
/* polygon interior styles */
|
|
#define INT_HOLLOW 0
|
|
#define INT_SOLID 1
|
|
#define INT_PATTERN 2
|
|
#define INT_HATCH 3
|
|
#define INT_OUTLINE 4
|
|
#define INT_POINT 5
|
|
|
|
/* Matrix concatenation types */
|
|
#define PRE 0
|
|
#define POST 1
|
|
#define REPLACE 0
|
|
#define PUSH 1
|
|
|
|
/* Viewing matrix change types */
|
|
#define REPLACE_VW 0
|
|
#define PRE_CONCAT_VW 1
|
|
#define POST_CONCAT_VW 2
|
|
|
|
/* character switching modes */
|
|
#define ISO_7BIT 0
|
|
#define ISO_8BIT 1
|
|
#define HP_8BIT 2
|
|
|
|
/* text precision types */
|
|
#define STRING_TEXT 0
|
|
#define CHARACTER_TEXT 1
|
|
#define STROKE_TEXT 2
|
|
|
|
/* text transformation types */
|
|
#define VDC_TEXT 0
|
|
#define WORLD_COORDINATE_TEXT 1
|
|
#define TOS_TEXT 2
|
|
#define ANNOTATION_TEXT 3
|
|
|
|
/* text alignment enumerated types */
|
|
#define TA_LEFT 0
|
|
#define SB_TA_CENTER 1
|
|
#define TA_RIGHT 2
|
|
#define TA_CONTINUOUS_HORIZONTAL 3
|
|
#define TA_NORMAL_HORIZONTAL 4
|
|
|
|
#define TA_TOP 0
|
|
#define TA_CAP 1
|
|
#define TA_HALF 2
|
|
#define TA_BASE 3
|
|
#define SB_TA_BOTTOM 4
|
|
#define TA_CONTINUOUS_VERTICAL 5
|
|
#define TA_NORMAL_VERTICAL 6
|
|
|
|
/* character path and line path enumerated types */
|
|
#define PATH_RIGHT 0
|
|
#define PATH_LEFT 1
|
|
#define PATH_UP 2
|
|
#define PATH_DOWN 3
|
|
|
|
/* input device class enumerated types */
|
|
#define ALL 0
|
|
#define LOCATOR 1
|
|
#define CHOICE 4
|
|
|
|
/* event queue states */
|
|
#define EMPTY_NO_OVERFLOW 0
|
|
#define EMPTY_OVERFLOW 1
|
|
#define NOT_EMPTY_NO_OVERFLOW 2
|
|
#define NOT_EMPTY_OVERFLOW 3
|
|
|
|
/* event message link enumerated types */
|
|
#define SIMULTANEOUS_EVENT_FOLLOWS 0
|
|
#define SINGLE_EVENT 1
|
|
|
|
/* gerr printing flags */
|
|
#define NO_ERROR_PRINTING 0
|
|
#define PRINT_ERRORS 1
|
|
#define PRINT_WARNINGS 2
|
|
|
|
/* arc close_types */
|
|
#define NO_CHORD 0
|
|
#define PIE 1
|
|
#define CHORD 2
|
|
|
|
/* spline orders and rationalities */
|
|
#define NONRATIONAL 0
|
|
//#define RATIONAL 1
|
|
#define LINEAR 2
|
|
#define QUADRATIC 3
|
|
#define CUBIC 4
|
|
#define QUARTIC 5
|
|
#define QUINTIC 6
|
|
#define DC_VALUES 0
|
|
#define VDC_VALUES 2
|
|
#define STEP_SIZE 3
|
|
|
|
/* transform_point modes */
|
|
#define MC_TO_WC 0
|
|
#define MC_TO_WORLD 0
|
|
#define MC_TO_VDC 1
|
|
#define WC_TO_VDC 2
|
|
#define WORLD_TO_VDC 2
|
|
#define WC_TO_MC 3
|
|
#define WORLD_TO_MC 3
|
|
#define VDC_TO_MC 4
|
|
#define VDC_TO_WC 5
|
|
#define VDC_TO_WORLD 5
|
|
#define INTVDC_TO_DC 6
|
|
#define DC_TO_INTVDC 7
|
|
|
|
/* view_camera projection types */
|
|
#define CAM_PERSPECTIVE 0.0
|
|
#define CAM_PARALLEL 1.0
|
|
|
|
/* plane printing modes */
|
|
#define ALL_PLANES -1
|
|
#define PIXEL_MAJOR -1
|
|
#define PLANE_MAJOR -2
|
|
|
|
/* hatch types */
|
|
#define PARALLEL_HATCH 0
|
|
#define CROSSHATCH 1
|
|
|
|
/* highlight attribute types */
|
|
#define HL_COLOR 1
|
|
#define HL_STYLE 2
|
|
|
|
/* Hardware cursor control types */
|
|
#define REQUEST_HW_CURSOR 1
|
|
#define REQUEST_SW_CURSOR 2
|
|
#define FORCE_HW_CURSOR 3
|
|
#define REQUEST_HW_ECHO 1
|
|
#define REQUEST_SW_ECHO 2
|
|
#define FORCE_HW_ECHO 3
|
|
|
|
/* cgm encoding types */
|
|
#define CGM_BINARY 1
|
|
#define CGM_CHARACTER 2
|
|
#define CGM_CLEAR_TEXT 3
|
|
|
|
/* GLOBAL gescapes */
|
|
#define SWITCH_SEMAPHORE 0
|
|
#define READ_COLOR_MAP 1
|
|
#define BLINK_PLANES 2
|
|
#define BLINK_INDEX 3
|
|
|
|
/* GLOBAL raster gescapes */
|
|
#define R_GET_FRAME_BUFFER 20
|
|
#define R_LOCK_DEVICE 21
|
|
#define R_UNLOCK_DEVICE 22
|
|
#define R_GET_WINDOW_INFO 23
|
|
#define R_FULL_FRAME_BUFFER 24
|
|
#define R_ALLOC_OFFSCREEN 25
|
|
#define R_FREE_OFFSCREEN 26
|
|
#define R_BIT_MODE 27
|
|
#define R_BIT_MASK 28
|
|
#define R_DEF_FILL_PAT 29
|
|
#define R_OVERLAY_ECHO 30
|
|
#define R_OV_ECHO_COLORS 31
|
|
#define R_DEF_ECHO_TRANS 32
|
|
#define R_TRANSPARENCY_INDEX 33
|
|
#define R_LINE_TYPE 34
|
|
#define R_ECHO_FG_BG_COLORS 35
|
|
#define R_DMA_MODE 36
|
|
#define R_ECHO_MASK 37
|
|
#define R_ECHO_CONTROL 38
|
|
#define R_OFFSCREEN_ALLOC 1106
|
|
#define R_OFFSCREEN_FREE 1107
|
|
|
|
/* HPGL gescapes */
|
|
#define HPGL_WRITE_BUFFER 100
|
|
#define HPGL_SET_PEN_NUM 101
|
|
#define HPGL_SET_PEN_SPEED 102
|
|
#define HPGL_SET_PEN_WIDTH 103
|
|
#define HPGL_READ_BUFFER 104
|
|
|
|
/* HPGL2 gescapes */
|
|
#define HPGL2_SET_MEDIA_TYPE 105
|
|
#define HPGL2_LOGICAL_PEN_WIDTH 106
|
|
#define HPGL2_CUTTER_CONTROL 107
|
|
#define HPGL2_REPLOT 108
|
|
#define HPGL2_FONT_TYPEFACE 109
|
|
#define HPGL2_ADAPTIVE_LINES 110
|
|
#define HPGL2_SET_QUALITY 111
|
|
#define HPGL2_SET_CMAP_SIZE 112
|
|
#define HPGL2_FONT_WEIGHT 113
|
|
#define HPGL2_FONT_POSTURE 114
|
|
|
|
/* HP26XX gescapes */
|
|
#define HP26_PRINT_ESC 200
|
|
#define HPTERM_PRINT_ESC 200
|
|
#define HPTERM_640x400 201
|
|
|
|
/* 98700 gescapes */
|
|
#define GB_NONE 300
|
|
|
|
/* 98710 gescapes */
|
|
#define GA_NONE 400
|
|
|
|
/* 300l gescapes */
|
|
#define TC_HALF_PIXEL 500
|
|
|
|
/* HIL and keyboard gescapes */
|
|
#define ENABLE_AUTO_PROMPT 600
|
|
#define DISABLE_AUTO_PROMPT 601
|
|
#define PROMPT_ON 602
|
|
#define PROMPT_OFF 603
|
|
#define TRIGGER_ON_RELEASE 604
|
|
#define IGNORE_RELEASE 605
|
|
#define REPORT_PROXIMITY 606
|
|
#define IGNORE_PROXIMITY 607
|
|
#define ENABLE_ACKNOWLEDGE 608
|
|
#define DISABLE_ACKNOWLEDGE 609
|
|
#define SET_ACCELERATION 610 /* hil acceleration multiplier */
|
|
|
|
/* GKSM gescapes */
|
|
#define GKSM_WRITE_ITEM 700
|
|
#define GKSM_GET_ITEM_TYPE 701
|
|
#define GKSM_READ_ITEM 702
|
|
#define GKSM_SKIP_ITEM 703
|
|
#define GKSM_INQ_COLOR_NDCES 704
|
|
#define GKSM_INQ_PAT_REP 705
|
|
|
|
/* 98721 gescapes */
|
|
#define TRANSPARENCY 800
|
|
#define ZBUFFER_ALLOC 801
|
|
#define LS_OVERFLOW_CONTROL 802
|
|
#define PATTERN_FILL 803
|
|
#define ZWRITE_ENABLE 804
|
|
#define ZSTATE_SAVE 805
|
|
#define ZSTATE_RESTORE 806
|
|
|
|
/* SMDpixel and SMDpixel3 gescapes */
|
|
#define SMD_SUPPLY_MEM_BUFF 900
|
|
#define SMD_GET_MEM_REQUIRED 901
|
|
#define SMD_DEFINE_XY 902
|
|
#define SMD_DEFINE_DEPTH 903
|
|
#define SMD_ALLOCATE_MEMORY 904
|
|
|
|
/* Xn gescapes */
|
|
#define XN_INPUT_RAW 1000
|
|
/* raw mode (TRUE) returns LK201 keycodes
|
|
cooked mode (FALSE) returns ASCII */
|
|
#define XN_KEY_RELEASE 1001 /* turn on/off key release events */
|
|
#define XN_BUTTON_RELEASE 1002 /* turn on/off button release events */
|
|
|
|
/* 98549/49/50/56 gescapes */
|
|
#define GR2D_MASK_ENABLE 1100
|
|
#define GR2D_MASK_RULE 1101
|
|
#define GR2D_DEF_MASK 1102
|
|
#define GR2D_FILL_PATTERN 1103
|
|
#define GR2D_OVERLAY_TRANSPARENT 1104
|
|
#define GR2D_REPLICATE 1105
|
|
#define GR2D_ALLOC_OFFSCREEN 1106
|
|
#define GR2D_FREE_OFFSCREEN 1107
|
|
#define GR2D_PLANE_MASK 1108
|
|
#define GR2D_INQ_CLIST_ADDR 1109
|
|
#define GR2D_LOAD_CLIST 1110
|
|
#define GR2D_CONVEX_POLYGONS 1112
|
|
|
|
/* hp98730/31 driver gescapes */
|
|
#define PAN_AND_ZOOM 1200
|
|
#define OVERLAY_BLEND 1201
|
|
#define IMAGE_BLEND 1202
|
|
#define SET_BANK_CMAP 1203
|
|
#define GAMMA_CORRECTION 1204
|
|
#define INQ_GAMMA_CORRECTION 1205
|
|
#define FULL_COLOR_INDEX 1206
|
|
#define POLYGON_TRANSPARENCY 1207
|
|
#define CLIP_OVERFLOW 1208
|
|
|
|
/* hp98704/05 gescapes */
|
|
#define SET_REPLACEMENT_RULE 1250
|
|
|
|
/* hpcgm driver gescapes */
|
|
#define CGMESC_ENCODING 1300
|
|
#define CGMESC_ESCAPE_ELT 1301
|
|
#define CGMESC_MET_NAME 1302
|
|
#define CGMESC_PIC_NAME 1303
|
|
#define CGMESC_FONT_IX 1304
|
|
#define CGMESC_MESSAGE 1305
|
|
#define CGMESC_APPL_DATA 1306
|
|
#define CGMESC_VDC_PREC 1307
|
|
#define CGMESC_TOP_MODE 1308
|
|
|
|
typedef union
|
|
{
|
|
int i[64];
|
|
float f[64];
|
|
char c[255];
|
|
} gescape_arg;
|
|
|
|
typedef struct
|
|
{
|
|
float refx, refy, refz;
|
|
float camx, camy, camz;
|
|
float upx, upy, upz;
|
|
float field_of_view;
|
|
float front, back;
|
|
float projection;
|
|
} camera_arg;
|
|
#endif /* _STARBASE_INCLUDED */
|