* Initial import

This commit is contained in:
yuri 2003-06-26 17:11:23 +00:00
parent 2711f7d464
commit 978483f87d
4 changed files with 640 additions and 146 deletions

View File

@ -1,8 +1,8 @@
#
# Don't edit, this file is generated by FPCMake Version 1.1 [2003/04/04]
# Don't edit, this file is generated by FPCMake Version 1.1 [2002/09/26]
#
default: all
MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos macosx emx
MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx
override PATH:=$(subst \,/,$(PATH))
ifeq ($(findstring ;,$(PATH)),)
inUnix=1
@ -58,9 +58,6 @@ ifdef inUnix
PATHSEP=/
else
PATHSEP:=$(subst /,\,/)
ifdef inCygWin
PATHSEP=/
endif
endif
ifdef PWD
BASEDIR:=$(subst \,/,$(shell $(PWD)))
@ -90,8 +87,8 @@ endif
endif
export ECHO
endif
override OS_TARGET_DEFAULT=os2
override CPU_TARGET_DEFAULT=i386
OS_TARGET=os2
CPU_TARGET=i386
override DEFAULT_FPCDIR=../..
ifndef FPC
ifdef PP
@ -113,38 +110,37 @@ endif
override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
ifndef FPC_VERSION
FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
FPC_VERSION:=$(shell $(FPC) -iV)
endif
export FPC FPC_VERSION FPC_COMPILERINFO
export FPC FPC_VERSION
unexport CHECKDEPEND ALLDEPENDENCIES
ifndef CPU_TARGET
ifdef CPU_TARGET_DEFAULT
CPU_TARGET=$(CPU_TARGET_DEFAULT)
endif
endif
ifndef OS_TARGET
ifdef OS_TARGET_DEFAULT
OS_TARGET=$(OS_TARGET_DEFAULT)
endif
endif
ifneq ($(words $(FPC_COMPILERINFO)),5)
FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
endif
ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
COMPILERINFO:=$(shell $(FPC) -iSP -iTP -iSO -iTO)
ifndef CPU_SOURCE
CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
CPU_SOURCE:=$(word 1,$(COMPILERINFO))
endif
ifndef CPU_TARGET
CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
CPU_TARGET:=$(word 2,$(COMPILERINFO))
endif
ifndef OS_SOURCE
OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
OS_SOURCE:=$(word 3,$(COMPILERINFO))
endif
ifndef OS_TARGET
OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
OS_TARGET:=$(word 4,$(COMPILERINFO))
endif
else
ifndef CPU_SOURCE
CPU_SOURCE:=$(shell $(FPC) -iSP)
endif
ifndef CPU_TARGET
CPU_TARGET:=$(shell $(FPC) -iTP)
endif
ifndef OS_SOURCE
OS_SOURCE:=$(shell $(FPC) -iSO)
endif
ifndef OS_TARGET
OS_TARGET:=$(shell $(FPC) -iTO)
endif
endif
FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
@ -220,7 +216,7 @@ override FPCOPT+=-Ur
endif
OBJPASDIR=$(RTL)/objpas
GRAPHDIR=$(INC)/graph
override TARGET_UNITS+=$(SYSTEMUNIT) objpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock dos crt objects printer sysutils math typinfo varutils charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types
override TARGET_UNITS+=$(SYSTEMUNIT) objpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer sysutils math typinfo varutils charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types
override TARGET_LOADERS+=prt0 prt1
override TARGET_RSTS+=math varutils typinfo variants pmhelp
override INSTALL_FPCPACKAGE=y
@ -432,97 +428,6 @@ SHAREDLIBEXT=.so
STATICLIBPREFIX=libp
RSTEXT=.rst
FPCMADE=fpcmade
ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
ifeq ($(OS_TARGET),go32v1)
STATICLIBPREFIX=
FPCMADE=fpcmade.v1
PACKAGESUFFIX=v1
endif
ifeq ($(OS_TARGET),go32v2)
STATICLIBPREFIX=
FPCMADE=fpcmade.dos
ZIPSUFFIX=go32
endif
ifeq ($(OS_TARGET),linux)
EXEEXT=
HASSHAREDLIB=1
FPCMADE=fpcmade.lnx
ZIPSUFFIX=linux
endif
ifeq ($(OS_TARGET),freebsd)
EXEEXT=
HASSHAREDLIB=1
FPCMADE=fpcmade.freebsd
ZIPSUFFIX=freebsd
endif
ifeq ($(OS_TARGET),netbsd)
EXEEXT=
HASSHAREDLIB=1
FPCMADE=fpcmade.netbsd
ZIPSUFFIX=netbsd
endif
ifeq ($(OS_TARGET),openbsd)
EXEEXT=
HASSHAREDLIB=1
FPCMADE=fpcmade.openbsd
ZIPSUFFIX=openbsd
endif
ifeq ($(OS_TARGET),win32)
SHAREDLIBEXT=.dll
FPCMADE=fpcmade.w32
ZIPSUFFIX=w32
endif
ifeq ($(OS_TARGET),os2)
AOUTEXT=.out
STATICLIBPREFIX=
SHAREDLIBEXT=.dll
FPCMADE=fpcmade.os2
ZIPSUFFIX=os2
ECHO=echo
endif
ifeq ($(OS_TARGET),emx)
AOUTEXT=.out
STATICLIBPREFIX=
SHAREDLIBEXT=.dll
FPCMADE=fpcmade.emx
ZIPSUFFIX=emx
ECHO=echo
endif
ifeq ($(OS_TARGET),amiga)
EXEEXT=
SHAREDLIBEXT=.library
FPCMADE=fpcmade.amg
endif
ifeq ($(OS_TARGET),atari)
EXEEXT=.ttp
FPCMADE=fpcmade.ata
endif
ifeq ($(OS_TARGET),beos)
EXEEXT=
FPCMADE=fpcmade.be
ZIPSUFFIX=be
endif
ifeq ($(OS_TARGET),sunos)
EXEEXT=
FPCMADE=fpcmade.sun
ZIPSUFFIX=sun
endif
ifeq ($(OS_TARGET),qnx)
EXEEXT=
FPCMADE=fpcmade.qnx
ZIPSUFFIX=qnx
endif
ifeq ($(OS_TARGET),netware)
EXEEXT=.nlm
STATICLIBPREFIX=
FPCMADE=fpcmade.nw
ZIPSUFFIX=nw
endif
ifeq ($(OS_TARGET),macos)
EXEEXT=
FPCMADE=fpcmade.mcc
endif
else
ifeq ($(OS_TARGET),go32v1)
PPUEXT=.pp1
OEXT=.o1
@ -637,8 +542,8 @@ ZIPSUFFIX=qnx
endif
ifeq ($(OS_TARGET),netware)
STATICLIBPREFIX=
PPUEXT=.ppu
OEXT=.o
PPUEXT=.ppn
OEXT=.on
ASMEXT=.s
SMARTEXT=.sl
STATICLIBEXT=.a
@ -647,16 +552,6 @@ FPCMADE=fpcmade.nw
ZIPSUFFIX=nw
EXEEXT=.nlm
endif
ifeq ($(OS_TARGET),macos)
PPUEXT=.ppu
ASMEXT=.s
OEXT=.o
SMARTEXT=.sl
STATICLIBEXT=.a
EXEEXT=
FPCMADE=fpcmade.mcc
endif
endif
ifndef ECHO
ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
ifeq ($(ECHO),)
@ -968,11 +863,6 @@ override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
endif
endif
ifeq ($(OS_TARGET),linux)
ifeq ($(FPC_VERSION),1.0.6)
override FPCOPTDEF+=HASUNIX
endif
endif
ifdef OPT
override FPCOPT+=$(OPT)
endif
@ -1207,7 +1097,6 @@ fpc_baseinfo:
@$(ECHO) Rm........ $(RMPROG)
@$(ECHO) GInstall.. $(GINSTALL)
@$(ECHO) Echo...... $(ECHO)
@$(ECHO) Shell..... $(SHELL)
@$(ECHO) Date...... $(DATE)
@$(ECHO) FPCMake... $(FPCMAKE)
@$(ECHO) PPUMove... $(PPUMOVE)

