mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-11-26 22:01:45 +00:00
Added, all drawing modes: added "Continuous drawing" option (available in the top mode menu / Draw Grid panel for the Draw Grid mode). When enabled, drawing mode will not be switched to previously active mode after finishing drawing a shape.
Fixed, general interlace: in some cases "Show Editable Vertices in Visual Mode" top toolbar button showed up when using Doom/Hexen map formats. Fixed(?), Classic modes: probably fixed an rare issue when map element dragging was not starting when supposed to.
This commit is contained in:
parent
4666f54957
commit
9632ecd0d2
23 changed files with 787 additions and 303 deletions
|
@ -566,6 +566,10 @@ namespace CodeImp.DoomBuilder.Editing
|
|||
mousedownpos = mousepos;
|
||||
mousedownmappos = mousemappos;
|
||||
|
||||
//mxd. Looks like in some cases (very detailed maps / slow CPUs) OnMouseUp is not fired
|
||||
// This is my attempt at fixing this...
|
||||
if(e.Button == mousedragging) mousedragging = MouseButtons.None;
|
||||
|
||||
// Let the base class know
|
||||
base.OnMouseDown(e);
|
||||
}
|
||||
|
|
|
@ -2043,7 +2043,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
buttontogglefog.Visible = General.Settings.GZToolbarGZDoom && maploaded;
|
||||
buttontogglesky.Visible = General.Settings.GZToolbarGZDoom && maploaded;
|
||||
buttontoggleeventlines.Visible = General.Settings.GZToolbarGZDoom && maploaded;
|
||||
buttontogglevisualvertices.Visible = General.Settings.GZToolbarGZDoom && maploaded;
|
||||
buttontogglevisualvertices.Visible = General.Settings.GZToolbarGZDoom && maploaded && General.Map.UDMF;
|
||||
separatorgzmodes.Visible = General.Settings.GZToolbarGZDoom && maploaded;
|
||||
|
||||
//mxd. Show/hide additional panels
|
||||
|
|
|
@ -332,6 +332,12 @@
|
|||
<Compile Include="Interface\DrawGridOptionsPanel.Designer.cs">
|
||||
<DependentUpon>DrawGridOptionsPanel.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Interface\DrawLineOptionsPanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Interface\DrawLineOptionsPanel.Designer.cs">
|
||||
<DependentUpon>DrawLineOptionsPanel.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Interface\DrawRectangleOptionsPanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
|
@ -532,6 +538,9 @@
|
|||
<EmbeddedResource Include="Resources\DrawGeometryMode.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Interface\DrawLineOptionsPanel.resx">
|
||||
<DependentUpon>DrawLineOptionsPanel.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Interface\FilterSelectedThingsForm.resx">
|
||||
<DependentUpon>FilterSelectedThingsForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
@ -594,6 +603,9 @@
|
|||
<ItemGroup>
|
||||
<None Include="Resources\PlaceThings.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\Repeat.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -31,12 +31,12 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
private readonly HintLabel hintlabel;
|
||||
private Curve curve;
|
||||
private static int segmentLength = 32;
|
||||
private static int segmentlength = 32;
|
||||
private const int MIN_SEGMENT_LENGTH = 16;
|
||||
private const int MAX_SEGMENT_LENGTH = 4096; //just some arbitrary number
|
||||
|
||||
//interface
|
||||
private readonly DrawCurveOptionsPanel panel;
|
||||
// Interface
|
||||
private DrawCurveOptionsPanel panel;
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -46,10 +46,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
{
|
||||
hintlabel = new HintLabel(General.Colors.InfoLine);
|
||||
labeluseoffset = false;
|
||||
|
||||
//Options docker
|
||||
panel = new DrawCurveOptionsPanel(MIN_SEGMENT_LENGTH, MAX_SEGMENT_LENGTH);
|
||||
panel.OnValueChanged += OptionsPanelOnValueChanged;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
|
@ -102,7 +98,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
List<Vector2D> verts = new List<Vector2D>();
|
||||
for(int i = 0; i < points.Count; i++) verts.Add(points[i].pos);
|
||||
if(curp.pos != verts[verts.Count-1]) verts.Add(curp.pos);
|
||||
curve = CurveTools.CurveThroughPoints(verts, 0.5f, 0.75f, segmentLength);
|
||||
curve = CurveTools.CurveThroughPoints(verts, 0.5f, 0.75f, segmentlength);
|
||||
|
||||
// Render lines
|
||||
for(int i = 1; i < curve.Shape.Count; i++)
|
||||
|
@ -151,7 +147,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
Vector2D start = new Vector2D(mousemappos.x + (32 / renderer.Scale), mousemappos.y - (16 / renderer.Scale));
|
||||
Vector2D end = new Vector2D(mousemappos.x + (96 / renderer.Scale), mousemappos.y);
|
||||
hintlabel.Move(start, end);
|
||||
hintlabel.Text = "SEG LEN: " + segmentLength;
|
||||
hintlabel.Text = "SEG LEN: " + segmentlength;
|
||||
renderer.RenderText(hintlabel.TextLabel);
|
||||
|
||||
// Done
|
||||
|
@ -171,7 +167,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
base.OnEngage();
|
||||
|
||||
//setup settings panel
|
||||
panel.SegmentLength = segmentLength;
|
||||
panel.SegmentLength = segmentlength;
|
||||
panel.Register();
|
||||
}
|
||||
|
||||
|
@ -245,55 +241,62 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
}
|
||||
|
||||
// Make the drawing
|
||||
if(!Tools.DrawLines(verts, true, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate)) //mxd
|
||||
if(Tools.DrawLines(verts, true, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate)) //mxd
|
||||
{
|
||||
// Snap to map format accuracy
|
||||
General.Map.Map.SnapAllToAccuracy();
|
||||
|
||||
// Clear selection
|
||||
General.Map.Map.ClearAllSelected();
|
||||
|
||||
// Update cached values
|
||||
General.Map.Map.Update();
|
||||
|
||||
// Edit new sectors?
|
||||
List<Sector> newsectors = General.Map.Map.GetMarkedSectors(true);
|
||||
if(BuilderPlug.Me.EditNewSector && (newsectors.Count > 0))
|
||||
General.Interface.ShowEditSectors(newsectors);
|
||||
|
||||
// Update the used textures
|
||||
General.Map.Data.UpdateUsedTextures();
|
||||
|
||||
//mxd
|
||||
General.Map.Renderer2D.UpdateExtraFloorFlag();
|
||||
|
||||
// Map is changed
|
||||
General.Map.IsChanged = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Drawing failed
|
||||
// NOTE: I have to call this twice, because the first time only cancels this volatile mode
|
||||
General.Map.UndoRedo.WithdrawUndo();
|
||||
General.Map.UndoRedo.WithdrawUndo();
|
||||
return;
|
||||
}
|
||||
|
||||
// Snap to map format accuracy
|
||||
General.Map.Map.SnapAllToAccuracy();
|
||||
|
||||
// Clear selection
|
||||
General.Map.Map.ClearAllSelected();
|
||||
|
||||
// Update cached values
|
||||
General.Map.Map.Update();
|
||||
|
||||
// Edit new sectors?
|
||||
List<Sector> newsectors = General.Map.Map.GetMarkedSectors(true);
|
||||
if(BuilderPlug.Me.EditNewSector && (newsectors.Count > 0))
|
||||
General.Interface.ShowEditSectors(newsectors);
|
||||
|
||||
// Update the used textures
|
||||
General.Map.Data.UpdateUsedTextures();
|
||||
|
||||
//mxd
|
||||
General.Map.Renderer2D.UpdateExtraFloorFlag();
|
||||
|
||||
// Map is changed
|
||||
General.Map.IsChanged = true;
|
||||
}
|
||||
|
||||
// Done
|
||||
Cursor.Current = Cursors.Default;
|
||||
|
||||
// Return to original mode
|
||||
General.Editing.ChangeMode(General.Editing.PreviousStableMode.Name);
|
||||
}
|
||||
if(continuousdrawing)
|
||||
{
|
||||
// Reset settings
|
||||
points.Clear();
|
||||
labels.Clear();
|
||||
|
||||
public override void OnDisengage()
|
||||
{
|
||||
base.OnDisengage();
|
||||
panel.Unregister();
|
||||
// Redraw display
|
||||
General.Interface.RedrawDisplay();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Return to original mode
|
||||
General.Editing.ChangeMode(General.Editing.PreviousStableMode.Name);
|
||||
}
|
||||
}
|
||||
|
||||
private void OptionsPanelOnValueChanged(object sender, EventArgs eventArgs)
|
||||
{
|
||||
segmentLength = panel.SegmentLength;
|
||||
segmentlength = panel.SegmentLength;
|
||||
Update();
|
||||
}
|
||||
|
||||
|
@ -304,18 +307,42 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
#endregion
|
||||
|
||||
#region ================== mxd. Settings panel
|
||||
|
||||
protected override void SetupInterface()
|
||||
{
|
||||
// Add options docker
|
||||
panel = new DrawCurveOptionsPanel(MIN_SEGMENT_LENGTH, MAX_SEGMENT_LENGTH);
|
||||
panel.OnValueChanged += OptionsPanelOnValueChanged;
|
||||
panel.OnContinuousDrawingChanged += OnContinuousDrawingChanged;
|
||||
panel.ContinuousDrawing = General.Settings.ReadPluginSetting("drawcurvemode_continuousdrawing", false);
|
||||
}
|
||||
|
||||
protected override void AddInterface()
|
||||
{
|
||||
panel.Register();
|
||||
}
|
||||
|
||||
protected override void RemoveInterface()
|
||||
{
|
||||
General.Settings.WritePluginSetting("drawcurvemode_continuousdrawing", panel.ContinuousDrawing);
|
||||
panel.Unregister();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Actions
|
||||
|
||||
[BeginAction("increasesubdivlevel")]
|
||||
protected virtual void IncreaseSubdivLevel()
|
||||
{
|
||||
if(segmentLength < MAX_SEGMENT_LENGTH)
|
||||
if(segmentlength < MAX_SEGMENT_LENGTH)
|
||||
{
|
||||
int increment = Math.Max(MIN_SEGMENT_LENGTH, segmentLength / 32 * 16);
|
||||
segmentLength += increment;
|
||||
int increment = Math.Max(MIN_SEGMENT_LENGTH, segmentlength / 32 * 16);
|
||||
segmentlength += increment;
|
||||
|
||||
if(segmentLength > MAX_SEGMENT_LENGTH) segmentLength = MAX_SEGMENT_LENGTH;
|
||||
panel.SegmentLength = segmentLength;
|
||||
if(segmentlength > MAX_SEGMENT_LENGTH) segmentlength = MAX_SEGMENT_LENGTH;
|
||||
panel.SegmentLength = segmentlength;
|
||||
Update();
|
||||
}
|
||||
}
|
||||
|
@ -323,13 +350,13 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
[BeginAction("decreasesubdivlevel")]
|
||||
protected virtual void DecreaseSubdivLevel()
|
||||
{
|
||||
if(segmentLength > MIN_SEGMENT_LENGTH)
|
||||
if(segmentlength > MIN_SEGMENT_LENGTH)
|
||||
{
|
||||
int increment = Math.Max(MIN_SEGMENT_LENGTH, segmentLength / 32 * 16);
|
||||
segmentLength -= increment;
|
||||
int increment = Math.Max(MIN_SEGMENT_LENGTH, segmentlength / 32 * 16);
|
||||
segmentlength -= increment;
|
||||
|
||||
if(segmentLength < MIN_SEGMENT_LENGTH) segmentLength = MIN_SEGMENT_LENGTH;
|
||||
panel.SegmentLength = segmentLength;
|
||||
if(segmentlength < MIN_SEGMENT_LENGTH) segmentlength = MIN_SEGMENT_LENGTH;
|
||||
panel.SegmentLength = segmentlength;
|
||||
Update();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
{
|
||||
#region ================== Variables
|
||||
|
||||
//interface
|
||||
// Interface
|
||||
private DrawEllipseOptionsPanel panel;
|
||||
|
||||
#endregion
|
||||
|
@ -30,8 +30,8 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
public DrawEllipseMode()
|
||||
{
|
||||
undoName = "Ellipse draw";
|
||||
shapeName = "ellipse";
|
||||
undoname = "Ellipse draw";
|
||||
shapename = "ellipse";
|
||||
usefourcardinaldirections = true;
|
||||
}
|
||||
|
||||
|
@ -41,27 +41,30 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
override protected void SetupInterface()
|
||||
{
|
||||
maxSubdivisions = 512;
|
||||
minSubdivisions = 6;
|
||||
maxsubdivisions = 512;
|
||||
minsubdivisions = 6;
|
||||
|
||||
//Add options docker
|
||||
panel = new DrawEllipseOptionsPanel();
|
||||
panel.MaxSubdivisions = maxSubdivisions;
|
||||
panel.MinSubdivisions = minSubdivisions;
|
||||
panel.MaxSubdivisions = maxsubdivisions;
|
||||
panel.MinSubdivisions = minsubdivisions;
|
||||
panel.MinSpikiness = (int)General.Map.FormatInterface.MinCoordinate;
|
||||
panel.MaxSpikiness = (int)General.Map.FormatInterface.MaxCoordinate;
|
||||
panel.OnValueChanged += OptionsPanelOnValueChanged;
|
||||
panel.OnContinuousDrawingChanged += OnContinuousDrawingChanged;
|
||||
panel.ContinuousDrawing = General.Settings.ReadPluginSetting("drawellipsemode_continuousdrawing", false);
|
||||
}
|
||||
|
||||
override protected void AddInterface()
|
||||
{
|
||||
panel.Register();
|
||||
bevelWidth = panel.Spikiness;
|
||||
bevelwidth = panel.Spikiness;
|
||||
subdivisions = panel.Subdivisions;
|
||||
}
|
||||
|
||||
override protected void RemoveInterface()
|
||||
{
|
||||
General.Settings.WritePluginSetting("drawellipsemode_continuousdrawing", panel.ContinuousDrawing);
|
||||
panel.Unregister();
|
||||
}
|
||||
|
||||
|
@ -78,13 +81,13 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
if(pEnd.x == pStart.x || pEnd.y == pStart.y) return new[] { pStart, pEnd };
|
||||
|
||||
//got shape
|
||||
if(bevelWidth < 0)
|
||||
if(bevelwidth < 0)
|
||||
{
|
||||
currentBevelWidth = -Math.Min(Math.Abs(bevelWidth), Math.Min(width, height) / 2) + 1;
|
||||
currentbevelwidth = -Math.Min(Math.Abs(bevelwidth), Math.Min(width, height) / 2) + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
currentBevelWidth = bevelWidth;
|
||||
currentbevelwidth = bevelwidth;
|
||||
}
|
||||
|
||||
Vector2D[] shape = new Vector2D[subdivisions + 1];
|
||||
|
@ -102,8 +105,8 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
int px, py;
|
||||
if(doBevel)
|
||||
{
|
||||
px = (int)(center.x - (float)Math.Sin(curAngle) * (hw + currentBevelWidth));
|
||||
py = (int)(center.y - (float)Math.Cos(curAngle) * (hh + currentBevelWidth));
|
||||
px = (int)(center.x - (float)Math.Sin(curAngle) * (hw + currentbevelwidth));
|
||||
py = (int)(center.y - (float)Math.Cos(curAngle) * (hh + currentbevelwidth));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -121,7 +124,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
protected override string GetHintText()
|
||||
{
|
||||
return "BVL: " + bevelWidth + "; VERTS: " + subdivisions;
|
||||
return "BVL: " + bevelwidth + "; VERTS: " + subdivisions;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -130,8 +133,8 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
private void OptionsPanelOnValueChanged(object sender, EventArgs eventArgs)
|
||||
{
|
||||
bevelWidth = panel.Spikiness;
|
||||
subdivisions = Math.Min(maxSubdivisions, panel.Subdivisions);
|
||||
bevelwidth = panel.Spikiness;
|
||||
subdivisions = Math.Min(maxsubdivisions, panel.Subdivisions);
|
||||
Update();
|
||||
}
|
||||
|
||||
|
@ -146,7 +149,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
override protected void IncreaseSubdivLevel()
|
||||
{
|
||||
if(maxSubdivisions - subdivisions > 1)
|
||||
if(maxsubdivisions - subdivisions > 1)
|
||||
{
|
||||
subdivisions += 2;
|
||||
panel.Subdivisions = subdivisions;
|
||||
|
@ -156,7 +159,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
override protected void DecreaseSubdivLevel()
|
||||
{
|
||||
if(subdivisions - minSubdivisions > 1)
|
||||
if(subdivisions - minsubdivisions > 1)
|
||||
{
|
||||
subdivisions -= 2;
|
||||
panel.Subdivisions = subdivisions;
|
||||
|
@ -166,20 +169,20 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
protected override void IncreaseBevel()
|
||||
{
|
||||
if(points.Count < 2 || currentBevelWidth == bevelWidth || bevelWidth < 0)
|
||||
if(points.Count < 2 || currentbevelwidth == bevelwidth || bevelwidth < 0)
|
||||
{
|
||||
bevelWidth = Math.Min(bevelWidth + General.Map.Grid.GridSize, panel.MaxSpikiness);
|
||||
panel.Spikiness = bevelWidth;
|
||||
bevelwidth = Math.Min(bevelwidth + General.Map.Grid.GridSize, panel.MaxSpikiness);
|
||||
panel.Spikiness = bevelwidth;
|
||||
Update();
|
||||
}
|
||||
}
|
||||
|
||||
protected override void DecreaseBevel()
|
||||
{
|
||||
if(bevelWidth > 0 || currentBevelWidth <= bevelWidth + 1)
|
||||
if(bevelwidth > 0 || currentbevelwidth <= bevelwidth + 1)
|
||||
{
|
||||
bevelWidth = Math.Max(bevelWidth - General.Map.Grid.GridSize, panel.MinSpikiness);
|
||||
panel.Spikiness = bevelWidth;
|
||||
bevelwidth = Math.Max(bevelwidth - General.Map.Grid.GridSize, panel.MinSpikiness);
|
||||
panel.Spikiness = bevelwidth;
|
||||
Update();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,11 +65,15 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
protected bool snaptonearest; // CTRL to enable
|
||||
protected bool snaptocardinaldirection; //mxd. ALT-SHIFT to enable
|
||||
protected static bool usefourcardinaldirections;
|
||||
protected bool continuousdrawing; //mxd. Restart after finishing drawing?
|
||||
|
||||
//mxd. Labels display style
|
||||
protected bool labelshowangle = true;
|
||||
protected bool labeluseoffset = true;
|
||||
|
||||
//mxd. Interface
|
||||
private DrawLineOptionsPanel panel;
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Properties
|
||||
|
@ -89,6 +93,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
General.Map.Map.ClearAllSelected();
|
||||
General.Map.Map.ClearAllMarks(false);
|
||||
|
||||
//mxd
|
||||
SetupInterface();
|
||||
|
||||
// We have no destructor
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
@ -446,6 +453,29 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
#endregion
|
||||
|
||||
#region ================== mxd. Settings panel
|
||||
|
||||
protected virtual void SetupInterface()
|
||||
{
|
||||
//Add options docker
|
||||
panel = new DrawLineOptionsPanel();
|
||||
panel.OnContinuousDrawingChanged += OnContinuousDrawingChanged;
|
||||
panel.ContinuousDrawing = General.Settings.ReadPluginSetting("drawlinesmode_continuousdrawing", false);
|
||||
}
|
||||
|
||||
protected virtual void AddInterface()
|
||||
{
|
||||
panel.Register();
|
||||
}
|
||||
|
||||
protected virtual void RemoveInterface()
|
||||
{
|
||||
General.Settings.WritePluginSetting("drawlinesmode_continuousdrawing", panel.ContinuousDrawing);
|
||||
panel.Unregister();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Events
|
||||
|
||||
public override void OnHelp()
|
||||
|
@ -458,6 +488,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
{
|
||||
base.OnEngage();
|
||||
EnableAutoPanning();
|
||||
AddInterface(); //mxd
|
||||
renderer.SetPresentation(Presentation.Standard);
|
||||
|
||||
// Set cursor
|
||||
|
@ -467,6 +498,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
// Disengaging
|
||||
public override void OnDisengage()
|
||||
{
|
||||
RemoveInterface(); //mxd
|
||||
base.OnDisengage();
|
||||
DisableAutoPanning();
|
||||
}
|
||||
|
@ -474,6 +506,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
// Cancelled
|
||||
public override void OnCancel()
|
||||
{
|
||||
//mxd. Cannot leave this way when continuous drawing is enabled
|
||||
if(continuousdrawing) return;
|
||||
|
||||
// Cancel base class
|
||||
base.OnCancel();
|
||||
|
||||
|
@ -505,44 +540,57 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
General.Interface.DisplayStatus(StatusType.Action, "Created " + a + word + " drawing.");
|
||||
|
||||
// Make the drawing
|
||||
if(!Tools.DrawLines(points, true, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate)) //mxd
|
||||
if(Tools.DrawLines(points, true, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate)) //mxd
|
||||
{
|
||||
// Snap to map format accuracy
|
||||
General.Map.Map.SnapAllToAccuracy();
|
||||
|
||||
// Clear selection
|
||||
General.Map.Map.ClearAllSelected();
|
||||
|
||||
// Update cached values
|
||||
General.Map.Map.Update();
|
||||
|
||||
// Edit new sectors?
|
||||
List<Sector> newsectors = General.Map.Map.GetMarkedSectors(true);
|
||||
if(BuilderPlug.Me.EditNewSector && (newsectors.Count > 0))
|
||||
General.Interface.ShowEditSectors(newsectors);
|
||||
|
||||
// Update the used textures
|
||||
General.Map.Data.UpdateUsedTextures();
|
||||
|
||||
//mxd
|
||||
General.Map.Renderer2D.UpdateExtraFloorFlag();
|
||||
|
||||
// Map is changed
|
||||
General.Map.IsChanged = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Drawing failed
|
||||
// NOTE: I have to call this twice, because the first time only cancels this volatile mode
|
||||
General.Map.UndoRedo.WithdrawUndo();
|
||||
General.Map.UndoRedo.WithdrawUndo();
|
||||
return;
|
||||
}
|
||||
|
||||
// Snap to map format accuracy
|
||||
General.Map.Map.SnapAllToAccuracy();
|
||||
|
||||
// Clear selection
|
||||
General.Map.Map.ClearAllSelected();
|
||||
|
||||
// Update cached values
|
||||
General.Map.Map.Update();
|
||||
|
||||
// Edit new sectors?
|
||||
List<Sector> newsectors = General.Map.Map.GetMarkedSectors(true);
|
||||
if(BuilderPlug.Me.EditNewSector && (newsectors.Count > 0))
|
||||
General.Interface.ShowEditSectors(newsectors);
|
||||
|
||||
// Update the used textures
|
||||
General.Map.Data.UpdateUsedTextures();
|
||||
|
||||
//mxd
|
||||
General.Map.Renderer2D.UpdateExtraFloorFlag();
|
||||
|
||||
// Map is changed
|
||||
General.Map.IsChanged = true;
|
||||
}
|
||||
|
||||
// Done
|
||||
Cursor.Current = Cursors.Default;
|
||||
|
||||
// Return to original mode
|
||||
General.Editing.ChangeMode(General.Editing.PreviousStableMode.Name);
|
||||
if(continuousdrawing)
|
||||
{
|
||||
//mxd. Reset settings
|
||||
points.Clear();
|
||||
labels.Clear();
|
||||
|
||||
//mxd. Redraw display
|
||||
General.Interface.RedrawDisplay();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Return to original mode
|
||||
General.Editing.ChangeMode(General.Editing.PreviousStableMode.Name);
|
||||
}
|
||||
}
|
||||
|
||||
// This redraws the display
|
||||
|
@ -595,6 +643,12 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
(snaptocardinaldirection != (General.Interface.AltState && General.Interface.ShiftState))) Update();
|
||||
}
|
||||
|
||||
//mxd
|
||||
protected void OnContinuousDrawingChanged(object value, EventArgs e)
|
||||
{
|
||||
continuousdrawing = (bool)value;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Actions
|
||||
|
|
|
@ -65,40 +65,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
#region ================== Events
|
||||
|
||||
public override void OnEngage()
|
||||
{
|
||||
base.OnEngage();
|
||||
|
||||
// Create and setup settings panel
|
||||
panel = new DrawGridOptionsPanel();
|
||||
panel.MaxHorizontalSlices = (int)General.Map.FormatInterface.MaxCoordinate;
|
||||
panel.MaxVerticalSlices = (int) General.Map.FormatInterface.MaxCoordinate;
|
||||
panel.Triangulate = triangulate;
|
||||
panel.LockToGrid = gridlock;
|
||||
panel.HorizontalSlices = horizontalSlices - 1;
|
||||
panel.VerticalSlices = verticalSlices - 1;
|
||||
panel.HorizontalInterpolationMode = horizontalinterpolation;
|
||||
panel.VerticalInterpolationMode = verticalinterpolation;
|
||||
|
||||
panel.OnValueChanged += OptionsPanelOnValueChanged;
|
||||
panel.OnGridLockChanged += OptionsPanelOnOnGridLockChanged;
|
||||
|
||||
// Add docker
|
||||
docker = new Docker("drawgrid", "Draw Grid", panel);
|
||||
General.Interface.AddDocker(docker);
|
||||
General.Interface.SelectDocker(docker);
|
||||
}
|
||||
|
||||
public override void OnDisengage()
|
||||
{
|
||||
base.OnDisengage();
|
||||
|
||||
// Remove docker
|
||||
General.Interface.RemoveDocker(docker);
|
||||
panel.Dispose();
|
||||
panel = null;
|
||||
}
|
||||
|
||||
override public void OnAccept()
|
||||
{
|
||||
Cursor.Current = Cursors.AppStarting;
|
||||
|
@ -120,46 +86,59 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
List<Sector> newsectors = new List<Sector>();
|
||||
foreach(DrawnVertex[] shape in gridpoints)
|
||||
{
|
||||
if(!Tools.DrawLines(shape, true, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate))
|
||||
if(Tools.DrawLines(shape, true, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate))
|
||||
{
|
||||
// Update cached values after each step...
|
||||
General.Map.Map.Update();
|
||||
|
||||
newsectors.AddRange(General.Map.Map.GetMarkedSectors(true));
|
||||
|
||||
// Snap to map format accuracy
|
||||
General.Map.Map.SnapAllToAccuracy();
|
||||
|
||||
// Clear selection
|
||||
General.Map.Map.ClearAllSelected();
|
||||
|
||||
// Edit new sectors?
|
||||
if(BuilderPlug.Me.EditNewSector && (newsectors.Count > 0))
|
||||
General.Interface.ShowEditSectors(newsectors);
|
||||
|
||||
// Update the used textures
|
||||
General.Map.Data.UpdateUsedTextures();
|
||||
|
||||
//mxd
|
||||
General.Map.Renderer2D.UpdateExtraFloorFlag();
|
||||
|
||||
// Map is changed
|
||||
General.Map.IsChanged = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Drawing failed
|
||||
// NOTE: I have to call this twice, because the first time only cancels this volatile mode
|
||||
General.Map.UndoRedo.WithdrawUndo();
|
||||
General.Map.UndoRedo.WithdrawUndo();
|
||||
return;
|
||||
}
|
||||
|
||||
// Update cached values after each step...
|
||||
General.Map.Map.Update();
|
||||
|
||||
newsectors.AddRange(General.Map.Map.GetMarkedSectors(true));
|
||||
}
|
||||
|
||||
// Snap to map format accuracy
|
||||
General.Map.Map.SnapAllToAccuracy();
|
||||
|
||||
// Clear selection
|
||||
General.Map.Map.ClearAllSelected();
|
||||
|
||||
// Edit new sectors?
|
||||
if(BuilderPlug.Me.EditNewSector && (newsectors.Count > 0))
|
||||
General.Interface.ShowEditSectors(newsectors);
|
||||
|
||||
// Update the used textures
|
||||
General.Map.Data.UpdateUsedTextures();
|
||||
|
||||
//mxd
|
||||
General.Map.Renderer2D.UpdateExtraFloorFlag();
|
||||
|
||||
// Map is changed
|
||||
General.Map.IsChanged = true;
|
||||
}
|
||||
|
||||
// Done
|
||||
Cursor.Current = Cursors.Default;
|
||||
|
||||
// Return to original mode
|
||||
General.Editing.ChangeMode(General.Editing.PreviousStableMode.Name);
|
||||
if(continuousdrawing)
|
||||
{
|
||||
// Reset settings
|
||||
points.Clear();
|
||||
labels.Clear();
|
||||
|
||||
// Redraw display
|
||||
General.Interface.RedrawDisplay();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Return to original mode
|
||||
General.Editing.ChangeMode(General.Editing.PreviousStableMode.Name);
|
||||
}
|
||||
}
|
||||
|
||||
private void OptionsPanelOnValueChanged(object sender, EventArgs eventArgs)
|
||||
|
@ -473,6 +452,48 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
#endregion
|
||||
|
||||
#region ================== Settings panel
|
||||
|
||||
protected override void SetupInterface()
|
||||
{
|
||||
// Create and setup settings panel
|
||||
panel = new DrawGridOptionsPanel();
|
||||
panel.MaxHorizontalSlices = (int)General.Map.FormatInterface.MaxCoordinate;
|
||||
panel.MaxVerticalSlices = (int)General.Map.FormatInterface.MaxCoordinate;
|
||||
panel.Triangulate = triangulate;
|
||||
panel.LockToGrid = gridlock;
|
||||
panel.HorizontalSlices = horizontalSlices - 1;
|
||||
panel.VerticalSlices = verticalSlices - 1;
|
||||
panel.HorizontalInterpolationMode = horizontalinterpolation;
|
||||
panel.VerticalInterpolationMode = verticalinterpolation;
|
||||
|
||||
panel.OnValueChanged += OptionsPanelOnValueChanged;
|
||||
panel.OnGridLockChanged += OptionsPanelOnOnGridLockChanged;
|
||||
panel.OnContinuousDrawingChanged += OnContinuousDrawingChanged;
|
||||
|
||||
panel.ContinuousDrawing = General.Settings.ReadPluginSetting("drawgridmode_continuousdrawing", false);
|
||||
}
|
||||
|
||||
protected override void AddInterface()
|
||||
{
|
||||
// Add docker
|
||||
docker = new Docker("drawgrid", "Draw Grid", panel);
|
||||
General.Interface.AddDocker(docker);
|
||||
General.Interface.SelectDocker(docker);
|
||||
}
|
||||
|
||||
protected override void RemoveInterface()
|
||||
{
|
||||
General.Settings.WritePluginSetting("drawgridmode_continuousdrawing", panel.ContinuousDrawing);
|
||||
|
||||
// Remove docker
|
||||
General.Interface.RemoveDocker(docker);
|
||||
panel.Dispose();
|
||||
panel = null;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Actions
|
||||
|
||||
[BeginAction("increasebevel")]
|
||||
|
|
|
@ -30,22 +30,22 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
#region ================== Variables
|
||||
|
||||
protected HintLabel hintlabel;
|
||||
protected int bevelWidth;
|
||||
protected int currentBevelWidth;
|
||||
protected int bevelwidth;
|
||||
protected int currentbevelwidth;
|
||||
protected int subdivisions;
|
||||
|
||||
protected int maxSubdivisions;
|
||||
protected int minSubdivisions;
|
||||
protected int maxsubdivisions;
|
||||
protected int minsubdivisions;
|
||||
|
||||
protected string undoName = "Rectangle draw";
|
||||
protected string shapeName = "rectangle";
|
||||
protected string undoname = "Rectangle draw";
|
||||
protected string shapename = "rectangle";
|
||||
|
||||
protected Vector2D start;
|
||||
protected Vector2D end;
|
||||
protected int width;
|
||||
protected int height;
|
||||
|
||||
//interface
|
||||
// Interface
|
||||
private DrawRectangleOptionsPanel panel;
|
||||
|
||||
#endregion
|
||||
|
@ -56,7 +56,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
{
|
||||
snaptogrid = true;
|
||||
usefourcardinaldirections = true;
|
||||
SetupInterface();
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
|
@ -76,28 +75,31 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
#region ================== Settings panel
|
||||
|
||||
protected virtual void SetupInterface()
|
||||
protected override void SetupInterface()
|
||||
{
|
||||
maxSubdivisions = 16;
|
||||
maxsubdivisions = 16;
|
||||
|
||||
//Add options docker
|
||||
panel = new DrawRectangleOptionsPanel();
|
||||
panel.MaxSubdivisions = maxSubdivisions;
|
||||
panel.MinSubdivisions = minSubdivisions;
|
||||
panel.MaxSubdivisions = maxsubdivisions;
|
||||
panel.MinSubdivisions = minsubdivisions;
|
||||
panel.MaxBevelWidth = (int)General.Map.FormatInterface.MaxCoordinate;
|
||||
panel.MinBevelWidth = (int)General.Map.FormatInterface.MinCoordinate;
|
||||
panel.OnValueChanged += OptionsPanelOnValueChanged;
|
||||
panel.OnContinuousDrawingChanged += OnContinuousDrawingChanged;
|
||||
panel.ContinuousDrawing = General.Settings.ReadPluginSetting("drawrectanglemode_continuousdrawing", false);
|
||||
}
|
||||
|
||||
protected virtual void AddInterface()
|
||||
protected override void AddInterface()
|
||||
{
|
||||
panel.Register();
|
||||
bevelWidth = panel.BevelWidth;
|
||||
bevelwidth = panel.BevelWidth;
|
||||
subdivisions = panel.Subdivisions;
|
||||
}
|
||||
|
||||
protected virtual void RemoveInterface()
|
||||
protected override void RemoveInterface()
|
||||
{
|
||||
General.Settings.WritePluginSetting("drawrectanglemode_continuousdrawing", panel.ContinuousDrawing);
|
||||
panel.Unregister();
|
||||
}
|
||||
|
||||
|
@ -178,47 +180,47 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
//no shape
|
||||
if(pStart == pEnd)
|
||||
{
|
||||
currentBevelWidth = 0;
|
||||
currentbevelwidth = 0;
|
||||
return new Vector2D[0];
|
||||
}
|
||||
|
||||
//line
|
||||
if(pEnd.x == pStart.x || pEnd.y == pStart.y)
|
||||
{
|
||||
currentBevelWidth = 0;
|
||||
currentbevelwidth = 0;
|
||||
return new[] { pStart, pEnd };
|
||||
}
|
||||
|
||||
//no corners
|
||||
if(bevelWidth == 0)
|
||||
if(bevelwidth == 0)
|
||||
{
|
||||
currentBevelWidth = 0;
|
||||
currentbevelwidth = 0;
|
||||
return new[] { pStart, new Vector2D((int)pStart.x, (int)pEnd.y), pEnd, new Vector2D((int)pEnd.x, (int)pStart.y), pStart };
|
||||
}
|
||||
|
||||
//got corners. TODO: check point order
|
||||
bool reverse = false;
|
||||
currentBevelWidth = Math.Min(Math.Abs(bevelWidth), Math.Min(width, height) / 2);
|
||||
currentbevelwidth = Math.Min(Math.Abs(bevelwidth), Math.Min(width, height) / 2);
|
||||
|
||||
if(bevelWidth < 0)
|
||||
if(bevelwidth < 0)
|
||||
{
|
||||
currentBevelWidth *= -1;
|
||||
currentbevelwidth *= -1;
|
||||
reverse = true;
|
||||
}
|
||||
|
||||
List<Vector2D> shape = new List<Vector2D>();
|
||||
|
||||
//top-left corner
|
||||
shape.AddRange(GetCornerPoints(pStart, currentBevelWidth, currentBevelWidth, !reverse));
|
||||
shape.AddRange(GetCornerPoints(pStart, currentbevelwidth, currentbevelwidth, !reverse));
|
||||
|
||||
//top-right corner
|
||||
shape.AddRange(GetCornerPoints(new Vector2D(pEnd.x, pStart.y), -currentBevelWidth, currentBevelWidth, reverse));
|
||||
shape.AddRange(GetCornerPoints(new Vector2D(pEnd.x, pStart.y), -currentbevelwidth, currentbevelwidth, reverse));
|
||||
|
||||
//bottom-right corner
|
||||
shape.AddRange(GetCornerPoints(pEnd, -currentBevelWidth, -currentBevelWidth, !reverse));
|
||||
shape.AddRange(GetCornerPoints(pEnd, -currentbevelwidth, -currentbevelwidth, !reverse));
|
||||
|
||||
//bottom-left corner
|
||||
shape.AddRange(GetCornerPoints(new Vector2D(pStart.x, pEnd.y), currentBevelWidth, -currentBevelWidth, reverse));
|
||||
shape.AddRange(GetCornerPoints(new Vector2D(pStart.x, pEnd.y), currentbevelwidth, -currentbevelwidth, reverse));
|
||||
|
||||
//closing point
|
||||
shape.Add(shape[0]);
|
||||
|
@ -229,7 +231,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
private Vector2D[] GetCornerPoints(Vector2D startPoint, int bevel_width, int bevel_height, bool reverse)
|
||||
{
|
||||
Vector2D[] points;
|
||||
Vector2D center = (bevelWidth > 0 ? new Vector2D(startPoint.x + bevel_width, startPoint.y + bevel_height) : startPoint);
|
||||
Vector2D center = (bevelwidth > 0 ? new Vector2D(startPoint.x + bevel_width, startPoint.y + bevel_height) : startPoint);
|
||||
float curAngle = Angle2D.PI;
|
||||
|
||||
int steps = subdivisions + 2;
|
||||
|
@ -248,7 +250,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
protected virtual string GetHintText()
|
||||
{
|
||||
return "BVL: " + bevelWidth + "; SUB: " + subdivisions;
|
||||
return "BVL: " + bevelwidth + "; SUB: " + subdivisions;
|
||||
}
|
||||
|
||||
//update top-left and bottom-right points, which define drawing shape
|
||||
|
@ -331,18 +333,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
#region ================== Events
|
||||
|
||||
public override void OnEngage()
|
||||
{
|
||||
base.OnEngage();
|
||||
AddInterface();
|
||||
}
|
||||
|
||||
public override void OnDisengage()
|
||||
{
|
||||
RemoveInterface();
|
||||
base.OnDisengage();
|
||||
}
|
||||
|
||||
override public void OnAccept()
|
||||
{
|
||||
Cursor.Current = Cursors.AppStarting;
|
||||
|
@ -352,54 +342,67 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
if(points.Count > 4 || points.Count == 2)
|
||||
{
|
||||
// Make undo for the draw
|
||||
General.Map.UndoRedo.CreateUndo(undoName);
|
||||
General.Map.UndoRedo.CreateUndo(undoname);
|
||||
|
||||
// Make an analysis and show info
|
||||
string[] adjectives = new[] { "gloomy", "sad", "unhappy", "lonely", "troubled", "depressed", "heartsick", "glum", "pessimistic", "bitter", "downcast" }; // aaand my english vocabulary ends here :)
|
||||
string word = adjectives[new Random().Next(adjectives.Length - 1)];
|
||||
string a = (word[0] == 'u' ? "an " : "a ");
|
||||
|
||||
General.Interface.DisplayStatus(StatusType.Action, "Created " + a + word + " " + shapeName + ".");
|
||||
General.Interface.DisplayStatus(StatusType.Action, "Created " + a + word + " " + shapename + ".");
|
||||
|
||||
// Make the drawing
|
||||
if(!Tools.DrawLines(points, true, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate))
|
||||
if(Tools.DrawLines(points, true, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate))
|
||||
{
|
||||
// Snap to map format accuracy
|
||||
General.Map.Map.SnapAllToAccuracy();
|
||||
|
||||
// Clear selection
|
||||
General.Map.Map.ClearAllSelected();
|
||||
|
||||
// Update cached values
|
||||
General.Map.Map.Update();
|
||||
|
||||
// Edit new sectors?
|
||||
List<Sector> newsectors = General.Map.Map.GetMarkedSectors(true);
|
||||
if(BuilderPlug.Me.EditNewSector && (newsectors.Count > 0))
|
||||
General.Interface.ShowEditSectors(newsectors);
|
||||
|
||||
// Update the used textures
|
||||
General.Map.Data.UpdateUsedTextures();
|
||||
|
||||
//mxd
|
||||
General.Map.Renderer2D.UpdateExtraFloorFlag();
|
||||
|
||||
// Map is changed
|
||||
General.Map.IsChanged = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Drawing failed
|
||||
// NOTE: I have to call this twice, because the first time only cancels this volatile mode
|
||||
General.Map.UndoRedo.WithdrawUndo();
|
||||
General.Map.UndoRedo.WithdrawUndo();
|
||||
return;
|
||||
}
|
||||
|
||||
// Snap to map format accuracy
|
||||
General.Map.Map.SnapAllToAccuracy();
|
||||
|
||||
// Clear selection
|
||||
General.Map.Map.ClearAllSelected();
|
||||
|
||||
// Update cached values
|
||||
General.Map.Map.Update();
|
||||
|
||||
// Edit new sectors?
|
||||
List<Sector> newsectors = General.Map.Map.GetMarkedSectors(true);
|
||||
if(BuilderPlug.Me.EditNewSector && (newsectors.Count > 0))
|
||||
General.Interface.ShowEditSectors(newsectors);
|
||||
|
||||
// Update the used textures
|
||||
General.Map.Data.UpdateUsedTextures();
|
||||
|
||||
//mxd
|
||||
General.Map.Renderer2D.UpdateExtraFloorFlag();
|
||||
|
||||
// Map is changed
|
||||
General.Map.IsChanged = true;
|
||||
}
|
||||
|
||||
// Done
|
||||
Cursor.Current = Cursors.Default;
|
||||
|
||||
// Return to original mode
|
||||
General.Editing.ChangeMode(General.Editing.PreviousStableMode.Name);
|
||||
if(continuousdrawing)
|
||||
{
|
||||
// Reset settings
|
||||
points.Clear();
|
||||
labels.Clear();
|
||||
|
||||
// Redraw display
|
||||
General.Interface.RedrawDisplay();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Return to original mode
|
||||
General.Editing.ChangeMode(General.Editing.PreviousStableMode.Name);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnHelp()
|
||||
|
@ -409,7 +412,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
private void OptionsPanelOnValueChanged(object sender, EventArgs eventArgs)
|
||||
{
|
||||
bevelWidth = panel.BevelWidth;
|
||||
bevelwidth = panel.BevelWidth;
|
||||
subdivisions = panel.Subdivisions;
|
||||
Update();
|
||||
}
|
||||
|
@ -421,7 +424,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
[BeginAction("increasesubdivlevel")]
|
||||
protected virtual void IncreaseSubdivLevel()
|
||||
{
|
||||
if(subdivisions < maxSubdivisions)
|
||||
if(subdivisions < maxsubdivisions)
|
||||
{
|
||||
subdivisions++;
|
||||
panel.Subdivisions = subdivisions;
|
||||
|
@ -432,7 +435,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
[BeginAction("decreasesubdivlevel")]
|
||||
protected virtual void DecreaseSubdivLevel()
|
||||
{
|
||||
if(subdivisions > minSubdivisions)
|
||||
if(subdivisions > minsubdivisions)
|
||||
{
|
||||
subdivisions--;
|
||||
panel.Subdivisions = subdivisions;
|
||||
|
@ -443,10 +446,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
[BeginAction("increasebevel")]
|
||||
protected virtual void IncreaseBevel()
|
||||
{
|
||||
if(points.Count < 2 || currentBevelWidth == bevelWidth || bevelWidth < 0)
|
||||
if(points.Count < 2 || currentbevelwidth == bevelwidth || bevelwidth < 0)
|
||||
{
|
||||
bevelWidth = Math.Min(bevelWidth + General.Map.Grid.GridSize, panel.MaxBevelWidth);
|
||||
panel.BevelWidth = bevelWidth;
|
||||
bevelwidth = Math.Min(bevelwidth + General.Map.Grid.GridSize, panel.MaxBevelWidth);
|
||||
panel.BevelWidth = bevelwidth;
|
||||
Update();
|
||||
}
|
||||
}
|
||||
|
@ -454,10 +457,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
[BeginAction("decreasebevel")]
|
||||
protected virtual void DecreaseBevel()
|
||||
{
|
||||
if(currentBevelWidth == bevelWidth || bevelWidth > 0)
|
||||
if(currentbevelwidth == bevelwidth || bevelwidth > 0)
|
||||
{
|
||||
bevelWidth = Math.Max(bevelWidth - General.Map.Grid.GridSize, panel.MinBevelWidth);
|
||||
panel.BevelWidth = bevelWidth;
|
||||
bevelwidth = Math.Max(bevelwidth - General.Map.Grid.GridSize, panel.MinBevelWidth);
|
||||
panel.BevelWidth = bevelwidth;
|
||||
Update();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,26 +32,29 @@
|
|||
this.seglabel = new System.Windows.Forms.ToolStripLabel();
|
||||
this.seglen = new CodeImp.DoomBuilder.Controls.ToolStripNumericUpDown();
|
||||
this.reset = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.continuousdrawing = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolstrip.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// toolstrip
|
||||
//
|
||||
this.toolstrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.continuousdrawing,
|
||||
this.toolStripSeparator1,
|
||||
this.seglabel,
|
||||
this.seglen,
|
||||
this.reset});
|
||||
this.toolstrip.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolstrip.Name = "toolstrip";
|
||||
this.toolstrip.Size = new System.Drawing.Size(249, 25);
|
||||
this.toolstrip.Size = new System.Drawing.Size(320, 25);
|
||||
this.toolstrip.TabIndex = 7;
|
||||
this.toolstrip.Text = "toolStrip1";
|
||||
//
|
||||
// seglabel
|
||||
//
|
||||
this.seglabel.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.Gear;
|
||||
this.seglabel.Name = "seglabel";
|
||||
this.seglabel.Size = new System.Drawing.Size(113, 22);
|
||||
this.seglabel.Size = new System.Drawing.Size(97, 22);
|
||||
this.seglabel.Text = "Segment Length:";
|
||||
//
|
||||
// seglen
|
||||
|
@ -69,7 +72,7 @@
|
|||
0,
|
||||
0});
|
||||
this.seglen.Name = "seglen";
|
||||
this.seglen.Size = new System.Drawing.Size(56, 20);
|
||||
this.seglen.Size = new System.Drawing.Size(56, 23);
|
||||
this.seglen.Text = "0";
|
||||
this.seglen.Value = new decimal(new int[] {
|
||||
0,
|
||||
|
@ -84,17 +87,32 @@
|
|||
this.reset.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.Reset;
|
||||
this.reset.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.reset.Name = "reset";
|
||||
this.reset.Size = new System.Drawing.Size(23, 22);
|
||||
this.reset.Size = new System.Drawing.Size(23, 20);
|
||||
this.reset.Text = "Reset";
|
||||
this.reset.Click += new System.EventHandler(this.reset_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// continuousdrawing
|
||||
//
|
||||
this.continuousdrawing.CheckOnClick = true;
|
||||
this.continuousdrawing.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.Repeat;
|
||||
this.continuousdrawing.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.continuousdrawing.Name = "continuousdrawing";
|
||||
this.continuousdrawing.Size = new System.Drawing.Size(135, 22);
|
||||
this.continuousdrawing.Text = "Continuous drawing";
|
||||
this.continuousdrawing.CheckedChanged += new System.EventHandler(this.continuousdrawing_CheckedChanged);
|
||||
//
|
||||
// DrawCurveOptionsPanel
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
this.Controls.Add(this.toolstrip);
|
||||
this.Name = "DrawCurveOptionsPanel";
|
||||
this.Size = new System.Drawing.Size(249, 60);
|
||||
this.Size = new System.Drawing.Size(320, 60);
|
||||
this.toolstrip.ResumeLayout(false);
|
||||
this.toolstrip.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
@ -108,6 +126,8 @@
|
|||
internal CodeImp.DoomBuilder.Controls.ToolStripNumericUpDown seglen;
|
||||
private System.Windows.Forms.ToolStrip toolstrip;
|
||||
private System.Windows.Forms.ToolStripButton reset;
|
||||
private System.Windows.Forms.ToolStripButton continuousdrawing;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,9 +6,11 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
internal partial class DrawCurveOptionsPanel : UserControl
|
||||
{
|
||||
public event EventHandler OnValueChanged;
|
||||
private bool blockEvents;
|
||||
public event EventHandler OnContinuousDrawingChanged;
|
||||
private bool blockevents;
|
||||
|
||||
public int SegmentLength { get { return (int)seglen.Value; } set { blockEvents = true; seglen.Value = value; blockEvents = false; } }
|
||||
public int SegmentLength { get { return (int)seglen.Value; } set { blockevents = true; seglen.Value = value; blockevents = false; } }
|
||||
public bool ContinuousDrawing { get { return continuousdrawing.Checked; } set { continuousdrawing.Checked = value; } }
|
||||
|
||||
public DrawCurveOptionsPanel(int minLength, int maxLength)
|
||||
{
|
||||
|
@ -22,6 +24,8 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
public void Register()
|
||||
{
|
||||
General.Interface.AddButton(continuousdrawing);
|
||||
General.Interface.AddButton(toolStripSeparator1);
|
||||
General.Interface.AddButton(seglabel);
|
||||
General.Interface.AddButton(seglen);
|
||||
General.Interface.AddButton(reset);
|
||||
|
@ -32,16 +36,23 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
General.Interface.RemoveButton(reset);
|
||||
General.Interface.RemoveButton(seglen);
|
||||
General.Interface.RemoveButton(seglabel);
|
||||
General.Interface.RemoveButton(toolStripSeparator1);
|
||||
General.Interface.RemoveButton(continuousdrawing);
|
||||
}
|
||||
|
||||
private void seglen_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(!blockEvents && OnValueChanged != null) OnValueChanged(this, EventArgs.Empty);
|
||||
if(!blockevents && OnValueChanged != null) OnValueChanged(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
private void reset_Click(object sender, EventArgs e)
|
||||
{
|
||||
seglen.Value = seglen.Minimum;
|
||||
}
|
||||
|
||||
private void continuousdrawing_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(OnContinuousDrawingChanged != null) OnContinuousDrawingChanged(continuousdrawing.Checked, EventArgs.Empty);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
private void InitializeComponent()
|
||||
{
|
||||
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
this.continuousdrawing = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.subdivslabel = new System.Windows.Forms.ToolStripLabel();
|
||||
this.subdivs = new CodeImp.DoomBuilder.Controls.ToolStripNumericUpDown();
|
||||
this.spikinesslabel = new System.Windows.Forms.ToolStripLabel();
|
||||
|
@ -40,6 +42,8 @@
|
|||
// toolStrip1
|
||||
//
|
||||
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.continuousdrawing,
|
||||
this.toolStripSeparator1,
|
||||
this.subdivslabel,
|
||||
this.subdivs,
|
||||
this.spikinesslabel,
|
||||
|
@ -51,11 +55,25 @@
|
|||
this.toolStrip1.TabIndex = 6;
|
||||
this.toolStrip1.Text = "toolStrip1";
|
||||
//
|
||||
// continuousdrawing
|
||||
//
|
||||
this.continuousdrawing.CheckOnClick = true;
|
||||
this.continuousdrawing.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.Repeat;
|
||||
this.continuousdrawing.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.continuousdrawing.Name = "continuousdrawing";
|
||||
this.continuousdrawing.Size = new System.Drawing.Size(135, 22);
|
||||
this.continuousdrawing.Text = "Continuous drawing";
|
||||
this.continuousdrawing.CheckedChanged += new System.EventHandler(this.continuousdrawing_CheckedChanged);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// subdivslabel
|
||||
//
|
||||
this.subdivslabel.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.Gear;
|
||||
this.subdivslabel.Name = "subdivslabel";
|
||||
this.subdivslabel.Size = new System.Drawing.Size(53, 22);
|
||||
this.subdivslabel.Size = new System.Drawing.Size(37, 22);
|
||||
this.subdivslabel.Text = "Sides:";
|
||||
//
|
||||
// subdivs
|
||||
|
@ -102,7 +120,7 @@
|
|||
0,
|
||||
0});
|
||||
this.spikiness.Name = "spikiness";
|
||||
this.spikiness.Size = new System.Drawing.Size(56, 20);
|
||||
this.spikiness.Size = new System.Drawing.Size(56, 23);
|
||||
this.spikiness.Text = "0";
|
||||
this.spikiness.Value = new decimal(new int[] {
|
||||
0,
|
||||
|
@ -116,7 +134,7 @@
|
|||
this.reset.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.Reset;
|
||||
this.reset.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.reset.Name = "reset";
|
||||
this.reset.Size = new System.Drawing.Size(23, 22);
|
||||
this.reset.Size = new System.Drawing.Size(23, 20);
|
||||
this.reset.Text = "Reset";
|
||||
this.reset.Click += new System.EventHandler(this.reset_Click);
|
||||
//
|
||||
|
@ -142,5 +160,7 @@
|
|||
private System.Windows.Forms.ToolStripLabel spikinesslabel;
|
||||
private CodeImp.DoomBuilder.Controls.ToolStripNumericUpDown spikiness;
|
||||
private System.Windows.Forms.ToolStripButton reset;
|
||||
private System.Windows.Forms.ToolStripButton continuousdrawing;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,17 +6,19 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
internal partial class DrawEllipseOptionsPanel : UserControl
|
||||
{
|
||||
public event EventHandler OnValueChanged;
|
||||
private bool blockEvents;
|
||||
public event EventHandler OnContinuousDrawingChanged;
|
||||
private bool blockevents;
|
||||
|
||||
private static int aquityValue;
|
||||
private static int subdivsValue = 8;
|
||||
private static int aquityvalue;
|
||||
private static int subdivsvalue = 8;
|
||||
|
||||
public int Spikiness { get { return (int)spikiness.Value; } set { blockEvents = true; spikiness.Value = value; blockEvents = false; } }
|
||||
public int Subdivisions { get { return (int)subdivs.Value; } set { blockEvents = true; subdivs.Value = value; blockEvents = false; } }
|
||||
public int Spikiness { get { return (int)spikiness.Value; } set { blockevents = true; spikiness.Value = value; blockevents = false; } }
|
||||
public int Subdivisions { get { return (int)subdivs.Value; } set { blockevents = true; subdivs.Value = value; blockevents = false; } }
|
||||
public int MaxSubdivisions { get { return (int)subdivs.Maximum; } set { subdivs.Maximum = value; } }
|
||||
public int MinSubdivisions { get { return (int)subdivs.Minimum; } set { subdivs.Minimum = value; } }
|
||||
public int MaxSpikiness { get { return (int)spikiness.Maximum; } set { spikiness.Maximum = value; } }
|
||||
public int MinSpikiness { get { return (int)spikiness.Minimum; } set { spikiness.Minimum = value; } }
|
||||
public bool ContinuousDrawing { get { return continuousdrawing.Checked; } set { continuousdrawing.Checked = value; } }
|
||||
|
||||
public DrawEllipseOptionsPanel()
|
||||
{
|
||||
|
@ -25,11 +27,13 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
public void Register()
|
||||
{
|
||||
spikiness.Value = aquityValue;
|
||||
subdivs.Value = subdivsValue;
|
||||
spikiness.Value = aquityvalue;
|
||||
subdivs.Value = subdivsvalue;
|
||||
spikiness.ValueChanged += ValueChanged;
|
||||
subdivs.ValueChanged += ValueChanged;
|
||||
|
||||
General.Interface.AddButton(continuousdrawing);
|
||||
General.Interface.AddButton(toolStripSeparator1);
|
||||
General.Interface.AddButton(subdivslabel);
|
||||
General.Interface.AddButton(subdivs);
|
||||
General.Interface.AddButton(spikinesslabel);
|
||||
|
@ -44,21 +48,28 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
General.Interface.RemoveButton(spikinesslabel);
|
||||
General.Interface.RemoveButton(subdivs);
|
||||
General.Interface.RemoveButton(subdivslabel);
|
||||
General.Interface.RemoveButton(toolStripSeparator1);
|
||||
General.Interface.RemoveButton(continuousdrawing);
|
||||
}
|
||||
|
||||
private void ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
aquityValue = (int)spikiness.Value;
|
||||
subdivsValue = (int)subdivs.Value;
|
||||
if(!blockEvents && OnValueChanged != null) OnValueChanged(this, EventArgs.Empty);
|
||||
aquityvalue = (int)spikiness.Value;
|
||||
subdivsvalue = (int)subdivs.Value;
|
||||
if(!blockevents && OnValueChanged != null) OnValueChanged(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
private void reset_Click(object sender, EventArgs e)
|
||||
{
|
||||
blockEvents = true;
|
||||
blockevents = true;
|
||||
spikiness.Value = 0;
|
||||
blockEvents = false;
|
||||
blockevents = false;
|
||||
subdivs.Value = subdivs.Minimum;
|
||||
}
|
||||
|
||||
private void continuousdrawing_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(OnContinuousDrawingChanged != null) OnContinuousDrawingChanged(continuousdrawing.Checked, EventArgs.Empty);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,10 +41,13 @@
|
|||
this.interphmode = new System.Windows.Forms.ComboBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.continuousdrawing = new System.Windows.Forms.CheckBox();
|
||||
this.groupBox1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.slicesV)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.slicesH)).BeginInit();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.groupBox3.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// groupBox1
|
||||
|
@ -190,10 +193,34 @@
|
|||
this.label4.TabIndex = 15;
|
||||
this.label4.Text = "Horizontal";
|
||||
//
|
||||
// groupBox3
|
||||
//
|
||||
this.groupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.groupBox3.Controls.Add(this.continuousdrawing);
|
||||
this.groupBox3.Location = new System.Drawing.Point(3, 225);
|
||||
this.groupBox3.Name = "groupBox3";
|
||||
this.groupBox3.Size = new System.Drawing.Size(200, 55);
|
||||
this.groupBox3.TabIndex = 11;
|
||||
this.groupBox3.TabStop = false;
|
||||
this.groupBox3.Text = "Additional options";
|
||||
//
|
||||
// continuousdrawing
|
||||
//
|
||||
this.continuousdrawing.AutoSize = true;
|
||||
this.continuousdrawing.Location = new System.Drawing.Point(20, 24);
|
||||
this.continuousdrawing.Name = "continuousdrawing";
|
||||
this.continuousdrawing.Size = new System.Drawing.Size(119, 17);
|
||||
this.continuousdrawing.TabIndex = 15;
|
||||
this.continuousdrawing.Text = "Continuous drawing";
|
||||
this.continuousdrawing.UseVisualStyleBackColor = true;
|
||||
this.continuousdrawing.CheckedChanged += new System.EventHandler(this.continuousdrawing_CheckedChanged);
|
||||
//
|
||||
// DrawGridOptionsPanel
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
this.Controls.Add(this.groupBox3);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Name = "DrawGridOptionsPanel";
|
||||
|
@ -204,6 +231,8 @@
|
|||
((System.ComponentModel.ISupportInitialize)(this.slicesH)).EndInit();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.groupBox3.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
@ -223,5 +252,7 @@
|
|||
private System.Windows.Forms.ComboBox interphmode;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.GroupBox groupBox3;
|
||||
private System.Windows.Forms.CheckBox continuousdrawing;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
{
|
||||
public event EventHandler OnValueChanged;
|
||||
public event EventHandler OnGridLockChanged;
|
||||
public event EventHandler OnContinuousDrawingChanged;
|
||||
private bool blockevents;
|
||||
|
||||
public bool Triangulate { get { return triangulate.Checked; } set { blockevents = true; triangulate.Checked = value; blockevents = false; } }
|
||||
|
@ -16,6 +17,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
public int MaxHorizontalSlices { get { return (int)slicesH.Maximum; } set { slicesH.Maximum = value; } }
|
||||
public int VerticalSlices { get { return (int)slicesV.Value; } set { blockevents = true; slicesV.Value = value; blockevents = false; } }
|
||||
public int MaxVerticalSlices { get { return (int)slicesV.Maximum; } set { slicesV.Maximum = value; } }
|
||||
public bool ContinuousDrawing { get { return continuousdrawing.Checked; } set { continuousdrawing.Checked = value; } }
|
||||
public InterpolationTools.Mode HorizontalInterpolationMode
|
||||
{
|
||||
get { return gridlock.Checked ? InterpolationTools.Mode.LINEAR : (InterpolationTools.Mode)interphmode.SelectedIndex; }
|
||||
|
@ -68,5 +70,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
if(OnValueChanged != null) OnValueChanged(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
private void continuousdrawing_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(OnContinuousDrawingChanged != null) OnContinuousDrawingChanged(continuousdrawing.Checked, EventArgs.Empty);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
75
Source/Plugins/BuilderModes/Interface/DrawLineOptionsPanel.Designer.cs
generated
Normal file
75
Source/Plugins/BuilderModes/Interface/DrawLineOptionsPanel.Designer.cs
generated
Normal file
|
@ -0,0 +1,75 @@
|
|||
namespace CodeImp.DoomBuilder.BuilderModes
|
||||
{
|
||||
partial class DrawLineOptionsPanel
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if(disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
this.continuousdrawing = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// toolStrip1
|
||||
//
|
||||
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.continuousdrawing});
|
||||
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStrip1.Name = "toolStrip1";
|
||||
this.toolStrip1.Size = new System.Drawing.Size(200, 25);
|
||||
this.toolStrip1.TabIndex = 8;
|
||||
this.toolStrip1.Text = "toolStrip1";
|
||||
//
|
||||
// continuousdrawing
|
||||
//
|
||||
this.continuousdrawing.CheckOnClick = true;
|
||||
this.continuousdrawing.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.Repeat;
|
||||
this.continuousdrawing.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.continuousdrawing.Name = "continuousdrawing";
|
||||
this.continuousdrawing.Size = new System.Drawing.Size(135, 22);
|
||||
this.continuousdrawing.Text = "Continuous drawing";
|
||||
this.continuousdrawing.CheckedChanged += new System.EventHandler(this.continuousdrawing_CheckedChanged);
|
||||
//
|
||||
// DrawLineOptionsPanel
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.toolStrip1);
|
||||
this.Name = "DrawLineOptionsPanel";
|
||||
this.Size = new System.Drawing.Size(200, 60);
|
||||
this.toolStrip1.ResumeLayout(false);
|
||||
this.toolStrip1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ToolStrip toolStrip1;
|
||||
private System.Windows.Forms.ToolStripButton continuousdrawing;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace CodeImp.DoomBuilder.BuilderModes
|
||||
{
|
||||
internal partial class DrawLineOptionsPanel : UserControl
|
||||
{
|
||||
public event EventHandler OnContinuousDrawingChanged;
|
||||
|
||||
public bool ContinuousDrawing { get { return continuousdrawing.Checked; } set { continuousdrawing.Checked = value; } }
|
||||
|
||||
public DrawLineOptionsPanel()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void Register()
|
||||
{
|
||||
General.Interface.AddButton(continuousdrawing);
|
||||
}
|
||||
|
||||
public void Unregister()
|
||||
{
|
||||
General.Interface.RemoveButton(continuousdrawing);
|
||||
}
|
||||
|
||||
private void continuousdrawing_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(OnContinuousDrawingChanged != null) OnContinuousDrawingChanged(continuousdrawing.Checked, EventArgs.Empty);
|
||||
}
|
||||
}
|
||||
}
|
123
Source/Plugins/BuilderModes/Interface/DrawLineOptionsPanel.resx
Normal file
123
Source/Plugins/BuilderModes/Interface/DrawLineOptionsPanel.resx
Normal file
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
|
@ -29,10 +29,12 @@
|
|||
private void InitializeComponent()
|
||||
{
|
||||
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.radiuslabel = new System.Windows.Forms.ToolStripLabel();
|
||||
this.radius = new CodeImp.DoomBuilder.Controls.ToolStripNumericUpDown();
|
||||
this.subdivslabel = new System.Windows.Forms.ToolStripLabel();
|
||||
this.subdivs = new CodeImp.DoomBuilder.Controls.ToolStripNumericUpDown();
|
||||
this.continuousdrawing = new System.Windows.Forms.ToolStripButton();
|
||||
this.reset = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
|
@ -40,6 +42,8 @@
|
|||
// toolStrip1
|
||||
//
|
||||
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.continuousdrawing,
|
||||
this.toolStripSeparator1,
|
||||
this.radiuslabel,
|
||||
this.radius,
|
||||
this.subdivslabel,
|
||||
|
@ -47,15 +51,19 @@
|
|||
this.reset});
|
||||
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStrip1.Name = "toolStrip1";
|
||||
this.toolStrip1.Size = new System.Drawing.Size(380, 25);
|
||||
this.toolStrip1.Size = new System.Drawing.Size(488, 25);
|
||||
this.toolStrip1.TabIndex = 7;
|
||||
this.toolStrip1.Text = "toolStrip1";
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// radiuslabel
|
||||
//
|
||||
this.radiuslabel.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.Gear;
|
||||
this.radiuslabel.Name = "radiuslabel";
|
||||
this.radiuslabel.Size = new System.Drawing.Size(92, 22);
|
||||
this.radiuslabel.Size = new System.Drawing.Size(76, 22);
|
||||
this.radiuslabel.Text = "Bevel Radius:";
|
||||
//
|
||||
// radius
|
||||
|
@ -112,6 +120,16 @@
|
|||
0});
|
||||
this.subdivs.ValueChanged += new System.EventHandler(this.ValueChanged);
|
||||
//
|
||||
// continuousdrawing
|
||||
//
|
||||
this.continuousdrawing.CheckOnClick = true;
|
||||
this.continuousdrawing.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.Repeat;
|
||||
this.continuousdrawing.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.continuousdrawing.Name = "continuousdrawing";
|
||||
this.continuousdrawing.Size = new System.Drawing.Size(135, 22);
|
||||
this.continuousdrawing.Text = "Continuous drawing";
|
||||
this.continuousdrawing.CheckedChanged += new System.EventHandler(this.continuousdrawing_CheckedChanged);
|
||||
//
|
||||
// reset
|
||||
//
|
||||
this.reset.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
|
@ -128,7 +146,7 @@
|
|||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
this.Controls.Add(this.toolStrip1);
|
||||
this.Name = "DrawRectangleOptionsPanel";
|
||||
this.Size = new System.Drawing.Size(380, 60);
|
||||
this.Size = new System.Drawing.Size(488, 60);
|
||||
this.toolStrip1.ResumeLayout(false);
|
||||
this.toolStrip1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
@ -144,5 +162,7 @@
|
|||
private System.Windows.Forms.ToolStripLabel subdivslabel;
|
||||
private CodeImp.DoomBuilder.Controls.ToolStripNumericUpDown subdivs;
|
||||
private System.Windows.Forms.ToolStripButton reset;
|
||||
private System.Windows.Forms.ToolStripButton continuousdrawing;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,17 +6,19 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
internal partial class DrawRectangleOptionsPanel : UserControl
|
||||
{
|
||||
public event EventHandler OnValueChanged;
|
||||
private bool blockEvents;
|
||||
public event EventHandler OnContinuousDrawingChanged;
|
||||
private bool blockevents;
|
||||
|
||||
private static int radiusValue;
|
||||
private static int subdivsValue;
|
||||
|
||||
public int BevelWidth { get { return (int)radius.Value; } set { blockEvents = true; radius.Value = value; blockEvents = false; } }
|
||||
public int BevelWidth { get { return (int)radius.Value; } set { blockevents = true; radius.Value = value; blockevents = false; } }
|
||||
public int MaxBevelWidth { get { return (int)radius.Maximum; } set { radius.Maximum = value; } }
|
||||
public int MinBevelWidth { get { return (int)radius.Minimum; } set { radius.Minimum = value; } }
|
||||
public int Subdivisions { get { return (int)subdivs.Value; } set { blockEvents = true; subdivs.Value = value; blockEvents = false; } }
|
||||
public int Subdivisions { get { return (int)subdivs.Value; } set { blockevents = true; subdivs.Value = value; blockevents = false; } }
|
||||
public int MaxSubdivisions { get { return (int)subdivs.Maximum; } set { subdivs.Maximum = value; } }
|
||||
public int MinSubdivisions { get { return (int)subdivs.Minimum; } set { subdivs.Minimum = value; } }
|
||||
public bool ContinuousDrawing { get { return continuousdrawing.Checked; } set { continuousdrawing.Checked = value; } }
|
||||
|
||||
public DrawRectangleOptionsPanel()
|
||||
{
|
||||
|
@ -30,6 +32,8 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
radius.ValueChanged += ValueChanged;
|
||||
subdivs.ValueChanged += ValueChanged;
|
||||
|
||||
General.Interface.AddButton(continuousdrawing);
|
||||
General.Interface.AddButton(toolStripSeparator1);
|
||||
General.Interface.AddButton(radiuslabel);
|
||||
General.Interface.AddButton(radius);
|
||||
General.Interface.AddButton(subdivslabel);
|
||||
|
@ -44,22 +48,28 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
General.Interface.RemoveButton(subdivslabel);
|
||||
General.Interface.RemoveButton(radius);
|
||||
General.Interface.RemoveButton(radiuslabel);
|
||||
General.Interface.RemoveButton(toolStripSeparator1);
|
||||
General.Interface.RemoveButton(continuousdrawing);
|
||||
}
|
||||
|
||||
private void ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
radiusValue = (int)radius.Value;
|
||||
subdivsValue = (int)subdivs.Value;
|
||||
if(!blockEvents && OnValueChanged != null) OnValueChanged(this, EventArgs.Empty);
|
||||
if(!blockevents && OnValueChanged != null) OnValueChanged(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
private void reset_Click(object sender, EventArgs e)
|
||||
{
|
||||
blockEvents = true;
|
||||
blockevents = true;
|
||||
radius.Value = 0;
|
||||
blockEvents = false;
|
||||
blockevents = false;
|
||||
subdivs.Value = 0;
|
||||
}
|
||||
|
||||
private void continuousdrawing_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(OnContinuousDrawingChanged != null) OnContinuousDrawingChanged(continuousdrawing.Checked, EventArgs.Empty);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.5466
|
||||
// Runtime Version:2.0.50727.5485
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
|
@ -38,7 +38,7 @@ namespace CodeImp.DoomBuilder.BuilderModes.Properties {
|
|||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if(object.ReferenceEquals(resourceMan, null)) {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CodeImp.DoomBuilder.BuilderModes.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
|
@ -214,13 +214,6 @@ namespace CodeImp.DoomBuilder.BuilderModes.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
internal static System.Drawing.Bitmap Gear {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Gear", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
internal static System.Drawing.Bitmap Hide {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Hide", resourceCulture);
|
||||
|
@ -284,6 +277,13 @@ namespace CodeImp.DoomBuilder.BuilderModes.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
internal static System.Drawing.Bitmap Repeat {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Repeat", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
internal static System.Drawing.Bitmap Reset {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Reset", resourceCulture);
|
||||
|
|
|
@ -118,9 +118,6 @@
|
|||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="Join" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Join.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="FloorAlign" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\FloorAlign.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
|
@ -139,9 +136,6 @@
|
|||
<data name="ViewSelectionEffects" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ViewSelectionEffects.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Gear" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Gear.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="HideAll" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\HideAll.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
|
@ -196,12 +190,12 @@
|
|||
<data name="ThingPointAtCursor" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ThingPointAtCursor.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="PlaceThings" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\PlaceThings.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Text" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Text.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Show" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Show.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="BrightnessGradient" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\BrightnessGradient.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
|
@ -217,8 +211,8 @@
|
|||
<data name="Reset" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Reset.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Show" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Show.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="Join" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Join.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ViewSelectionIndex" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ViewSelectionIndex.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
|
@ -229,6 +223,9 @@
|
|||
<data name="Show2" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Show2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Folder" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Folder.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ColorPick" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ColorPick.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
|
@ -238,8 +235,8 @@
|
|||
<data name="FlipSelectionH" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\FlipSelectionH.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Folder" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Folder.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="PlaceThings" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\PlaceThings.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Angle" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Angle.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
|
@ -259,4 +256,7 @@
|
|||
<data name="Show3" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Show3.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Repeat" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Repeat.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
Binary file not shown.
Before Width: | Height: | Size: 3.3 KiB |
BIN
Source/Plugins/BuilderModes/Resources/Repeat.png
Normal file
BIN
Source/Plugins/BuilderModes/Resources/Repeat.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 587 B |
Loading…
Reference in a new issue