monado/doc/images/out-of-proc.drawio.svg

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

416 lines
32 KiB
XML
Raw Permalink Normal View History

2022-07-15 18:47:39 +00:00
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="921px" height="828px" viewBox="-0.5 -0.5 921 828" content="&lt;mxfile&gt;&lt;diagram id=&quot;i7RjRSwkiHJf6eIeykeo&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;">
<defs>
2022-07-15 18:47:39 +00:00
<clipPath id="mx-clip-524-751-312-26-0">
<rect x="524" y="751" width="312" height="26"/>
</clipPath>
2022-07-15 18:47:39 +00:00
<clipPath id="mx-clip-524-777-312-26-0">
<rect x="524" y="777" width="312" height="26"/>
</clipPath>
2022-07-15 18:47:39 +00:00
<clipPath id="mx-clip-524-803-312-26-0">
<rect x="524" y="803" width="312" height="26"/>
</clipPath>
2022-07-15 18:47:39 +00:00
<clipPath id="mx-clip-84-751-312-26-0">
<rect x="84" y="751" width="312" height="26"/>
</clipPath>
2022-07-15 18:47:39 +00:00
<clipPath id="mx-clip-84-777-312-26-0">
<rect x="84" y="777" width="312" height="26"/>
</clipPath>
2022-07-15 18:47:39 +00:00
<clipPath id="mx-clip-84-803-312-26-0">
<rect x="84" y="803" width="312" height="26"/>
</clipPath>
</defs>
<g>
2022-07-15 18:47:39 +00:00
<path d="M 760 375 L 760 573.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 760 578.88 L 756.5 571.88 L 760 573.63 L 763.5 571.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 478px; margin-left: 760px;">
<div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">
creates
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="760" y="481" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">
creates
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<ellipse cx="760" cy="330" rx="110" ry="45" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 218px; height: 1px; padding-top: 330px; margin-left: 651px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<font face="Courier New">
xrt_instance_create
<br/>
</font>
(full implementation in targets/common/target_instance.c)
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="760" y="334" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
xrt_instance_create...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<rect x="400" y="0" width="100" height="40" fill="none" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 20px; margin-left: 450px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap;">
With XRT_FEATURE_SERVICE enabled
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="450" y="27" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="24px" text-anchor="middle" font-weight="bold">
With XRT...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<rect x="0" y="60" width="340" height="110" fill="none" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 332px; height: 1px; padding-top: 50px; margin-left: 5px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 120px; overflow: hidden;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<h1>
in libopenxr_monado.so
</h1>
<p>
This library is loaded by the OpenXR loader and provides the entry points for that API. No direct hardware access takes place (neither for rendering nor device input) - forwarded over IPC links to service module. Built in xrt/targets/openxr
</p>
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="5" y="62" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">
in libopenxr_monado.so...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<rect x="600" y="60" width="320" height="100" fill="none" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 312px; height: 1px; padding-top: 50px; margin-left: 605px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 110px; overflow: hidden;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<h1>
in monado-service
</h1>
<p>
This persistent service performs hardware interaction and exposes functionality over IPC to the runtime SO loaded in the app's process. Built in xrt/targets/service
</p>
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="605" y="62" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">
in monado-service...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<ellipse cx="160" cy="210" rx="110" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 218px; height: 1px; padding-top: 210px; margin-left: 51px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<font face="Courier New">
xrCreateInstance
</font>
<br/>
(in state_trackers/oxr/oxr_instance.c)
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="160" y="214" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
xrCreateInstance...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<ellipse cx="160" cy="330" rx="80" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 330px; margin-left: 81px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<font face="Courier New">
xrt_instance_create
</font>
<br/>
(trampoline in targets/openxr/target.c)
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="160" y="334" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
xrt_instance_create...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<path d="M 160 250 L 160 283.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 160 288.88 L 156.5 281.88 L 160 283.63 L 163.5 281.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 270px; margin-left: 160px;">
<div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">
calls
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="160" y="273" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">
calls
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<ellipse cx="160" cy="470" rx="80" ry="50" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 470px; margin-left: 81px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<font face="Courier New">
ipc_instance_create
</font>
<br/>
(in ipc/ipc_client_instance)
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="160" y="474" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
ipc_instance_create...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<path d="M 160 370 L 160 413.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 160 418.88 L 156.5 411.88 L 160 413.63 L 163.5 411.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 395px; margin-left: 160px;">
<div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">
calls
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="160" y="398" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">
calls
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<rect x="40" y="580" width="240" height="70" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 238px; height: 1px; padding-top: 615px; margin-left: 41px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<div>
<font face="Courier New">
ipc_client_instance
</font>
</div>
<div>
2022-07-15 18:47:39 +00:00
which implements
<font face="Courier New">
xrt_instance
</font>
2022-07-15 18:47:39 +00:00
with client proxy functions
</div>
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="160" y="619" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
ipc_client_instance...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<path d="M 160 520 L 160 573.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 160 578.88 L 156.5 571.88 L 160 573.63 L 163.5 571.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 550px; margin-left: 160px;">
<div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">
creates
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="160" y="553" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">
creates
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<rect x="640" y="580" width="240" height="70" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 238px; height: 1px; padding-top: 615px; margin-left: 641px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<div>
<font face="Courier New">
t_instance
</font>
</div>
<div>
2022-07-15 18:47:39 +00:00
which implements
<font face="Courier New">
xrt_instance
</font>
2022-07-15 18:47:39 +00:00
with functions that access hardware, using a prober created with all target lists
</div>
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="760" y="619" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
t_instance...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<path d="M 520 746 L 520 720 L 840 720 L 840 746" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 520 746 L 520 824 L 840 824 L 840 746" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/>
<path d="M 520 746 L 840 746" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/>
<g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" text-anchor="middle" font-size="12px">
<text x="679.5" y="737.5">
t_instance
</text>
</g>
2022-07-15 18:47:39 +00:00
<g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" clip-path="url(#mx-clip-524-751-312-26-0)" font-size="12px">
<text x="525.5" y="763.5">
create_system = t_instance_create_system
</text>
</g>
2022-07-15 18:47:39 +00:00
<g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" clip-path="url(#mx-clip-524-777-312-26-0)" font-size="12px">
<text x="525.5" y="789.5">
get_prober = t_instance_get_prober
</text>
</g>
2022-07-15 18:47:39 +00:00
<g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" clip-path="url(#mx-clip-524-803-312-26-0)" font-size="12px">
<text x="525.5" y="815.5">
destroy = t_instance_destroy
</text>
</g>
2022-07-15 18:47:39 +00:00
<path d="M 80 746 L 80 720 L 400 720 L 400 746" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/>
<path d="M 80 746 L 80 824 L 400 824 L 400 746" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/>
<path d="M 80 746 L 400 746" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/>
<g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" text-anchor="middle" font-size="12px">
<text x="239.5" y="737.5">
ipc_client_instance
</text>
</g>
2022-07-15 18:47:39 +00:00
<g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" clip-path="url(#mx-clip-84-751-312-26-0)" font-size="12px">
<text x="85.5" y="763.5">
create_system = ipc_client_instance_create_system
</text>
</g>
2022-07-15 18:47:39 +00:00
<g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" clip-path="url(#mx-clip-84-777-312-26-0)" font-size="12px">
<text x="85.5" y="789.5">
get_prober = ipc_client_instance_get_prober
</text>
</g>
2022-07-15 18:47:39 +00:00
<g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" clip-path="url(#mx-clip-84-803-312-26-0)" font-size="12px">
<text x="85.5" y="815.5">
destroy = ipc_client_instance_destroy
</text>
</g>
2022-07-15 18:47:39 +00:00
<rect x="400" y="580" width="120" height="50" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 605px; margin-left: 460px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: nowrap;">
«interface»
<br/>
<b>
xrt_instance
</b>
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="460" y="609" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
«interface»...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<path d="M 760 240 L 760 278.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/>
<path d="M 760 283.88 L 756.5 276.88 L 760 278.63 L 763.5 276.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 263px; margin-left: 760px;">
<div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; background-color: rgb(255, 255, 255); white-space: nowrap;">
calls
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="760" y="266" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">
calls
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<ellipse cx="760" cy="200" rx="85" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)">
<switch>
2022-07-15 18:47:39 +00:00
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 200px; margin-left: 676px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
<font face="Courier New">
init_all()
</font>
<br/>
(in ipc/ipc_server_process.c)
</div>
</div>
</div>
</foreignObject>
2022-07-15 18:47:39 +00:00
<text x="760" y="204" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
init_all()...
</text>
</switch>
</g>
2022-07-15 18:47:39 +00:00
<path d="M 240 720 L 240 675 L 460 675 L 460 644.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/>
<path d="M 460 631.12 L 466.5 644.12 L 453.5 644.12 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/>
<path d="M 680 720 L 680 675 L 460 675 L 460 644.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/>
<path d="M 460 631.12 L 466.5 644.12 L 453.5 644.12 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/>
</g>
<switch>
<g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>
2022-07-15 18:47:39 +00:00
<a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank">
<text text-anchor="middle" font-size="10px" x="50%" y="100%">
Viewer does not support full SVG 1.1
</text>
</a>
</switch>
</svg>