View File

@ -9,7 +9,7 @@ main=rtl
loaders=prt0 prt1
units=$(SYSTEMUNIT) objpas strings \
ports os2def doscalls moncalls kbdcalls moucalls viocalls \
pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock \
pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi \
dos crt objects printer \
sysutils math typinfo varutils \
charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs \
@ -176,7 +176,7 @@ varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
$(COMPILER) -I$(OBJPASDIR) varutils.pp $(REDIR)
types$(PPUEXT) : $(OBJPASDIR/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/types.pp
$(COMPILER) $(OBJPASDIR)/types.pp
#
# Other system-independent RTL Units

606
rtl/os2/pmbidi.pas Normal file
View File

@ -0,0 +1,606 @@
{
$Id$
This file is part of the Free Pascal run time library.
Copyright (c) 2003 by Yuri Prokushev (prokushev@freemail.ru).
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 pmbidi;
interface
uses os2def, pmwin;
{$PACKRECORDS C}
{ Module Header \
OS/2 Presentation Manager Window Manager - Bidirectional support include file.
\ }
{ }
{ Bidirectional languages support window messages }
{ }
const
WM_SETBIDIATTR = $0BD0;
WM_QUERYBIDIATTR = $0BD1;
WM_SETBIDISTAT = $0BD2;
WM_QUERYBIDISTAT = $0BD3;
WM_KBDLAYERCHANGED = $0BD4;
{ }
{ Language Viewer messages }
{ }
WM_LANGVIEWINFOCHANGED = $0BE0;
WM_LANG_OPTIONS_DIALOG = $0BE2;
WM_LANGOPTIONSDIALOG = $0BE2;
{ LVI values - indicating which Bidi information has changed }
LVI_WND_BIDI_ATTR = 1;
LVI_WND_BIDI_STAT = 2;
LVI_FOCUS_CHANGE = 3;
LVI_KBD_LAYER = 4;
LVI_CSD = 5;
LVI_SET_KBD_LAYER = 6;
LVI_ALL = -(1);
{ Possible return values from WM_SETBIDIATTR/WM_SETBIDISTAT }
SBI_MSG_NOT_PROCESSED = 0;
SBI_MSG_PROCESSED = 1;
SBI_MSG_PROCESSED_SELF = 2;
{ }
{ Bidirectional attributes masks }
{ }
BDAM_INIT = $80000000;
BDAM_LEVEL = $70000000;
BDAM_NATIVE = $08000000;
BDAM_TEXTTYPE = $01000000;
BDAM_TEXT_ORIENTATION = $00030000;
BDAM_WND_ORIENTATION = $00100000;
BDAM_NUMERALS = $00003000;
BDAM_SYM_SWAP = $00000100;
BDAM_WORD_BREAK = $00000200;
BDAM_TEXT_SHAPE = $000000FF;
BDAM_ALL=(BDAM_INIT or
BDAM_LEVEL or
BDAM_TEXTTYPE or
BDAM_NATIVE or
BDAM_TEXT_ORIENTATION or
BDAM_WND_ORIENTATION or
BDAM_NUMERALS or
BDAM_SYM_SWAP or
BDAM_WORD_BREAK or
BDAM_TEXT_SHAPE );
{ }
{ Bidirectional attributes values (in Bidi attributes word) }
{ }
{ Note: Value of the attributes must match the values in layout.h. }
{ }
BDA_INIT = $80000000;
BDA_LEVEL = $30000000;
BDA_NATIVE_OFF = $00000000;
BDA_NATIVE_ON = $08000000;
BDA_TEXTTYPE_VISUAL = $00000000;
BDA_TEXTTYPE_IMPLICIT = $01000000;
BDA_WND_ORIENT_LTR = $00000000;
BDA_WND_ORIENT_RTL = $00100000;
BDA_TEXT_ORIENT_LTR = $00000000;
BDA_TEXT_ORIENT_RTL = $00010000;
BDA_TEXT_ORIENT_DYNAMIC = $00020000;
BDA_TEXT_ORIENT_CONTEXT = $00020000;
BDA_NUMERALS_NOMINAL = $00000000;
BDA_NUMERALS_PASSTHRU = $00001000;
BDA_NUMERALS_NATIONAL = $00002000;
BDA_NUMERALS_CONTEXTUAL = $00003000;
BDA_SYM_SWAP_OFF = $00000000;
BDA_SYM_SWAP_ON = $00000100;
BDA_WORD_BREAK_OFF = $00000000;
BDA_WORD_BREAK_ON = $00000200;
BDA_TEXT_DISPLAY_SHAPED = $00000000;
BDA_TEXT_SAVE_SHAPED = $00000001;
BDA_TEXT_NOMINAL = $00000010;
BDA_TEXT_INITIAL = $00000011;
BDA_TEXT_MIDDLE = $00000012;
BDA_TEXT_FINAL = $00000013;
BDA_TEXT_ISOLATED = $00000014;
{ }
{ Bidirectional attribute (BIDIATTR) as specified in a window template }
{ or in the resource script. }
{ }
type
BIDIPARAM = PRESPARAMS;
const
{ First BidiAttr PresParam }
PP_BDATTR_FIRST = $100;
{ }
{ Set ALL Bidi attrs }
PP_BDATTR_ALL = $101;
{ }
{ Text/Data type }
PP_BDATTR_TEXTTYPE = $102;
{ Text Orientation }
PP_BDATTR_TEXT_ORIENTATION = $103;
{ Window Orientation }
PP_BDATTR_WND_ORIENTATION = $104;
{ Arabic/Hindi Numerals }
PP_BDATTR_NUMERALS = $105;
{ Symetric Swapping }
PP_BDATTR_SYM_SWAP = $106;
{ Word break }
PP_BDATTR_WORD_BREAK = $107;
{ Char Shape Determination }
PP_BDATTR_TEXT_SHAPE = $108;
{ }
{ Last BidiAttr PresParam }
PP_BDATTR_LAST = $108;
{ }
{ Bidirectional status flags }
PP_BDSTATUS = $110;
{ }
{ Values used in Set/Query Bidirectional status word }
{ }
BDS_HKFLAG_ENG_LAYER = $00010000;
BDS_HKFLAG_NAT_LAYER = $00020000;
BDS_HKFLAG_PUSH = $00040000;
BDS_HKFLAG_END_PUSH = $00080000;
BDS_HKFLAG_AUTO_PUSH = $00100000;
BDS_HKFLAG_FIELD_REV = $00200000;
BDS_HKFLAG_SCREEN_REV = $00400000;
BDS_HKFLAG_STATUS_INDICATOR = $02000000;
BDS_HKFLAG_DISPLAY_SHAPED = $04000000;
BDS_HKFLAG_INITIAL = $08000000;
BDS_HKFLAG_MIDDLE = $10000000;
BDS_HKFLAG_FINAL = $20000000;
BDS_HKFLAG_ISOLATED = $40000000;
BDS_HKFLAG_SAVE_SHAPED = $80000000;
BDS_HKFLAG_ENTRY_SWITCH_UI = $00800000;
BDS_FAUTOPUSH_RTL_ON = $00000001;
BDS_FAUTOPUSH_LTR_ON = $00000002;
BDS_FPUSH_ON = $00000004;
BDS_DISABLE_INPUT_PROCESSING = $00000020;
{ }
{ Bidirectional status masks }
{ }
BDSM_HKFLAGS = $FE7F0000;
BDSM_AUTOPUSH_RTL = $00000001;
BDSM_AUTOPUSH_LTR = $00000002;
BDSM_PUSH_ON = $00000004;
BDSM_DISABLE_INPUT_PROCESSING = $00000020;
BDSM_ALL = ( BDSM_HKFLAGS or
BDSM_AUTOPUSH_RTL or
BDSM_AUTOPUSH_LTR or
BDSM_PUSH_ON or
BDSM_DISABLE_INPUT_PROCESSING );
{ }
{ Functions to Set/Query Bidirectional Langugage Information }
{ }
{ Process Bidi attributes }
LI_BD_PROCESS_ATTR = $00000010;
{ Process Bidi attributes }
LI_BD_PROCESS_STAT = $00000011;
{ Window Bidi Attributes }
LI_BD_WND_ATTR = $00000020;
{ Window Bidi Status }
LI_BD_WND_STAT = $00000021;
{ Clipboard Bidi Attributes }
LI_BD_CLIP_ATTR = $00000030;
{ Clipboard Conversion Bidi Attributes }
LI_BD_CLIP_CONV_ATTR = $00000031;
{ Values used in WinSet/QueryLangInfo (in flFlags); }
{ No message is sent to the }
LIF_NO_SENDMSG = $00000001;
{ window to inform it of the }
{ change }
{ Send SetBidiAttr msg to }
LIF_CHILD_INHERIT = $00000002;
{ all child windows. }
{ Refresh all windows whose }
LIF_WND_REFRESH = $00000004;
{ bidi attributes are set }
{ directly by the API (and }
{ not by a sent message. }
{ }
{ Flags for WinSetKbdLayer }
{ }
SKLF_SENDMSG = $00000001;
{ }
{ Keyboard layers for WinSetKbdLayer }
{ }
KL_LATIN = $00000000;
KL_NATIONAL = $00000001;
{ }
{ Keyboard layouts for WinSetKbdLayout }
{ }
{ VKey }
KBDL_VKEY = 1;
{ Belgium - 120 }
KBDL_BE = 2;
{ Canadian - 058 French }
KBDL_CF = 3;
{ Denmark - 159 }
KBDL_DK = 4;
{ France - 189 }
KBDL_FR = 5;
{ Germany - 129 }
KBDL_GR = 6;
{ Germany - 129 }
KBDL_DE = 6;
{ Italy - 141 }
KBDL_IT = 7;
{ Latin America - 171 }
KBDL_LA = 8;
{ Netherlands - 143 }
KBDL_NL = 9;
{ Norway - 155 }
KBDL_NO = 10;
{ Portugal - 163 }
KBDL_PO = 11;
{ Swiss-French - 150f }
KBDL_SF = 12;
{ Swiss-German - 150d }
KBDL_SG = 13;
{ Spain - 172 }
KBDL_ES = 14;
{ Finland - 153 }
KBDL_FI = 15;
{ Sweden - 153 }
KBDL_SV = 16;
{ United Kingdom - 166 }
KBDL_UK = 17;
{ United States - 103p }
KBDL_US = 18;
{ French - 120 }
KBDL_FR120 = 19;
{ Italian - 142 }
KBDL_IT142 = 20;
{ United Kingdom - 168 }
KBDL_UK168W = 21;
{ Turkey - 179 }
KBDL_TR = 22;
{ Czech - 243 }
KBDL_CZ = 23;
{ Slovakia - 245 }
KBDL_SK = 24;
{ Hungarian - 208 }
KBDL_HU = 25;
{ Croatia - 234 }
KBDL_HR = 26;
{ Poland - 163 }
KBDL_PL = 27;
{ Iceland - 197 }
KBDL_IS = 28;
{ Brazil - 275 }
KBDL_BR = 29;
{ Hebrew - 212 Latin }
KBDL_HE_LATIN = 30;
{ Hebrew - 212 Hebrew }
KBDL_HE_NATIONAL = 31;
{ Arabic - 238 Latin }
KBDL_AR_LATIN = 32;
{ Arabic - 238 Arabic }
KBDL_AR_NATIONAL = 33;
{ Brazil - 274 }
KBDL_BR274 = 34;
{ Greek - 319 Latin }
KBDL_GK_LAT319 = 35;
{ Greek - 319 Greek }
KBDL_GK_NAT319 = 36;
{ Greek - 220 Latin }
KBDL_GK_LAT220 = 37;
{ Greek - 220 Greek }
KBDL_GK_NAT220 = 38;
{ Arabic - 470 Latin }
KBDL_AR_LAT470 = 39;
{ Arabic - 470 Arabic }
KBDL_AR_NAT470 = 40;
{ Turkey - 440 }
KBDL_TR440 = 41;
{ Slovenia - 234 }
KBDL_SL = 42;
{ Romania - 446 }
KBDL_RO = 43;
{ Bulgaria - 442 Cyrillic }
KBDL_BG_NATIONAL = 44;
{ Bulgaria - 442 Latin }
KBDL_BG_LATIN = 45;
{ Macedonia - 449 Cyrillic }
KBDL_MK_NATIONAL = 46;
{ Macedonia - 449 Latin }
KBDL_MK_LATIN = 47;
{ Serbia - 450 Cyrillic }
KBDL_SR_NATIONAL = 48;
{ Serbia - 450 Latin }
KBDL_SR_LATIN = 49;
{ Russia - 441 Cyrillic }
KBDL_RU_NATIONAL = 50;
{ Russia - 441 Latin }
KBDL_RU_LATIN = 51;
{ Poland - 274 Programmer }
KBDL_PL274 = 52;
{ Russia - 443 Cyrillic }
KBDL_RU_NAT443 = 53;
{ Russia - 443 Latin }
KBDL_RU_LAT443 = 54;
{ Bosnia - 234 }
KBDL_BA = 55;
{ Albania - 452 }
KBDL_SQ = 56;
{ International - 103 }
KBDL_US_INTER = 57;
{ Canadian - 445 }
KBDL_CA = 58;
{ Canadian - 501 }
KBDL_CA_EXTRA = 59;
{ German - 453 }
KBDL_DE453 = 60;
{ German - 500 }
KBDL_DE_EXTRA = 61;
{ Iceland - 458 }
KBDL_IS458 = 62;
{ Estonia - 454 }
KBDL_EE = 63;
{ Thai Kbd - Latin for 874 }
KBDL_TH_LATIN = 64;
{ Thai Kbd - Pattachot for 874 }
KBDL_TH_PAT = 65;
{ Thai Kbd }
KBDL_TH_PAT_CAP = 66;
{ Thai Kbd - Kesmanee for 874 }
KBDL_TH_KES = 67;
{ Thai Kbd }
KBDL_TH_KES_CAP = 68;
{ Thai Kbd - Pattachot for 850 }
KBDL_TH_COMP_PAT = 69;
{ Thai Kbd }
KBDL_TH_COMP_PAT_CAP = 70;
{ Thai Kbd - Kesmanee for 850 }
KBDL_TH_COMP_KES = 71;
{ Thai Kbd }
KBDL_TH_COMP_KES_CAP = 72;
{ US Dvorak - }
KBDL_US_DV = 73;
{ US Left - }
KBDL_US_LEFT = 74;
{ US Right - }
KBDL_US_RIGHT = 75;
{ Lithuania - 456 - National }
KBDL_LTL = 76;
{ Lithuania - 456 - Programmer }
KBDL_LTP = 77;
{ Latvia 455 - 455 - National }
KBDL_LVL = 78;
{ Latvia 455 - 455 - Programmer }
KBDL_LVP = 79;
{ Japan Latin }
KBDL_JALPHANUMERIC = 80;
KBDL_JP = 80;
{ Japan Katakana }
KBDL_JKATAKANA = 81;
{ Japan Katakana Romanji }
KBDL_JKATAKANAROMAN = 82;
{ Japan Hiragana }
KBDL_JHIRAGANA = 83;
{ Japan Hiragana Romanji }
KBDL_JHIRAGANAROMAN = 84;
KBDL_JCAPSALPHANUMERIC = 85;
{ Korean }
KBDL_KALPHANUMERIC = 86;
KBDL_KR = 86;
{ Korean national layer }
KBDL_KJAMO = 87;
{ Simplified Chinese }
KBDL_SALPHANUMERIC = 88;
{ Traditional Chinese }
KBDL_TALPHANUMERIC = 89;
KBDL_TW = 89;
{ Belarus 463 - 463 - Latin }
KBDL_BYL = 90;
{ Belarus 463 - 463 - Cyrillic }
KBDL_BYC = 91;
{ Ukraine 465 - 465 - Latin }
KBDL_UAL = 92;
{ Ukraine 465 - 465 - Ukraine }
KBDL_UAU = 93;
{ }
{ Defines for use in WinQueryCpType }
{ }
{ Latin 1 }
CPTYPE_OTHER = 1;
CPTYPE_ARABIC = 2;
CPTYPE_BALTIC = 3;
CPTYPE_CYRILLIC = 4;
CPTYPE_GREEK = 5;
CPTYPE_HEBREW = 6;
CPTYPE_JAPANESE = 7;
CPTYPE_KOREAN = 8;
CPTYPE_LATIN2 = 9;
CPTYPE_SCHINESE = 10;
CPTYPE_TCHINESE = 11;
CPTYPE_THAI = 12;
CPTYPE_TURKISH = 13;
CPTYPE_UNICODE = 14;
{ was #define dname def_expr }
function HMQ_SYSTEM : THMQ;
{ }
{ PM Bidirectional support - function prototypes. }
{ }
Function WinSetLangInfo(aHWND: HWND; ulEffect, ulData, flMask, flFlags,
ulReserved: Cardinal ): Cardinal; cdecl;
external 'pmbidi' index 20;
Function WinQueryLangInfo(ahwnd: HWND; ulEffect, flFlags, ulReserved: Cardinal): Cardinal; cdecl;
external 'pmbidi' index 21;
Function WinSetKbdLayer(ahwnd: HWND; idKbdLayer, flFlags: Cardinal): Cardinal; cdecl;
external 'pmbidi' index 22;
Function WinQueryKbdLayer(ahwnd: HWND): Cardinal; cdecl;
external 'pmbidi' index 23;
Function WinQueryKbdLayout(hwndDesktop: HWND): Cardinal; cdecl;
external 'pmbidi' index 23;
//Function WinSetKbdLayout(hwndDesktop: HWND; idKbdLayout: Cardinal): Longbool; cdecl;
// external '???';
Function WinSetLangViewer(ahab, hwndLangViewer: HAB; Codepage: Cardinal): HWND; cdecl;
external 'pmbidi' index 24;
Function WinQueryLangViewer(ahab: HAB; Codepage: Cardinal): HWND; cdecl;
external 'pmbidi' index 25;
Function GpiSetBidiAttr(ahps: HPS; BidiAttr: Cardinal): Cardinal; cdecl;
external 'pmbidi' index 50;
Function GpiQueryBidiAttr(ahps: HPS): Cardinal; cdecl;
external 'pmbidi' index 51;
Function WinQueryCpType(ahmq: HMQ): Cardinal; cdecl;
external 'pmbidi' index 60;
{ }
{ Macros to manipulate Bidi values }
{ }
{
Macro to make a BidiAttribute/Status ULONG from several fields
Example : SET_BD_VALUE(BidiAtts,
BDA_TEXT_ORIENT_RTL | BDA_TEXTTYPE_IMPLICIT,
BDAM_TEXT_ORIENTATION | BDAM_TEXTTYPE)
}
// #define SET_BD_VALUE(BidiValue,NewBidiValue,Mask) \
// (BidiValue = ((BidiValue & (~(Mask))) | (NewBidiValue & (Mask))))
{
Macro to extract one or more fields from a BidiAttribute/Status ULONG
Example : Orientation = QUERY_BD_VALUE(BidiAtts,BDAM_TEXT_ORIENTATION)
}
// ( ((ULONG)BidiValue) & ((ULONG)Mask) )
const
{ }
{ New CURSOR flags for Left-To-Right and Right-To-Left cursors }
{ These are in addtion to those in the CURSOR section in PMWIN.H }
{ }
CURSOR_DIR_LTR = $0100;
CURSOR_DIR_RTL = $0300;
{ }
{ PM Bidi Error codes. }
{ }
PMERR_BIDI_FIRST = $10F0;
PMERR_BIDI_TEXT_CONV_FAILED = $10F0;
PMERR_BIDI_LAST = $10FF;
{ }
{ Bidi virtual key definitions }
{ }
VK_BIDI_FIRST = $E0;
VK_START_PUSH = $E0;
VK_END_PUSH = $E1;
VK_REVERSE_FIELD = $E2;
VK_REVERSE_WINDOW = $E3;
VK_AUTOPUSH = $E4;
VK_STATUS_INDICATOR = $E5;
VK_TEXT_DISPLAY_SHAPED = $E6;
VK_TEXT_INITIAL = $E7;
VK_TEXT_MIDDLE = $E8;
VK_TEXT_FINAL = $E9;
VK_TEXT_ISOLATED = $EA;
VK_TEXT_SAVE_SHAPED = $EB;
VK_REQUIRED_SPACE = $EC;
VK_LTR_MARKER = $ED;
VK_RTL_MARKER = $EE;
VK_ENTRY_SWITCH_UI = $EF;
VK_LAYER0 = $F0;
VK_LAYER1 = $F1;
VK_LAYER2 = $F2;
VK_LAYER3 = $F3;
VK_LATIN_LAYER = VK_LAYER0;
VK_NATIONAL_LAYER = VK_LAYER1;
VK_BIDI_LAST = $FF;
{ }
{ Language-sensitive definition for standard File and Font dialogs. }
{ }
{ Use National Language }
const
FNTS_NATIONAL_LANGUAGE = $80000000;
{ Use National Language }
FDS_NATIONAL_LANGUAGE = $80000000;
{ }
{ WM_ messages related to bidirectional language support for }
{ CUATOOLS components. }
{ }
CM_SETITEMBIDIATTR = $0390;
CM_SETFIELDBIDIATTR = $0391;
CM_QUERYITEMBIDIATTR = $0392;
CM_QUERYFIELDBIDIATTR = $0393;
BKM_SETSTATUSLINEBIDIATTR = $0394;
BKM_QUERYSTATUSLINEBIDIATTR = $0395;
BKM_SETTABTEXTBIDIATTR = $0396;
BKM_QUERYTABTEXTBIDIATTR = $0397;
VM_SETITEMBIDIATTR = $0398;
VM_QUERYITEMBIDIATTR = $0399;
{ bam }
{ Bidirectional Attributes word }
{ Bitmask to define which bidi }
type
TBD_ATTR_MASK = record
ulBdAttr : Cardinal;
ulBdMask : Cardinal;
end;
{ attributes are to be used. }
PBD_ATTR_MASK = ^TBD_ATTR_MASK;
{ }
{ BOOKPAGEBIDIINFO structure is pointed to from the BOOKPAGEINFO }
{ structure (BKM_SETPAGEINFO notebook message) }
{ }
{ bkpgbdi }
{ Major Tab Text BD_ATTR_MASK struct. }
{ Minor Tab Text BD_ATTR_MASK struct. }
{ Status Line Text BD_ATTR_MASK struct. }
TBOOKPAGEBIDIINFO = record
bamMajorTab : TBD_ATTR_MASK;
bamMinorTab : TBD_ATTR_MASK;
bamStatusLine : TBD_ATTR_MASK;
end;
PBOOKPAGEBIDIINFO = ^TBOOKPAGEBIDIINFO;
implementation
{ was #define dname def_expr }
function HMQ_SYSTEM : THMQ;
begin
HMQ_SYSTEM:=THMQ(0);
end;
end.
{
$Log$
Revision 1.1 2003-06-26 17:11:23 yuri
* Initial import
}

View File

@ -26,14 +26,13 @@ finish PM support high
- PMDev...................................................YP
- PMSpl...................................................TH
- PMShl...................................................YP
- PMBidi
- PMBidi..................................................YP
- PMDdi
- PMdjp.h (PMWin?)
- PMFont.h (PMWin?)
- PMMle.h (PMWin?)
- PMSei.h (PMWin?)
- PMWP
- PMWSock
- PMWP....................................................YP
- PMWSock.................................................YP
RTL high
- sockets