Subversion Repositories Kolibri OS

Rev

Rev 1032 | Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. //BOX_LIB
  2. dword edit_box_draw = #aEdit_box_draw;
  3. dword edit_box_key  = #aEdit_box_key;
  4. dword edit_box_mouse = #aEdit_box_mouse;
  5. //dword version_ed     = #aVersion_ed;
  6.  
  7. //dword
  8. //dword
  9. //dword
  10.  
  11. //dword
  12. //dword
  13. //dword
  14.  
  15. //$edit_box_draw   dword      aEdit_box_draw
  16. //$edit_box_key    dword      aEdit_box_key
  17. //$edit_box_mouse  dword      aEdit_box_mouse
  18. //$version_ed      dword      aVersion_ed
  19.  
  20. //$check_box_draw  dword      aCheck_box_draw
  21. //$check_box_mouse dword      aCheck_box_mouse
  22. //$version_ch      dword      aVersion_ch
  23.  
  24. //$option_box_draw  dword      aOption_box_draw
  25. //$option_box_mouse dword      aOption_box_mouse
  26. //$version_op       dword      aVersion_op
  27.  
  28. dword  am__ = 0x0;
  29. dword  bm__ = 0x0;
  30.  
  31. char aEdit_box_draw[9]  = "edit_box\0";
  32. char aEdit_box_key[13] = "edit_box_key\0";
  33. char aEdit_box_mouse[15] = "edit_box_mouse\0";
  34. //char aVersion_ed[11] = "version_ed\0";
  35.  
  36. char aCheck_box_draw  [15] = "check_box_draw\0";
  37. char aCheck_box_mouse [16] = "check_box_mouse\0";
  38. //char aVersion_ch      [11] = "version_ch\0";
  39.  
  40. char aOption_box_draw [16] = "option_box_draw\0";
  41. char aOption_box_mouse[17] = "option_box_mouse\0";
  42. //char aVersion_op      [11] = "version_op\0" ;
  43.  
  44. struct edit_box{
  45. dword width, left, top, color, shift_color, focus_border_color, blur_border_color,
  46. text_color, max, text, mouse_variable, flags, size, pos, offset, cl_curs_x, cl_curs_y, shift, shift_old;
  47. };
  48.  
  49. //void Edit_box_draw(dword edit_b)
  50. //{
  51.  
  52. //        $ PUSH    dword edit_b
  53. //        $ CALL    dword [edit_box_draw]
  54. //}
  55.  
  56. //struct load_dll{
  57. // dword way_of_ini, myimport;
  58. // void get();
  59. //};
  60.  
  61. int load_dll(EAX)
  62. {
  63. //set mask
  64.         $mov    eax,40
  65.         $mov    ebx,0x27
  66.         $int    0x40
  67. // load DLL
  68.         $mov     eax, 68
  69.         $mov     ebx, 19
  70.         ECX=#way_of_ini;
  71.         $int     0x40
  72.         $test    eax, eax
  73.         $jz      exit
  74.  
  75. // initialize import
  76.         $mov     edx,eax
  77.         ESI=#edit_box_draw;
  78. import_loop:
  79.         $lodsd
  80.         $test    eax,eax
  81.         $jz      import_done
  82.         $push    edx
  83. import_find:
  84.         $mov     ebx,DSDWORD[EDX]
  85.         $test    ebx, ebx
  86.         $jz      exit
  87.         $push    eax
  88. nex1:
  89.         $mov     cl,DSBYTE[EAX];
  90.         $cmp     cl,DSBYTE[EBX];
  91.         $jnz     import_find_next
  92.         $test    cl,cl
  93.         $jz      import_found
  94.         $inc     eax
  95.         $inc     ebx
  96.         $jmp     nex1
  97. import_find_next:
  98.         $pop     eax
  99.         $add     edx, 8
  100.         $jmp     import_find
  101. import_found:
  102.         $pop     eax
  103.         $mov     eax,DSDWORD[edx+4]
  104.         $mov     DSDWORD[esi-4],eax
  105.         $pop     edx
  106.         $jmp     import_loop
  107. import_done:
  108.         return 0;
  109. exit:
  110.         return -1;
  111. }