home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / Chip_2002-06_cd1.bin / ctenari / Krutak / univiewi_pdk.exe / plugin.h < prev    next >
C/C++ Source or Header  |  2002-03-19  |  3KB  |  120 lines

  1. /*
  2.     UniView 1.8+ plugin SDK
  3.  
  4.     This file is allows you to create UniView plugins. If you want to use it,
  5.     you must agree following text and you can start programming :-)
  6.  
  7.     Copyright (C)1998-2002 by Andrej Krutak
  8.  
  9.     Permission to use, copy, modify, and distribute this software and its
  10.     documentation for any purpose, without fee, and without written agreement is
  11.     hereby granted, provided that the above copyright notice appear in all copies
  12.     and that both copyright notice and this permission notice appear in supporting
  13.     documentation.  This software is provided "as is" without express or implied
  14.     warranty.
  15. */
  16.  
  17. #ifndef UNIVIEW_PLUGIN_
  18. #define UNIVIEW_PLUGIN_
  19.  
  20. //Plugin -> UniView communication
  21.  
  22. #define PLGMSG_GETLANG            0x01 //Go to file's tail to see language codes...
  23. #define PLGMSG_GETUVINST        0x02
  24. #define PLGMSG_GETUVHWND        0x03
  25. #define PLGMSG_GETEWHWND        0x04
  26. #define PLGMSG_GETDOCPATH        0x05
  27. #define PLGMSG_GETIMGCLASS        0x06
  28. #define PLGMSG_DOCUMENTCHANGED    0x07
  29. #define PLGMSG_IMAGEMAKEUNDO    0x08
  30. #define PLGMSG_GETDOCTYPE        0x09
  31. #define PLGMSG_OVERRIDERTFEDIT    0x10
  32.  
  33. //This functions is precessing all relevant plugin requests to UniView. See help for details
  34. #ifdef __cplusplus
  35. extern "C"
  36. #endif
  37.     __declspec(dllexport) DWORD __stdcall UniView_doservice(DWORD message, DWORD wParam, DWORD lParam);
  38.  
  39. //UniView -> plugin communication
  40.  
  41. //Your functions has to be in following form specified and it must be __stdcall.
  42. //int    (*uvplugin_main)(HINSTANCE, DWORD, DWORD, DWORD);
  43.  
  44. #define MENU_FILE 0
  45. #define MENU_EDIT 1
  46. #define MENU_TEXT 2
  47. #define MENU_MULTIMEDIA 3
  48. #define MENU_IMAGE 4
  49. #define MENU_PLUGINS 5 //This is obsolete, it's here just for backward compatibility
  50. #define MENU_START 5
  51. #define MENU_HELP 6
  52. #define MENU_IMAGEEFFECTS 7
  53.  
  54. //Initializing structure, you must fill in: plugin_name, version_1, version_2, items_count and (items_count) count of up_menuitems
  55. typedef struct {
  56.     char plugin_name[64];
  57.     int language;
  58.     int version_1, version_2;
  59.  
  60.     struct _up_menuitems {
  61.         char name[64];
  62.         int place;
  63.     } up_menuitems[64];
  64.     int items_count;
  65. } up_initdata;
  66.  
  67. #define UVMSG_INITPLUGIN            0x01
  68. #define UVMSG_DOCUMENT_NEWOPENED    0x02
  69. #define UVMSG_DOCUMENT_SAVED        0x03
  70. #define UVMSG_SETTINGS_CHANGED        0x04
  71. #define UVMSG_EXIT                    0x05
  72. #define UVMSG_COMMAND                0x06
  73. #define UVMSG_STOPEXIT                0x07
  74.  
  75. #endif //UNIVIEW_PLUGIN_
  76.  
  77.  
  78. /*
  79. Additional informations for plugin development:
  80.  
  81. OFFICIAL UniView LANGUAGE CODES (other will be added on demand)
  82. the 'Number' item is passed to plugin to indicate language when sending 'PLGMSG_GETLANG' message
  83. ----------------------------------------------------------------
  84.  
  85. Language        Number        ID        Native name
  86. ---------------------------------------------------
  87. English (US)    0            ENG        English
  88. Slovak            1            SVK        Slovensk²
  89. German            2            GER        Deutsch
  90. Spanish            3            SPA        Espa±ol
  91. French            4            FRN        Franτis
  92. Russian            5            RUS        Russkij
  93. Italian            6            ITA        Italiano
  94. Finnish            7            FIN        
  95. Swedish            8            SWE        
  96. Czech            9            CZE        ╚esk²
  97. Danish            10            DAN        Dansk
  98. Dutch            11            DUT        
  99. Slovenian        12            SLV        Slovenski
  100. Polish            13            POL        Polski
  101. Hungarian        14            HUN        Magyar
  102. Norwegian        15            NOR        Norsk
  103. Japanese        16            JAP        
  104. */
  105.  
  106. /*
  107. Return values for PLGMSG_GETDOCTYPE message:
  108. 0:
  109.     No file's opened
  110. 1:
  111.     Image
  112. 2:
  113.     Raw text file
  114. 3:
  115.     Rich text format file
  116. 4:
  117.     Multimedia file
  118. 5:
  119.     Binary file
  120. */