-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtiler.drawio
1 lines (1 loc) · 14.1 KB
/
tiler.drawio
1
<mxfile host="drawio-plugin" modified="2023-05-20T07:24:43.446Z" agent="5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36" etag="ZXdM-AridZu8ZkA4E-f1" version="20.5.3" type="embed"><diagram name="Page-1" id="dzMQFw7BEKgjwZQykOoL"><mxGraphModel dx="1601" dy="734" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><object placeholders="1" c4Name="Windows" c4Type="Software System" c4Description="Operating System" label="<font style="font-size: 16px"><b>%c4Name%</b></font><div>[%c4Type%]</div><br><div><font style="font-size: 11px"><font color="#cccccc">%c4Description%</font></div>" id="e4JL7y5ZI1Ex36oB-PZj-1"><mxCell style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#8C8496;fontColor=#ffffff;align=center;arcSize=10;strokeColor=#736782;metaEdit=1;resizable=0;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];glass=0;shadow=0;" parent="1" vertex="1"><mxGeometry x="960" y="560" width="240" height="120" as="geometry"/></mxCell></object><mxCell id="e4JL7y5ZI1Ex36oB-PZj-41" value="Legend" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fontSize=16;align=left;verticalAlign=top;fillColor=none;strokeColor=none;fontColor=#4D4D4D;fontStyle=1;spacingLeft=6;spacing=0;resizable=0;" parent="1" vertex="1"><mxGeometry x="960" y="330" width="180" height="210" as="geometry"/></mxCell><mxCell id="e4JL7y5ZI1Ex36oB-PZj-42" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="e4JL7y5ZI1Ex36oB-PZj-41" vertex="1"><mxGeometry y="30" width="180" height="30" as="geometry"/></mxCell><mxCell id="e4JL7y5ZI1Ex36oB-PZj-43" value="Person" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=#1E4074;top=0;left=0;bottom=0;right=0;pointerEvents=1;fontSize=12;align=left;fontColor=#FFFFFF;gradientColor=none;spacingLeft=10;spacingRight=4;" parent="e4JL7y5ZI1Ex36oB-PZj-42" vertex="1"><mxGeometry width="180" height="30" as="geometry"><mxRectangle width="180" height="30" as="alternateBounds"/></mxGeometry></mxCell><mxCell id="e4JL7y5ZI1Ex36oB-PZj-44" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="e4JL7y5ZI1Ex36oB-PZj-41" vertex="1"><mxGeometry y="60" width="180" height="30" as="geometry"/></mxCell><mxCell id="e4JL7y5ZI1Ex36oB-PZj-45" value="Software System" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=#3162AF;top=0;left=0;bottom=0;right=0;pointerEvents=1;fontSize=12;align=left;fontColor=#FFFFFF;gradientColor=none;spacingLeft=10;spacingRight=4;" parent="e4JL7y5ZI1Ex36oB-PZj-44" vertex="1"><mxGeometry width="180" height="30" as="geometry"><mxRectangle width="180" height="30" as="alternateBounds"/></mxGeometry></mxCell><mxCell id="e4JL7y5ZI1Ex36oB-PZj-46" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="e4JL7y5ZI1Ex36oB-PZj-41" vertex="1"><mxGeometry y="90" width="180" height="30" as="geometry"/></mxCell><mxCell id="e4JL7y5ZI1Ex36oB-PZj-47" value="Container" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=#52a2d8;top=0;left=0;bottom=0;right=0;pointerEvents=1;fontSize=12;align=left;fontColor=#FFFFFF;gradientColor=none;spacingLeft=10;spacingRight=4;" parent="e4JL7y5ZI1Ex36oB-PZj-46" vertex="1"><mxGeometry width="180" height="30" as="geometry"><mxRectangle width="180" height="30" as="alternateBounds"/></mxGeometry></mxCell><mxCell id="e4JL7y5ZI1Ex36oB-PZj-48" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="e4JL7y5ZI1Ex36oB-PZj-41" vertex="1"><mxGeometry y="120" width="180" height="30" as="geometry"/></mxCell><mxCell id="e4JL7y5ZI1Ex36oB-PZj-49" value="Component" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=#7dbef2;top=0;left=0;bottom=0;right=0;pointerEvents=1;fontSize=12;align=left;fontColor=#FFFFFF;gradientColor=none;spacingLeft=10;spacingRight=4;" parent="e4JL7y5ZI1Ex36oB-PZj-48" vertex="1"><mxGeometry width="180" height="30" as="geometry"><mxRectangle width="180" height="30" as="alternateBounds"/></mxGeometry></mxCell><mxCell id="e4JL7y5ZI1Ex36oB-PZj-50" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="e4JL7y5ZI1Ex36oB-PZj-41" vertex="1"><mxGeometry y="150" width="180" height="30" as="geometry"/></mxCell><mxCell id="e4JL7y5ZI1Ex36oB-PZj-51" value="External Person" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=#6b6477;top=0;left=0;bottom=0;right=0;pointerEvents=1;fontSize=12;align=left;fontColor=#FFFFFF;gradientColor=none;spacingLeft=10;spacingRight=4;" parent="e4JL7y5ZI1Ex36oB-PZj-50" vertex="1"><mxGeometry width="180" height="30" as="geometry"><mxRectangle width="180" height="30" as="alternateBounds"/></mxGeometry></mxCell><mxCell id="e4JL7y5ZI1Ex36oB-PZj-52" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="e4JL7y5ZI1Ex36oB-PZj-41" vertex="1"><mxGeometry y="180" width="180" height="30" as="geometry"/></mxCell><mxCell id="e4JL7y5ZI1Ex36oB-PZj-53" value="External Software System" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=#8b8496;top=0;left=0;bottom=0;right=0;pointerEvents=1;fontSize=12;align=left;fontColor=#FFFFFF;gradientColor=none;spacingLeft=10;spacingRight=4;" parent="e4JL7y5ZI1Ex36oB-PZj-52" vertex="1"><mxGeometry width="180" height="30" as="geometry"><mxRectangle width="180" height="30" as="alternateBounds"/></mxGeometry></mxCell><object placeholders="1" c4Name="Window Tiler" c4Type="SystemScopeBoundary" c4Application="Software System" label="<font style="font-size: 16px"><b><div style="text-align: left">%c4Name%</div></b></font><div style="text-align: left">[%c4Application%]</div>" id="e4JL7y5ZI1Ex36oB-PZj-54"><mxCell style="rounded=1;fontSize=11;whiteSpace=wrap;html=1;dashed=1;arcSize=20;fillColor=none;strokeColor=#666666;fontColor=#333333;labelBackgroundColor=none;align=left;verticalAlign=bottom;labelBorderColor=none;spacingTop=0;spacing=10;dashPattern=8 4;metaEdit=1;rotatable=0;perimeter=rectanglePerimeter;noLabel=0;labelPadding=0;allowArrows=0;connectable=0;expand=0;recursiveResize=0;editable=1;pointerEvents=0;absoluteArcSize=1;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];" parent="1" vertex="1"><mxGeometry x="80" y="320" width="800" height="600" as="geometry"/></mxCell></object><object placeholders="1" c4Name="gh.marad.tiler.core" c4Type="Module" c4Technology="Kotlin" c4Description="Core components to describe windows and layouts. Contains pure functional tiling logic." label="<font style="font-size: 16px"><b>%c4Name%</b></font><div>[%c4Type%: %c4Technology%]</div><br><div><font style="font-size: 11px"><font color="#E6E6E6">%c4Description%</font></div>" id="2"><mxCell style="rounded=1;whiteSpace=wrap;html=1;fontSize=11;labelBackgroundColor=none;fillColor=#23A2D9;fontColor=#ffffff;align=center;arcSize=10;strokeColor=#0E7DAD;metaEdit=1;resizable=0;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];" parent="1" vertex="1"><mxGeometry x="120" y="560" width="240" height="120" as="geometry"/></mxCell></object><object placeholders="1" c4Name="gh.marad.tiler.winapi" c4Type="Module" c4Technology="Kotlin" c4Description="Abstractions over WinAPI needed for window tiling." label="<font style="font-size: 16px"><b>%c4Name%</b></font><div>[%c4Type%: %c4Technology%]</div><br><div><font style="font-size: 11px"><font color="#E6E6E6">%c4Description%</font></div>" id="3"><mxCell style="rounded=1;whiteSpace=wrap;html=1;fontSize=11;labelBackgroundColor=none;fillColor=#23A2D9;fontColor=#ffffff;align=center;arcSize=10;strokeColor=#0E7DAD;metaEdit=1;resizable=0;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];" parent="1" vertex="1"><mxGeometry x="600" y="560" width="240" height="120" as="geometry"/></mxCell></object><object placeholders="1" c4Name="gh.marad.tiler.windowstiler" c4Type="Module" c4Technology="Kotlin" c4Description="Implements tiling logic for MS Windows." label="<font style="font-size: 16px"><b>%c4Name%</b></font><div>[%c4Type%: %c4Technology%]</div><br><div><font style="font-size: 11px"><font color="#E6E6E6">%c4Description%</font></div>" id="4"><mxCell style="rounded=1;whiteSpace=wrap;html=1;fontSize=11;labelBackgroundColor=none;fillColor=#23A2D9;fontColor=#ffffff;align=center;arcSize=10;strokeColor=#0E7DAD;metaEdit=1;resizable=0;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];" parent="1" vertex="1"><mxGeometry x="360" y="360" width="240" height="120" as="geometry"/></mxCell></object><object placeholders="1" c4Type="Relationship" c4Description="uses" label="<div style="text-align: left"><div style="text-align: center"><b>%c4Description%</b></div>" id="5"><mxCell style="endArrow=blockThin;html=1;fontSize=10;fontColor=#404040;strokeWidth=1;endFill=1;strokeColor=#828282;elbow=vertical;metaEdit=1;endSize=14;startSize=14;jumpStyle=arc;jumpSize=16;rounded=0;edgeStyle=orthogonalEdgeStyle;" parent="1" source="4" target="3" edge="1"><mxGeometry width="240" relative="1" as="geometry"><mxPoint x="520" y="520" as="sourcePoint"/><mxPoint x="760" y="520" as="targetPoint"/></mxGeometry></mxCell></object><object placeholders="1" c4Type="Relationship" c4Description="uses" label="<div style="text-align: left"><div style="text-align: center"><b>%c4Description%</b></div>" id="6"><mxCell style="endArrow=blockThin;html=1;fontSize=10;fontColor=#404040;strokeWidth=1;endFill=1;strokeColor=#828282;elbow=vertical;metaEdit=1;endSize=14;startSize=14;jumpStyle=arc;jumpSize=16;rounded=0;edgeStyle=orthogonalEdgeStyle;" parent="1" source="4" target="2" edge="1"><mxGeometry width="240" relative="1" as="geometry"><mxPoint x="580" y="420" as="sourcePoint"/><mxPoint x="750" y="610" as="targetPoint"/></mxGeometry></mxCell></object><object placeholders="1" c4Type="Relationship" c4Description="uses" label="<div style="text-align: left"><div style="text-align: center"><b>%c4Description%</b></div>" id="7"><mxCell style="endArrow=blockThin;html=1;fontSize=10;fontColor=#404040;strokeWidth=1;endFill=1;strokeColor=#828282;elbow=vertical;metaEdit=1;endSize=14;startSize=14;jumpStyle=arc;jumpSize=16;rounded=0;edgeStyle=orthogonalEdgeStyle;" parent="1" source="3" target="e4JL7y5ZI1Ex36oB-PZj-1" edge="1"><mxGeometry width="240" relative="1" as="geometry"><mxPoint x="490" y="490" as="sourcePoint"/><mxPoint x="730" y="570" as="targetPoint"/></mxGeometry></mxCell></object><object placeholders="1" c4Name="gh.marad.tiler.navigation" c4Type="Module" c4Technology="Kotlin" c4Description="Implements functions to navigate around windows." label="<font style="font-size: 16px"><b>%c4Name%</b></font><div>[%c4Type%: %c4Technology%]</div><br><div><font style="font-size: 11px"><font color="#E6E6E6">%c4Description%</font></div>" id="8"><mxCell style="rounded=1;whiteSpace=wrap;html=1;fontSize=11;labelBackgroundColor=none;fillColor=#23A2D9;fontColor=#ffffff;align=center;arcSize=10;strokeColor=#0E7DAD;metaEdit=1;resizable=0;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];" vertex="1" parent="1"><mxGeometry x="600" y="760" width="240" height="120" as="geometry"/></mxCell></object><object placeholders="1" c4Type="Relationship" c4Description="uses" label="<div style="text-align: left"><div style="text-align: center"><b>%c4Description%</b></div>" id="12"><mxCell style="endArrow=blockThin;html=1;fontSize=10;fontColor=#404040;strokeWidth=1;endFill=1;strokeColor=#828282;elbow=vertical;metaEdit=1;endSize=14;startSize=14;jumpStyle=arc;jumpSize=16;rounded=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1" source="8" target="3"><mxGeometry width="240" relative="1" as="geometry"><mxPoint x="380" y="700" as="sourcePoint"/><mxPoint x="620" y="780" as="targetPoint"/></mxGeometry></mxCell></object></root></mxGraphModel></diagram></mxfile>