pmbidi.pas 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604
  1. {
  2. $Id$
  3. This file is part of the Free Pascal run time library.
  4. Copyright (c) 2003 by Yuri Prokushev ([email protected]).
  5. OS/2 Presentation Manager Window Manager - Bidirectional
  6. support include file.
  7. See the file COPYING.FPC, included in this distribution,
  8. for details about the copyright.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  12. **********************************************************************}
  13. {Warning: This code is alfa. Future versions
  14. of this unit might not be compatible.}
  15. unit pmbidi;
  16. interface
  17. uses os2def, pmwin;
  18. {$PACKRECORDS C}
  19. { }
  20. { Bidirectional languages support window messages }
  21. { }
  22. const
  23. WM_SETBIDIATTR = $0BD0;
  24. WM_QUERYBIDIATTR = $0BD1;
  25. WM_SETBIDISTAT = $0BD2;
  26. WM_QUERYBIDISTAT = $0BD3;
  27. WM_KBDLAYERCHANGED = $0BD4;
  28. { }
  29. { Language Viewer messages }
  30. { }
  31. WM_LANGVIEWINFOCHANGED = $0BE0;
  32. WM_LANG_OPTIONS_DIALOG = $0BE2;
  33. WM_LANGOPTIONSDIALOG = $0BE2;
  34. { LVI values - indicating which Bidi information has changed }
  35. LVI_WND_BIDI_ATTR = 1;
  36. LVI_WND_BIDI_STAT = 2;
  37. LVI_FOCUS_CHANGE = 3;
  38. LVI_KBD_LAYER = 4;
  39. LVI_CSD = 5;
  40. LVI_SET_KBD_LAYER = 6;
  41. LVI_ALL = -(1);
  42. { Possible return values from WM_SETBIDIATTR/WM_SETBIDISTAT }
  43. SBI_MSG_NOT_PROCESSED = 0;
  44. SBI_MSG_PROCESSED = 1;
  45. SBI_MSG_PROCESSED_SELF = 2;
  46. { }
  47. { Bidirectional attributes masks }
  48. { }
  49. BDAM_INIT = $80000000;
  50. BDAM_LEVEL = $70000000;
  51. BDAM_NATIVE = $08000000;
  52. BDAM_TEXTTYPE = $01000000;
  53. BDAM_TEXT_ORIENTATION = $00030000;
  54. BDAM_WND_ORIENTATION = $00100000;
  55. BDAM_NUMERALS = $00003000;
  56. BDAM_SYM_SWAP = $00000100;
  57. BDAM_WORD_BREAK = $00000200;
  58. BDAM_TEXT_SHAPE = $000000FF;
  59. BDAM_ALL=(BDAM_INIT or
  60. BDAM_LEVEL or
  61. BDAM_TEXTTYPE or
  62. BDAM_NATIVE or
  63. BDAM_TEXT_ORIENTATION or
  64. BDAM_WND_ORIENTATION or
  65. BDAM_NUMERALS or
  66. BDAM_SYM_SWAP or
  67. BDAM_WORD_BREAK or
  68. BDAM_TEXT_SHAPE );
  69. { }
  70. { Bidirectional attributes values (in Bidi attributes word) }
  71. { }
  72. { Note: Value of the attributes must match the values in layout.h. }
  73. { }
  74. BDA_INIT = $80000000;
  75. BDA_LEVEL = $30000000;
  76. BDA_NATIVE_OFF = $00000000;
  77. BDA_NATIVE_ON = $08000000;
  78. BDA_TEXTTYPE_VISUAL = $00000000;
  79. BDA_TEXTTYPE_IMPLICIT = $01000000;
  80. BDA_WND_ORIENT_LTR = $00000000;
  81. BDA_WND_ORIENT_RTL = $00100000;
  82. BDA_TEXT_ORIENT_LTR = $00000000;
  83. BDA_TEXT_ORIENT_RTL = $00010000;
  84. BDA_TEXT_ORIENT_DYNAMIC = $00020000;
  85. BDA_TEXT_ORIENT_CONTEXT = $00020000;
  86. BDA_NUMERALS_NOMINAL = $00000000;
  87. BDA_NUMERALS_PASSTHRU = $00001000;
  88. BDA_NUMERALS_NATIONAL = $00002000;
  89. BDA_NUMERALS_CONTEXTUAL = $00003000;
  90. BDA_SYM_SWAP_OFF = $00000000;
  91. BDA_SYM_SWAP_ON = $00000100;
  92. BDA_WORD_BREAK_OFF = $00000000;
  93. BDA_WORD_BREAK_ON = $00000200;
  94. BDA_TEXT_DISPLAY_SHAPED = $00000000;
  95. BDA_TEXT_SAVE_SHAPED = $00000001;
  96. BDA_TEXT_NOMINAL = $00000010;
  97. BDA_TEXT_INITIAL = $00000011;
  98. BDA_TEXT_MIDDLE = $00000012;
  99. BDA_TEXT_FINAL = $00000013;
  100. BDA_TEXT_ISOLATED = $00000014;
  101. { }
  102. { Bidirectional attribute (BIDIATTR) as specified in a window template }
  103. { or in the resource script. }
  104. { }
  105. type
  106. BIDIPARAM = PRESPARAMS;
  107. const
  108. { First BidiAttr PresParam }
  109. PP_BDATTR_FIRST = $100;
  110. { }
  111. { Set ALL Bidi attrs }
  112. PP_BDATTR_ALL = $101;
  113. { }
  114. { Text/Data type }
  115. PP_BDATTR_TEXTTYPE = $102;
  116. { Text Orientation }
  117. PP_BDATTR_TEXT_ORIENTATION = $103;
  118. { Window Orientation }
  119. PP_BDATTR_WND_ORIENTATION = $104;
  120. { Arabic/Hindi Numerals }
  121. PP_BDATTR_NUMERALS = $105;
  122. { Symetric Swapping }
  123. PP_BDATTR_SYM_SWAP = $106;
  124. { Word break }
  125. PP_BDATTR_WORD_BREAK = $107;
  126. { Char Shape Determination }
  127. PP_BDATTR_TEXT_SHAPE = $108;
  128. { }
  129. { Last BidiAttr PresParam }
  130. PP_BDATTR_LAST = $108;
  131. { }
  132. { Bidirectional status flags }
  133. PP_BDSTATUS = $110;
  134. { }
  135. { Values used in Set/Query Bidirectional status word }
  136. { }
  137. BDS_HKFLAG_ENG_LAYER = $00010000;
  138. BDS_HKFLAG_NAT_LAYER = $00020000;
  139. BDS_HKFLAG_PUSH = $00040000;
  140. BDS_HKFLAG_END_PUSH = $00080000;
  141. BDS_HKFLAG_AUTO_PUSH = $00100000;
  142. BDS_HKFLAG_FIELD_REV = $00200000;
  143. BDS_HKFLAG_SCREEN_REV = $00400000;
  144. BDS_HKFLAG_STATUS_INDICATOR = $02000000;
  145. BDS_HKFLAG_DISPLAY_SHAPED = $04000000;
  146. BDS_HKFLAG_INITIAL = $08000000;
  147. BDS_HKFLAG_MIDDLE = $10000000;
  148. BDS_HKFLAG_FINAL = $20000000;
  149. BDS_HKFLAG_ISOLATED = $40000000;
  150. BDS_HKFLAG_SAVE_SHAPED = $80000000;
  151. BDS_HKFLAG_ENTRY_SWITCH_UI = $00800000;
  152. BDS_FAUTOPUSH_RTL_ON = $00000001;
  153. BDS_FAUTOPUSH_LTR_ON = $00000002;
  154. BDS_FPUSH_ON = $00000004;
  155. BDS_DISABLE_INPUT_PROCESSING = $00000020;
  156. { }
  157. { Bidirectional status masks }
  158. { }
  159. BDSM_HKFLAGS = $FE7F0000;
  160. BDSM_AUTOPUSH_RTL = $00000001;
  161. BDSM_AUTOPUSH_LTR = $00000002;
  162. BDSM_PUSH_ON = $00000004;
  163. BDSM_DISABLE_INPUT_PROCESSING = $00000020;
  164. BDSM_ALL = ( BDSM_HKFLAGS or
  165. BDSM_AUTOPUSH_RTL or
  166. BDSM_AUTOPUSH_LTR or
  167. BDSM_PUSH_ON or
  168. BDSM_DISABLE_INPUT_PROCESSING );
  169. { }
  170. { Functions to Set/Query Bidirectional Langugage Information }
  171. { }
  172. { Process Bidi attributes }
  173. LI_BD_PROCESS_ATTR = $00000010;
  174. { Process Bidi attributes }
  175. LI_BD_PROCESS_STAT = $00000011;
  176. { Window Bidi Attributes }
  177. LI_BD_WND_ATTR = $00000020;
  178. { Window Bidi Status }
  179. LI_BD_WND_STAT = $00000021;
  180. { Clipboard Bidi Attributes }
  181. LI_BD_CLIP_ATTR = $00000030;
  182. { Clipboard Conversion Bidi Attributes }
  183. LI_BD_CLIP_CONV_ATTR = $00000031;
  184. { Values used in WinSet/QueryLangInfo (in flFlags); }
  185. { No message is sent to the }
  186. LIF_NO_SENDMSG = $00000001;
  187. { window to inform it of the }
  188. { change }
  189. { Send SetBidiAttr msg to }
  190. LIF_CHILD_INHERIT = $00000002;
  191. { all child windows. }
  192. { Refresh all windows whose }
  193. LIF_WND_REFRESH = $00000004;
  194. { bidi attributes are set }
  195. { directly by the API (and }
  196. { not by a sent message. }
  197. { }
  198. { Flags for WinSetKbdLayer }
  199. { }
  200. SKLF_SENDMSG = $00000001;
  201. { }
  202. { Keyboard layers for WinSetKbdLayer }
  203. { }
  204. KL_LATIN = $00000000;
  205. KL_NATIONAL = $00000001;
  206. { }
  207. { Keyboard layouts for WinSetKbdLayout }
  208. { }
  209. { VKey }
  210. KBDL_VKEY = 1;
  211. { Belgium - 120 }
  212. KBDL_BE = 2;
  213. { Canadian - 058 French }
  214. KBDL_CF = 3;
  215. { Denmark - 159 }
  216. KBDL_DK = 4;
  217. { France - 189 }
  218. KBDL_FR = 5;
  219. { Germany - 129 }
  220. KBDL_GR = 6;
  221. { Germany - 129 }
  222. KBDL_DE = 6;
  223. { Italy - 141 }
  224. KBDL_IT = 7;
  225. { Latin America - 171 }
  226. KBDL_LA = 8;
  227. { Netherlands - 143 }
  228. KBDL_NL = 9;
  229. { Norway - 155 }
  230. KBDL_NO = 10;
  231. { Portugal - 163 }
  232. KBDL_PO = 11;
  233. { Swiss-French - 150f }
  234. KBDL_SF = 12;
  235. { Swiss-German - 150d }
  236. KBDL_SG = 13;
  237. { Spain - 172 }
  238. KBDL_ES = 14;
  239. { Finland - 153 }
  240. KBDL_FI = 15;
  241. { Sweden - 153 }
  242. KBDL_SV = 16;
  243. { United Kingdom - 166 }
  244. KBDL_UK = 17;
  245. { United States - 103p }
  246. KBDL_US = 18;
  247. { French - 120 }
  248. KBDL_FR120 = 19;
  249. { Italian - 142 }
  250. KBDL_IT142 = 20;
  251. { United Kingdom - 168 }
  252. KBDL_UK168W = 21;
  253. { Turkey - 179 }
  254. KBDL_TR = 22;
  255. { Czech - 243 }
  256. KBDL_CZ = 23;
  257. { Slovakia - 245 }
  258. KBDL_SK = 24;
  259. { Hungarian - 208 }
  260. KBDL_HU = 25;
  261. { Croatia - 234 }
  262. KBDL_HR = 26;
  263. { Poland - 163 }
  264. KBDL_PL = 27;
  265. { Iceland - 197 }
  266. KBDL_IS = 28;
  267. { Brazil - 275 }
  268. KBDL_BR = 29;
  269. { Hebrew - 212 Latin }
  270. KBDL_HE_LATIN = 30;
  271. { Hebrew - 212 Hebrew }
  272. KBDL_HE_NATIONAL = 31;
  273. { Arabic - 238 Latin }
  274. KBDL_AR_LATIN = 32;
  275. { Arabic - 238 Arabic }
  276. KBDL_AR_NATIONAL = 33;
  277. { Brazil - 274 }
  278. KBDL_BR274 = 34;
  279. { Greek - 319 Latin }
  280. KBDL_GK_LAT319 = 35;
  281. { Greek - 319 Greek }
  282. KBDL_GK_NAT319 = 36;
  283. { Greek - 220 Latin }
  284. KBDL_GK_LAT220 = 37;
  285. { Greek - 220 Greek }
  286. KBDL_GK_NAT220 = 38;
  287. { Arabic - 470 Latin }
  288. KBDL_AR_LAT470 = 39;
  289. { Arabic - 470 Arabic }
  290. KBDL_AR_NAT470 = 40;
  291. { Turkey - 440 }
  292. KBDL_TR440 = 41;
  293. { Slovenia - 234 }
  294. KBDL_SL = 42;
  295. { Romania - 446 }
  296. KBDL_RO = 43;
  297. { Bulgaria - 442 Cyrillic }
  298. KBDL_BG_NATIONAL = 44;
  299. { Bulgaria - 442 Latin }
  300. KBDL_BG_LATIN = 45;
  301. { Macedonia - 449 Cyrillic }
  302. KBDL_MK_NATIONAL = 46;
  303. { Macedonia - 449 Latin }
  304. KBDL_MK_LATIN = 47;
  305. { Serbia - 450 Cyrillic }
  306. KBDL_SR_NATIONAL = 48;
  307. { Serbia - 450 Latin }
  308. KBDL_SR_LATIN = 49;
  309. { Russia - 441 Cyrillic }
  310. KBDL_RU_NATIONAL = 50;
  311. { Russia - 441 Latin }
  312. KBDL_RU_LATIN = 51;
  313. { Poland - 274 Programmer }
  314. KBDL_PL274 = 52;
  315. { Russia - 443 Cyrillic }
  316. KBDL_RU_NAT443 = 53;
  317. { Russia - 443 Latin }
  318. KBDL_RU_LAT443 = 54;
  319. { Bosnia - 234 }
  320. KBDL_BA = 55;
  321. { Albania - 452 }
  322. KBDL_SQ = 56;
  323. { International - 103 }
  324. KBDL_US_INTER = 57;
  325. { Canadian - 445 }
  326. KBDL_CA = 58;
  327. { Canadian - 501 }
  328. KBDL_CA_EXTRA = 59;
  329. { German - 453 }
  330. KBDL_DE453 = 60;
  331. { German - 500 }
  332. KBDL_DE_EXTRA = 61;
  333. { Iceland - 458 }
  334. KBDL_IS458 = 62;
  335. { Estonia - 454 }
  336. KBDL_EE = 63;
  337. { Thai Kbd - Latin for 874 }
  338. KBDL_TH_LATIN = 64;
  339. { Thai Kbd - Pattachot for 874 }
  340. KBDL_TH_PAT = 65;
  341. { Thai Kbd }
  342. KBDL_TH_PAT_CAP = 66;
  343. { Thai Kbd - Kesmanee for 874 }
  344. KBDL_TH_KES = 67;
  345. { Thai Kbd }
  346. KBDL_TH_KES_CAP = 68;
  347. { Thai Kbd - Pattachot for 850 }
  348. KBDL_TH_COMP_PAT = 69;
  349. { Thai Kbd }
  350. KBDL_TH_COMP_PAT_CAP = 70;
  351. { Thai Kbd - Kesmanee for 850 }
  352. KBDL_TH_COMP_KES = 71;
  353. { Thai Kbd }
  354. KBDL_TH_COMP_KES_CAP = 72;
  355. { US Dvorak - }
  356. KBDL_US_DV = 73;
  357. { US Left - }
  358. KBDL_US_LEFT = 74;
  359. { US Right - }
  360. KBDL_US_RIGHT = 75;
  361. { Lithuania - 456 - National }
  362. KBDL_LTL = 76;
  363. { Lithuania - 456 - Programmer }
  364. KBDL_LTP = 77;
  365. { Latvia 455 - 455 - National }
  366. KBDL_LVL = 78;
  367. { Latvia 455 - 455 - Programmer }
  368. KBDL_LVP = 79;
  369. { Japan Latin }
  370. KBDL_JALPHANUMERIC = 80;
  371. KBDL_JP = 80;
  372. { Japan Katakana }
  373. KBDL_JKATAKANA = 81;
  374. { Japan Katakana Romanji }
  375. KBDL_JKATAKANAROMAN = 82;
  376. { Japan Hiragana }
  377. KBDL_JHIRAGANA = 83;
  378. { Japan Hiragana Romanji }
  379. KBDL_JHIRAGANAROMAN = 84;
  380. KBDL_JCAPSALPHANUMERIC = 85;
  381. { Korean }
  382. KBDL_KALPHANUMERIC = 86;
  383. KBDL_KR = 86;
  384. { Korean national layer }
  385. KBDL_KJAMO = 87;
  386. { Simplified Chinese }
  387. KBDL_SALPHANUMERIC = 88;
  388. { Traditional Chinese }
  389. KBDL_TALPHANUMERIC = 89;
  390. KBDL_TW = 89;
  391. { Belarus 463 - 463 - Latin }
  392. KBDL_BYL = 90;
  393. { Belarus 463 - 463 - Cyrillic }
  394. KBDL_BYC = 91;
  395. { Ukraine 465 - 465 - Latin }
  396. KBDL_UAL = 92;
  397. { Ukraine 465 - 465 - Ukraine }
  398. KBDL_UAU = 93;
  399. { }
  400. { Defines for use in WinQueryCpType }
  401. { }
  402. { Latin 1 }
  403. CPTYPE_OTHER = 1;
  404. CPTYPE_ARABIC = 2;
  405. CPTYPE_BALTIC = 3;
  406. CPTYPE_CYRILLIC = 4;
  407. CPTYPE_GREEK = 5;
  408. CPTYPE_HEBREW = 6;
  409. CPTYPE_JAPANESE = 7;
  410. CPTYPE_KOREAN = 8;
  411. CPTYPE_LATIN2 = 9;
  412. CPTYPE_SCHINESE = 10;
  413. CPTYPE_TCHINESE = 11;
  414. CPTYPE_THAI = 12;
  415. CPTYPE_TURKISH = 13;
  416. CPTYPE_UNICODE = 14;
  417. { was #define dname def_expr }
  418. function HMQ_SYSTEM : THMQ;
  419. { }
  420. { PM Bidirectional support - function prototypes. }
  421. { }
  422. Function WinSetLangInfo(aHWND: HWND; ulEffect, ulData, flMask, flFlags,
  423. ulReserved: Cardinal ): Cardinal; cdecl;
  424. external 'pmbidi' index 20;
  425. Function WinQueryLangInfo(ahwnd: HWND; ulEffect, flFlags, ulReserved: Cardinal): Cardinal; cdecl;
  426. external 'pmbidi' index 21;
  427. Function WinSetKbdLayer(ahwnd: HWND; idKbdLayer, flFlags: Cardinal): Cardinal; cdecl;
  428. external 'pmbidi' index 22;
  429. Function WinQueryKbdLayer(ahwnd: HWND): Cardinal; cdecl;
  430. external 'pmbidi' index 23;
  431. Function WinQueryKbdLayout(hwndDesktop: HWND): Cardinal; cdecl;
  432. external 'pmbidi' index 23;
  433. //Function WinSetKbdLayout(hwndDesktop: HWND; idKbdLayout: Cardinal): Longbool; cdecl;
  434. // external '???';
  435. Function WinSetLangViewer(ahab, hwndLangViewer: HAB; Codepage: Cardinal): HWND; cdecl;
  436. external 'pmbidi' index 24;
  437. Function WinQueryLangViewer(ahab: HAB; Codepage: Cardinal): HWND; cdecl;
  438. external 'pmbidi' index 25;
  439. Function GpiSetBidiAttr(ahps: HPS; BidiAttr: Cardinal): Cardinal; cdecl;
  440. external 'pmbidi' index 50;
  441. Function GpiQueryBidiAttr(ahps: HPS): Cardinal; cdecl;
  442. external 'pmbidi' index 51;
  443. Function WinQueryCpType(ahmq: HMQ): Cardinal; cdecl;
  444. external 'pmbidi' index 60;
  445. { }
  446. { Macros to manipulate Bidi values }
  447. { }
  448. {
  449. Macro to make a BidiAttribute/Status ULONG from several fields
  450. Example : SET_BD_VALUE(BidiAtts,
  451. BDA_TEXT_ORIENT_RTL | BDA_TEXTTYPE_IMPLICIT,
  452. BDAM_TEXT_ORIENTATION | BDAM_TEXTTYPE)
  453. }
  454. // #define SET_BD_VALUE(BidiValue,NewBidiValue,Mask) \
  455. // (BidiValue = ((BidiValue & (~(Mask))) | (NewBidiValue & (Mask))))
  456. {
  457. Macro to extract one or more fields from a BidiAttribute/Status ULONG
  458. Example : Orientation = QUERY_BD_VALUE(BidiAtts,BDAM_TEXT_ORIENTATION)
  459. }
  460. // ( ((ULONG)BidiValue) & ((ULONG)Mask) )
  461. const
  462. { }
  463. { New CURSOR flags for Left-To-Right and Right-To-Left cursors }
  464. { These are in addtion to those in the CURSOR section in PMWIN.H }
  465. { }
  466. CURSOR_DIR_LTR = $0100;
  467. CURSOR_DIR_RTL = $0300;
  468. { }
  469. { PM Bidi Error codes. }
  470. { }
  471. PMERR_BIDI_FIRST = $10F0;
  472. PMERR_BIDI_TEXT_CONV_FAILED = $10F0;
  473. PMERR_BIDI_LAST = $10FF;
  474. { }
  475. { Bidi virtual key definitions }
  476. { }
  477. VK_BIDI_FIRST = $E0;
  478. VK_START_PUSH = $E0;
  479. VK_END_PUSH = $E1;
  480. VK_REVERSE_FIELD = $E2;
  481. VK_REVERSE_WINDOW = $E3;
  482. VK_AUTOPUSH = $E4;
  483. VK_STATUS_INDICATOR = $E5;
  484. VK_TEXT_DISPLAY_SHAPED = $E6;
  485. VK_TEXT_INITIAL = $E7;
  486. VK_TEXT_MIDDLE = $E8;
  487. VK_TEXT_FINAL = $E9;
  488. VK_TEXT_ISOLATED = $EA;
  489. VK_TEXT_SAVE_SHAPED = $EB;
  490. VK_REQUIRED_SPACE = $EC;
  491. VK_LTR_MARKER = $ED;
  492. VK_RTL_MARKER = $EE;
  493. VK_ENTRY_SWITCH_UI = $EF;
  494. VK_LAYER0 = $F0;
  495. VK_LAYER1 = $F1;
  496. VK_LAYER2 = $F2;
  497. VK_LAYER3 = $F3;
  498. VK_LATIN_LAYER = VK_LAYER0;
  499. VK_NATIONAL_LAYER = VK_LAYER1;
  500. VK_BIDI_LAST = $FF;
  501. { }
  502. { Language-sensitive definition for standard File and Font dialogs. }
  503. { }
  504. { Use National Language }
  505. const
  506. FNTS_NATIONAL_LANGUAGE = $80000000;
  507. { Use National Language }
  508. FDS_NATIONAL_LANGUAGE = $80000000;
  509. { }
  510. { WM_ messages related to bidirectional language support for }
  511. { CUATOOLS components. }
  512. { }
  513. CM_SETITEMBIDIATTR = $0390;
  514. CM_SETFIELDBIDIATTR = $0391;
  515. CM_QUERYITEMBIDIATTR = $0392;
  516. CM_QUERYFIELDBIDIATTR = $0393;
  517. BKM_SETSTATUSLINEBIDIATTR = $0394;
  518. BKM_QUERYSTATUSLINEBIDIATTR = $0395;
  519. BKM_SETTABTEXTBIDIATTR = $0396;
  520. BKM_QUERYTABTEXTBIDIATTR = $0397;
  521. VM_SETITEMBIDIATTR = $0398;
  522. VM_QUERYITEMBIDIATTR = $0399;
  523. { bam }
  524. { Bidirectional Attributes word }
  525. { Bitmask to define which bidi }
  526. type
  527. TBD_ATTR_MASK = record
  528. ulBdAttr : Cardinal;
  529. ulBdMask : Cardinal;
  530. end;
  531. { attributes are to be used. }
  532. PBD_ATTR_MASK = ^TBD_ATTR_MASK;
  533. { }
  534. { BOOKPAGEBIDIINFO structure is pointed to from the BOOKPAGEINFO }
  535. { structure (BKM_SETPAGEINFO notebook message) }
  536. { }
  537. { bkpgbdi }
  538. { Major Tab Text BD_ATTR_MASK struct. }
  539. { Minor Tab Text BD_ATTR_MASK struct. }
  540. { Status Line Text BD_ATTR_MASK struct. }
  541. TBOOKPAGEBIDIINFO = record
  542. bamMajorTab : TBD_ATTR_MASK;
  543. bamMinorTab : TBD_ATTR_MASK;
  544. bamStatusLine : TBD_ATTR_MASK;
  545. end;
  546. PBOOKPAGEBIDIINFO = ^TBOOKPAGEBIDIINFO;
  547. implementation
  548. { was #define dname def_expr }
  549. function HMQ_SYSTEM : THMQ;
  550. begin
  551. HMQ_SYSTEM:=THMQ(0);
  552. end;
  553. end.
  554. {
  555. $Log$
  556. Revision 1.2 2003-06-26 17:20:04 yuri
  557. * Misstyping fixed
  558. Revision 1.1 2003/06/26 17:11:23 yuri
  559. * Initial import
  560. }