Draw object complete style set(GDK5)

From Maria GDK Wiki
Revision as of 15:54, 6 May 2025 by Ths (talk | contribs) ()
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Complete style set targeting draw object visual appearance

<?xml version="1.0" encoding="utf-8" ?>
<styleset name="Default">
  <stylecategory name="DrawObjects">
    <style><!-- Default values -->
      <valueitem name="SymbolScale" value="1.0"/>
      <valueitem name="ViewFontScale" value="1.0"/>
      <valueitem name="AlphaFactor" value="1.0"/>
      <valueitem name="ColorScheme" value="Medium"/>

      <compositeitem name="3D">
        <valueitem name="RelativeToGround" value="true"/>
      </compositeitem>

      <compositeitem name="Icon">
        <valueitem name="SymbolKeyField" value="APP6D"/>
        <valueitem name="Symbology" value="APP6D"/>
        <!--<valueitem name="Opacity" value="0.4"/>-->
        <valueitem name="ElevationOffset" value="0.0"/>
      </compositeitem>

      <compositeitem name="3DModel">
        <valueitem name="ModelScale" value="1.0" />
        <compositeitem name="TextLabel">
          <!--<valueitem name="FontName" value="Arial Black"/>-->
          <valueitem name="FontName" value="Verdana"/>
          <valueitem name="FontSize" value="14.0"/>
          <valueitem name="Color" value="255,255,255,255"/>
          <valueitem name="OutlineColor" value="0,0,0,255"/>
          <valueitem name="OutlineThickness" value="2"/>
          <!--<valueitem name="Background" value="128,127,127,127"/>-->
          <compositeitem name="LabelText1">
            <valueitem name="Fields" value="Name"/>
          </compositeitem>
        </compositeitem>
        <compositeitem name="GroundLine">
          <valueitem name="Color" value="255,255,255,255"/>
        </compositeitem>
      </compositeitem>

      <valueitem name="DefaultFontBackgroundColor" value="0,0,0,0"/>

      <valueitem name="OverrideColor" value=""/>
      <compositeitem name="Line">
        <valueitem name="Width" value="3.0" />
        <valueitem name="BeginScaleStep" value="1.0" />
        <valueitem name="EndScaleStep" value="1.0" />
      </compositeitem>

      <compositeitem name="CenterLine">
        <valueitem name="Width" value="3.0" />
      </compositeitem>
          
      <compositeitem name="DefaultFont">
        <valueitem name="Font" value="Arial" />
        <valueitem name="Size" value="12.0" />
      </compositeitem>

      <compositeitem name="SmallLabelFont">
        <valueitem name="Font" value="Arial" />
        <valueitem name="Size" value="10.0" />
      </compositeitem>

      <compositeitem name="EchelonFont">
        <valueitem name="Font" value="Arial" />
        <valueitem name="Size" value="24.0" />
      </compositeitem>

      <compositeitem name="LabelFont">
        <valueitem name="Font" value="Arial" />
        <valueitem name="Size" value="10.0" />
      </compositeitem>

      <compositeitem name="Fill">
      </compositeitem>

      <compositeitem name="Buffer">
      </compositeitem>

      <compositeitem name="Label">
        <valueitem name="Draw" value="true"/>
      </compositeitem>

      <compositeitem name="Symbol">
        <valueitem name="Size" value="100.0" factor="[ViewSymbolScale]"/>
        <valueitem name="DynamicScale" value="true" />
        <valueitem name="Grayscale" value="false" />
        <valueitem name="DropShadow" value="false"/>
        <valueitem name="DropShadowColor" value="255,255,255,255"/>
      </compositeitem>

      <compositeitem name="Unrelated">
        <valueitem name="DefaultScaleStep" value="0.1" />
      </compositeitem>
    </style><!-- Default values -->

    <!--<style>
      <fieldcondition field="GenericLabel" value="true"/>
      <compositeitem name="Label">
        <compositeitem name="LabelText">
          <valueitem name="MovableLabelId" value="1" />
          <valueitem name="FormatString" value="{Name}/{Name}" />
          <valueitem name="Position" value="Bottom" />
          <valueitem name="XOffset" value="100.0" />
          <valueitem name="YOffset" value="50.0" />
        </compositeitem>
        <compositeitem name="LabelText2">
          <valueitem name="MovableLabelId" value="2" />
          <valueitem name="FormatString" value="Name: {Name}" />
          <valueitem name="Position" value="Left" />
          <valueitem name="XOffset" value="0.0" />
          <valueitem name="YOffset" value="0.0" />
        </compositeitem>
        <compositeitem name="LabelText3">
          <valueitem name="FormatString" value="TopRight" />
          <valueitem name="Position" value="TopRight" />
          <valueitem name="XOffset" value="0.0" />
          <valueitem name="YOffset" value="0.0" />
        </compositeitem>
      </compositeitem>
    </style>-->

    <style>
      <statecondition key="Disabled" scope="PerItem" state="Active"/>
      <valueitem name="AlphaFactor" value="0.2"/>
    </style>

    <style><!-- Sample adjust alpha factor based on field value -->
      <fieldcondition field="AlphaFactor" op="Lt" value="0.8"/>
      <valueitem name="AlphaFactor" value="0.8"/>
    </style>

    <style><!-- Sample adjust alpha factor based on field value -->
      <fieldcondition field="AlphaFactor" op="Lt" value="0.5"/>
      <valueitem name="AlphaFactor" value="0.5"/>
    </style>

    <style><!-- Sample adjust alpha factor based on field value -->
      <fieldcondition field="AlphaFactor" op="Lt" value="0.3"/>
      <valueitem name="AlphaFactor" value="0.3"/>
    </style>


    <style>
      <fieldcondition field="StandardIdentity" op="In" value="Hostile,AssumedHostile,Joker,Faker,Suspect"/>
      <compositeitem name="DefaultFont">
        <valueitem name="Color" value="255,48,49,255"/>
        <valueitem name="OutlineColor" value="0,0,0,0"/>
      </compositeitem>
      <compositeitem name="Line">
        <valueitem name="Color" value="255,0,0,255"/>
        <valueitem name="ColorLight" value="255,128,128,255"/>
        <valueitem name="ColorMedium" value="255,48,49,255"/>
        <valueitem name="ColorDark" value="200,0,0,255"/>
      </compositeitem>
      <compositeitem name="Fill">
	      <valueitem name="ForegroundColor" value="255,0,0,255" factor="[AlphaFactor]"/>
	      <valueitem name="ForegroundColorLight" value="255,128,128,255" factor="[AlphaFactor]"/>
	      <valueitem name="ForegroundColorMedium" value="255,48,49,255" factor="[AlphaFactor]"/>
	      <valueitem name="ForegroundColorDark" value="200,0,0,255" factor="[AlphaFactor]"/>
      </compositeitem>
    </style>
    <style>
      <fieldcondition field="StandardIdentity" op="In" value="Unknown,Pending"/>
      <compositeitem name="DefaultFont">
        <valueitem name="Color" value="255,255,0,255"/>
        <valueitem name="OutlineColor" value="0,0,0,0"/>
      </compositeitem>
      <compositeitem name="Line">
        <valueitem name="Color" value="255,255,0,255"/>
        <valueitem name="ColorLight" value="255,255,128,255"/>
        <valueitem name="ColorMedium" value="255,255,0,255"/>
        <valueitem name="ColorDark" value="225,220,0,255"/>
      </compositeitem>
      <compositeitem name="Fill">
	      <valueitem name="ForegroundColor" value="255,255,0,255" factor="[AlphaFactor]"/>
	      <valueitem name="ForegroundColorLight" value="255,255,128,255" factor="[AlphaFactor]"/>
	      <valueitem name="ForegroundColorMedium" value="255,255,0,255" factor="[AlphaFactor]"/>
	      <valueitem name="ForegroundColorDark" value="225,220,0,255" factor="[AlphaFactor]"/>
      </compositeitem>
    </style>
    <style>
      <fieldcondition field="StandardIdentity" value="Neutral"/>
      <compositeitem name="DefaultFont">
        <valueitem name="Color" value="0,226,0,255"/>
        <valueitem name="OutlineColor" value="0,0,0,0"/>
      </compositeitem>
      <compositeitem name="Line">
        <valueitem name="Color" value="0,128,0,255"/>
        <valueitem name="ColorLight" value="170,255,170,255"/>
        <valueitem name="ColorMedium" value="0,226,0,255"/>
        <valueitem name="ColorDark" value="0,160,0,255"/>
      </compositeitem>
      <compositeitem name="Fill">
	      <valueitem name="ForegroundColor" value="0,128,0,255" factor="[AlphaFactor]"/>
	      <valueitem name="ForegroundColorLight" value="170,255,170,255" factor="[AlphaFactor]"/>
	      <valueitem name="ForegroundColorMedium" value="0,226,0,255" factor="[AlphaFactor]"/>
	      <valueitem name="ForegroundColorDark" value="0,160,0,255" factor="[AlphaFactor]"/>
      </compositeitem>
    </style>
    <style>
      <fieldcondition field="StandardIdentity" op="In" value="Friend,AssumedFriend"/>
      <compositeitem name="DefaultFont">
        <valueitem name="Color" value="0,168,220,255"/>
        <valueitem name="OutlineColor" value="0,0,0,0"/>
      </compositeitem>
      <compositeitem name="Line">
        <valueitem name="Color" value="0,0,255,255" factor="[AlphaFactor]" />
        <valueitem name="ColorLight" value="128,224,255,255" factor="[AlphaFactor]" />
        <valueitem name="ColorMedium" value="0,168,220,255" factor="[AlphaFactor]" />
        <valueitem name="ColorDark" value="0,107,140,255" factor="[AlphaFactor]" />
      </compositeitem>
      <compositeitem name="Fill">
	      <valueitem name="ForegroundColor" value="0,0,168,220,255" factor="[AlphaFactor]"/>
	      <valueitem name="ForegroundColorLight" value="128,224,255,255" factor="[AlphaFactor]"/>
	      <valueitem name="ForegroundColorMedium" value="0,168,220,255" factor="[AlphaFactor]"/>
	      <valueitem name="ForegroundColorDark" value="0,107,140,255" factor="[AlphaFactor]"/>
      </compositeitem>
    </style>

    <style>
      <fieldcondition field="TacticalStatus" value="PresentPosition" />
      <compositeitem name="Line">
        <valueitem name="DashStyle" value="Solid"/>
      </compositeitem>
    </style>

    <style>
      <fieldcondition field="TacticalStatus" op="In" value="Anticipated,OnOrder,Planned,Suspected" />
      <compositeitem name="Line">
        <valueitem name="DashStyle" value="3,3@0" />
      </compositeitem>
    </style>

    <style>
      <fieldcondition field="runtime.Disabled" value="true"/>
      <compositeitem name="Line">
        <valueitem name="Color" value="127,127,127,127" />
        <valueitem name="ColorLight"  value="127,127,127,127" />
        <valueitem name="ColorMedium"  value="127,127,127,127" />
        <valueitem name="ColorDark"  value="127,127,127,127" />
      </compositeitem>

      <compositeitem name="Symbol">
        <valueitem name="Grayscale" value="true" />
      </compositeitem>

      <compositeitem name="Fill">
        <valueitem name="ForegroundColor" value="127,127,127,127" />
        <valueitem name="ForegroundColorLight"  value="127,127,127,127" />
        <valueitem name="ForegroundColorMedium"  value="127,127,127,127" />
        <valueitem name="ForegroundColorDark"  value="127,127,127,127" />
        <valueitem name="BackgroundColor" value="127,127,127,127" />
      </compositeitem>
    </style>

    <style>
      <compositeitem name="ToolGeoDecoration">
        <valueitem name="Color" value="0,0,0,255"  />
        <valueitem name="BackgroundColor" value="255,255,255,127" />
        <valueitem name="OutlineColor" value="255,255,255,255"/>
        <valueitem name="Width" value="2.0" />
        <valueitem name="Font" value="Arial" />
        <valueitem name="Size" value="12.0" />
      </compositeitem>

      <compositeitem name="ScaleTool">
        <valueitem name="Width" value="25.0" />
        <valueitem name="Height" value="8.0" />
      </compositeitem>

      <compositeitem name="Rotate">
        <valueitem name="Color" value="212,255,212,255" />
        <valueitem name="HoverColor" value="241,255,241,255"  />
      </compositeitem>

      <compositeitem name="AddTool">
        <valueitem name="Radius" value="3.0" />
        <valueitem name="NonSelectedColor" value="212,255,212,255"  />
        <valueitem name="NonSelectedHoverColor" value="241,255,241"  />
        <valueitem name="SelectedColor" value="212,255,212,255" />
      </compositeitem>

      <compositeitem name="Tool">
        <valueitem name="LineColor" value="0,0,0,255"  />
        <valueitem name="Width" value="1.0" />
        <valueitem name="HandleRadius" value="4.0"/>
        <valueitem name="HandleDistance" value="25.0" />
      </compositeitem>

      <compositeitem name="PointSquareHandle">
        <valueitem name="NonSelectedColor" value="245,245,245,255" />
        <valueitem name="NonSelectedHoverColor" value="255,255,255,255" />
        <valueitem name="SelectedColor" value="255,255,0,255" />
        <valueitem name="SelectedHoverColor" value="255,255,225,255" />
      </compositeitem>
    </style>

    <style>
      <compositeitem name="CreationWorkflow">
        <valueitem name="Tolerance" value="30"  />
      </compositeitem>
    </style>

	  <!--<style>
		  <compositeitem name="Mark">
			  <compositeitem name="LayerSIGINT">
				  <valueitem name="DashStyle" value="Solid"/>
				  <valueitem name="Color" value="255,0,0,255"/>
				  <valueitem name="Width" value="2.0"/>
				  <valueitem name="Offset" value="5"/>
				  <valueitem name="Draw" value="true"/>
			  </compositeitem>
			  <compositeitem name="LayerIMINT">
				  <valueitem name="DashStyle" value="Dash"/>
				  <valueitem name="Color" value="0,255,0,255"/>
				  <valueitem name="Width" value="2.0"/>
				  <valueitem name="Offset" value="5"/>
				  <valueitem name="Draw" value="true"/>
			  </compositeitem>
			  <compositeitem name="LayerHUMINT">
				  <valueitem name="DashStyle" value="Dot"/>
				  <valueitem name="Color" value="255,0,255,255"/>
				  <valueitem name="Width" value="2.0"/>
				  <valueitem name="Offset" value="5"/>
				  <valueitem name="Draw" value="true"/>
			  </compositeitem>
		  </compositeitem>
	  </style>-->
    
  </stylecategory>
  <stylecategory name="DrawObjectClustering">
    <style>
      <valueitem name="MinCount" value="2"/>
      <valueitem name="CanCluster" value="true"/>
      <valueitem name="ParentFieldID" value="GroupParent"/>
      <valueitem name="BackgroundColor" value="0,128,255,100"/>
      <valueitem name="OutlineColor" value="0,0,0,150"/>
      <valueitem name="OutlineThickness" value="2"/>
      <valueitem name="OutlineColorAboveMaxCount" value="0,0,0,150"/>
      <valueitem name="OutlineThicknessAboveMaxCount" value="1"/>
      <valueitem name="BoundsBufferWidth" value="10"/>
      <valueitem name="ShowSymbolLocation" value="true"/>
      <valueitem name="SymbolLocationRadius" value="1.0"/>
      <valueitem name="SymbolLocationColor" value="0,0,0,200"/>
      <valueitem name="SymbolAsSymbolLocation" value="false"/>
      <valueitem name="FontFamilyName" value="Segoe UI"/>
      <valueitem name="FontColor" value="255,255,255,255"/>
      <valueitem name="FontOutlineColor" value="0,0,0,255"/>
      <valueitem name="FontSize" value="11"/>
      <valueitem name="ShowClusterCount" value="true"/>
      <valueitem name="ShowSymbol" value="true"/>
      <valueitem name="ShowSymbolSelection" value="false"/>
      <valueitem name="PriorityFieldID" value="Priority"/>
    </style>

    <style>
      <compositecondition op="And">
        <statecondition key="drawobject.groupclustering" scope="PerItem" state="Active"/>
        <fieldcondition field="StandardIdentity" op="In" value="Hostile,Suspect,Joker,Faker,AssumedHostile"/>
      </compositecondition>
      <valueitem name="BackgroundColorLight" value="255,128,128,100"/>
      <valueitem name="BackgroundColorMedium" value="255,48,49,100"/>
      <valueitem name="BackgroundColorDark" value="200,0,0,100"/>
    </style>

    <style>
      <compositecondition op="And">
        <statecondition key="drawobject.groupclustering" scope="PerItem" state="Active"/>
        <fieldcondition field="StandardIdentity" op="In" value="Unknown,Pending"/>
      </compositecondition>
      <valueitem name="BackgroundColorLight" value="255,255,128,100"/>
      <valueitem name="BackgroundColorMedium" value="255,255,0,100"/>
      <valueitem name="BackgroundColorDark" value="225,220,0,100"/>
    </style>

    <style>
      <compositecondition op="And">
        <statecondition key="drawobject.groupclustering" scope="PerItem" state="Active"/>
        <fieldcondition field="StandardIdentity" value="Neutral"/>
      </compositecondition>
      <valueitem name="BackgroundColorLight" value="170,255,170,100"/>
      <valueitem name="BackgroundColorMedium" value="0,226,0,100"/>
      <valueitem name="BackgroundColorDark" value="0,160,0,100"/>
    </style>

    <style>
      <compositecondition op="And">
        <statecondition key="drawobject.groupclustering" scope="PerItem" state="Active"/>
        <fieldcondition field="StandardIdentity" op="In" value="Friend,AssumedFriend"/>
      </compositecondition>
      <valueitem name="BackgroundColorLight" value="128,224,255,100"/>
      <valueitem name="BackgroundColorMedium" value="0,168,220,100"/>
      <valueitem name="BackgroundColorDark" value="0,107,140,100"/>
    </style>

    <style>
      <statecondition key="SupressCluster" scope="PerItem"/>
      <valueitem name="CanCluster" value="false"/>
    </style>
  </stylecategory>
  <stylecategory name="SelectionFan">
    <style>
	    <valueitem name="Rotate" value="false"/>
		<valueitem name="InnerFanBackgroundColor" value="255,255,255,0"/>
      <valueitem name="OuterFanBackgroundColor" value="255,255,255,200"/>
      <valueitem name="FanBackgroundColor" value="255,255,255,0"/>
      <valueitem name="EmptySymbolColor" value="200,200,200,255"/>
      <valueitem name="OuterFanOutlineColor" value="0,0,0,100"/>
      <valueitem name="OuterOutlineThickness" value="1"/>
      <valueitem name="MaxCount" value="10"/>
      <valueitem name="OutlineColor" value="0,0,0,100"/>
      <valueitem name="OutlineThickness" value="2"/>

      <compositeitem name="Selected">
        <valueitem name="Color" value="255,255,0,255"/>
        <valueitem name="Thickness" value="4.0"/>
      </compositeitem>

      <compositeitem name="Label">
        <valueitem name="FontSize" value="10"/>
        <valueitem name="FontName" value="Verdana"/>
        <valueitem name="Bold" value="false"/>
        <valueitem name="Italic" value="false"/>
        <valueitem name="Color" value="50,50,50,155"/>
        <valueitem name="Background" value="255,255,255,127"/>
        <valueitem name="Show" value="false"/>
        <valueitem name="Fields" value="Name"/>
        <valueitem name="FieldSeparator" value="-"/>
      </compositeitem>
    </style>
  </stylecategory >
  <stylecategory name="Tooltip">
    <style>
      <valueitem name="MouseHoverIsDisabled" value="false"/>
      <valueitem name="ShowDelay" value="500"/>
      <valueitem name="HideDelay" value="5000"/>
      <valueitem name="TopBackgroundColor" value="255,255,255,255"/>
      <valueitem name="BottomBackgroundColor" value="228,228,240,255"/>
      <valueitem name="OutlineColor" value="0,0,0"/>
      <valueitem name="OutlineThickness" value="1"/>
      <valueitem name="FontColor" value="0,0,0"/>
      <valueitem name="FontFamilyName" value="Segoe UI"/>
      <valueitem name="FontSize" value="10"/>
      <compositeitem name="TooltipLine1">
        <valueitem name="Label" value=""/>
        <valueitem name="Fields" value="Name"/>
        <valueitem name="FieldSeparator" value="-"/>
      </compositeitem>
    </style>
  </stylecategory >
