Files
hot-step-cpp-ROCm/engine/vendor/vst3sdk/doc/base/classSteinberg_1_1IPlugView.html
T
2026-08-16 18:24:52 +07:00

635 lines
42 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Interface Technology Basics: IPlugView Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="smtg_extra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Interface Technology Basics<span id="projectnumber">&#160;VST 3.8</span>
</div>
<div id="projectbrief">SDK for developing VST plug-in</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classSteinberg_1_1IPlugView.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="classSteinberg_1_1IPlugView-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">IPlugView Class Reference<span class="mlabels"><span class="mlabel abstract">abstract</span></span><div class="ingroups"><a class="el" href="group__pluginGUI.html">Graphical User Interface</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>Plug-in definition of a view.
<a href="#details">More...</a></p>
<p><code>#include &lt;iplugview.h&gt;</code></p>
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for IPlugView:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classSteinberg_1_1IPlugView__inherit__graph.png" border="0" usemap="#aIPlugView_inherit__map" alt="Inheritance graph"/></div>
<map name="aIPlugView_inherit__map" id="aIPlugView_inherit__map">
<area shape="rect" title="Plug&#45;in definition of a view." alt="" coords="5,155,174,431"/>
<area shape="rect" href="classSteinberg_1_1FUnknown.html" title="The basic interface of all interfaces." alt="" coords="35,5,144,107"/>
<area shape="poly" title=" " alt="" coords="92,122,92,156,87,156,87,122"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:abcfa60e135807caa316f3915622d9488" id="r_abcfa60e135807caa316f3915622d9488"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abcfa60e135807caa316f3915622d9488">isPlatformTypeSupported</a> (<a class="el" href="group__smtgtypedef.html#gad4c02134d1ee42389f3d94717935a1d5">FIDString</a> type)=0</td></tr>
<tr class="memdesc:abcfa60e135807caa316f3915622d9488"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is Platform UI Type supported. <br /></td></tr>
<tr class="separator:abcfa60e135807caa316f3915622d9488"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fbc345c1e87f7e6210a8a49fdb96793" id="r_a9fbc345c1e87f7e6210a8a49fdb96793"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9fbc345c1e87f7e6210a8a49fdb96793">attached</a> (void *parent, <a class="el" href="group__smtgtypedef.html#gad4c02134d1ee42389f3d94717935a1d5">FIDString</a> type)=0</td></tr>
<tr class="memdesc:a9fbc345c1e87f7e6210a8a49fdb96793"><td class="mdescLeft">&#160;</td><td class="mdescRight">The parent window of the view has been created, the (platform) representation of the view should now be created as well. <br /></td></tr>
<tr class="separator:a9fbc345c1e87f7e6210a8a49fdb96793"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad89d6c88074a716218e42805649d3591" id="r_ad89d6c88074a716218e42805649d3591"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad89d6c88074a716218e42805649d3591">removed</a> ()=0</td></tr>
<tr class="memdesc:ad89d6c88074a716218e42805649d3591"><td class="mdescLeft">&#160;</td><td class="mdescRight">The parent window of the view is about to be destroyed. <br /></td></tr>
<tr class="separator:ad89d6c88074a716218e42805649d3591"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a576b66ba9806bcecc3256110f5dd246a" id="r_a576b66ba9806bcecc3256110f5dd246a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a576b66ba9806bcecc3256110f5dd246a">onWheel</a> (float distance)=0</td></tr>
<tr class="memdesc:a576b66ba9806bcecc3256110f5dd246a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handling of mouse wheel. <br /></td></tr>
<tr class="separator:a576b66ba9806bcecc3256110f5dd246a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a759b576f046e699c84dc07d579600b1b" id="r_a759b576f046e699c84dc07d579600b1b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a759b576f046e699c84dc07d579600b1b">onKeyDown</a> (<a class="el" href="group__smtgtypedef.html#ga667a0a4e0cbcb3f3785984955e1fefd8">char16</a> key, <a class="el" href="group__smtgtypedef.html#gaa0d0fdc87fd135ef2bedb030901cdb9c">int16</a> keyCode, <a class="el" href="group__smtgtypedef.html#gaa0d0fdc87fd135ef2bedb030901cdb9c">int16</a> modifiers)=0</td></tr>
<tr class="memdesc:a759b576f046e699c84dc07d579600b1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handling of keyboard events : Key Down. <br /></td></tr>
<tr class="separator:a759b576f046e699c84dc07d579600b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae726f4b3471ee2485a0bbb651cd35ff2" id="r_ae726f4b3471ee2485a0bbb651cd35ff2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae726f4b3471ee2485a0bbb651cd35ff2">onKeyUp</a> (<a class="el" href="group__smtgtypedef.html#ga667a0a4e0cbcb3f3785984955e1fefd8">char16</a> key, <a class="el" href="group__smtgtypedef.html#gaa0d0fdc87fd135ef2bedb030901cdb9c">int16</a> keyCode, <a class="el" href="group__smtgtypedef.html#gaa0d0fdc87fd135ef2bedb030901cdb9c">int16</a> modifiers)=0</td></tr>
<tr class="memdesc:ae726f4b3471ee2485a0bbb651cd35ff2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handling of keyboard events : Key Up. <br /></td></tr>
<tr class="separator:ae726f4b3471ee2485a0bbb651cd35ff2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4f7f751a5b75837f47ba19b29c53917" id="r_ae4f7f751a5b75837f47ba19b29c53917"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae4f7f751a5b75837f47ba19b29c53917">getSize</a> (<a class="el" href="structSteinberg_1_1ViewRect.html">ViewRect</a> *size)=0</td></tr>
<tr class="memdesc:ae4f7f751a5b75837f47ba19b29c53917"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of the platform representation of the view. <br /></td></tr>
<tr class="separator:ae4f7f751a5b75837f47ba19b29c53917"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e741e55c2c047a4cc10f102661f5654" id="r_a3e741e55c2c047a4cc10f102661f5654"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3e741e55c2c047a4cc10f102661f5654">onSize</a> (<a class="el" href="structSteinberg_1_1ViewRect.html">ViewRect</a> *newSize)=0</td></tr>
<tr class="memdesc:a3e741e55c2c047a4cc10f102661f5654"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resizes the platform representation of the view to the given rect. <br /></td></tr>
<tr class="separator:a3e741e55c2c047a4cc10f102661f5654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc80a2e0d25e151cbc2fabd1bd200683" id="r_abc80a2e0d25e151cbc2fabd1bd200683"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abc80a2e0d25e151cbc2fabd1bd200683">onFocus</a> (<a class="el" href="group__smtgtypedef.html#ga1ea8addd740f35d207a1569dd38ef895">TBool</a> state)=0</td></tr>
<tr class="memdesc:abc80a2e0d25e151cbc2fabd1bd200683"><td class="mdescLeft">&#160;</td><td class="mdescRight">Focus changed message. <br /></td></tr>
<tr class="separator:abc80a2e0d25e151cbc2fabd1bd200683"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0f059918bbf55ce110fc410240de423" id="r_ab0f059918bbf55ce110fc410240de423"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab0f059918bbf55ce110fc410240de423">setFrame</a> (<a class="el" href="classSteinberg_1_1IPlugFrame.html">IPlugFrame</a> *frame)=0</td></tr>
<tr class="memdesc:ab0f059918bbf55ce110fc410240de423"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets <a class="el" href="classSteinberg_1_1IPlugFrame.html" title="Callback interface passed to IPlugView.">IPlugFrame</a> object to allow the plug-in to inform the host about resizing. <br /></td></tr>
<tr class="separator:ab0f059918bbf55ce110fc410240de423"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07d7a22ae1ef493c4bb22c9411ae7ddf" id="r_a07d7a22ae1ef493c4bb22c9411ae7ddf"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a07d7a22ae1ef493c4bb22c9411ae7ddf">canResize</a> ()=0</td></tr>
<tr class="memdesc:a07d7a22ae1ef493c4bb22c9411ae7ddf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is view sizable by user. <br /></td></tr>
<tr class="separator:a07d7a22ae1ef493c4bb22c9411ae7ddf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc868253b8260f20a6764e338fecb7e1" id="r_adc868253b8260f20a6764e338fecb7e1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adc868253b8260f20a6764e338fecb7e1">checkSizeConstraint</a> (<a class="el" href="structSteinberg_1_1ViewRect.html">ViewRect</a> *rect)=0</td></tr>
<tr class="memdesc:adc868253b8260f20a6764e338fecb7e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">On live resize this is called to check if the view can be resized to the given rect, if not adjust the rect to the allowed size. <br /></td></tr>
<tr class="separator:adc868253b8260f20a6764e338fecb7e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classSteinberg_1_1FUnknown"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classSteinberg_1_1FUnknown')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSteinberg_1_1FUnknown.html">FUnknown</a></td></tr>
<tr class="memitem:a4199134d0669bfa92b7419dac14c01a7 inherit pub_methods_classSteinberg_1_1FUnknown" id="r_a4199134d0669bfa92b7419dac14c01a7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSteinberg_1_1FUnknown.html#a4199134d0669bfa92b7419dac14c01a7">queryInterface</a> (const <a class="el" href="group__pluginBase.html#ga6935af93744bfe4ecc455f274ef1ec36">TUID</a> _iid, void **obj)=0</td></tr>
<tr class="memdesc:a4199134d0669bfa92b7419dac14c01a7 inherit pub_methods_classSteinberg_1_1FUnknown"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query for a pointer to the specified interface. <br /></td></tr>
<tr class="separator:a4199134d0669bfa92b7419dac14c01a7 inherit pub_methods_classSteinberg_1_1FUnknown"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa3c5a2a5410d41153d7f5e3f4e0a635 inherit pub_methods_classSteinberg_1_1FUnknown" id="r_aaa3c5a2a5410d41153d7f5e3f4e0a635"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">uint32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSteinberg_1_1FUnknown.html#aaa3c5a2a5410d41153d7f5e3f4e0a635">addRef</a> ()=0</td></tr>
<tr class="memdesc:aaa3c5a2a5410d41153d7f5e3f4e0a635 inherit pub_methods_classSteinberg_1_1FUnknown"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a reference and returns the new reference count. <br /></td></tr>
<tr class="separator:aaa3c5a2a5410d41153d7f5e3f4e0a635 inherit pub_methods_classSteinberg_1_1FUnknown"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58847c78bf6142f01ce214c2802cb146 inherit pub_methods_classSteinberg_1_1FUnknown" id="r_a58847c78bf6142f01ce214c2802cb146"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">uint32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSteinberg_1_1FUnknown.html#a58847c78bf6142f01ce214c2802cb146">release</a> ()=0</td></tr>
<tr class="memdesc:a58847c78bf6142f01ce214c2802cb146 inherit pub_methods_classSteinberg_1_1FUnknown"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases a reference and returns the new reference count. <br /></td></tr>
<tr class="separator:a58847c78bf6142f01ce214c2802cb146 inherit pub_methods_classSteinberg_1_1FUnknown"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:ae78a44399218c930be44d3aa46521d0e" id="r_ae78a44399218c930be44d3aa46521d0e"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classSteinberg_1_1FUID.html">FUID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae78a44399218c930be44d3aa46521d0e">iid</a></td></tr>
<tr class="separator:ae78a44399218c930be44d3aa46521d0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_attribs_classSteinberg_1_1FUnknown"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_static_attribs_classSteinberg_1_1FUnknown')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="classSteinberg_1_1FUnknown.html">FUnknown</a></td></tr>
<tr class="memitem:a07978c93295b03d09c4bc97aa12e9c60 inherit pub_static_attribs_classSteinberg_1_1FUnknown" id="r_a07978c93295b03d09c4bc97aa12e9c60"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classSteinberg_1_1FUID.html">FUID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSteinberg_1_1FUnknown.html#a07978c93295b03d09c4bc97aa12e9c60">iid</a></td></tr>
<tr class="separator:a07978c93295b03d09c4bc97aa12e9c60 inherit pub_static_attribs_classSteinberg_1_1FUnknown"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Plug-in definition of a view. </p>
<ul>
<li>[plug imp]</li>
<li>[released: 3.0.0]</li>
</ul>
<dl class="section user"><dt>Coordinates</dt><dd>The coordinates utilized within the <a class="el" href="structSteinberg_1_1ViewRect.html" title="Graphical rectangle structure.">ViewRect</a> are native to the view system of the parent type. This implies that on macOS (kPlatformTypeNSView), the coordinates are expressed in logical units (independent of the screen scale factor), whereas on Windows (kPlatformTypeHWND) and <a class="el" href="namespaceSteinberg_1_1Linux.html">Linux</a> (kPlatformTypeX11EmbedWindowID), the coordinates are expressed in physical units (pixels).</dd></dl>
<dl class="section user"><dt>Sizing of a view</dt><dd>Usually, the size of a plug-in view is fixed. But both the host and the plug-in can cause a view to be resized: <br />
<ul>
<li><b>Host:</b> If <a class="el" href="#a07d7a22ae1ef493c4bb22c9411ae7ddf" title="Is view sizable by user.">IPlugView::canResize</a> () returns kResultTrue the host will set up the window so that the user can resize it. While the user resizes the window, <a class="el" href="#adc868253b8260f20a6764e338fecb7e1" title="On live resize this is called to check if the view can be resized to the given rect,...">IPlugView::checkSizeConstraint</a> () is called, allowing the plug-in to change the size to a valid a valid supported rectangle size. The host then resizes the window to this rect and has to call <a class="el" href="#a3e741e55c2c047a4cc10f102661f5654" title="Resizes the platform representation of the view to the given rect.">IPlugView::onSize</a> (). <br />
<br />
</li>
<li><b>Plug-in</b>: The plug-in can call <a class="el" href="classSteinberg_1_1IPlugFrame.html#a94f218315acd695606fff41166294d56" title="Called to inform the host about the resize of a given view.">IPlugFrame::resizeView</a> () and cause the host to resize the window.<br />
<br />
Afterwards, in the same callstack, the host has to call <a class="el" href="#a3e741e55c2c047a4cc10f102661f5654" title="Resizes the platform representation of the view to the given rect.">IPlugView::onSize</a> () if a resize is needed (size was changed). Note that if the host calls <a class="el" href="#ae4f7f751a5b75837f47ba19b29c53917" title="Returns the size of the platform representation of the view.">IPlugView::getSize</a> () before calling <a class="el" href="#a3e741e55c2c047a4cc10f102661f5654" title="Resizes the platform representation of the view to the given rect.">IPlugView::onSize</a> () (if needed), it will get the current (old) size not the wanted one!!<br />
Here the calling sequence:<br />
<ul>
<li>plug-in-&gt;host: <a class="el" href="classSteinberg_1_1IPlugFrame.html#a94f218315acd695606fff41166294d56" title="Called to inform the host about the resize of a given view.">IPlugFrame::resizeView</a> (newSize)</li>
<li>host-&gt;plug-in (optional): <a class="el" href="#ae4f7f751a5b75837f47ba19b29c53917" title="Returns the size of the platform representation of the view.">IPlugView::getSize</a> () returns the currentSize (not the newSize!)</li>
<li>host-&gt;plug-in: if newSize is different from the current size: <a class="el" href="#a3e741e55c2c047a4cc10f102661f5654" title="Resizes the platform representation of the view to the given rect.">IPlugView::onSize</a> (newSize)</li>
<li>host-&gt;plug-in (optional): <a class="el" href="#ae4f7f751a5b75837f47ba19b29c53917" title="Returns the size of the platform representation of the view.">IPlugView::getSize</a> () returns the newSize <br />
<b>Please only resize the platform representation of the view when <a class="el" href="#a3e741e55c2c047a4cc10f102661f5654" title="Resizes the platform representation of the view to the given rect.">IPlugView::onSize</a> () is called.</b></li>
</ul>
</li>
</ul>
</dd></dl>
<dl class="section user"><dt>Keyboard handling</dt><dd>The plug-in view receives keyboard events from the host. A view implementation must not handle keyboard events by the means of platform callbacks, but let the host pass them to the view. The host depends on a proper return value when <a class="el" href="#a759b576f046e699c84dc07d579600b1b" title="Handling of keyboard events : Key Down.">IPlugView::onKeyDown</a> is called, otherwise the plug-in view may cause a malfunction of the host's key command handling.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classSteinberg_1_1IPlugFrame.html" title="Callback interface passed to IPlugView.">IPlugFrame</a>, <a class="el" href="group__platformUIType.html">Platform UI Types</a> </dd></dl>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="abcfa60e135807caa316f3915622d9488" name="abcfa60e135807caa316f3915622d9488"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcfa60e135807caa316f3915622d9488">&#9670;&#160;</a></span>isPlatformTypeSupported()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> isPlatformTypeSupported </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__smtgtypedef.html#gad4c02134d1ee42389f3d94717935a1d5">FIDString</a></td> <td class="paramname"><span class="paramname"><em>type</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Is Platform UI Type supported. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">type</td><td>: IDString of <a class="el" href="group__platformUIType.html">Platform UI Types</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9fbc345c1e87f7e6210a8a49fdb96793" name="a9fbc345c1e87f7e6210a8a49fdb96793"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fbc345c1e87f7e6210a8a49fdb96793">&#9670;&#160;</a></span>attached()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> attached </td>
<td>(</td>
<td class="paramtype">void *</td> <td class="paramname"><span class="paramname"><em>parent</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__smtgtypedef.html#gad4c02134d1ee42389f3d94717935a1d5">FIDString</a></td> <td class="paramname"><span class="paramname"><em>type</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The parent window of the view has been created, the (platform) representation of the view should now be created as well. </p>
<p>Note that the parent is owned by the caller and you are not allowed to alter it in any way other than adding your own views. Note that in this call the plug-in could call a <a class="el" href="classSteinberg_1_1IPlugFrame.html#a94f218315acd695606fff41166294d56" title="Called to inform the host about the resize of a given view.">IPlugFrame::resizeView</a> ()! </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">parent</td><td>: platform handle of the parent window or view </td></tr>
<tr><td class="paramname">type</td><td>: <a class="el" href="group__platformUIType.html">Platform UI Types</a> which should be created </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad89d6c88074a716218e42805649d3591" name="ad89d6c88074a716218e42805649d3591"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad89d6c88074a716218e42805649d3591">&#9670;&#160;</a></span>removed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> removed </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The parent window of the view is about to be destroyed. </p>
<p>You have to remove all your own views from the parent window or view. </p>
</div>
</div>
<a id="a576b66ba9806bcecc3256110f5dd246a" name="a576b66ba9806bcecc3256110f5dd246a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a576b66ba9806bcecc3256110f5dd246a">&#9670;&#160;</a></span>onWheel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> onWheel </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>distance</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Handling of mouse wheel. </p>
</div>
</div>
<a id="a759b576f046e699c84dc07d579600b1b" name="a759b576f046e699c84dc07d579600b1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a759b576f046e699c84dc07d579600b1b">&#9670;&#160;</a></span>onKeyDown()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> onKeyDown </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__smtgtypedef.html#ga667a0a4e0cbcb3f3785984955e1fefd8">char16</a></td> <td class="paramname"><span class="paramname"><em>key</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__smtgtypedef.html#gaa0d0fdc87fd135ef2bedb030901cdb9c">int16</a></td> <td class="paramname"><span class="paramname"><em>keyCode</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__smtgtypedef.html#gaa0d0fdc87fd135ef2bedb030901cdb9c">int16</a></td> <td class="paramname"><span class="paramname"><em>modifiers</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Handling of keyboard events : Key Down. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>: unicode code of key </td></tr>
<tr><td class="paramname">keyCode</td><td>: virtual keycode for non ascii keys - see <a class="el" href="namespaceSteinberg.html#a9380117707cebcb5a3cd9fa8b960e22b">VirtualKeyCodes</a> in <a class="el" href="keycodes_8h.html">keycodes.h</a> </td></tr>
<tr><td class="paramname">modifiers</td><td>: any combination of modifiers - see <a class="el" href="namespaceSteinberg.html#a743f60968fa58cdae68b31a1a3eb493d">KeyModifier</a> in <a class="el" href="keycodes_8h.html">keycodes.h</a> </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kResultTrue if the key is handled, otherwise kResultFalse. <br />
<b> Please note that kResultTrue must only be returned if the key has really been handled. </b> Otherwise key command handling of the host might be blocked! </dd></dl>
</div>
</div>
<a id="ae726f4b3471ee2485a0bbb651cd35ff2" name="ae726f4b3471ee2485a0bbb651cd35ff2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae726f4b3471ee2485a0bbb651cd35ff2">&#9670;&#160;</a></span>onKeyUp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> onKeyUp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__smtgtypedef.html#ga667a0a4e0cbcb3f3785984955e1fefd8">char16</a></td> <td class="paramname"><span class="paramname"><em>key</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__smtgtypedef.html#gaa0d0fdc87fd135ef2bedb030901cdb9c">int16</a></td> <td class="paramname"><span class="paramname"><em>keyCode</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__smtgtypedef.html#gaa0d0fdc87fd135ef2bedb030901cdb9c">int16</a></td> <td class="paramname"><span class="paramname"><em>modifiers</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Handling of keyboard events : Key Up. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>: unicode code of key </td></tr>
<tr><td class="paramname">keyCode</td><td>: virtual keycode for non ascii keys - see <a class="el" href="namespaceSteinberg.html#a9380117707cebcb5a3cd9fa8b960e22b">VirtualKeyCodes</a> in <a class="el" href="keycodes_8h.html">keycodes.h</a> </td></tr>
<tr><td class="paramname">modifiers</td><td>: any combination of <a class="el" href="namespaceSteinberg.html#a743f60968fa58cdae68b31a1a3eb493d" title="OS-independent enumeration of virtual modifier-codes.">KeyModifier</a> - see <a class="el" href="namespaceSteinberg.html#a743f60968fa58cdae68b31a1a3eb493d">KeyModifier</a> in <a class="el" href="keycodes_8h.html">keycodes.h</a> </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kResultTrue if the key is handled, otherwise return kResultFalse. </dd></dl>
</div>
</div>
<a id="ae4f7f751a5b75837f47ba19b29c53917" name="ae4f7f751a5b75837f47ba19b29c53917"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4f7f751a5b75837f47ba19b29c53917">&#9670;&#160;</a></span>getSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> getSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structSteinberg_1_1ViewRect.html">ViewRect</a> *</td> <td class="paramname"><span class="paramname"><em>size</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the size of the platform representation of the view. </p>
</div>
</div>
<a id="a3e741e55c2c047a4cc10f102661f5654" name="a3e741e55c2c047a4cc10f102661f5654"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e741e55c2c047a4cc10f102661f5654">&#9670;&#160;</a></span>onSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> onSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structSteinberg_1_1ViewRect.html">ViewRect</a> *</td> <td class="paramname"><span class="paramname"><em>newSize</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Resizes the platform representation of the view to the given rect. </p>
<p>Note that if the plug-in requests a resize (<a class="el" href="classSteinberg_1_1IPlugFrame.html#a94f218315acd695606fff41166294d56" title="Called to inform the host about the resize of a given view.">IPlugFrame::resizeView</a> ()) onSize has to be called afterward. </p>
</div>
</div>
<a id="abc80a2e0d25e151cbc2fabd1bd200683" name="abc80a2e0d25e151cbc2fabd1bd200683"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc80a2e0d25e151cbc2fabd1bd200683">&#9670;&#160;</a></span>onFocus()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> onFocus </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__smtgtypedef.html#ga1ea8addd740f35d207a1569dd38ef895">TBool</a></td> <td class="paramname"><span class="paramname"><em>state</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Focus changed message. </p>
</div>
</div>
<a id="ab0f059918bbf55ce110fc410240de423" name="ab0f059918bbf55ce110fc410240de423"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0f059918bbf55ce110fc410240de423">&#9670;&#160;</a></span>setFrame()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> setFrame </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classSteinberg_1_1IPlugFrame.html">IPlugFrame</a> *</td> <td class="paramname"><span class="paramname"><em>frame</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets <a class="el" href="classSteinberg_1_1IPlugFrame.html" title="Callback interface passed to IPlugView.">IPlugFrame</a> object to allow the plug-in to inform the host about resizing. </p>
</div>
</div>
<a id="a07d7a22ae1ef493c4bb22c9411ae7ddf" name="a07d7a22ae1ef493c4bb22c9411ae7ddf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07d7a22ae1ef493c4bb22c9411ae7ddf">&#9670;&#160;</a></span>canResize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> canResize </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Is view sizable by user. </p>
</div>
</div>
<a id="adc868253b8260f20a6764e338fecb7e1" name="adc868253b8260f20a6764e338fecb7e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc868253b8260f20a6764e338fecb7e1">&#9670;&#160;</a></span>checkSizeConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> checkSizeConstraint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structSteinberg_1_1ViewRect.html">ViewRect</a> *</td> <td class="paramname"><span class="paramname"><em>rect</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>On live resize this is called to check if the view can be resized to the given rect, if not adjust the rect to the allowed size. </p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ae78a44399218c930be44d3aa46521d0e" name="ae78a44399218c930be44d3aa46521d0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae78a44399218c930be44d3aa46521d0e">&#9670;&#160;</a></span>iid</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classSteinberg_1_1FUID.html">FUID</a> iid</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<html>
<head>
<title>Empty</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Steinberg">
</head>
<body>
<br/>
<hr width="100%" size="2" align="left" />
<div align=right>
Copyright &copy;<span id="year"></span> <a href="http://www.steinberg.net" target="_blank"><u>Steinberg Media Technologies GmbH</u></a>.
All Rights Reserved. This documentation is under this <a href="http://www.steinberg.net/sdklicenses" target="_blank"><u>license</u></a>.
</div>
<script>
document.querySelector("#year").textContent = new Date().getFullYear();
</script>
</body>
</html>