Subversion Repositories Kolibri OS

Rev

Rev 2599 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. console.dll ¤ъёяюЁЄшЁєхЄ ёыхфє■∙шх ЇєэъЎшш:
  2.  
  3. typedef unsigned long dword; /* 32-сшЄэюх схччэръютюх Ўхыюх */
  4. typedef unsigned short word; /* 16-сшЄэюх схччэръютюх Ўхыюх */
  5.  
  6. void __stdcall con_init(dword wnd_width, dword wnd_height,
  7.         dword scr_width, dword scr_height, const char* title);
  8. ╚эшЎшрышчрЎш  ъюэёюыш. ┬√ч√трхЄё  юфшэ Ёрч т эрўрых яЁюуЁрьь√.
  9. wnd_width, wnd_height - т√ёюЄр ш °шЁшэр (т ёшьтюырї) тшфшьющ т юъэх ъюэёюыш
  10.         юсырёЄш;
  11. scr_width, scr_height - т√ёюЄр ш °шЁшэр (т ёшьтюырї) тёхщ ъюэёюыш;
  12. ы■с√х шч яхЁт√ї 4 ярЁрьхЄЁют ьюуєЄ с√Є№ єёЄрэютыхэ√ т -1 (=0xFFFFFFFF)
  13.         - шёяюы№чютрЄ№ чэрўхэш  яю єьюыўрэш■;
  14. title - чруюыютюъ юъэр ъюэёюыш.
  15.  
  16. void __stdcall con_exit(bool bCloseWindow);
  17. ┬√ч√трхЄё  яЁш чртхЁ°хэшш яЁюуЁрьь√. ┼ёыш (срщЄют√щ) ярЁрьхЄЁ bCloseWindow
  18. эєыхтющ, Єю юъэю ъюэёюыш юёЄр╕Єё  эр ¤ъЁрэх фю Єюую ьюьхэЄр, ъръ яюы№чютрЄхы№
  19. яюцхырхЄ чръЁ√Є№ хую, яЁш ¤Єюь ъ чруюыютъє фюсрты хЄё  ёЄЁюър " [Finished]".
  20.  
  21. void __stdcall con_set_title(const char* title);
  22. ╙ёЄрэртыштрхЄ эют√щ чруюыютюъ юъэр ъюэёюыш.
  23.  
  24. void __stdcall con_write_asciiz(const char* string);
  25. ┬√тюфшЄ ASCIIZ-ёЄЁюъє т ъюэёюы№ т Єхъє∙є■ яючшЎш■, яЁюфтшурхЄ Єхъє∙є■ яючшЎш■.
  26.  
  27. void __stdcall con_write_string(const char* string, dword length);
  28. └эрыюушўэю con_write_asciiz, эю т√тюфшЄ Ёютэю length ёшьтюыют.
  29.  
  30. int __cdecl con_printf(const char* format, ...)
  31. ╤ЄрэфрЁЄэр  printf шч ANSI C.
  32.  
  33. dword __stdcall con_get_flags(void);
  34. ╧юыєўрхЄ чэрўхэшх Їыруют т√тюфр.
  35. dword __stdcall con_set_flags(dword new_flags);
  36. ╙ёЄрэртыштрхЄ чэрўхэшх Їыруют т√тюфр. ┬ючтЁр∙рхЄ ёЄрЁюх чэрўхэшх.
  37. ╘ыруш (сшЄютр  ьрёър):
  38. /* ЎтхЄ ЄхъёЄр */
  39. #define CON_COLOR_BLUE          1
  40. #define CON_COLOR_GREEN         2
  41. #define CON_COLOR_RED           4
  42. #define CON_COLOR_BRIGHT        8
  43. /* ЎтхЄ Їюэр */
  44. #define CON_BGR_BLUE            0x10
  45. #define CON_BGR_GREEN           0x20
  46. #define CON_BGR_RED             0x40
  47. #define CON_BGR_BRIGHT          0x80
  48. /* єяЁртыхэшх т√тюфюь */
  49. #define CON_IGNORE_SPECIALS     0x100
  50. /* ┼ёыш Їыру ёсЁю°хэ, ЇєэъЎш  шэЄхЁяЁхЄшЁєхЄ ёяхЎшры№э√х ёшьтюы√:
  51.         10 ('\n') - яхЁхтюф т эрўрыю ёыхфє■∙хщ ёЄЁюъш
  52.         13 ('\r') - яхЁхтюф т эрўрыю Єхъє∙хщ ёЄЁюъш
  53.         8 ('\b') - чрсющ (эр ёшьтюы эрчрф)
  54.         9 ('\t') - Єрсєы Ўш 
  55.         27 ('\033'='\x1B') - эрўрыю Esc-яюёыхфютрЄхы№эюёЄш;
  56. шэрўх т√тюфшЄ шї ъръ юс√ўэ√х ёшьтюы√. */
  57. /* ╧юффхЁцштрхь√х Esc-яюёыхфютрЄхы№эюёЄш:
  58.         Esc[<number1>;<number2>;<number3>m - т√сюЁ рЄЁшсєЄют ёшьтюыют:
  59.                 ьюцэю єърч√трЄ№ юфшэ, фтр шыш ЄЁш ъюфр т ы■сюь яюЁ фъх;
  60.                 0 = эюЁьры№эюх шчюсЁрцхэшх (схы√х ёшьтюы√ эр ў╕Ёэюь Їюэх)
  61.                 1 = т√фхыхэшх  ЁъюёЄ№■
  62.                 5 =  Ёъшщ Їюэ
  63.                 7 = ЁхтхЁёэюх шчюсЁрцхэшх (ў╕Ёэ√х ёшьтюы√ эр схыюь Їюэх)
  64.                 30 = ў╕Ёэ√х ёшьтюы√
  65.                 31 = ъЁрёэ√х ёшьтюы√
  66.                 32 = чхы╕э√х ёшьтюы√
  67.                 33 = ъюЁшўэхт√х ёшьтюы√
  68.                 34 = ёшэшх ёшьтюы√
  69.                 35 = ЇшюыхЄют√х ёшьтюы√
  70.                 36 = сшЁ■чют√х ёшьтюы√
  71.                 37 = схы√х ёшьтюы√
  72.                 40 = ў╕Ёэ√щ Їюэ
  73.                 41 = ъЁрёэ√щ Їюэ
  74.                 42 = чхы╕э√щ Їюэ
  75.                 43 = ъюЁшўэхт√щ Їюэ
  76.                 44 = ёшэшщ Їюэ
  77.                 45 = ЇшюыхЄют√щ Їюэ
  78.                 46 = сшЁ■чют√щ Їюэ
  79.                 47 = схы√щ Їюэ
  80.         ╤ыхфє■∙шх яюёыхфютрЄхы№эюёЄш яю тшышё№ т тхЁёшш 5 сшсышюЄхъш:
  81.         Esc[2J - юўшёЄшЄ№ ¤ъЁрэ, яхЁхьхёЄшЄ№ ъєЁёюЁ т ыхт√щ тхЁїэшщ єуюы
  82.         Esc[<number1>;<number2>H = Esc[<number1>;<number2>f -
  83.                 єёЄрэютшЄ№ ъєЁёюЁ т яючшЎш■ ё ъююЁфшэрЄрьш <number1>,<number2>
  84.         Esc[<number>A - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> ёЄЁюъ ттхЁї
  85.         Esc[<number>B - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> ёЄЁюъ тэшч
  86.         Esc[<number>C - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> яючшЎшщ тяЁртю
  87.         Esc[<number>D - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> яючшЎшщ тыхтю
  88. */
  89. /* ёшуэры ю чръЁ√Єшш юъэр ъюэёюыш; яю тшыё  т тхЁёшш 6 сшсышюЄхъш;
  90.         Їыру шуэюЁшЁєхЄё  ЇєэъЎшхщ con_set_flags */
  91. #define CON_WINDOW_CLOSED 0x200
  92. ╟эрўхэшх яю єьюыўрэш■ фы  Їыруют = 7.
  93.  
  94. int __stdcall con_get_font_height(void);
  95. ┬ючтЁр∙рхЄ чэрўхэшх т√ёюЄ√ °ЁшЇЄр.
  96.  
  97. int __stdcall con_get_cursor_height(void);
  98. ╧юыєўрхЄ чэрўхэшх т√ёюЄ√ ъєЁёюЁр.
  99. int __stdcall con_set_cursor_height(int new_height);
  100. ╙ёЄрэртыштрхЄ чэрўхэшх т√ёюЄ√ ъєЁёюЁр. ┬ючтЁр∙рхЄ ёЄрЁюх чэрўхэшх.
  101. ╧юя√Єър єёЄрэютшЄ№ чэрўхэшх тэх ъюЁЁхъЄэюую шэЄхЁтрыр (юЄ 0 фю font_height-1)
  102. шуэюЁшЁєхЄё .
  103. ╩єЁёюЁ т√ёюЄ√ 0 эх юЄюсЁрцрхЄё  эр ¤ъЁрэх.
  104. ╟эрўхэшх т√ёюЄ√ яю єьюыўрэш■ - 15% юЄ т√ёюЄ√ °ЁшЇЄр.
  105.  
  106. int __stdcall con_getch(void);
  107. ╤ўшЄ√трхЄ юфшэ ёшьтюы ё ъыртшрЄєЁ√.
  108. ─ы  юс√ўэ√ї ёшьтюыют тючтЁр∙рхЄё  ASCII-ъюф. ─ы  Ёрё°шЁхээ√ї ёшьтюыют
  109. (эряЁшьхЁ, Fx ш ёЄЁхыюўхъ) яхЁт√щ т√чют ЇєэъЎшш тючтЁр∙рхЄ 0,
  110. р яютЄюЁэ√щ т√чют тючтЁр∙рхЄ Ёрё°шЁхээ√щ ъюф (яюфюсэю DOS-ЇєэъЎш ь ттюфр).
  111. ═рўшэр  ё тхЁёшш 7 сшсышюЄхъш, яюёых чръЁ√Єш  юъэр ъюэёюыш тючтЁр∙рхЄё 
  112. чэрўхэшх 0.
  113.  
  114. word __stdcall con_getch2(void);
  115. ╤ўшЄ√трхЄ юфшэ ёшьтюы ё ъыртшрЄєЁ√. ╠ырф°шщ срщЄ ёюфхЁцшЄ ASCII-ъюф ъыртш°ш
  116. (0 фы  Ёрё°шЁхээ√ї ёшьтюыют), ёЄрЁ°шщ - Ёрё°шЁхээ√щ ъюф
  117. (яюфюсэю BIOS-ЇєэъЎш ь ттюфр).
  118. ═рўшэр  ё тхЁёшш 7 сшсышюЄхъш, яюёых чръЁ√Єш  юъэр ъюэёюыш тючтЁр∙рхЄё 
  119. чэрўхэшх 0.
  120.  
  121. int __stdcall con_kbhit(void);
  122. ┬ючтЁр∙рхЄ 1, хёыш ърър -Єю ъыртш°р с√ыр эрцрЄр, 0 шэрўх. ─ы  ёўшЄ√трэш 
  123. эрцрЄющ ъыртш°ш яЁхфэрчэрўхэ√ ЇєэъЎшш con_getch ш con_getch2.
  124. ═рўшэр  ё тхЁёшш 6 сшсышюЄхъш, яюёых чръЁ√Єш  юъэр ъюэёюыш тёхуфр тючтЁр∙рхЄ 1.
  125.  
  126. char* __stdcall con_gets(char* str, int n);
  127. ╤ўшЄ√трхЄ ёЄЁюъє ё ъыртшрЄєЁ√. ┬тюф яЁхЁ√трхЄё  яЁш яюёЄєяыхэшш ёшьтюыр
  128. эютющ ёЄЁюъш, р Єръцх яю яЁюўЄхэшш n-1 ёшьтюыр (т чртшёшьюёЄш юЄ Єюую, ўЄю
  129. яЁюшчющф╕Є Ёрэ№°х). ┬ яхЁтюь ёыєўрх ёшьтюы эютющ ёЄЁюъш Єръцх чряшё√трхЄё  т
  130. str. ╤ўшЄрээр  ёЄЁюър фюяюыэ хЄё  эєыхт√ь ёшьтюыюь.
  131. ═рўшэр  ё тхЁёшш 6 сшсышюЄхъш, ЇєэъЎш  тючтЁр∙рхЄ єърчрЄхы№ эр ттхф╕ээє■
  132. ёЄЁюъє яЁш єёях°эюь ўЄхэшш ш NULL, хёыш юъэю ъюэёюыш с√ыю чръЁ√Єю. ─ю тхЁёшш
  133. 6 тючтЁр∙рхьюх чэрўхэшх с√ыю эхюяЁхфхыхэю.
  134.  
  135. typedef int (__stdcall * con_gets2_callback)(int keycode, char** pstr, int* pn, int* ppos);
  136. char* __stdcall con_gets2(con_gets2_callback callback, char* str, int n);
  137. ╘єэъЎш  яю тшырё№ т тхЁёшш 4 сшсышюЄхъш.
  138. ╧юыэюёЄ№■ рэрыюушўэр con_gets чр шёъы■ўхэшхь Єюую, ўЄю ъюуфр яюы№чютрЄхы№
  139. эрцшьрхЄ эхЁрёяючэрээє■ ъыртш°є, т√ч√трхЄё  єърчрээр  callback-яЁюЎхфєЁр
  140. (ъюЄюЁр  ьюцхЄ, эряЁшьхЁ, юсЁрсрЄ√трЄ№ up/down фы  шёЄюЁшш ттюфр ш tab фы 
  141. ртЄюфюяюыэхэш ). ╧ЁюЎхфєЁх яхЁхфр╕Єё  ъюф ъыртш°ш ш ЄЁш єърчрЄхы  - эр ёЄЁюъє,
  142. эр ышьшЄ ш эр Єхъє∙є■ яючшЎш■ т ёЄЁюъх. ╧ЁюЎхфєЁр ьюцхЄ ьхэ Є№ ёюфхЁцшьюх
  143. ёЄЁюъш ш ьюцхЄ ьхэ Є№ ёрьє ёЄЁюъє (эряЁшьхЁ, яхЁхЁрёяЁхфхышЄ№ ярь Є№ фы 
  144. єтхышўхэш  ышьшЄр), ышьшЄ, яючшЎш■ т ёЄЁюъх - фы  ¤Єюую ш яхЁхфр■Єё  єърчрЄхыш.
  145. ┬ючтЁр∙рхьюх чэрўхэшх: 0=ёЄЁюър эх ьхэ ырё№; 1=ёЄЁюър шчьхэшырё№, эхюсїюфшью
  146. єфрышЄ№ ёЄрЁє■ ш т√тхёЄш эютє■; 2=ёЄЁюър шчьхэшырё№, эхюсїюфшью х╕ т√тхёЄш;
  147. 3=эхьхфыхээю т√щЄш шч ЇєэъЎшш.
  148. ═рўшэр  ё тхЁёшш 6 сшсышюЄхъш, ЇєэъЎш  тючтЁр∙рхЄ єърчрЄхы№ эр ттхф╕ээє■
  149. ёЄЁюъє яЁш єёях°эюь ўЄхэшш ш NULL, хёыш юъэю ъюэёюыш с√ыю чръЁ√Єю. ─ю тхЁёшш
  150. 6 тючтЁр∙рхьюх чэрўхэшх с√ыю эхюяЁхфхыхэю.
  151.  
  152. void __stdcall con_cls();
  153. ╘єэъЎш  яю тшырё№ т тхЁёшш 5 сшсышюЄхъш.
  154. ╬ўш∙рхЄ ¤ъЁрэ ш яхЁхтюфшЄ ъєЁёюЁ т ыхт√щ тхЁїэшщ єуюы.
  155.  
  156. void __stdcall con_get_cursor_pos(int* px, int* py);
  157. ╘єэъЎш  яю тшырё№ т тхЁёшш 5 сшсышюЄхъш.
  158. ╟ряшё√трхЄ т *px Єхъє∙є■ ъююЁфшэрЄє ъєЁёюЁр яю юёш x, т *py - яю юёш y.
  159.  
  160. void __stdcall con_set_cursor_pos(int x, int y);
  161. ╘єэъЎш  яю тшырё№ т тхЁёшш 5 сшсышюЄхъш.
  162. ╙ёЄрэртыштрхЄ ъєЁёюЁ т яючшЎш■ ё єърчрээ√ьш ъююЁфшэрЄрьш. ┼ёыш ъръющ-Єю шч
  163. ярЁрьхЄЁют т√їюфшЄ чр яЁхфхы√ ёююЄтхЄёЄтє■∙хую фшрярчюэр (юЄ 0 фю scr_width-1
  164. фы  x, юЄ 0 фю scr_height-1 фы  y, scr_width ш scr_height с√ыш чрфрэ√ яЁш
  165. т√чютх con_init), Єю ёююЄтхЄёЄтє■∙р  ъююЁфшэрЄр ъєЁёюЁр эх ьхэ хЄё .
  166.