The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

496 lines
21KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library.
  4. Copyright (c) 2022 - Raw Material Software Limited
  5. JUCE is an open source library subject to commercial or open-source
  6. licensing.
  7. By using JUCE, you agree to the terms of both the JUCE 7 End-User License
  8. Agreement and JUCE Privacy Policy.
  9. End User License Agreement: www.juce.com/juce-7-licence
  10. Privacy Policy: www.juce.com/juce-privacy-policy
  11. Or: You may also use this code under the terms of the GPL v3 (see
  12. www.gnu.org/licenses).
  13. JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
  14. EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
  15. DISCLAIMED.
  16. ==============================================================================
  17. */
  18. namespace juce
  19. {
  20. namespace ComTypes
  21. {
  22. /*
  23. These interfaces would normally be included in the system platform headers.
  24. However, those headers are likely to be incomplete when building with
  25. MinGW. In order to allow building accessible applications under MinGW,
  26. we reproduce all necessary definitions here.
  27. */
  28. struct UiaPoint
  29. {
  30. double x;
  31. double y;
  32. };
  33. struct UiaRect
  34. {
  35. double left;
  36. double top;
  37. double width;
  38. double height;
  39. };
  40. enum NavigateDirection
  41. {
  42. NavigateDirection_Parent = 0,
  43. NavigateDirection_NextSibling = 1,
  44. NavigateDirection_PreviousSibling = 2,
  45. NavigateDirection_FirstChild = 3,
  46. NavigateDirection_LastChild = 4
  47. };
  48. enum ExpandCollapseState
  49. {
  50. ExpandCollapseState_Collapsed = 0,
  51. ExpandCollapseState_Expanded = 1,
  52. ExpandCollapseState_PartiallyExpanded = 2,
  53. ExpandCollapseState_LeafNode = 3
  54. };
  55. enum TextPatternRangeEndpoint
  56. {
  57. TextPatternRangeEndpoint_Start = 0,
  58. TextPatternRangeEndpoint_End = 1
  59. };
  60. enum TextUnit
  61. {
  62. TextUnit_Character = 0,
  63. TextUnit_Format = 1,
  64. TextUnit_Word = 2,
  65. TextUnit_Line = 3,
  66. TextUnit_Paragraph = 4,
  67. TextUnit_Page = 5,
  68. TextUnit_Document = 6
  69. };
  70. enum SupportedTextSelection
  71. {
  72. SupportedTextSelection_None = 0,
  73. SupportedTextSelection_Single = 1,
  74. SupportedTextSelection_Multiple = 2
  75. };
  76. enum CaretPosition
  77. {
  78. CaretPosition_Unknown = 0,
  79. CaretPosition_EndOfLine = 1,
  80. CaretPosition_BeginningOfLine = 2
  81. };
  82. enum ToggleState
  83. {
  84. ToggleState_Off = 0,
  85. ToggleState_On = 1,
  86. ToggleState_Indeterminate = 2
  87. };
  88. enum WindowVisualState
  89. {
  90. WindowVisualState_Normal = 0,
  91. WindowVisualState_Maximized = 1,
  92. WindowVisualState_Minimized = 2
  93. };
  94. enum WindowInteractionState
  95. {
  96. WindowInteractionState_Running = 0,
  97. WindowInteractionState_Closing = 1,
  98. WindowInteractionState_ReadyForUserInteraction = 2,
  99. WindowInteractionState_BlockedByModalWindow = 3,
  100. WindowInteractionState_NotResponding = 4
  101. };
  102. enum RowOrColumnMajor
  103. {
  104. RowOrColumnMajor_RowMajor = 0,
  105. RowOrColumnMajor_ColumnMajor = 1,
  106. RowOrColumnMajor_Indeterminate = 2
  107. };
  108. enum ScrollAmount
  109. {
  110. ScrollAmount_LargeDecrement = 0,
  111. ScrollAmount_SmallDecrement = 1,
  112. ScrollAmount_NoAmount = 2,
  113. ScrollAmount_LargeIncrement = 3,
  114. ScrollAmount_SmallIncrement = 4
  115. };
  116. namespace Constants
  117. {
  118. #undef UIA_InvokePatternId
  119. #undef UIA_SelectionPatternId
  120. #undef UIA_ValuePatternId
  121. #undef UIA_RangeValuePatternId
  122. #undef UIA_ScrollPatternId
  123. #undef UIA_ExpandCollapsePatternId
  124. #undef UIA_GridPatternId
  125. #undef UIA_GridItemPatternId
  126. #undef UIA_WindowPatternId
  127. #undef UIA_SelectionItemPatternId
  128. #undef UIA_TablePatternId
  129. #undef UIA_TableItemPatternId
  130. #undef UIA_TextPatternId
  131. #undef UIA_TogglePatternId
  132. #undef UIA_TransformPatternId
  133. #undef UIA_ScrollItemPatternId
  134. #undef UIA_TextPattern2Id
  135. #undef UIA_StructureChangedEventId
  136. #undef UIA_MenuOpenedEventId
  137. #undef UIA_AutomationFocusChangedEventId
  138. #undef UIA_MenuClosedEventId
  139. #undef UIA_LayoutInvalidatedEventId
  140. #undef UIA_Invoke_InvokedEventId
  141. #undef UIA_SelectionItem_ElementSelectedEventId
  142. #undef UIA_Text_TextSelectionChangedEventId
  143. #undef UIA_Text_TextChangedEventId
  144. #undef UIA_Window_WindowOpenedEventId
  145. #undef UIA_Window_WindowClosedEventId
  146. #undef UIA_IsPeripheralPropertyId
  147. #undef UIA_FullDescriptionPropertyId
  148. #undef UIA_IsDialogPropertyId
  149. #undef UIA_IsReadOnlyAttributeId
  150. #undef UIA_CaretPositionAttributeId
  151. #undef UIA_ButtonControlTypeId
  152. #undef UIA_CheckBoxControlTypeId
  153. #undef UIA_ComboBoxControlTypeId
  154. #undef UIA_EditControlTypeId
  155. #undef UIA_HyperlinkControlTypeId
  156. #undef UIA_ImageControlTypeId
  157. #undef UIA_ListItemControlTypeId
  158. #undef UIA_ListControlTypeId
  159. #undef UIA_MenuBarControlTypeId
  160. #undef UIA_MenuItemControlTypeId
  161. #undef UIA_ProgressBarControlTypeId
  162. #undef UIA_RadioButtonControlTypeId
  163. #undef UIA_ScrollBarControlTypeId
  164. #undef UIA_SliderControlTypeId
  165. #undef UIA_TextControlTypeId
  166. #undef UIA_ToolTipControlTypeId
  167. #undef UIA_TreeControlTypeId
  168. #undef UIA_TreeItemControlTypeId
  169. #undef UIA_CustomControlTypeId
  170. #undef UIA_GroupControlTypeId
  171. #undef UIA_DataItemControlTypeId
  172. #undef UIA_WindowControlTypeId
  173. #undef UIA_HeaderControlTypeId
  174. #undef UIA_HeaderItemControlTypeId
  175. #undef UIA_TableControlTypeId
  176. const long UIA_InvokePatternId = 10000;
  177. const long UIA_SelectionPatternId = 10001;
  178. const long UIA_ValuePatternId = 10002;
  179. const long UIA_RangeValuePatternId = 10003;
  180. const long UIA_ScrollPatternId = 10004;
  181. const long UIA_ExpandCollapsePatternId = 10005;
  182. const long UIA_GridPatternId = 10006;
  183. const long UIA_GridItemPatternId = 10007;
  184. const long UIA_WindowPatternId = 10009;
  185. const long UIA_SelectionItemPatternId = 10010;
  186. const long UIA_TablePatternId = 10012;
  187. const long UIA_TableItemPatternId = 10013;
  188. const long UIA_TextPatternId = 10014;
  189. const long UIA_TogglePatternId = 10015;
  190. const long UIA_TransformPatternId = 10016;
  191. const long UIA_ScrollItemPatternId = 10017;
  192. const long UIA_TextPattern2Id = 10024;
  193. const long UIA_StructureChangedEventId = 20002;
  194. const long UIA_MenuOpenedEventId = 20003;
  195. const long UIA_AutomationFocusChangedEventId = 20005;
  196. const long UIA_MenuClosedEventId = 20007;
  197. const long UIA_LayoutInvalidatedEventId = 20008;
  198. const long UIA_Invoke_InvokedEventId = 20009;
  199. const long UIA_SelectionItem_ElementSelectedEventId = 20012;
  200. const long UIA_Text_TextSelectionChangedEventId = 20014;
  201. const long UIA_Text_TextChangedEventId = 20015;
  202. const long UIA_Window_WindowOpenedEventId = 20016;
  203. const long UIA_Window_WindowClosedEventId = 20017;
  204. const long UIA_IsPeripheralPropertyId = 30150;
  205. const long UIA_FullDescriptionPropertyId = 30159;
  206. const long UIA_IsDialogPropertyId = 30174;
  207. const long UIA_IsReadOnlyAttributeId = 40015;
  208. const long UIA_CaretPositionAttributeId = 40038;
  209. const long UIA_ButtonControlTypeId = 50000;
  210. const long UIA_CheckBoxControlTypeId = 50002;
  211. const long UIA_ComboBoxControlTypeId = 50003;
  212. const long UIA_EditControlTypeId = 50004;
  213. const long UIA_HyperlinkControlTypeId = 50005;
  214. const long UIA_ImageControlTypeId = 50006;
  215. const long UIA_ListItemControlTypeId = 50007;
  216. const long UIA_ListControlTypeId = 50008;
  217. const long UIA_MenuBarControlTypeId = 50010;
  218. const long UIA_MenuItemControlTypeId = 50011;
  219. const long UIA_ProgressBarControlTypeId = 50012;
  220. const long UIA_RadioButtonControlTypeId = 50013;
  221. const long UIA_ScrollBarControlTypeId = 50014;
  222. const long UIA_SliderControlTypeId = 50015;
  223. const long UIA_TextControlTypeId = 50020;
  224. const long UIA_ToolTipControlTypeId = 50022;
  225. const long UIA_TreeControlTypeId = 50023;
  226. const long UIA_TreeItemControlTypeId = 50024;
  227. const long UIA_CustomControlTypeId = 50025;
  228. const long UIA_GroupControlTypeId = 50026;
  229. const long UIA_DataItemControlTypeId = 50029;
  230. const long UIA_WindowControlTypeId = 50032;
  231. const long UIA_HeaderControlTypeId = 50034;
  232. const long UIA_HeaderItemControlTypeId = 50035;
  233. const long UIA_TableControlTypeId = 50036;
  234. } // namespace Constants
  235. interface IRawElementProviderFragmentRoot;
  236. interface IRawElementProviderFragment;
  237. JUCE_COMCLASS (IRawElementProviderFragmentRoot, "620ce2a5-ab8f-40a9-86cb-de3c75599b58") : public IUnknown
  238. {
  239. public:
  240. JUCE_COMCALL ElementProviderFromPoint (double x, double y, __RPC__deref_out_opt IRawElementProviderFragment** pRetVal) = 0;
  241. JUCE_COMCALL GetFocus (__RPC__deref_out_opt IRawElementProviderFragment * *pRetVal) = 0;
  242. };
  243. JUCE_COMCLASS (IRawElementProviderFragment, "f7063da8-8359-439c-9297-bbc5299a7d87") : public IUnknown
  244. {
  245. public:
  246. JUCE_COMCALL Navigate (NavigateDirection direction, __RPC__deref_out_opt IRawElementProviderFragment** pRetVal) = 0;
  247. JUCE_COMCALL GetRuntimeId (__RPC__deref_out_opt SAFEARRAY * *pRetVal) = 0;
  248. JUCE_COMCALL get_BoundingRectangle (__RPC__out UiaRect * pRetVal) = 0;
  249. JUCE_COMCALL GetEmbeddedFragmentRoots (__RPC__deref_out_opt SAFEARRAY * *pRetVal) = 0;
  250. JUCE_COMCALL SetFocus() = 0;
  251. JUCE_COMCALL get_FragmentRoot (__RPC__deref_out_opt IRawElementProviderFragmentRoot * *pRetVal) = 0;
  252. };
  253. JUCE_COMCLASS (IExpandCollapseProvider, "d847d3a5-cab0-4a98-8c32-ecb45c59ad24") : public IUnknown
  254. {
  255. public:
  256. JUCE_COMCALL Expand() = 0;
  257. JUCE_COMCALL Collapse() = 0;
  258. JUCE_COMCALL get_ExpandCollapseState (__RPC__out ExpandCollapseState * pRetVal) = 0;
  259. };
  260. JUCE_COMCLASS (IGridItemProvider, "d02541f1-fb81-4d64-ae32-f520f8a6dbd1") : public IUnknown
  261. {
  262. public:
  263. JUCE_COMCALL get_Row (__RPC__out int* pRetVal) = 0;
  264. JUCE_COMCALL get_Column (__RPC__out int* pRetVal) = 0;
  265. JUCE_COMCALL get_RowSpan (__RPC__out int* pRetVal) = 0;
  266. JUCE_COMCALL get_ColumnSpan (__RPC__out int* pRetVal) = 0;
  267. JUCE_COMCALL get_ContainingGrid (__RPC__deref_out_opt IRawElementProviderSimple * *pRetVal) = 0;
  268. };
  269. JUCE_COMCLASS (IGridProvider, "b17d6187-0907-464b-a168-0ef17a1572b1") : public IUnknown
  270. {
  271. public:
  272. JUCE_COMCALL GetItem (int row, int column, __RPC__deref_out_opt IRawElementProviderSimple** pRetVal) = 0;
  273. JUCE_COMCALL get_RowCount (__RPC__out int* pRetVal) = 0;
  274. JUCE_COMCALL get_ColumnCount (__RPC__out int* pRetVal) = 0;
  275. };
  276. JUCE_COMCLASS (ITableItemProvider, "b9734fa6-771f-4d78-9c90-2517999349cd") : public IUnknown
  277. {
  278. public:
  279. JUCE_COMCALL GetRowHeaderItems (SAFEARRAY** pRetVal) = 0;
  280. JUCE_COMCALL GetColumnHeaderItems (SAFEARRAY** pRetVal) = 0;
  281. };
  282. JUCE_COMCLASS (ITableProvider, "9c860395-97b3-490a-b52a-858cc22af166") : public IUnknown
  283. {
  284. public:
  285. JUCE_COMCALL GetRowHeaders (SAFEARRAY** pRetVal) = 0;
  286. JUCE_COMCALL GetColumnHeaders (SAFEARRAY** pRetVal) = 0;
  287. JUCE_COMCALL get_RowOrColumnMajor (RowOrColumnMajor* pRetVal) = 0;
  288. };
  289. JUCE_COMCLASS (IInvokeProvider, "54fcb24b-e18e-47a2-b4d3-eccbe77599a2") : public IUnknown
  290. {
  291. public:
  292. JUCE_COMCALL Invoke() = 0;
  293. };
  294. JUCE_COMCLASS (IRangeValueProvider, "36dc7aef-33e6-4691-afe1-2be7274b3d33") : public IUnknown
  295. {
  296. public:
  297. JUCE_COMCALL SetValue (double val) = 0;
  298. JUCE_COMCALL get_Value (__RPC__out double* pRetVal) = 0;
  299. JUCE_COMCALL get_IsReadOnly (__RPC__out BOOL * pRetVal) = 0;
  300. JUCE_COMCALL get_Maximum (__RPC__out double* pRetVal) = 0;
  301. JUCE_COMCALL get_Minimum (__RPC__out double* pRetVal) = 0;
  302. JUCE_COMCALL get_LargeChange (__RPC__out double* pRetVal) = 0;
  303. JUCE_COMCALL get_SmallChange (__RPC__out double* pRetVal) = 0;
  304. };
  305. JUCE_COMCLASS (ISelectionProvider, "fb8b03af-3bdf-48d4-bd36-1a65793be168") : public IUnknown
  306. {
  307. public:
  308. JUCE_COMCALL GetSelection (__RPC__deref_out_opt SAFEARRAY * *pRetVal) = 0;
  309. JUCE_COMCALL get_CanSelectMultiple (__RPC__out BOOL * pRetVal) = 0;
  310. JUCE_COMCALL get_IsSelectionRequired (__RPC__out BOOL * pRetVal) = 0;
  311. };
  312. JUCE_COMCLASS (ISelectionProvider2, "14f68475-ee1c-44f6-a869-d239381f0fe7") : public ISelectionProvider
  313. {
  314. JUCE_COMCALL get_FirstSelectedItem (IRawElementProviderSimple * *retVal) = 0;
  315. JUCE_COMCALL get_LastSelectedItem (IRawElementProviderSimple * *retVal) = 0;
  316. JUCE_COMCALL get_CurrentSelectedItem (IRawElementProviderSimple * *retVal) = 0;
  317. JUCE_COMCALL get_ItemCount (int* retVal) = 0;
  318. };
  319. JUCE_COMCLASS (ISelectionItemProvider, "2acad808-b2d4-452d-a407-91ff1ad167b2") : public IUnknown
  320. {
  321. public:
  322. JUCE_COMCALL Select() = 0;
  323. JUCE_COMCALL AddToSelection() = 0;
  324. JUCE_COMCALL RemoveFromSelection() = 0;
  325. JUCE_COMCALL get_IsSelected (__RPC__out BOOL * pRetVal) = 0;
  326. JUCE_COMCALL get_SelectionContainer (__RPC__deref_out_opt IRawElementProviderSimple * *pRetVal) = 0;
  327. };
  328. JUCE_COMCLASS (ITextRangeProvider, "5347ad7b-c355-46f8-aff5-909033582f63") : public IUnknown
  329. {
  330. public:
  331. JUCE_COMCALL Clone (__RPC__deref_out_opt ITextRangeProvider * *pRetVal) = 0;
  332. JUCE_COMCALL Compare (__RPC__in_opt ITextRangeProvider * range, __RPC__out BOOL * pRetVal) = 0;
  333. JUCE_COMCALL CompareEndpoints (TextPatternRangeEndpoint endpoint, __RPC__in_opt ITextRangeProvider * targetRange, TextPatternRangeEndpoint targetEndpoint, __RPC__out int* pRetVal) = 0;
  334. JUCE_COMCALL ExpandToEnclosingUnit (TextUnit unit) = 0;
  335. JUCE_COMCALL FindAttribute (TEXTATTRIBUTEID attributeId, VARIANT val, BOOL backward, __RPC__deref_out_opt ITextRangeProvider * *pRetVal) = 0;
  336. JUCE_COMCALL FindText (__RPC__in BSTR text, BOOL backward, BOOL ignoreCase, __RPC__deref_out_opt ITextRangeProvider * *pRetVal) = 0;
  337. JUCE_COMCALL GetAttributeValue (TEXTATTRIBUTEID attributeId, __RPC__out VARIANT * pRetVal) = 0;
  338. JUCE_COMCALL GetBoundingRectangles (__RPC__deref_out_opt SAFEARRAY * *pRetVal) = 0;
  339. JUCE_COMCALL GetEnclosingElement (__RPC__deref_out_opt IRawElementProviderSimple * *pRetVal) = 0;
  340. JUCE_COMCALL GetText (int maxLength, __RPC__deref_out_opt BSTR* pRetVal) = 0;
  341. JUCE_COMCALL Move (TextUnit unit, int count, __RPC__out int* pRetVal) = 0;
  342. JUCE_COMCALL MoveEndpointByUnit (TextPatternRangeEndpoint endpoint, TextUnit unit, int count, __RPC__out int* pRetVal) = 0;
  343. JUCE_COMCALL MoveEndpointByRange (TextPatternRangeEndpoint endpoint, __RPC__in_opt ITextRangeProvider * targetRange, TextPatternRangeEndpoint targetEndpoint) = 0;
  344. JUCE_COMCALL Select() = 0;
  345. JUCE_COMCALL AddToSelection() = 0;
  346. JUCE_COMCALL RemoveFromSelection() = 0;
  347. JUCE_COMCALL ScrollIntoView (BOOL alignToTop) = 0;
  348. JUCE_COMCALL GetChildren (__RPC__deref_out_opt SAFEARRAY * *pRetVal) = 0;
  349. };
  350. JUCE_COMCLASS (ITextProvider, "3589c92c-63f3-4367-99bb-ada653b77cf2") : public IUnknown
  351. {
  352. public:
  353. JUCE_COMCALL GetSelection (__RPC__deref_out_opt SAFEARRAY * *pRetVal) = 0;
  354. JUCE_COMCALL GetVisibleRanges (__RPC__deref_out_opt SAFEARRAY * *pRetVal) = 0;
  355. JUCE_COMCALL RangeFromChild (__RPC__in_opt IRawElementProviderSimple * childElement, __RPC__deref_out_opt ITextRangeProvider * *pRetVal) = 0;
  356. JUCE_COMCALL RangeFromPoint (UiaPoint point, __RPC__deref_out_opt ITextRangeProvider * *pRetVal) = 0;
  357. JUCE_COMCALL get_DocumentRange (__RPC__deref_out_opt ITextRangeProvider * *pRetVal) = 0;
  358. JUCE_COMCALL get_SupportedTextSelection (__RPC__out SupportedTextSelection * pRetVal) = 0;
  359. };
  360. JUCE_COMCLASS (ITextProvider2, "0dc5e6ed-3e16-4bf1-8f9a-a979878bc195") : public ITextProvider
  361. {
  362. public:
  363. JUCE_COMCALL RangeFromAnnotation (__RPC__in_opt IRawElementProviderSimple * annotationElement, __RPC__deref_out_opt ITextRangeProvider * *pRetVal) = 0;
  364. JUCE_COMCALL GetCaretRange (__RPC__out BOOL * isActive, __RPC__deref_out_opt ITextRangeProvider * *pRetVal) = 0;
  365. };
  366. JUCE_COMCLASS (IToggleProvider, "56d00bd0-c4f4-433c-a836-1a52a57e0892") : public IUnknown
  367. {
  368. public:
  369. JUCE_COMCALL Toggle() = 0;
  370. JUCE_COMCALL get_ToggleState (__RPC__out ToggleState * pRetVal) = 0;
  371. };
  372. JUCE_COMCLASS (ITransformProvider, "6829ddc4-4f91-4ffa-b86f-bd3e2987cb4c") : public IUnknown
  373. {
  374. public:
  375. JUCE_COMCALL Move (double x, double y) = 0;
  376. JUCE_COMCALL Resize (double width, double height) = 0;
  377. JUCE_COMCALL Rotate (double degrees) = 0;
  378. JUCE_COMCALL get_CanMove (__RPC__out BOOL * pRetVal) = 0;
  379. JUCE_COMCALL get_CanResize (__RPC__out BOOL * pRetVal) = 0;
  380. JUCE_COMCALL get_CanRotate (__RPC__out BOOL * pRetVal) = 0;
  381. };
  382. JUCE_COMCLASS (IValueProvider, "c7935180-6fb3-4201-b174-7df73adbf64a") : public IUnknown
  383. {
  384. public:
  385. JUCE_COMCALL SetValue (__RPC__in LPCWSTR val) = 0;
  386. JUCE_COMCALL get_Value (__RPC__deref_out_opt BSTR * pRetVal) = 0;
  387. JUCE_COMCALL get_IsReadOnly (__RPC__out BOOL * pRetVal) = 0;
  388. };
  389. JUCE_COMCLASS (IWindowProvider, "987df77b-db06-4d77-8f8a-86a9c3bb90b9") : public IUnknown
  390. {
  391. public:
  392. JUCE_COMCALL SetVisualState (WindowVisualState state) = 0;
  393. JUCE_COMCALL Close() = 0;
  394. JUCE_COMCALL WaitForInputIdle (int milliseconds, __RPC__out BOOL* pRetVal) = 0;
  395. JUCE_COMCALL get_CanMaximize (__RPC__out BOOL * pRetVal) = 0;
  396. JUCE_COMCALL get_CanMinimize (__RPC__out BOOL * pRetVal) = 0;
  397. JUCE_COMCALL get_IsModal (__RPC__out BOOL * pRetVal) = 0;
  398. JUCE_COMCALL get_WindowVisualState (__RPC__out WindowVisualState * pRetVal) = 0;
  399. JUCE_COMCALL get_WindowInteractionState (__RPC__out WindowInteractionState * pRetVal) = 0;
  400. JUCE_COMCALL get_IsTopmost (__RPC__out BOOL * pRetVal) = 0;
  401. };
  402. JUCE_COMCLASS (IScrollProvider, "b38b8077-1fc3-42a5-8cae-d40c2215055a") : public IUnknown
  403. {
  404. public:
  405. JUCE_COMCALL Scroll (ScrollAmount horizontalAmount, ScrollAmount verticalAmount) = 0;
  406. JUCE_COMCALL SetScrollPercent (double horizontalPercent,double verticalPercent) = 0;
  407. JUCE_COMCALL get_HorizontalScrollPercent (double* pRetVal) = 0;
  408. JUCE_COMCALL get_VerticalScrollPercent (double* pRetVal) = 0;
  409. JUCE_COMCALL get_HorizontalViewSize (double* pRetVal) = 0;
  410. JUCE_COMCALL get_VerticalViewSize (double* pRetVal) = 0;
  411. JUCE_COMCALL get_HorizontallyScrollable (BOOL* pRetVal) = 0;
  412. JUCE_COMCALL get_VerticallyScrollable (BOOL* pRetVal) = 0;
  413. };
  414. JUCE_COMCLASS (IScrollItemProvider, "2360c714-4bf1-4b26-ba65-9b21316127eb") : public IUnknown
  415. {
  416. public:
  417. JUCE_COMCALL ScrollIntoView() = 0;
  418. };
  419. constexpr CLSID CLSID_SpVoice { 0x96749377, 0x3391, 0x11D2, { 0x9E, 0xE3, 0x00, 0xC0, 0x4F, 0x79, 0x73, 0x96 } };
  420. } // namespace ComTypes
  421. } // namespace juce
  422. #ifdef __CRT_UUID_DECL
  423. __CRT_UUID_DECL (juce::ComTypes::IRawElementProviderFragmentRoot, 0x620ce2a5, 0xab8f, 0x40a9, 0x86, 0xcb, 0xde, 0x3c, 0x75, 0x59, 0x9b, 0x58)
  424. __CRT_UUID_DECL (juce::ComTypes::IRawElementProviderFragment, 0xf7063da8, 0x8359, 0x439c, 0x92, 0x97, 0xbb, 0xc5, 0x29, 0x9a, 0x7d, 0x87)
  425. __CRT_UUID_DECL (juce::ComTypes::IExpandCollapseProvider, 0xd847d3a5, 0xcab0, 0x4a98, 0x8c, 0x32, 0xec, 0xb4, 0x5c, 0x59, 0xad, 0x24)
  426. __CRT_UUID_DECL (juce::ComTypes::IGridItemProvider, 0xd02541f1, 0xfb81, 0x4d64, 0xae, 0x32, 0xf5, 0x20, 0xf8, 0xa6, 0xdb, 0xd1)
  427. __CRT_UUID_DECL (juce::ComTypes::IGridProvider, 0xb17d6187, 0x0907, 0x464b, 0xa1, 0x68, 0x0e, 0xf1, 0x7a, 0x15, 0x72, 0xb1)
  428. __CRT_UUID_DECL (juce::ComTypes::IInvokeProvider, 0x54fcb24b, 0xe18e, 0x47a2, 0xb4, 0xd3, 0xec, 0xcb, 0xe7, 0x75, 0x99, 0xa2)
  429. __CRT_UUID_DECL (juce::ComTypes::IRangeValueProvider, 0x36dc7aef, 0x33e6, 0x4691, 0xaf, 0xe1, 0x2b, 0xe7, 0x27, 0x4b, 0x3d, 0x33)
  430. __CRT_UUID_DECL (juce::ComTypes::ISelectionProvider, 0xfb8b03af, 0x3bdf, 0x48d4, 0xbd, 0x36, 0x1a, 0x65, 0x79, 0x3b, 0xe1, 0x68)
  431. __CRT_UUID_DECL (juce::ComTypes::ISelectionProvider2, 0x14f68475, 0xee1c, 0x44f6, 0xa8, 0x69, 0xd2, 0x39, 0x38, 0x1f, 0x0f, 0xe7)
  432. __CRT_UUID_DECL (juce::ComTypes::ISelectionItemProvider, 0x2acad808, 0xb2d4, 0x452d, 0xa4, 0x07, 0x91, 0xff, 0x1a, 0xd1, 0x67, 0xb2)
  433. __CRT_UUID_DECL (juce::ComTypes::ITextRangeProvider, 0x5347ad7b, 0xc355, 0x46f8, 0xaf, 0xf5, 0x90, 0x90, 0x33, 0x58, 0x2f, 0x63)
  434. __CRT_UUID_DECL (juce::ComTypes::ITextProvider, 0x3589c92c, 0x63f3, 0x4367, 0x99, 0xbb, 0xad, 0xa6, 0x53, 0xb7, 0x7c, 0xf2)
  435. __CRT_UUID_DECL (juce::ComTypes::ITextProvider2, 0x0dc5e6ed, 0x3e16, 0x4bf1, 0x8f, 0x9a, 0xa9, 0x79, 0x87, 0x8b, 0xc1, 0x95)
  436. __CRT_UUID_DECL (juce::ComTypes::IToggleProvider, 0x56d00bd0, 0xc4f4, 0x433c, 0xa8, 0x36, 0x1a, 0x52, 0xa5, 0x7e, 0x08, 0x92)
  437. __CRT_UUID_DECL (juce::ComTypes::ITransformProvider, 0x6829ddc4, 0x4f91, 0x4ffa, 0xb8, 0x6f, 0xbd, 0x3e, 0x29, 0x87, 0xcb, 0x4c)
  438. __CRT_UUID_DECL (juce::ComTypes::IValueProvider, 0xc7935180, 0x6fb3, 0x4201, 0xb1, 0x74, 0x7d, 0xf7, 0x3a, 0xdb, 0xf6, 0x4a)
  439. __CRT_UUID_DECL (juce::ComTypes::IWindowProvider, 0x987df77b, 0xdb06, 0x4d77, 0x8f, 0x8a, 0x86, 0xa9, 0xc3, 0xbb, 0x90, 0xb9)
  440. __CRT_UUID_DECL (juce::ComTypes::ITableItemProvider, 0xb9734fa6, 0x771f, 0x4d78, 0x9c, 0x90, 0x25, 0x17, 0x99, 0x93, 0x49, 0xcd)
  441. __CRT_UUID_DECL (juce::ComTypes::ITableProvider, 0x9c860395, 0x97b3, 0x490a, 0xb5, 0x2a, 0x85, 0x8c, 0xc2, 0x2a, 0xf1, 0x66)
  442. __CRT_UUID_DECL (juce::ComTypes::IScrollProvider, 0xb38b8077, 0x1fc3, 0x42a5, 0x8c, 0xae, 0xd4, 0x0c, 0x22, 0x15, 0x05, 0x5a)
  443. __CRT_UUID_DECL (juce::ComTypes::IScrollItemProvider, 0x2360c714, 0x4bf1, 0x4b26, 0xba, 0x65, 0x9b, 0x21, 0x31, 0x61, 0x27, 0xeb)
  444. #endif