Subversion Repositories Kolibri OS

Rev

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

  1. format coff
  2. use32                                   ; Tell compiler to use 32 bit instructions
  3.  
  4. section '.init' code                    ; Keep this line before includes or GCC messes up call addresses
  5.  
  6. include '../../../programs/proc32.inc'
  7. include '../../../programs/macros.inc'
  8. purge section,mov,add,sub
  9.        
  10. include '../../../programs/dll.inc'
  11.        
  12. public init_kmenu as '_init_kmenu_asm'
  13. ;;; Returns 0 on success. -1 on failure.
  14.  
  15. proc init_kmenu
  16.        
  17.         mcall 68,11
  18.        
  19.         stdcall dll.Load, @IMPORT
  20.         test    eax, eax
  21.         jnz     error
  22.        
  23.         mov eax, 0
  24.         ret
  25.        
  26. error: 
  27.         mov eax, -1
  28.         ret
  29. endp   
  30.        
  31. @IMPORT:
  32. library lib_kmenu,      'kmenu.obj'
  33.  
  34. import lib_kmenu, \
  35.         kmainmenu_draw,                                  'kmainmenu_draw' , \
  36.         kmainmenu_dispatch_cursorevent,  'kmainmenu_dispatch_cursorevent' , \
  37.         kmainmenu_get_height,                    'kmainmenu_get_height', \
  38.         ksubmenu_new,                                    'ksubmenu_new' , \
  39.         ksubmenu_delete,                                 'ksubmenu_delete' , \
  40.         ksubmenu_draw,                                   'ksubmenu_draw' , \
  41.         ksubmenu_add,                                    'ksubmenu_add' , \
  42.         ksubmenu_set_items_margin,       'ksubmenu_set_items_margin' , \
  43.         ksubmenu_set_items_padding,      'ksubmenu_set_items_padding' , \
  44.         kmenuitem_new,                                   'kmenuitem_new' , \
  45.         kmenuitem_delete,                                'kmenuitem_delete' , \
  46.         kmenuitem_draw,                                  'kmenuitem_draw' , \
  47.         kmenuitem_get_preffered_width,   'kmenuitem_get_preffered_width' , \
  48.         kmenuitem_get_preffered_height,  'kmenuitem_get_preffered_height' , \
  49.         kmenu_set_font,                                  'kmenu_set_font' , \
  50.         kmenu_init,                                      'kmenu_init'
  51.        
  52. public  kmainmenu_draw                                   as '_kmainmenu_draw'
  53. public  kmainmenu_dispatch_cursorevent   as '_kmainmenu_dispatch_cursorevent'
  54. public  kmainmenu_get_height                     as '_kmainmenu_get_height'
  55. public  ksubmenu_new                                     as '_ksubmenu_new'
  56. public  ksubmenu_delete                                  as '_ksubmenu_delete'
  57. public  ksubmenu_draw                                    as '_ksubmenu_draw'
  58. public  ksubmenu_add                                     as '_ksubmenu_add'
  59. public  ksubmenu_set_items_margin                as '_ksubmenu_set_items_margin'
  60. public  ksubmenu_set_items_padding       as '_ksubmenu_set_items_padding'
  61. public  kmenuitem_new                                    as '_kmenuitem_new'
  62. public  kmenuitem_new                                    as '_kmenuitem__submenu_new'
  63. public  kmenuitem_delete                                 as '_kmenuitem_delete'
  64. public  kmenuitem_draw                                   as '_kmenuitem_draw'
  65. public  kmenuitem_get_preffered_width    as '_kmenuitem_get_preffered_width'
  66. public  kmenuitem_get_preffered_height   as '_kmenuitem_get_preffered_height'
  67. public  kmenu_set_font                                   as '_kmenu_set_font'
  68. public  kmenu_init                                               as '_kmenu_init'
  69.