123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 |
- {
- $Id$
- This file is part of the Free Pascal run time library.
- Copyright (c) 2002 by Yuri Prokushev ([email protected]).
- OS/2 Presentation Manager Device Context constants, types and
- function declarations
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- {Warning: This code is alfa. Future versions
- of this unit might not be compatible.}
-
- unit pmdev;
- interface
- uses
- os2def;
- //General DEV return values
- const
- 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; //pels
- CAPS_HEIGHT =5; //pels
- CAPS_WIDTH_IN_CHARS =6;
- CAPS_HEIGHT_IN_CHARS =7;
- CAPS_HORIZONTAL_RESOLUTION =8; //pels per meter
- CAPS_VERTICAL_RESOLUTION =9; //pels per meter
- CAPS_CHAR_WIDTH =10; //pels
- CAPS_CHAR_HEIGHT =11; //pels
- CAPS_SMALL_CHAR_WIDTH =12; //pels
- CAPS_SMALL_CHAR_HEIGHT =13; //pels
- 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; //pels
- CAPS_MARKER_WIDTH =26; //pels
- 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;
- CAPS_LINEWIDTH_THICK =40;
- CAPS_DEVICE_POLYSET_POINTS =41;
-
- //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;
- CAPS_BM_AND =32;
- CAPS_BM_GENERAL_BOOLEAN =64;
- CAPS_BM_SRCTRANSPARENT =128;
- CAPS_BM_DESTTRANSPARENT =256;
- //Constants for CAPS_DEVICE_WINDOWING
- CAPS_DEV_WINDOWING_SUPPORT =1;
- //Constants for CAPS_ADDITIONAL_GRAPHICS
- CAPS_VDD_DDB_TRANSFER =1;
- CAPS_GRAPHICS_KERNING_SUPPORT =2;
- CAPS_FONT_OUTLINE_DEFAULT =4;
- CAPS_FONT_IMAGE_DEFAULT =8;
- //bits represented by values 16L and 32L are reserved
- CAPS_SCALED_DEFAULT_MARKERS =64;
- CAPS_COLOR_CURSOR_SUPPORT =128;
- CAPS_PALETTE_MANAGER =256;
- CAPS_COSMETIC_WIDELINE_SUPPORT =512;
- CAPS_DIRECT_FILL =1024;
- CAPS_REBUILD_FILLS =2048;
- CAPS_CLIP_FILLS =$00001000; //4096L
- CAPS_ENHANCED_FONTMETRICS =$00002000; //8192L
- CAPS_TRANSFORM_SUPPORT =$00004000; //16384L
- //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;
- CAPS_RASTER_FLOOD_FILL =64;
- //structures for DEVESC_QUERYVIOCELLSIZES
- type
- PVioSizeCount=^VioSizeCount;
- VioSizeCount=record
- maxcount: Longint;
- count: Longint;
- end;
- PVioFontCellSize=^VioFontCellSize;
- VioFontCellSize=record
- cx: Longint;
- cy: Longint;
- end;
- //structure for DEVESC_GETSCALINGFACTOR
- PSFactors=^SFactors;
- SFactors=record
- x: Longint;
- y: Longint;
- end;
- //structure for DEVESC_NEXTBAND
- PBandRect=^BandRect;
- BandRect=record
- xleft: Longint;
- ybottom: Longint;
- xright: Longint;
- ytop: Longint;
- end;
- //return codes for DevEscape
- const
- DEVESC_ERROR =-1;
- DEVESC_NOTIMPLEMENTED =0;
- //codes for DevEscape
- DEVESC_QUERYESCSUPPORT = 0;
- DEVESC_GETSCALINGFACTOR = 1;
- DEVESC_QUERYVIOCELLSIZES = 2;
- DEVESC_GETCP =8000;
- DEVESC_STARTDOC =8150;
- DEVESC_ENDDOC =8151;
- DEVESC_NEXTBAND =8152;
- DEVESC_ABORTDOC =8153;
- DEVESC_NEWFRAME =16300;
- DEVESC_DRAFTMODE =16301;
- DEVESC_FLUSHOUTPUT =16302;
- DEVESC_RAWDATA =16303;
- DEVESC_SETMODE =16304;
- DEVESC_DBE_FIRST =24450;
- DEVESC_DBE_LAST =24455;
- //DevEscape codes for adding extra space to character strings
- DEVESC_CHAR_EXTRA =16998;
- DEVESC_BREAK_EXTRA =16999;
- //codes for DevEscape PM_Q_ESC spool files
- DEVESC_STD_JOURNAL =32600;
- //structure for DEVESC_SETMODE
- type
- PEscMode=^EscMode;
- EscMode=record
- mode: cardinal;
- modedata: byte;
- end;
- //return codes for DevPostDeviceModes
- const
- DPDM_ERROR =-1;
- DPDM_NONE =0;
- //codes for DevPostDeviceModes
- DPDM_POSTJOBPROP =0;
- DPDM_CHANGEPROP =1;
- DPDM_QUERYJOBPROP =2;
- //string types for DevQueryDeviceNames
- type
- Str8 = Array[0..7] of Char;
- Str16= Array[0..15] of Char;
- Str32= Array[0..31] of Char;
- Str64= Array[0..63] of Char;
- //return code for DevQueryHardcopyCaps
- const
- DQHC_ERROR =-1;
- //codes for DevQueryHardcopyCaps
- const
- HCAPS_CURRENT =1;
- HCAPS_SELECTABLE =2;
- //structure for DevQueryHardcopyCaps
- type
- PHCInfo=^HCInfo;
- HCInfo=record
- szFormname: Array[0..31] of Char;
- cx: Longint;
- cy: Longint;
- xLeftClip: Longint;
- yBottomClip: Longint;
- xRightClip: Longint;
- yTopClip: Longint;
- xPels: Longint;
- yPels: Longint;
- flAttributes: Longint;
- end;
- function DevOpenDC(ahab: HAB; lType: Longint; pszToken: PChar; lCount: Longint; var pdopData: DevOpenStruc; hdcComp: cardinal): cardinal; cdecl;
- function DevCloseDC(ahdc: cardinal): cardinal; cdecl;
- function DevEscape(ahdc: cardinal; lCode, lInCount: Longint; var pbInData; var plOutCount: Longint; var pbOutData): Longint; cdecl;
- function DevQueryCaps(ahdc: cardinal; lStart, lCount: Longint; var alArray: Longint): Longbool; cdecl;
- function DevQueryDeviceNames(ahab: HAB; pszDriverName: PChar; var pldn: Longint; aDeviceName: Str32; aDeviceDesc: Str64; var pldt: Longint; aDataType: Str16): Longbool; cdecl;
- function DevQueryHardcopyCaps(ahdc: cardinal; lStartForm, lForms: Longint; var phciHcInfo: HCInfo): Longint; cdecl;
- function DevPostDeviceModes(ahab: HAB; var pdrivDriverData: DrivData; pszDriverName, pszDeviceName, pszName: PChar; flOptions: cardinal): Longint; cdecl;
-
- implementation
- function DevOpenDC(ahab: HAB; lType: Longint; pszToken: PChar; lCount: Longint; var pdopData: DevOpenStruc; hdcComp: cardinal): cardinal; cdecl;
- external 'PMGPI' index 610;
- function DevCloseDC(ahdc: cardinal): cardinal; cdecl;
- external 'PMGPI' index 604;
- function DevEscape(ahdc: cardinal; lCode, lInCount: Longint; var pbInData; var plOutCount: Longint; var pbOutData): Longint; cdecl;
- external 'PMGPI' index 605;
- function DevQueryCaps(ahdc: cardinal; lStart, lCount: Longint;var alArray: Longint): Longbool; cdecl;
- external 'PMGPI' index 606;
- function DevQueryDeviceNames(ahab: HAB; pszDriverName: PChar; var pldn: Longint; aDeviceName: Str32; aDeviceDesc: Str64; var pldt: Longint; aDataType: Str16): Longbool; cdecl;
- external 'PMGPI' index 607;
- function DevQueryHardcopyCaps(ahdc: cardinal; lStartForm, lForms: Longint; var phciHcInfo: HCInfo): Longint; cdecl;
- external 'PMGPI' index 608;
- function DevPostDeviceModes(ahab: HAB; var pdrivDriverData: DrivData; pszDriverName, pszDeviceName, pszName: PChar; flOptions: cardinal): Longint; cdecl;
- external 'PMGPI' index 609;
-
- end.
- {
- $Log$
- Revision 1.1 2002-10-18 18:08:52 hajny
- + first version
- }
|