</styleset>

Complete style set targeting draw object fields

<?xml version="1.0" encoding="utf-8" ?>
<styleset name="Default">
  <stylepropertymap>
    <mapitem name="Line.Width" target="LineWidth"/>
    <mapitem name="Line.OutlineWidth" target="LineOutlineWidth"/>
	<mapitem name="Line.OutlineColor" target="LineOutlineColor"/>
    <mapitem name="Line.Color" target="LineColor"/>
    <mapitem name="Line.DashStyle" target="LineDashStyle"/>
    <mapitem name="Line.ShowLinePointText" target="ShowLinePointText"/>
    <mapitem name="DefaultFont.Bold" target="BoldFont"/>
    <mapitem name="DefaultFont.Italic" target="ItalicFont"/>
    <mapitem name="DefaultFont.Underline" target="UnderlineFont"/>
    <mapitem name="DefaultFont.Strikethrough" target="StrikethroughFont"/>
    <mapitem name="DefaultFont.Font" target="DefaultFontName"/>
    <mapitem name="DefaultFont.Size" target="DefaultFontSize"/>
    <mapitem name="DefaultFont.Color" target="DefaultFontForegroundColor"/>
    <mapitem name="DefaultFont.BackgroundColor" target="DefaultFontBackgroundColor"/>
    <mapitem name="Fill.ForegroundColor" target="FillForegroundColor"/>
    <mapitem name="Fill.BackgroundColor" target="FillBackgroundColor"/>
    <mapitem name="Fill.Style" target="FillStyle"/>
    <mapitem name="Buffer.Width" target="BufferLineWidth"/>
    <mapitem name="Buffer.Color" target="BufferLineColor"/>
    <mapitem name="Buffer.DashStyle" target="BufferLineDashStyle"/>
    <mapitem name="Buffer.MultiWidths" target="MultiBufferLineWidths"/>
    <mapitem name="Buffer.MultiColors" target="MultiBufferLineColors"/>
    <mapitem name="Buffer.MultiDashStyles" target="MultiBufferLineDashStyles"/>
    <mapitem name="Label.Draw" target="DrawLabel"/>
    <mapitem name="Unrelated.DrawOutline" target="DrawOutline"/>
    <mapitem name="Unrelated.Smooth" target="Smooth"/>
  </stylepropertymap>
  <stylecategory name="DrawObjects"/>
</styleset>