home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / opus / v5 / opussdk / amigaguide / dopus / appicon.h next >
C/C++ Source or Header  |  1977-12-31  |  5KB  |  124 lines

  1. @DATABASE "dopus/appicon.h"
  2. @MASTER   "opussdk:include/dopus/appicon.h"
  3. @REMARK   (c) Dr Greg Perry and Jonathan Potter, GPSoftware 1996
  4. @REMARK   This file was initially created by ADtoHT 2.1 on 07-Sep-96 18:20:14
  5. @REMARK   ADtoHT is © 1993-1995 Christian Stieber
  6.  
  7. @NODE MAIN "dopus/appicon.h"
  8. @TOC "DopusSDK/MAIN"
  9.  
  10. @{"dopus/appicon.h" LINK File}
  11.  
  12.  
  13. @{b}Structures@{ub}
  14.  
  15. @{"_DOpusAppMessage" LINK "dopus/appicon.h/File" 68}  @{"AppSnapshotMsg" LINK "dopus/appicon.h/File" 34}
  16.  
  17.  
  18. @{b}Typedefs@{ub}
  19.  
  20. @{"DOpusAppMessage" LINK "dopus/appicon.h/File" 68}
  21.  
  22.  
  23. @{b}#defines@{ub}
  24.  
  25. @{"APPSNAPF_CLOSE" LINK "dopus/appicon.h/File" 47}     @{"APPSNAPF_HELP" LINK "dopus/appicon.h/File" 48}        @{"APPSNAPF_INFO" LINK "dopus/appicon.h/File" 49}
  26. @{"APPSNAPF_MENU" LINK "dopus/appicon.h/File" 46}      @{"APPSNAPF_UNSNAPSHOT" LINK "dopus/appicon.h/File" 44}  @{"APPSNAPF_WINDOW_POS" LINK "dopus/appicon.h/File" 45}
  27. @{"CAIF_BUSY" LINK "dopus/appicon.h/File" 62}          @{"CAIF_LOCKED" LINK "dopus/appicon.h/File" 60}          @{"CAIF_RENDER" LINK "dopus/appicon.h/File" 57}
  28. @{"CAIF_SELECT" LINK "dopus/appicon.h/File" 58}        @{"CAIF_SET" LINK "dopus/appicon.h/File" 61}             @{"CAIF_TITLE" LINK "dopus/appicon.h/File" 59}
  29. @{"CAIF_UNBUSY" LINK "dopus/appicon.h/File" 63}        @{"DAE_Background" LINK "dopus/appicon.h/File" 18}       @{"DAE_Close" LINK "dopus/appicon.h/File" 17}
  30. @{"DAE_Info" LINK "dopus/appicon.h/File" 21}           @{"DAE_Local" LINK "dopus/appicon.h/File" 14}            @{"DAE_Locked" LINK "dopus/appicon.h/File" 22}
  31. @{"DAE_Menu" LINK "dopus/appicon.h/File" 16}           @{"DAE_MenuBase" LINK "dopus/appicon.h/File" 23}         @{"DAE_SnapShot" LINK "dopus/appicon.h/File" 15}
  32. @{"DAE_ToggleMenu" LINK "dopus/appicon.h/File" 19}     @{"DAE_ToggleMenuSel" LINK "dopus/appicon.h/File" 20}    @{"DAPPF_ICON_DROP" LINK "dopus/appicon.h/File" 77}
  33. @{"MTYPE_APPSNAPSHOT" LINK "dopus/appicon.h/File" 32}  
  34.  
  35. @ENDNODE
  36. @NODE File "dopus/appicon.h"
  37. #ifndef _DOPUS_APPICON
  38. #define _DOPUS_APPICON
  39.  
  40. /*****************************************************************************
  41.  
  42.  AppIcon, etc
  43.  
  44.  *****************************************************************************/
  45.  
  46. #ifndef WORKBENCH_WORKBENCH_H
  47. #include <workbench/workbench.h>
  48. #endif
  49.  
  50. #define DAE_Local               TAG_USER + 0    // Add to DOpus only, not WB
  51. #define DAE_SnapShot            TAG_USER + 1    // Supports snapshot
  52. #define DAE_Menu                TAG_USER + 2    // Menu item
  53. #define DAE_Close               TAG_USER + 3    // Close item
  54. #define DAE_Background          TAG_USER + 4    // Background colour
  55. #define DAE_ToggleMenu          TAG_USER + 5    // Toggle item
  56. #define DAE_ToggleMenuSel       TAG_USER + 6    // Toggle item (selected)
  57. #define DAE_Info                TAG_USER + 7    // Supports Information
  58. #define DAE_Locked              TAG_USER + 8    // Position locked
  59. #define DAE_MenuBase            TAG_USER + 9    // Menu ID base
  60.  
  61.  
  62. APTR FindAppWindow(struct Window *);
  63. struct MsgPort *AppWindowData(APTR,ULONG *,ULONG *);
  64.  
  65.  
  66. // Messages sent from AppIcons
  67.  
  68. #define MTYPE_APPSNAPSHOT       0x3812          // Snapshot message
  69.  
  70. struct AppSnapshotMsg
  71. {
  72.         struct AppMessage       ap_msg;         // Message
  73.         long                    position_x;     // Icon x-position
  74.         long                    position_y;     // Icon y-position
  75.         struct IBox             window_pos;     // Window position
  76.         unsigned long           flags;          // Flags
  77.         long                    id;             // ID
  78. };
  79.  
  80. #define APPSNAPF_UNSNAPSHOT     (1<<0)          // Set "no position"
  81. #define APPSNAPF_WINDOW_POS     (1<<1)          // Window position supplied
  82. #define APPSNAPF_MENU           (1<<2)          // Menu operation
  83. #define APPSNAPF_CLOSE          (1<<3)          // Close command
  84. #define APPSNAPF_HELP           (1<<4)          // Help on a command
  85. #define APPSNAPF_INFO           (1<<5)          // Information command
  86.  
  87.  
  88. // Change AppIcons
  89.  
  90. void ChangeAppIcon(APTR,struct Image *,struct Image *,char *,ULONG);
  91. long SetAppIconMenuState(APTR,long,long);
  92.  
  93. #define CAIF_RENDER     (1<<0)
  94. #define CAIF_SELECT     (1<<1)
  95. #define CAIF_TITLE      (1<<2)
  96. #define CAIF_LOCKED     (1<<3)
  97. #define CAIF_SET        (1<<4)
  98. #define CAIF_BUSY       (1<<5)
  99. #define CAIF_UNBUSY     (1<<6)
  100.  
  101.  
  102. // AppWindow messages
  103.  
  104. typedef struct _DOpusAppMessage
  105. {
  106.         struct AppMessage       da_Msg;         // Message
  107.         Point                   *da_DropPos;    // Drop array
  108.         Point                   da_DragOffset;  // Mouse pointer offset
  109.         ULONG                   da_Flags;       // Flags
  110.         ULONG                   da_Pad[2];
  111. } DOpusAppMessage;
  112.  
  113. #define DAPPF_ICON_DROP         (1<<16)         // Dropped with icon
  114.  
  115. @{"DOpusAppMessage" LINK File 68} *AllocAppMessage(APTR,struct MsgPort *,short);
  116. BOOL CheckAppMessage(@{"DOpusAppMessage" LINK File 68} *);
  117. void FreeAppMessage(@{"DOpusAppMessage" LINK File 68} *);
  118. BOOL GetWBArgPath(struct WBArg *,char *,long);
  119. void ReplyAppMessage(@{"DOpusAppMessage" LINK File 68} *);
  120. BOOL SetWBArg(@{"DOpusAppMessage" LINK File 68} *,short,BPTR,char *,APTR);
  121.  
  122. #endif
  123. @ENDNODE
  124.