core_rxmfcapi.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566
  1. //
  2. //////////////////////////////////////////////////////////////////////////////
  3. //
  4. // Copyright 2015 Autodesk, Inc. All rights reserved.
  5. //
  6. // Use of this software is subject to the terms of the Autodesk license
  7. // agreement provided at the time of installation or download, or which
  8. // otherwise accompanies this software in either electronic or hard copy form.
  9. //
  10. //////////////////////////////////////////////////////////////////////////////
  11. //
  12. // Name: core_rxmfcapi.h
  13. //
  14. //////////////////////////////////////////////////////////////////////////////
  15. #ifndef AD_CORE_RXMFCAPI_H
  16. #define AD_CORE_RXMFCAPI_H 1
  17. #pragma pack (push, 8)
  18. #include "AcCoreDefs.h"
  19. #include "AcHeapOpers.h"
  20. class AcCommandToolTipInfo;
  21. struct AcColorSettings {
  22. /* Solid background color for various contexts */
  23. DWORD dwGfxModelBkColor;
  24. DWORD dwGfxLayoutBkColor;
  25. DWORD dwPaperBkColor;
  26. DWORD dwParallelBkColor;
  27. DWORD dwBEditBkColor;
  28. DWORD dwCmdLineBkColor;
  29. DWORD dwPlotPrevBkColor;
  30. /* Background color for 3D perspective projection */
  31. DWORD dwSkyGradientZenithColor;
  32. DWORD dwSkyGradientHorizonColor;
  33. DWORD dwGroundGradientOriginColor;
  34. DWORD dwGroundGradientHorizonColor;
  35. DWORD dwEarthGradientAzimuthColor;
  36. DWORD dwEarthGradientHorizonColor;
  37. /* Crosshair color for various contexts */
  38. DWORD dwModelCrossHairColor;
  39. DWORD dwLayoutCrossHairColor;
  40. DWORD dwParallelCrossHairColor;
  41. DWORD dwPerspectiveCrossHairColor;
  42. DWORD dwBEditCrossHairColor;
  43. /* Ground plane grid major lines for various contexts */
  44. DWORD dwParallelGridMajorLines;
  45. DWORD dwPerspectiveGridMajorLines;
  46. /* Ground plane grid minor lines for various contexts */
  47. DWORD dwParallelGridMinorLines;
  48. DWORD dwPerspectiveGridMinorLines;
  49. /* Ground plane grid axis lines for various contexts */
  50. DWORD dwParallelGridAxisLines;
  51. DWORD dwPerspectiveGridAxisLines;
  52. /* Text window color */
  53. DWORD dwTextForeColor, dwTextBkColor;
  54. /* Command line text color */
  55. DWORD dwCmdLineForeColor;
  56. DWORD dwCmdLineTempPromptBkColor;
  57. DWORD dwCmdLineTempPromptTextColor;
  58. DWORD dwCmdLineCmdOptKeywordColor;
  59. DWORD dwCmdLineCmdOptBkColor;
  60. DWORD dwCmdLineCmdOptHighlightedColor;
  61. /* AutoTrack vector color for various contexts */
  62. // Note: dwAutoTrackingVecColor indicates autotrack vector color in model space.
  63. // We didn't change its name to dwModelATrackVecColor because that might break
  64. // existing arx app.
  65. DWORD dwAutoTrackingVecColor;
  66. DWORD dwLayoutATrackVecColor;
  67. DWORD dwParallelATrackVecColor;
  68. DWORD dwPerspectiveATrackVecColor;
  69. DWORD dwBEditATrackVecColor;
  70. /* Autosnap Marker color for various contexts */
  71. DWORD dwModelASnapMarkerColor;
  72. DWORD dwLayoutASnapMarkerColor;
  73. DWORD dwParallelASnapMarkerColor;
  74. DWORD dwPerspectiveASnapMarkerColor;
  75. DWORD dwBEditASnapMarkerColor;
  76. /* Drafting Tool tip color for various contexts */
  77. DWORD dwModelDftingTooltipColor;
  78. DWORD dwLayoutDftingTooltipColor;
  79. DWORD dwParallelDftingTooltipColor;
  80. DWORD dwPerspectiveDftingTooltipColor;
  81. DWORD dwBEditDftingTooltipColor;
  82. /* Drafting Tool tip background color for various contexts */
  83. DWORD dwModelDftingTooltipBkColor;
  84. DWORD dwLayoutDftingTooltipBkColor;
  85. DWORD dwParallelDftingTooltipBkColor;
  86. DWORD dwPerspectiveDftingTooltipBkColor;
  87. DWORD dwBEditDftingTooltipBkColor;
  88. /* Light glyphs color for various contexts */
  89. DWORD dwModelLightGlyphs;
  90. DWORD dwLayoutLightGlyphs;
  91. DWORD dwParallelLightGlyphs;
  92. DWORD dwPerspectiveLightGlyphs;
  93. DWORD dwBEditLightGlyphs;
  94. /* Light Hotspot color for various contexts */
  95. DWORD dwModelLightHotspot;
  96. DWORD dwLayoutLightHotspot;
  97. DWORD dwParallelLightHotspot;
  98. DWORD dwPerspectiveLightHotspot;
  99. DWORD dwBEditLightHotspot;
  100. /* Light Falloff color for various contexts */
  101. DWORD dwModelLightFalloff;
  102. DWORD dwLayoutLightFalloff;
  103. DWORD dwParallelLightFalloff;
  104. DWORD dwPerspectiveLightFalloff;
  105. DWORD dwBEditLightFalloff;
  106. /* Light start limit color for various contexts */
  107. DWORD dwModelLightStartLimit;
  108. DWORD dwLayoutLightStartLimit;
  109. DWORD dwParallelLightStartLimit;
  110. DWORD dwPerspectiveLightStartLimit;
  111. DWORD dwBEditLightStartLimit;
  112. /* Light end limit color for various contexts */
  113. DWORD dwModelLightEndLimit;
  114. DWORD dwLayoutLightEndLimit;
  115. DWORD dwParallelLightEndLimit;
  116. DWORD dwPerspectiveLightEndLimit;
  117. DWORD dwBEditLightEndLimit;
  118. /* Camera glyphs color for various contexts */
  119. DWORD dwModelCameraGlyphs;
  120. DWORD dwLayoutCameraGlyphs;
  121. DWORD dwParallelCameraGlyphs;
  122. DWORD dwPerspectiveCameraGlyphs;
  123. /* Camera frustrum plane color for various contexts */
  124. DWORD dwModelCameraFrustrum;
  125. DWORD dwLayoutCameraFrustrum;
  126. DWORD dwParallelCameraFrustrum;
  127. DWORD dwPerspectiveCameraFrustrum;
  128. /* Camera clipping plane color for various contexts */
  129. DWORD dwModelCameraClipping;
  130. DWORD dwLayoutCameraClipping;
  131. DWORD dwParallelCameraClipping;
  132. DWORD dwPerspectiveCameraClipping;
  133. /* Flags - set if true */
  134. /* Flags for use tint X, Y, Z for crosshair */
  135. int nModelCrosshairUseTintXYZ;
  136. int nLayoutCrosshairUseTintXYZ;
  137. int nParallelCrosshairUseTintXYZ;
  138. int nPerspectiveCrosshairUseTintXYZ;
  139. int nBEditCrossHairUseTintXYZ;
  140. /* Flags for use tint X, Y, Z for AutoTrack Vector */
  141. int nModelATrackVecUseTintXYZ;
  142. int nLayoutATrackVecUseTintXYZ;
  143. int nParallelATrackVecUseTintXYZ;
  144. int nPerspectiveATrackVecUseTintXYZ;
  145. int nBEditATrackVecUseTintXYZ;
  146. /* Flags for use tint X, Y, Z for Drafting Tooltip Bk tint */
  147. int nModelDftingTooltipBkUseTintXYZ;
  148. int nLayoutDftingTooltipBkUseTintXYZ;
  149. int nParallelDftingTooltipBkUseTintXYZ;
  150. int nPerspectiveDftingTooltipBkUseTintXYZ;
  151. int nBEditDftingTooltipBkUseTintXYZ;
  152. /* Flags for use tint X, Y, Z for Ground plane grid major lines */
  153. int nParallelGridMajorLineTintXYZ;
  154. int nPerspectiveGridMajorLineTintXYZ;
  155. /* Flags for use tint X, Y, Z for Ground plane grid minor lines */
  156. int nParallelGridMinorLineTintXYZ;
  157. int nPerspectiveGridMinorLineTintXYZ;
  158. /* Flags for use tint X, Y, Z for Ground plane grid axis lines */
  159. int nParallelGridAxisLineTintXYZ;
  160. int nPerspectiveGridAxisLineTintXYZ;
  161. };
  162. // AutoCAD windows' colors
  163. BOOL acedGetCurrentColors(AcColorSettings* pColorSettings);
  164. BOOL acedSetCurrentColors(AcColorSettings* pColorSettings);
  165. BOOL acedGetSystemColors(AcColorSettings* pColorSettings);
  166. // More color settings.
  167. struct AcColorSettingsEx
  168. {
  169. // Light Web color for various contexts
  170. DWORD dwModelLightWeb;
  171. DWORD dwLayoutLightWeb;
  172. DWORD dwParallelLightWeb;
  173. DWORD dwPerspectiveLightWeb;
  174. DWORD dwBEditLightWeb;
  175. // Light Web(missingfile) color for various contexts
  176. DWORD dwModelLightWebMissingFile;
  177. DWORD dwLayoutLightWebMissingFile;
  178. DWORD dwParallelLightWebMissingFile;
  179. DWORD dwPerspectiveLightWebMissingFile;
  180. DWORD dwBEditLightWebMissingFile;
  181. // Light Web shape(extend source) color for various contexts
  182. DWORD dwModelLightWebShape;
  183. DWORD dwLayoutLightWebShape;
  184. DWORD dwParallelLightWebShape;
  185. DWORD dwPerspectiveLightWebShape;
  186. DWORD dwBEditLightWebShape;
  187. // Light Web lux at distance color for various contexts
  188. DWORD dwModelLightWebLuxAtDist;
  189. DWORD dwLayoutLightWebLuxAtDist;
  190. DWORD dwParallelLightWebLuxAtDist;
  191. DWORD dwPerspectiveLightWebLuxAtDist;
  192. DWORD dwBEditLightWebLuxAtDist;
  193. /* Block editor constraints colors */
  194. DWORD dwBEditUnconstrainedColor;
  195. DWORD dwBEditPartiallyConstrainedColor;
  196. DWORD dwBEditFullyConstrainedColor;
  197. DWORD dwBEditOverConstrainedColor;
  198. };
  199. // AutoCAD windows' colors
  200. BOOL acedGetCurrentColorsEx(AcColorSettings* pColorSettings,
  201. AcColorSettingsEx* pColorSettingsEx);
  202. BOOL acedSetCurrentColorsEx(AcColorSettings* pColorSettings,
  203. AcColorSettingsEx* pColorSettingsEx);
  204. BOOL acedGetSystemColorsEx(AcColorSettings* pColorSettings,
  205. AcColorSettingsEx* pColorSettingsEx);
  206. // More and More color settings.
  207. struct AcColorSettingsEx2
  208. {
  209. /* Ground plane grid major lines for various contexts */
  210. DWORD dw2DModelGridMajorLines;
  211. DWORD dwLayoutGridMajorLines;
  212. DWORD dwBEditGridMajorLines;
  213. /* Ground plane grid minor lines for various contexts */
  214. DWORD dw2DModelGridMinorLines;
  215. DWORD dwLayoutGridMinorLines;
  216. DWORD dwBEditGridMinorLines;
  217. /* Ground plane grid axis lines for various contexts */
  218. DWORD dw2DModelGridAxisLines;
  219. DWORD dwLayoutGridAxisLines;
  220. DWORD dwBEditGridAxisLines;
  221. /* Dynamic Dimension Line color for various contexts */
  222. DWORD dwModelDynamicDimensionLineColor;
  223. DWORD dwLayoutDynamicDimensionLineColor;
  224. DWORD dwParallelDynamicDimensionLineColor;
  225. DWORD dwPerspectiveDynamicDimensionLineColor;
  226. DWORD dwBEditDynamicDimensionLineColor;
  227. /* Drafting Tool tip contour color for various contexts */
  228. DWORD dwModelDftingTooltipContourColor;
  229. DWORD dwLayoutDftingTooltipContourColor;
  230. DWORD dwParallelDftingTooltipContourColor;
  231. DWORD dwPerspectiveDftingTooltipContourColor;
  232. DWORD dwBEditDftingTooltipContourColor;
  233. /* Flags for use tint X, Y, Z for Ground plane grid major lines */
  234. int n2DModelGridMajorLineTintXYZ;
  235. int nLayoutGridMajorLineTintXYZ;
  236. int nBEditGridMajorLineTintXYZ;
  237. /* Flags for use tint X, Y, Z for Ground plane grid minor lines */
  238. int n2DModelGridMinorLineTintXYZ;
  239. int nLayoutGridMinorLineTintXYZ;
  240. int nBEditGridMinorLineTintXYZ;
  241. /* Flags for use tint X, Y, Z for Ground plane grid axis lines */
  242. int n2DModelGridAxisLineTintXYZ;
  243. int nLayoutGridAxisLineTintXYZ;
  244. int nBEditGridAxisLineTintXYZ;
  245. /* Control vertices hull color for various contexts */
  246. DWORD dwControlVerticesHullColor;
  247. };
  248. // AutoCAD windows' colors
  249. BOOL acedGetCurrentColorsEx2(AcColorSettings* pColorSettings,
  250. AcColorSettingsEx* pColorSettingsEx,
  251. AcColorSettingsEx2* pColorSettingsEx2);
  252. BOOL acedSetCurrentColorsEx2(AcColorSettings* pColorSettings,
  253. AcColorSettingsEx* pColorSettingsEx,
  254. AcColorSettingsEx2* pColorSettingsEx2);
  255. BOOL acedGetSystemColorsEx2(AcColorSettings* pColorSettings,
  256. AcColorSettingsEx* pColorSettingsEx,
  257. AcColorSettingsEx2* pColorSettingsEx2);
  258. // More, more and More color settings
  259. // AutoCAD 2012
  260. struct AcColorSettingsEx3
  261. {
  262. /* 3d autosnap Marker color for various contexts */
  263. DWORD dwModel3dASnapMarkerColor;
  264. DWORD dwLayout3dASnapMarkerColor;
  265. DWORD dwParallel3dASnapMarkerColor;
  266. DWORD dwPerspective3dASnapMarkerColor;
  267. DWORD dwBEdit3dASnapMarkerColor;
  268. /* Viewport control for various contexts */
  269. DWORD dw2DModelVportControl;
  270. DWORD dwParallelVportControl;
  271. DWORD dwPerspectiveVportControl;
  272. };
  273. ACCORE_PORT
  274. BOOL acedGetCurrentColorsEx3(AcColorSettings* pColorSettings,
  275. AcColorSettingsEx* pColorSettingsEx,
  276. AcColorSettingsEx2* pColorSettingsEx2,
  277. AcColorSettingsEx3* pColorSettingsEx3);
  278. ACCORE_PORT
  279. BOOL acedSetCurrentColorsEx3(AcColorSettings* pColorSettings,
  280. AcColorSettingsEx* pColorSettingsEx,
  281. AcColorSettingsEx2* pColorSettingsEx2,
  282. AcColorSettingsEx3* pColorSettingsEx3);
  283. ACCORE_PORT
  284. BOOL acedGetSystemColorsEx3(AcColorSettings* pColorSettings,
  285. AcColorSettingsEx* pColorSettingsEx,
  286. AcColorSettingsEx2* pColorSettingsEx2,
  287. AcColorSettingsEx3* pColorSettingsEx3);
  288. /* acedDwgPoint
  289. * used in acedCoordinate function :
  290. */
  291. typedef double acedDwgPoint[3];
  292. // AutoCAD coordinates and viewports
  293. /* acedCoordFromPixelToWorld
  294. * Takes a coordinate in Window's coordinate (mouse coordinate)
  295. * and converts it to current viewport world coordinate
  296. */
  297. void acedCoordFromPixelToWorld(const CPoint &ptIn, acedDwgPoint ptOut);
  298. /* acedCoordFromPixelToWorld
  299. * Takes a coordinate in Windows' coordinate (mouse coordinate) and
  300. * a viewport number; and converts it to current viewport world coordinate
  301. */
  302. BOOL acedCoordFromPixelToWorld(int windnum, CPoint ptIn, acedDwgPoint ptOut);
  303. /* acedCoordFromWorldToPixel
  304. * Takes a coordinate in AutoCAD world coordinate and a viewport number;
  305. * and converts it to Windows' coordinate.
  306. */
  307. BOOL acedCoordFromWorldToPixel(int windnum, const acedDwgPoint ptIn, CPoint& ptOut);
  308. // Progress Bar API
  309. /* acedSetStatusBarProgressMeter
  310. * Creates a progress meter on AutoCAD status bar.
  311. * Returns 0 if it successfully creates the label and progress meter.
  312. * Otherwise -1
  313. */
  314. int acedSetStatusBarProgressMeter(const ACHAR* pszLabel, int nMinPos,
  315. int nMaxPos);
  316. /* acedSetStatusBarProgressMeter
  317. * Call this with a positive value within the range specified to set
  318. * the current position of the status bar.
  319. * Pass a negative number to add an amount to the current position (relative).
  320. */
  321. int acedSetStatusBarProgressMeterPos(int nPos);
  322. /* acedRestoreStatusBar
  323. * Resets AutoCAD status bar
  324. */
  325. void acedRestoreStatusBar();
  326. /* acedGetWinNum
  327. * Takes a Windows' client coordinate and return the viewport number where
  328. * the point is on
  329. * Returns 0 for no viewport, 1 if tilemode is off.
  330. * It's used with acedCoordFromWorldToPixel/acedCoordFromPixelToWorld
  331. */
  332. int acedGetWinNum(int ptx, int pty);
  333. // Define callback function for apps that want windows messages
  334. typedef void (* AcedWatchWinMsgFn)(const MSG*);
  335. typedef BOOL (* AcedFilterWinMsgFn)(MSG*);
  336. typedef void (* AcedOnIdleMsgFn) ();
  337. typedef void (* AcedOnModalFn) (bool bModal);
  338. // Windows messages hooks
  339. /* Register a filter message hook into AutoCAD's Windows message loop.
  340. * The message passed to your application can be changed and can be blocked out.
  341. * If the function returns TRUE, the message WON'T be passed to other hook
  342. * functions or AutoCAD at all. The message is terminated.
  343. * Returns TRUE if successfully registers the hook. Otherwise FALSE.
  344. */
  345. BOOL acedRegisterFilterWinMsg(const AcedFilterWinMsgFn pfn);
  346. /* acedRemoveFilterWinMsg
  347. * Takes a message hook function pointer and remove it
  348. * Returns TRUE if successfully registers the hook. Otherwise FALSE.
  349. */
  350. BOOL acedRemoveFilterWinMsg(const AcedFilterWinMsgFn pfn);
  351. /* acedRegisterWatchWinMsg
  352. * Register a hook function into AutoCAD message loop.
  353. * The function can only look up AutoCAD's Windows message.
  354. * It can't change or block message.
  355. * Returns TRUE if successfully registers the hook. Otherwise FALSE.
  356. */
  357. BOOL acedRegisterWatchWinMsg(const AcedWatchWinMsgFn pfn);
  358. /* acedRemoveWatchWinMsg
  359. * Takes a message hook function pointer and remove it
  360. * Returns TRUE if successfully registers the hook. Otherwise FALSE.
  361. *
  362. */
  363. BOOL acedRemoveWatchWinMsg(const AcedWatchWinMsgFn pfn);
  364. /* acedRegisterOnIdleWinMsg
  365. * Register a hook function to be notified when AutoCAD is on idle
  366. * Returns TRUE if successfully registers the hook. Otherwise FALSE.
  367. */
  368. BOOL acedRegisterOnIdleWinMsg(const AcedOnIdleMsgFn pfn);
  369. /* acedRemoveOnIdleWinMsg
  370. * Takes a message on idle hook function pointer and remove it
  371. * Returns TRUE if successfully registers the hook. Otherwise FALSE.
  372. *
  373. */
  374. BOOL acedRemoveOnIdleWinMsg(const AcedOnIdleMsgFn pfn);
  375. /* acedRegisterOnModal
  376. * Register a hook function to be notified when AutoCAD displays a modal dialog.
  377. * Returns TRUE if successfully registers the hook. Otherwise FALSE.
  378. */
  379. BOOL acedRegisterOnModal(const AcedOnModalFn pfn);
  380. /* acedRemoveOnModal
  381. * Takes a hook function pointer and removes it
  382. * Returns TRUE if successfully registers the hook. Otherwise FALSE.
  383. *
  384. */
  385. BOOL acedRemoveOnModal(const AcedOnModalFn pfn);
  386. // Defines the callback function that needs to be executed on AutoCAD main thread.
  387. typedef void (*AcedRunLoopFn)(void* pContext);
  388. // Defines the data type of the task id
  389. typedef long long TaskId;
  390. /* acedExecuteOnMainThread
  391. * Dispatches a function to be executed on AutoCAD main thread.
  392. *
  393. * Returns the task id if bWaitUntilDone == false. Otherwise, the return value is undefined.
  394. * The task id indicates the order in which the queued tasks will be executed.
  395. * Given two tasks, the task with the lower task id will be executed first.
  396. */
  397. ACCORE_PORT TaskId acedExecuteOnMainThread(const AcedRunLoopFn pfn, void* pContext, bool bWaitUntilDone = false);
  398. // Defines the base type IAcEdRunLoopTask for tasks that can be dispatched and executed on
  399. // AutoCAD main thread.
  400. class IAcEdRunLoopTask : public AcHeapOperators
  401. {
  402. public:
  403. virtual ~IAcEdRunLoopTask() {}
  404. virtual void execute() = 0;
  405. };
  406. /* acedExecuteOnMainThread
  407. * Dispatches a task to be executed on AutoCAD main thread.
  408. *
  409. * This function takes the ownership of the pTask instance, and deletes the instance
  410. * once the task has completed execution on main thread.
  411. *
  412. * Returns the task id if bWaitUntilDone = false. Otherwise, the return value is undefined.
  413. * The task id indicates the order in which the queued tasks will be executed.
  414. * Given two tasks, the task with the lower task id will be executed first.
  415. */
  416. ACCORE_PORT TaskId acedExecuteOnMainThread(IAcEdRunLoopTask* pTask, bool bWaitUntilDone = false);
  417. /* acedRemoveRunLoopTask
  418. * Removes a task that has been queued previously using any variant of the
  419. * acedExecuteOnMainThread() function.
  420. *
  421. */
  422. ACCORE_PORT void acedRemoveRunLoopTask(TaskId taskId);
  423. /* acedGetAcadResourceInstance()
  424. * Returns the Instance of AutoCAD's resource
  425. */
  426. HINSTANCE acedGetAcadResourceInstance();
  427. // Define callback function for apps that want bitmap query.
  428. typedef HBITMAP (* AcedCommandBitmapQueryFn)(const TCHAR* cmdName,
  429. const COLORREF& backgroundColor);
  430. /* acedRemoveCommandBitmapQuery
  431. * Takes a bitmap query hook function pointer and remove it
  432. * Returns TRUE if successfully removes the hook. Otherwise FALSE.
  433. *
  434. */
  435. ACCORE_PORT BOOL acedRemoveCommandBitmapQuery (const AcedCommandBitmapQueryFn pfn);
  436. /* acedRegisterCommandBitmapQuery
  437. * Register a bitmap query function to be notified when AutoCAD queries
  438. * for a bitmap for a given command.
  439. * Returns TRUE if successfully registers the hook. Otherwise FALSE.
  440. */
  441. ACCORE_PORT BOOL acedRegisterCommandBitmapQuery (const AcedCommandBitmapQueryFn pfn);
  442. // Currently this is used to query bitmap associated with a command in the AutoComplete
  443. // Suggestion List pop-up window.
  444. //
  445. // By default a bitmap/icon in the CUI menu macro can be associated with a command/sysvar.
  446. // In the CUI dialog, the 'Command Display Name' property points to a command/sysvar name.
  447. // This is how to link a bitmap to a command.
  448. //
  449. // It's recommended that the bitmap to command association is done thought CUI. If this is
  450. // not possible or there is a need for override behavior, please use the callback function
  451. // mentioned above.
  452. // Note that the name is all in Localized name.
  453. ACCORE_PORT HBITMAP acedGetBitmapForCommand (const TCHAR* cmdName,
  454. const COLORREF& backgroundColor);
  455. ACCORE_PORT HBITMAP acedGetCachedBitmapForCommand (const TCHAR* cmdName,
  456. const COLORREF& backgroundColor);
  457. ACCORE_PORT bool acedGetToolTipInfoForCommand( const ACHAR* cmdName
  458. , AcCommandToolTipInfo* pInfo );
  459. #pragma pack (pop)
  460. #endif // AD_CORE_RXMFCAPI_H