(* Release 3.10 *) (*-------------------------------------------------------------------------* * * * DEV.DEF - Modula-2 OS/2 API Dev... interface * * * * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. * * All Rights Reserved * * * *--------------------------------------------------------------------------*) (*# call(o_a_size => off, o_a_copy=>off, result_optional=>on, reg_saved => (si, di, ds, st1, st2), reg_param => (), seg_name => none, near_call => off, ds_eq_ss => off) *) (*# module(implementation=>off, init_code => off) *) (*# name(prefix => os2_lib) *) (*# data(near_ptr => off) *) DEFINITION MODULE Dev; (**) (**--- OS/2 Presentation Manager Dev ---------------------------------------*) (**) FROM OS2DEF IMPORT HDC,HMF,HAB,STR8,STR16,STR32,STR64,DRIVDATA; CONST (* General DEV return values *) DEV_ERROR = 0; DEV_OK = 1; (* DC type for DevOpenDC *) OD_QUEUED = 2; OD_DIRECT = 5; OD_INFO = 6; OD_METAFILE = 7; OD_MEMORY = 8; OD_METAFILE_NOQUERY = 9; (* Codes for DevQueryCaps *) CAPS_FAMILY = 0; CAPS_IO_CAPS = 1; CAPS_TECHNOLOGY = 2; CAPS_DRIVER_VERSION = 3; CAPS_WIDTH = 4; CAPS_HEIGHT = 5; CAPS_WIDTH_IN_CHARS = 6; CAPS_HEIGHT_IN_CHARS = 7; CAPS_HORIZONTAL_RESOLUTION = 8; CAPS_VERTICAL_RESOLUTION = 9; CAPS_CHAR_WIDTH = 10; CAPS_CHAR_HEIGHT = 11; CAPS_SMALL_CHAR_WIDTH = 12; CAPS_SMALL_CHAR_HEIGHT = 13; CAPS_COLORS = 14; CAPS_COLOR_PLANES = 15; CAPS_COLOR_BITCOUNT = 16; CAPS_COLOR_TABLE_SUPPORT = 17; CAPS_MOUSE_BUTTONS = 18; CAPS_FOREGROUND_MIX_SUPPORT = 19; CAPS_BACKGROUND_MIX_SUPPORT = 20; CAPS_DEVICE_WINDOWING = 31; CAPS_ADDITIONAL_GRAPHICS = 32; CAPS_VIO_LOADABLE_FONTS = 21; CAPS_WINDOW_BYTE_ALIGNMENT = 22; CAPS_BITMAP_FORMATS = 23; CAPS_RASTER_CAPS = 24; CAPS_MARKER_HEIGHT = 25; CAPS_MARKER_WIDTH = 26; CAPS_DEVICE_FONTS = 27; CAPS_GRAPHICS_SUBSET = 28; CAPS_GRAPHICS_VERSION = 29; CAPS_GRAPHICS_VECTOR_SUBSET = 30; CAPS_PHYS_COLORS = 33; CAPS_COLOR_INDEX = 34; CAPS_GRAPHICS_CHAR_WIDTH = 35; CAPS_GRAPHICS_CHAR_HEIGHT = 36; CAPS_HORIZONTAL_FONT_RES = 37; CAPS_VERTICAL_FONT_RES = 38; CAPS_DEVICE_FONT_SIM = 39; (* Constants for CAPS_IO_CAPS *) CAPS_IO_DUMMY = 1; CAPS_IO_SUPPORTS_OP = 2; CAPS_IO_SUPPORTS_IP = 3; CAPS_IO_SUPPORTS_IO = 4; (* Constants for CAPS_TECHNOLOGY *) CAPS_TECH_UNKNOWN = 0; CAPS_TECH_VECTOR_PLOTTER = 1; CAPS_TECH_RASTER_DISPLAY = 2; CAPS_TECH_RASTER_PRINTER = 3; CAPS_TECH_RASTER_CAMERA = 4; CAPS_TECH_POSTSCRIPT = 5; (* Constants for CAPS_COLOR_TABLE_SUPPORT *) CAPS_COLTABL_RGB_8 = 1; CAPS_COLTABL_RGB_8_PLUS = 2; CAPS_COLTABL_TRUE_MIX = 4; CAPS_COLTABL_REALIZE = 8; (* Constants for CAPS_FOREGROUND_MIX_SUPPORT *) CAPS_FM_OR = 1; CAPS_FM_OVERPAINT = 2; CAPS_FM_XOR = 8; CAPS_FM_LEAVEALONE = 16; CAPS_FM_AND = 32; CAPS_FM_GENERAL_BOOLEAN = 64; (* Constants for CAPS_BACKGROUND_MIX_SUPPORT *) CAPS_BM_OR = 1; CAPS_BM_OVERPAINT = 2; CAPS_BM_XOR = 8; CAPS_BM_LEAVEALONE = 16; (* Constants for CAPS_DEVICE_WINDOWING *) CAPS_DEV_WINDOWING_SUPPORT = 1; (* Constants for CAPS_ADDITIONAL_GRAPHICS *) CAPS_GRAPHICS_KERNING_SUPPORT = 2; CAPS_FONT_OUTLINE_DEFAULT = 4; CAPS_FONT_IMAGE_DEFAULT = 8; CAPS_SCALED_DEFAULT_MARKERS = 64; (* Constants for CAPS_WINDOW_BYTE_ALIGNMENT *) CAPS_BYTE_ALIGN_REQUIRED = 0; CAPS_BYTE_ALIGN_RECOMMENDED = 1; CAPS_BYTE_ALIGN_NOT_REQUIRED = 2; (* Constants for CAPS_RASTER_CAPS *) CAPS_RASTER_BITBLT = 1; CAPS_RASTER_BANDING = 2; CAPS_RASTER_BITBLT_SCALING = 4; CAPS_RASTER_SET_PEL = 16; CAPS_RASTER_FONTS = 32; PROCEDURE OpenDC(a: HAB; t: LONGINT; n: ARRAY OF CHAR; c: LONGCARD; d: FarADDRESS; h:HDC): HDC; PROCEDURE CloseDC(h: HDC): HMF; PROCEDURE QueryCaps(h: HDC; s,c: LONGCARD; VAR a:ARRAY OF LONGINT): BOOLEAN; CONST (* Return codes for Escape *) ESC_ERROR =-1; ESC_NOTIMPLEMENTED = 0; (* Codes for Escape *) ESC_QUERYESCSUPPORT = 0; ESC_GETSCALINGFACTOR = 1; ESC_QUERYVIOCELLSIZES = 2; ESC_STARTDOC = 8150; ESC_ENDDOC = 8151; ESC_NEXTBAND = 8152; ESC_ABORTDOC = 8153; ESC_NEWFRAME = 16300; ESC_DRAFTMODE = 16301; ESC_FLUSHOUTPUT = 16302; ESC_RAWDATA = 16303; (* Dev Escape code 16304 is reserved *) ESC_DBE_FIRST = 24450; ESC_DBE_LAST = 24455; (* DevEscape codes for adding extra space to character strings *) ESC_CHAR_EXTRA = 16998; ESC_BREAK_EXTRA = 16999; (* Codes for Escape PM_Q_ESC spool files *) ESC_STD_JOURNAL = 32600; (* Return codes for PostDeviceModes *) DPDM_ERROR = -1; DPDM_NONE = 0; (* codes for DevPostDeviceModes *) DPDM_POSTJOBPROP = 0; DPDM_CHANGEPROP = 1; DPDM_QUERYJOBPROP = 2; (* Return code for QueryHardcopyCaps *) DQHC_ERROR = -1; (* Codes for QueryHardcopyCaps *) HCAPS_CURRENT = 1; HCAPS_SELECTABLE = 2; TYPE HCINFO = RECORD formname : STR32; cx,cy : LONGINT; xLeftClip : LONGINT; yBottomClip : LONGINT; xRightClip : LONGINT; yTopClip : LONGINT; xPels : LONGINT; yPels : LONGINT; flAttributes : LONGINT; END; PROCEDURE Escape(h:HDC;e:LONGINT;c:LONGCARD;b:ARRAY OF BYTE;VAR oc:LONGCARD;VAR ob :ARRAY OF BYTE):LONGINT; PROCEDURE QueryDeviceNames(a:HAB; drn:ARRAY OF CHAR;VAR dn:LONGCARD; VAR dns: ARRAY OF STR32; VAR dds:ARRAY OF STR64; VAR dt : LONGCARD; VAR dts: ARRAY OF STR16):BOOLEAN; PROCEDURE QueryHardcopyCaps(h:HDC;s:LONGINT;f:LONGINT;VAR i:HCINFO):LONGINT; PROCEDURE PostDeviceModes(a:HAB;VAR d:DRIVDATA;drn,den,n:ARRAY OF CHAR):LONGINT; END Dev.