Subversion Repositories Kolibri OS

Rev

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.  
  45. struct edit_box{
  46. dword width, left, top, color, shift_color, focus_border_color, blur_border_color,
  47. text_color, max, text, flags, size, pos, offset, cl_curs_x, cl_curs_y, shift, shift_old;
  48. };
  49.  
  50. //void Edit_box_draw(dword edit_b)
  51. //{
  52.  
  53. //        $ PUSH    dword edit_b
  54. //        $ CALL    dword [edit_box_draw]
  55. //}
  56.  
  57. //struct load_dll{
  58. // dword way_of_ini, myimport;
  59. // void get();
  60. //};
  61.  
  62. int load_dll(EAX)
  63. {
  64. //set mask
  65.         $mov    eax,40
  66.         $mov    ebx,0x27
  67.         $int    0x40
  68. // load DLL
  69.         $mov     eax, 68
  70.         $mov     ebx, 19
  71.         ECX=#way_of_ini;
  72.         $int     0x40
  73.         $test    eax, eax
  74.         $jz      exit
  75.  
  76. // initialize import
  77.         $mov     edx,eax
  78.         ESI=#edit_box_draw;
  79. import_loop:
  80.         $lodsd
  81.         $test    eax,eax
  82.         $jz      import_done
  83.         $push    edx
  84. import_find:
  85.         $mov     ebx,DSDWORD[EDX]
  86.         $test    ebx, ebx
  87.         $jz      exit
  88.         $push    eax
  89. nex1:
  90.         $mov     cl,DSBYTE[EAX];
  91.         $cmp     cl,DSBYTE[EBX];
  92.         $jnz     import_find_next
  93.         $test    cl,cl
  94.         $jz      import_found
  95.         $inc     eax
  96.         $inc     ebx
  97.         $jmp     nex1
  98. import_find_next:
  99.         $pop     eax
  100.         $add     edx, 8
  101.         $jmp     import_find
  102. import_found:
  103.         $pop     eax
  104.         $mov     eax,DSDWORD[edx+4]
  105.         $mov     DSDWORD[esi-4],eax
  106.         $pop     edx
  107.         $jmp     import_loop
  108. import_done:
  109.         return 0;
  110. exit:
  111.         return -1;
  112. }