Added a lot to the doc and modified the pdf generation
This commit is contained in:
+236
-274
@@ -135,38 +135,18 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="DriverGapToLeaderWindow.html">
|
||||
DriverGapToLeaderWindow.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="DriverPositionWindow.html">
|
||||
DriverPositionWindow.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="F1TVEmulator.html">
|
||||
F1TVEmulator.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="Program.html">
|
||||
Program.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="Window.html">
|
||||
Window.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="DriverData.html">
|
||||
DriverData.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="DriverLapTimeWindow.html">
|
||||
DriverLapTimeWindow.cs
|
||||
<a class="md-nav__link" href="DriverGapToLeaderWindow.html">
|
||||
DriverGapToLeaderWindow.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="DriverNameWindow.html">
|
||||
DriverNameWindow.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
@@ -175,13 +155,28 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="F1TVEmulator.html">
|
||||
F1TVEmulator.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="Form1.html">
|
||||
Form1.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="Reader.html">
|
||||
Reader.cs
|
||||
<a class="md-nav__link" href="Program.html">
|
||||
Program.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="Settings.Designer.html">
|
||||
Settings.Designer.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="SqliteStorage.html">
|
||||
SqliteStorage.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item md-nav__item--active">
|
||||
@@ -191,13 +186,23 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="DataWrapper.html">
|
||||
DataWrapper.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="DriverDrsWindow.html">
|
||||
DriverDrsWindow.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="DriverNameWindow.html">
|
||||
DriverNameWindow.cs
|
||||
<a class="md-nav__link" href="DriverLapTimeWindow.html">
|
||||
DriverLapTimeWindow.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="DriverPositionWindow.html">
|
||||
DriverPositionWindow.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
@@ -211,11 +216,21 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="Reader.html">
|
||||
Reader.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="Settings.html">
|
||||
Settings.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="Window.html">
|
||||
Window.cs
|
||||
</a>
|
||||
</li>
|
||||
<li class="md-nav__item">
|
||||
<a class="md-nav__link" href="recoverCookiesCSV.html">
|
||||
recoverCookiesCSV.py
|
||||
</a>
|
||||
@@ -239,252 +254,199 @@
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
<h1 id="zonecs">Zone.cs</h1>
|
||||
<pre><code class="language-cs">/// Author : Maxime Rohmer
|
||||
/// Date : 08/05/2023
|
||||
/// File : Zone.cs
|
||||
/// Brief : Class that contains all the methods and infos for a zone. This is designed to be potentially be inherited.
|
||||
/// Version : 0.1
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Test_Merge
|
||||
{
|
||||
public class Zone
|
||||
{
|
||||
private Rectangle _bounds;
|
||||
private List<Zone> _zones;
|
||||
private List<Window> _windows;
|
||||
private Bitmap _image;
|
||||
private string _name;
|
||||
|
||||
public Bitmap ZoneImage
|
||||
{
|
||||
get
|
||||
{
|
||||
//This little trickery lets you have the image that the zone sees
|
||||
Bitmap sample = new Bitmap(Bounds.Width, Bounds.Height);
|
||||
Graphics g = Graphics.FromImage(sample);
|
||||
g.DrawImage(Image, new Rectangle(0, 0, sample.Width, sample.Height), Bounds, GraphicsUnit.Pixel);
|
||||
return sample;
|
||||
}
|
||||
}
|
||||
public Bitmap Image
|
||||
{
|
||||
get { return _image; }
|
||||
set
|
||||
{
|
||||
//It automatically sets the image for the contained windows and zones
|
||||
_image = Image;
|
||||
foreach (Window w in Windows)
|
||||
{
|
||||
w.Image = ZoneImage;
|
||||
}
|
||||
foreach (Zone z in Zones)
|
||||
{
|
||||
z.Image = Image;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Rectangle Bounds { get => _bounds; protected set => _bounds = value; }
|
||||
public List<Zone> Zones { get => _zones; protected set => _zones = value; }
|
||||
public List<Window> Windows { get => _windows; protected set => _windows = value; }
|
||||
public string Name { get => _name; protected set => _name = value; }
|
||||
|
||||
public Zone(Bitmap image, Rectangle bounds, string name)
|
||||
{
|
||||
Windows = new List<Window>();
|
||||
Zones = new List<Zone>();
|
||||
Name = name;
|
||||
|
||||
//You cant set the image in the CTOR because the processing is impossible at first initiation
|
||||
_image = image;
|
||||
Bounds = bounds;
|
||||
}
|
||||
/// <summary>
|
||||
/// Adds a zone to the list of zones
|
||||
/// </summary>
|
||||
/// <param name="zone">The zone you want to add</param>
|
||||
public virtual void AddZone(Zone zone)
|
||||
{
|
||||
Zones.Add(zone);
|
||||
}
|
||||
/// <summary>
|
||||
/// Add a window to the list of windows
|
||||
/// </summary>
|
||||
/// <param name="window">the window you want to add</param>
|
||||
public virtual void AddWindow(Window window)
|
||||
{
|
||||
Windows.Add(window);
|
||||
}
|
||||
/// <summary>
|
||||
/// Calls all the windows to do OCR and to give back the results so we can send them to the model
|
||||
/// </summary>
|
||||
/// <param name="driverList">A list of all the driver in the race to help with text recognition</param>
|
||||
/// <returns>A driver data object that contains all the infos about a driver</returns>
|
||||
public virtual async Task<DriverData> Decode(List<string> driverList)
|
||||
{
|
||||
int sectorCount = 0;
|
||||
DriverData result = new DriverData();
|
||||
Parallel.ForEach(Windows, async w =>
|
||||
{
|
||||
// A switch would be prettier but I dont think its supported in this C# version
|
||||
if (w is DriverNameWindow)
|
||||
result.Name = (string)await (w as DriverNameWindow).DecodePng(driverList);
|
||||
if (w is DriverDrsWindow)
|
||||
result.DRS = (bool)await (w as DriverDrsWindow).DecodePng();
|
||||
if (w is DriverGapToLeaderWindow)
|
||||
result.GapToLeader = (int)await (w as DriverGapToLeaderWindow).DecodePng();
|
||||
if (w is DriverLapTimeWindow)
|
||||
result.LapTime = (int)await (w as DriverLapTimeWindow).DecodePng();
|
||||
if (w is DriverPositionWindow)
|
||||
result.Position = (int)await (w as DriverPositionWindow).DecodePng();
|
||||
if (w is DriverSectorWindow)
|
||||
{
|
||||
sectorCount++;
|
||||
if (sectorCount == 1)
|
||||
result.Sector1 = (int)await (w as DriverSectorWindow).DecodePng();
|
||||
if (sectorCount == 2)
|
||||
result.Sector2 = (int)await (w as DriverSectorWindow).DecodePng();
|
||||
if (sectorCount == 3)
|
||||
result.Sector3 = (int)await (w as DriverSectorWindow).DecodePng();
|
||||
}
|
||||
if (w is DriverTyresWindow)
|
||||
result.CurrentTyre = (Tyre)await (w as DriverTyresWindow).DecodePng();
|
||||
});
|
||||
return result;
|
||||
}
|
||||
public virtual Bitmap Draw()
|
||||
{
|
||||
Bitmap img;
|
||||
|
||||
//If its the main zone we want to see everything
|
||||
if (Zones.Count > 0)
|
||||
{
|
||||
img = Image;
|
||||
}
|
||||
else
|
||||
{
|
||||
img = ZoneImage;
|
||||
}
|
||||
|
||||
Graphics g = Graphics.FromImage(img);
|
||||
|
||||
//If its the main zone we need to visualize the Zone bounds displayed
|
||||
if (Zones.Count > 0)
|
||||
g.DrawRectangle(new Pen(Brushes.Violet, 5), Bounds);
|
||||
|
||||
foreach (Zone z in Zones)
|
||||
{
|
||||
Rectangle newBounds = new Rectangle(z.Bounds.X, z.Bounds.Y + Bounds.Y, z.Bounds.Width, z.Bounds.Height);
|
||||
g.DrawRectangle(Pens.Red, newBounds);
|
||||
}
|
||||
foreach (Window w in Windows)
|
||||
{
|
||||
g.DrawRectangle(Pens.Blue, w.Bounds);
|
||||
}
|
||||
return img;
|
||||
}
|
||||
public void ResetZones()
|
||||
{
|
||||
Zones.Clear();
|
||||
}
|
||||
public void ResetWindows()
|
||||
{
|
||||
foreach (Zone z in Zones)
|
||||
{
|
||||
z.ResetWindows();
|
||||
}
|
||||
Windows.Clear();
|
||||
}
|
||||
public virtual string ToJSON()
|
||||
{
|
||||
string result = "";
|
||||
result += "\"" + Name + "\":{" + Environment.NewLine;
|
||||
result += "\t" + "\"x\":" + Bounds.X + "," + Environment.NewLine;
|
||||
result += "\t" + "\"y\":" + Bounds.Y + "," + Environment.NewLine;
|
||||
result += "\t" + "\"width\":" + Bounds.Width + "," + Environment.NewLine;
|
||||
result += "\t" + "\"height\":" + Bounds.Height;
|
||||
|
||||
if (Windows.Count != 0)
|
||||
{
|
||||
result += "," + Environment.NewLine;
|
||||
|
||||
result += "\t" + "\"Windows\":[" + Environment.NewLine;
|
||||
result += "\t\t{" + Environment.NewLine;
|
||||
int Wcount = 0;
|
||||
foreach (Window w in Windows)
|
||||
{
|
||||
result += "\t\t" + w.ToJSON();
|
||||
Wcount++;
|
||||
if (Wcount != Windows.Count)
|
||||
result += ",";
|
||||
}
|
||||
result += "\t\t}" + Environment.NewLine;
|
||||
result += "\t" + "]" + Environment.NewLine;
|
||||
}
|
||||
else
|
||||
{
|
||||
result += Environment.NewLine;
|
||||
}
|
||||
if (Zones.Count != 0)
|
||||
{
|
||||
result += "," + Environment.NewLine;
|
||||
|
||||
result += "\t" + "\"Zones\":[" + Environment.NewLine;
|
||||
result += "\t\t{" + Environment.NewLine;
|
||||
int Zcount = 0;
|
||||
//foreach (Zone z in Zones)
|
||||
//{
|
||||
result += "\t\t" + Zones[0].ToJSON();
|
||||
Zcount++;
|
||||
if (Zcount != Zones.Count)
|
||||
//result += ",";
|
||||
//}
|
||||
result += "\t\t}" + Environment.NewLine;
|
||||
result += "\t" + "]" + Environment.NewLine;
|
||||
}
|
||||
else
|
||||
{
|
||||
result += Environment.NewLine;
|
||||
}
|
||||
|
||||
result += "}";
|
||||
|
||||
return result;
|
||||
}
|
||||
/// <summary>
|
||||
/// Checks if the given Rectangle fits in the current zone
|
||||
/// </summary>
|
||||
/// <param name="InputRectangle">The Rectangle you want to check the fittment</param>
|
||||
/// <returns></returns>
|
||||
protected bool Fits(Rectangle inputRectangle)
|
||||
{
|
||||
if (inputRectangle.X + inputRectangle.Width > Bounds.Width || inputRectangle.Y + inputRectangle.Height > Bounds.Height || inputRectangle.X < 0 || inputRectangle.Y < 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</code></pre>
|
||||
<div class="language-cs highlight"><pre><span></span><code><span id="__span-0-1"><a href="#__codelineno-0-1" id="__codelineno-0-1" name="__codelineno-0-1"></a><span class="c1">/// Author : Maxime Rohmer</span>
|
||||
</span><span id="__span-0-2"><a href="#__codelineno-0-2" id="__codelineno-0-2" name="__codelineno-0-2"></a><span class="c1">/// Date : 30/05/2023</span>
|
||||
</span><span id="__span-0-3"><a href="#__codelineno-0-3" id="__codelineno-0-3" name="__codelineno-0-3"></a><span class="c1">/// File : Zone.cs</span>
|
||||
</span><span id="__span-0-4"><a href="#__codelineno-0-4" id="__codelineno-0-4" name="__codelineno-0-4"></a><span class="c1">/// Brief : Class that contains all the methods and infos for a zone. This is designed to be potentially be inherited.</span>
|
||||
</span><span id="__span-0-5"><a href="#__codelineno-0-5" id="__codelineno-0-5" name="__codelineno-0-5"></a><span class="c1">/// Version : Alpha 1.0</span>
|
||||
</span><span id="__span-0-6"><a href="#__codelineno-0-6" id="__codelineno-0-6" name="__codelineno-0-6"></a>
|
||||
</span><span id="__span-0-7"><a href="#__codelineno-0-7" id="__codelineno-0-7" name="__codelineno-0-7"></a><span class="k">using</span><span class="w"> </span><span class="nn">System</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-8"><a href="#__codelineno-0-8" id="__codelineno-0-8" name="__codelineno-0-8"></a><span class="k">using</span><span class="w"> </span><span class="nn">System.Collections.Generic</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-9"><a href="#__codelineno-0-9" id="__codelineno-0-9" name="__codelineno-0-9"></a><span class="k">using</span><span class="w"> </span><span class="nn">System.Drawing</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-10"><a href="#__codelineno-0-10" id="__codelineno-0-10" name="__codelineno-0-10"></a><span class="k">using</span><span class="w"> </span><span class="nn">System.Linq</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-11"><a href="#__codelineno-0-11" id="__codelineno-0-11" name="__codelineno-0-11"></a><span class="k">using</span><span class="w"> </span><span class="nn">System.Text</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-12"><a href="#__codelineno-0-12" id="__codelineno-0-12" name="__codelineno-0-12"></a><span class="k">using</span><span class="w"> </span><span class="nn">System.Threading.Tasks</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-13"><a href="#__codelineno-0-13" id="__codelineno-0-13" name="__codelineno-0-13"></a>
|
||||
</span><span id="__span-0-14"><a href="#__codelineno-0-14" id="__codelineno-0-14" name="__codelineno-0-14"></a><span class="k">namespace</span><span class="w"> </span><span class="nn">TrackTrends</span><span class="w"></span>
|
||||
</span><span id="__span-0-15"><a href="#__codelineno-0-15" id="__codelineno-0-15" name="__codelineno-0-15"></a><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-16"><a href="#__codelineno-0-16" id="__codelineno-0-16" name="__codelineno-0-16"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="k">class</span><span class="w"> </span><span class="nc">Zone</span><span class="w"></span>
|
||||
</span><span id="__span-0-17"><a href="#__codelineno-0-17" id="__codelineno-0-17" name="__codelineno-0-17"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-18"><a href="#__codelineno-0-18" id="__codelineno-0-18" name="__codelineno-0-18"></a><span class="w"> </span><span class="k">private</span><span class="w"> </span><span class="n">Rectangle</span><span class="w"> </span><span class="n">_bounds</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-19"><a href="#__codelineno-0-19" id="__codelineno-0-19" name="__codelineno-0-19"></a><span class="w"> </span><span class="k">private</span><span class="w"> </span><span class="n">List</span><span class="p"><</span><span class="n">Zone</span><span class="p">></span><span class="w"> </span><span class="n">_zones</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-20"><a href="#__codelineno-0-20" id="__codelineno-0-20" name="__codelineno-0-20"></a><span class="w"> </span><span class="k">private</span><span class="w"> </span><span class="n">List</span><span class="p"><</span><span class="n">Window</span><span class="p">></span><span class="w"> </span><span class="n">_windows</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-21"><a href="#__codelineno-0-21" id="__codelineno-0-21" name="__codelineno-0-21"></a><span class="w"> </span><span class="k">private</span><span class="w"> </span><span class="n">Bitmap</span><span class="w"> </span><span class="n">_image</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-22"><a href="#__codelineno-0-22" id="__codelineno-0-22" name="__codelineno-0-22"></a><span class="w"> </span><span class="k">private</span><span class="w"> </span><span class="kt">string</span><span class="w"> </span><span class="n">_name</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-23"><a href="#__codelineno-0-23" id="__codelineno-0-23" name="__codelineno-0-23"></a>
|
||||
</span><span id="__span-0-24"><a href="#__codelineno-0-24" id="__codelineno-0-24" name="__codelineno-0-24"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="n">Bitmap</span><span class="w"> </span><span class="n">ZoneImage</span><span class="w"></span>
|
||||
</span><span id="__span-0-25"><a href="#__codelineno-0-25" id="__codelineno-0-25" name="__codelineno-0-25"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-26"><a href="#__codelineno-0-26" id="__codelineno-0-26" name="__codelineno-0-26"></a><span class="w"> </span><span class="k">get</span><span class="w"></span>
|
||||
</span><span id="__span-0-27"><a href="#__codelineno-0-27" id="__codelineno-0-27" name="__codelineno-0-27"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-28"><a href="#__codelineno-0-28" id="__codelineno-0-28" name="__codelineno-0-28"></a><span class="w"> </span><span class="c1">//This little trickery lets you have the image that the zone sees</span>
|
||||
</span><span id="__span-0-29"><a href="#__codelineno-0-29" id="__codelineno-0-29" name="__codelineno-0-29"></a><span class="w"> </span><span class="n">Bitmap</span><span class="w"> </span><span class="n">sample</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Bitmap</span><span class="p">(</span><span class="n">Bounds</span><span class="p">.</span><span class="n">Width</span><span class="p">,</span><span class="w"> </span><span class="n">Bounds</span><span class="p">.</span><span class="n">Height</span><span class="p">);</span><span class="w"></span>
|
||||
</span><span id="__span-0-30"><a href="#__codelineno-0-30" id="__codelineno-0-30" name="__codelineno-0-30"></a><span class="w"> </span><span class="n">Graphics</span><span class="w"> </span><span class="n">g</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">Graphics</span><span class="p">.</span><span class="n">FromImage</span><span class="p">(</span><span class="n">sample</span><span class="p">);</span><span class="w"></span>
|
||||
</span><span id="__span-0-31"><a href="#__codelineno-0-31" id="__codelineno-0-31" name="__codelineno-0-31"></a><span class="w"> </span><span class="n">g</span><span class="p">.</span><span class="n">DrawImage</span><span class="p">(</span><span class="n">Image</span><span class="p">,</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Rectangle</span><span class="p">(</span><span class="m">0</span><span class="p">,</span><span class="w"> </span><span class="m">0</span><span class="p">,</span><span class="w"> </span><span class="n">sample</span><span class="p">.</span><span class="n">Width</span><span class="p">,</span><span class="w"> </span><span class="n">sample</span><span class="p">.</span><span class="n">Height</span><span class="p">),</span><span class="w"> </span><span class="n">Bounds</span><span class="p">,</span><span class="w"> </span><span class="n">GraphicsUnit</span><span class="p">.</span><span class="n">Pixel</span><span class="p">);</span><span class="w"></span>
|
||||
</span><span id="__span-0-32"><a href="#__codelineno-0-32" id="__codelineno-0-32" name="__codelineno-0-32"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">sample</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-33"><a href="#__codelineno-0-33" id="__codelineno-0-33" name="__codelineno-0-33"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-34"><a href="#__codelineno-0-34" id="__codelineno-0-34" name="__codelineno-0-34"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-35"><a href="#__codelineno-0-35" id="__codelineno-0-35" name="__codelineno-0-35"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="n">Bitmap</span><span class="w"> </span><span class="n">Image</span><span class="w"></span>
|
||||
</span><span id="__span-0-36"><a href="#__codelineno-0-36" id="__codelineno-0-36" name="__codelineno-0-36"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-37"><a href="#__codelineno-0-37" id="__codelineno-0-37" name="__codelineno-0-37"></a><span class="w"> </span><span class="k">get</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">_image</span><span class="p">;</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-38"><a href="#__codelineno-0-38" id="__codelineno-0-38" name="__codelineno-0-38"></a><span class="w"> </span><span class="k">set</span><span class="w"></span>
|
||||
</span><span id="__span-0-39"><a href="#__codelineno-0-39" id="__codelineno-0-39" name="__codelineno-0-39"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-40"><a href="#__codelineno-0-40" id="__codelineno-0-40" name="__codelineno-0-40"></a><span class="w"> </span><span class="c1">//It automatically sets the image for the contained windows and zones</span>
|
||||
</span><span id="__span-0-41"><a href="#__codelineno-0-41" id="__codelineno-0-41" name="__codelineno-0-41"></a><span class="w"> </span><span class="n">_image</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="k">value</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-42"><a href="#__codelineno-0-42" id="__codelineno-0-42" name="__codelineno-0-42"></a><span class="w"> </span><span class="k">foreach</span><span class="w"> </span><span class="p">(</span><span class="n">Window</span><span class="w"> </span><span class="n">w</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">Windows</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-43"><a href="#__codelineno-0-43" id="__codelineno-0-43" name="__codelineno-0-43"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-44"><a href="#__codelineno-0-44" id="__codelineno-0-44" name="__codelineno-0-44"></a><span class="w"> </span><span class="n">w</span><span class="p">.</span><span class="n">Image</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">ZoneImage</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-45"><a href="#__codelineno-0-45" id="__codelineno-0-45" name="__codelineno-0-45"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-46"><a href="#__codelineno-0-46" id="__codelineno-0-46" name="__codelineno-0-46"></a><span class="w"> </span><span class="k">foreach</span><span class="w"> </span><span class="p">(</span><span class="n">Zone</span><span class="w"> </span><span class="n">z</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">Zones</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-47"><a href="#__codelineno-0-47" id="__codelineno-0-47" name="__codelineno-0-47"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-48"><a href="#__codelineno-0-48" id="__codelineno-0-48" name="__codelineno-0-48"></a><span class="w"> </span><span class="n">z</span><span class="p">.</span><span class="n">Image</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">Image</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-49"><a href="#__codelineno-0-49" id="__codelineno-0-49" name="__codelineno-0-49"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-50"><a href="#__codelineno-0-50" id="__codelineno-0-50" name="__codelineno-0-50"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-51"><a href="#__codelineno-0-51" id="__codelineno-0-51" name="__codelineno-0-51"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-52"><a href="#__codelineno-0-52" id="__codelineno-0-52" name="__codelineno-0-52"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="n">Rectangle</span><span class="w"> </span><span class="n">Bounds</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">get</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="n">_bounds</span><span class="p">;</span><span class="w"> </span><span class="k">protected</span><span class="w"> </span><span class="k">set</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="n">_bounds</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="k">value</span><span class="p">;</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-53"><a href="#__codelineno-0-53" id="__codelineno-0-53" name="__codelineno-0-53"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="n">List</span><span class="p"><</span><span class="n">Zone</span><span class="p">></span><span class="w"> </span><span class="n">Zones</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">get</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="n">_zones</span><span class="p">;</span><span class="w"> </span><span class="k">protected</span><span class="w"> </span><span class="k">set</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="n">_zones</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="k">value</span><span class="p">;</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-54"><a href="#__codelineno-0-54" id="__codelineno-0-54" name="__codelineno-0-54"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="n">List</span><span class="p"><</span><span class="n">Window</span><span class="p">></span><span class="w"> </span><span class="n">Windows</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">get</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="n">_windows</span><span class="p">;</span><span class="w"> </span><span class="k">protected</span><span class="w"> </span><span class="k">set</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="n">_windows</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="k">value</span><span class="p">;</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-55"><a href="#__codelineno-0-55" id="__codelineno-0-55" name="__codelineno-0-55"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="kt">string</span><span class="w"> </span><span class="n">Name</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">get</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="n">_name</span><span class="p">;</span><span class="w"> </span><span class="k">protected</span><span class="w"> </span><span class="k">set</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="n">_name</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="k">value</span><span class="p">;</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-56"><a href="#__codelineno-0-56" id="__codelineno-0-56" name="__codelineno-0-56"></a><span class="w"> </span><span class="c1">/// <summary></span>
|
||||
</span><span id="__span-0-57"><a href="#__codelineno-0-57" id="__codelineno-0-57" name="__codelineno-0-57"></a><span class="w"> </span><span class="c1">/// Creates a new Zone</span>
|
||||
</span><span id="__span-0-58"><a href="#__codelineno-0-58" id="__codelineno-0-58" name="__codelineno-0-58"></a><span class="w"> </span><span class="c1">/// </summary></span>
|
||||
</span><span id="__span-0-59"><a href="#__codelineno-0-59" id="__codelineno-0-59" name="__codelineno-0-59"></a><span class="w"> </span><span class="c1">/// <param name="image">Image of the parent zone</param></span>
|
||||
</span><span id="__span-0-60"><a href="#__codelineno-0-60" id="__codelineno-0-60" name="__codelineno-0-60"></a><span class="w"> </span><span class="c1">/// <param name="bounds">The position and size of the zone</param></span>
|
||||
</span><span id="__span-0-61"><a href="#__codelineno-0-61" id="__codelineno-0-61" name="__codelineno-0-61"></a><span class="w"> </span><span class="c1">/// <param name="name">THe name of the zone (usefull for the JSON formatting)</param></span>
|
||||
</span><span id="__span-0-62"><a href="#__codelineno-0-62" id="__codelineno-0-62" name="__codelineno-0-62"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="nf">Zone</span><span class="p">(</span><span class="n">Bitmap</span><span class="w"> </span><span class="n">image</span><span class="p">,</span><span class="w"> </span><span class="n">Rectangle</span><span class="w"> </span><span class="n">bounds</span><span class="p">,</span><span class="w"> </span><span class="kt">string</span><span class="w"> </span><span class="n">name</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-63"><a href="#__codelineno-0-63" id="__codelineno-0-63" name="__codelineno-0-63"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-64"><a href="#__codelineno-0-64" id="__codelineno-0-64" name="__codelineno-0-64"></a><span class="w"> </span><span class="n">Windows</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">List</span><span class="p"><</span><span class="n">Window</span><span class="p">>();</span><span class="w"></span>
|
||||
</span><span id="__span-0-65"><a href="#__codelineno-0-65" id="__codelineno-0-65" name="__codelineno-0-65"></a><span class="w"> </span><span class="n">Zones</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">List</span><span class="p"><</span><span class="n">Zone</span><span class="p">>();</span><span class="w"></span>
|
||||
</span><span id="__span-0-66"><a href="#__codelineno-0-66" id="__codelineno-0-66" name="__codelineno-0-66"></a><span class="w"> </span><span class="n">Name</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">name</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-67"><a href="#__codelineno-0-67" id="__codelineno-0-67" name="__codelineno-0-67"></a>
|
||||
</span><span id="__span-0-68"><a href="#__codelineno-0-68" id="__codelineno-0-68" name="__codelineno-0-68"></a><span class="w"> </span><span class="c1">//You cant set the image in the CTOR because the processing is impossible at first initiation</span>
|
||||
</span><span id="__span-0-69"><a href="#__codelineno-0-69" id="__codelineno-0-69" name="__codelineno-0-69"></a><span class="w"> </span><span class="n">_image</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">image</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-70"><a href="#__codelineno-0-70" id="__codelineno-0-70" name="__codelineno-0-70"></a><span class="w"> </span><span class="n">Bounds</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">bounds</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-71"><a href="#__codelineno-0-71" id="__codelineno-0-71" name="__codelineno-0-71"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-72"><a href="#__codelineno-0-72" id="__codelineno-0-72" name="__codelineno-0-72"></a><span class="w"> </span><span class="c1">/// <summary></span>
|
||||
</span><span id="__span-0-73"><a href="#__codelineno-0-73" id="__codelineno-0-73" name="__codelineno-0-73"></a><span class="w"> </span><span class="c1">/// Adds a zone to the list of zones</span>
|
||||
</span><span id="__span-0-74"><a href="#__codelineno-0-74" id="__codelineno-0-74" name="__codelineno-0-74"></a><span class="w"> </span><span class="c1">/// </summary></span>
|
||||
</span><span id="__span-0-75"><a href="#__codelineno-0-75" id="__codelineno-0-75" name="__codelineno-0-75"></a><span class="w"> </span><span class="c1">/// <param name="zone">The zone you want to add</param></span>
|
||||
</span><span id="__span-0-76"><a href="#__codelineno-0-76" id="__codelineno-0-76" name="__codelineno-0-76"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="k">virtual</span><span class="w"> </span><span class="k">void</span><span class="w"> </span><span class="nf">AddZone</span><span class="p">(</span><span class="n">Zone</span><span class="w"> </span><span class="n">zone</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-77"><a href="#__codelineno-0-77" id="__codelineno-0-77" name="__codelineno-0-77"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-78"><a href="#__codelineno-0-78" id="__codelineno-0-78" name="__codelineno-0-78"></a><span class="w"> </span><span class="n">Zones</span><span class="p">.</span><span class="n">Add</span><span class="p">(</span><span class="n">zone</span><span class="p">);</span><span class="w"></span>
|
||||
</span><span id="__span-0-79"><a href="#__codelineno-0-79" id="__codelineno-0-79" name="__codelineno-0-79"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-80"><a href="#__codelineno-0-80" id="__codelineno-0-80" name="__codelineno-0-80"></a><span class="w"> </span><span class="c1">/// <summary></span>
|
||||
</span><span id="__span-0-81"><a href="#__codelineno-0-81" id="__codelineno-0-81" name="__codelineno-0-81"></a><span class="w"> </span><span class="c1">/// Add a window to the list of windows</span>
|
||||
</span><span id="__span-0-82"><a href="#__codelineno-0-82" id="__codelineno-0-82" name="__codelineno-0-82"></a><span class="w"> </span><span class="c1">/// </summary></span>
|
||||
</span><span id="__span-0-83"><a href="#__codelineno-0-83" id="__codelineno-0-83" name="__codelineno-0-83"></a><span class="w"> </span><span class="c1">/// <param name="window">the window you want to add</param></span>
|
||||
</span><span id="__span-0-84"><a href="#__codelineno-0-84" id="__codelineno-0-84" name="__codelineno-0-84"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="k">virtual</span><span class="w"> </span><span class="k">void</span><span class="w"> </span><span class="nf">AddWindow</span><span class="p">(</span><span class="n">Window</span><span class="w"> </span><span class="n">window</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-85"><a href="#__codelineno-0-85" id="__codelineno-0-85" name="__codelineno-0-85"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-86"><a href="#__codelineno-0-86" id="__codelineno-0-86" name="__codelineno-0-86"></a><span class="w"> </span><span class="n">Windows</span><span class="p">.</span><span class="n">Add</span><span class="p">(</span><span class="n">window</span><span class="p">);</span><span class="w"></span>
|
||||
</span><span id="__span-0-87"><a href="#__codelineno-0-87" id="__codelineno-0-87" name="__codelineno-0-87"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-88"><a href="#__codelineno-0-88" id="__codelineno-0-88" name="__codelineno-0-88"></a><span class="w"> </span><span class="c1">/// <summary></span>
|
||||
</span><span id="__span-0-89"><a href="#__codelineno-0-89" id="__codelineno-0-89" name="__codelineno-0-89"></a><span class="w"> </span><span class="c1">/// Calls all the windows to do OCR and to give back the results so we can send them to the model</span>
|
||||
</span><span id="__span-0-90"><a href="#__codelineno-0-90" id="__codelineno-0-90" name="__codelineno-0-90"></a><span class="w"> </span><span class="c1">/// </summary></span>
|
||||
</span><span id="__span-0-91"><a href="#__codelineno-0-91" id="__codelineno-0-91" name="__codelineno-0-91"></a><span class="w"> </span><span class="c1">/// <param name="driverList">A list of all the driver in the race to help with text recognition</param></span>
|
||||
</span><span id="__span-0-92"><a href="#__codelineno-0-92" id="__codelineno-0-92" name="__codelineno-0-92"></a><span class="w"> </span><span class="c1">/// <returns>A driver data object that contains all the infos about a driver</returns></span>
|
||||
</span><span id="__span-0-93"><a href="#__codelineno-0-93" id="__codelineno-0-93" name="__codelineno-0-93"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="k">virtual</span><span class="w"> </span><span class="n">DriverData</span><span class="w"> </span><span class="nf">Decode</span><span class="p">(</span><span class="n">List</span><span class="p"><</span><span class="kt">string</span><span class="p">></span><span class="w"> </span><span class="n">driverList</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-94"><a href="#__codelineno-0-94" id="__codelineno-0-94" name="__codelineno-0-94"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-95"><a href="#__codelineno-0-95" id="__codelineno-0-95" name="__codelineno-0-95"></a><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">sectorCount</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="m">0</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-96"><a href="#__codelineno-0-96" id="__codelineno-0-96" name="__codelineno-0-96"></a><span class="w"> </span><span class="n">DriverData</span><span class="w"> </span><span class="n">result</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">DriverData</span><span class="p">();</span><span class="w"></span>
|
||||
</span><span id="__span-0-97"><a href="#__codelineno-0-97" id="__codelineno-0-97" name="__codelineno-0-97"></a><span class="w"> </span><span class="k">foreach</span><span class="p">(</span><span class="n">Window</span><span class="w"> </span><span class="n">w</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">Windows</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-98"><a href="#__codelineno-0-98" id="__codelineno-0-98" name="__codelineno-0-98"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-99"><a href="#__codelineno-0-99" id="__codelineno-0-99" name="__codelineno-0-99"></a><span class="w"> </span><span class="c1">// A switch would be prettier but I dont think its supported in this C# version</span>
|
||||
</span><span id="__span-0-100"><a href="#__codelineno-0-100" id="__codelineno-0-100" name="__codelineno-0-100"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">w</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">DriverNameWindow</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-101"><a href="#__codelineno-0-101" id="__codelineno-0-101" name="__codelineno-0-101"></a><span class="w"> </span><span class="n">result</span><span class="p">.</span><span class="n">Name</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="kt">string</span><span class="p">)(</span><span class="n">w</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">DriverNameWindow</span><span class="p">).</span><span class="n">DecodePng</span><span class="p">(</span><span class="n">driverList</span><span class="p">);</span><span class="w"></span>
|
||||
</span><span id="__span-0-102"><a href="#__codelineno-0-102" id="__codelineno-0-102" name="__codelineno-0-102"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">w</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">DriverDrsWindow</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-103"><a href="#__codelineno-0-103" id="__codelineno-0-103" name="__codelineno-0-103"></a><span class="w"> </span><span class="n">result</span><span class="p">.</span><span class="n">DRS</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="kt">bool</span><span class="p">)(</span><span class="n">w</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">DriverDrsWindow</span><span class="p">).</span><span class="n">DecodePng</span><span class="p">();</span><span class="w"></span>
|
||||
</span><span id="__span-0-104"><a href="#__codelineno-0-104" id="__codelineno-0-104" name="__codelineno-0-104"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">w</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">DriverGapToLeaderWindow</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-105"><a href="#__codelineno-0-105" id="__codelineno-0-105" name="__codelineno-0-105"></a><span class="w"> </span><span class="n">result</span><span class="p">.</span><span class="n">GapToLeader</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="p">)(</span><span class="n">w</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">DriverGapToLeaderWindow</span><span class="p">).</span><span class="n">DecodePng</span><span class="p">();</span><span class="w"></span>
|
||||
</span><span id="__span-0-106"><a href="#__codelineno-0-106" id="__codelineno-0-106" name="__codelineno-0-106"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">w</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">DriverLapTimeWindow</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-107"><a href="#__codelineno-0-107" id="__codelineno-0-107" name="__codelineno-0-107"></a><span class="w"> </span><span class="n">result</span><span class="p">.</span><span class="n">LapTime</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="p">)(</span><span class="n">w</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">DriverLapTimeWindow</span><span class="p">).</span><span class="n">DecodePng</span><span class="p">();</span><span class="w"></span>
|
||||
</span><span id="__span-0-108"><a href="#__codelineno-0-108" id="__codelineno-0-108" name="__codelineno-0-108"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">w</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">DriverPositionWindow</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-109"><a href="#__codelineno-0-109" id="__codelineno-0-109" name="__codelineno-0-109"></a><span class="w"> </span><span class="n">result</span><span class="p">.</span><span class="n">Position</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="p">)(</span><span class="n">w</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">DriverPositionWindow</span><span class="p">).</span><span class="n">DecodePng</span><span class="p">();</span><span class="w"></span>
|
||||
</span><span id="__span-0-110"><a href="#__codelineno-0-110" id="__codelineno-0-110" name="__codelineno-0-110"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">w</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">DriverSectorWindow</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-111"><a href="#__codelineno-0-111" id="__codelineno-0-111" name="__codelineno-0-111"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-112"><a href="#__codelineno-0-112" id="__codelineno-0-112" name="__codelineno-0-112"></a><span class="w"> </span><span class="n">sectorCount</span><span class="p">++;</span><span class="w"></span>
|
||||
</span><span id="__span-0-113"><a href="#__codelineno-0-113" id="__codelineno-0-113" name="__codelineno-0-113"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sectorCount</span><span class="w"> </span><span class="p">==</span><span class="w"> </span><span class="m">1</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-114"><a href="#__codelineno-0-114" id="__codelineno-0-114" name="__codelineno-0-114"></a><span class="w"> </span><span class="n">result</span><span class="p">.</span><span class="n">Sector1</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="p">)(</span><span class="n">w</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">DriverSectorWindow</span><span class="p">).</span><span class="n">DecodePng</span><span class="p">();</span><span class="w"></span>
|
||||
</span><span id="__span-0-115"><a href="#__codelineno-0-115" id="__codelineno-0-115" name="__codelineno-0-115"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sectorCount</span><span class="w"> </span><span class="p">==</span><span class="w"> </span><span class="m">2</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-116"><a href="#__codelineno-0-116" id="__codelineno-0-116" name="__codelineno-0-116"></a><span class="w"> </span><span class="n">result</span><span class="p">.</span><span class="n">Sector2</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="p">)(</span><span class="n">w</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">DriverSectorWindow</span><span class="p">).</span><span class="n">DecodePng</span><span class="p">();</span><span class="w"></span>
|
||||
</span><span id="__span-0-117"><a href="#__codelineno-0-117" id="__codelineno-0-117" name="__codelineno-0-117"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sectorCount</span><span class="w"> </span><span class="p">==</span><span class="w"> </span><span class="m">3</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-118"><a href="#__codelineno-0-118" id="__codelineno-0-118" name="__codelineno-0-118"></a><span class="w"> </span><span class="n">result</span><span class="p">.</span><span class="n">Sector3</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="p">)(</span><span class="n">w</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">DriverSectorWindow</span><span class="p">).</span><span class="n">DecodePng</span><span class="p">();</span><span class="w"></span>
|
||||
</span><span id="__span-0-119"><a href="#__codelineno-0-119" id="__codelineno-0-119" name="__codelineno-0-119"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-120"><a href="#__codelineno-0-120" id="__codelineno-0-120" name="__codelineno-0-120"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">w</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">DriverTyresWindow</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-121"><a href="#__codelineno-0-121" id="__codelineno-0-121" name="__codelineno-0-121"></a><span class="w"> </span><span class="n">result</span><span class="p">.</span><span class="n">CurrentTyre</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="n">Tyre</span><span class="p">)(</span><span class="n">w</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">DriverTyresWindow</span><span class="p">).</span><span class="n">DecodePng</span><span class="p">();</span><span class="w"></span>
|
||||
</span><span id="__span-0-122"><a href="#__codelineno-0-122" id="__codelineno-0-122" name="__codelineno-0-122"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-123"><a href="#__codelineno-0-123" id="__codelineno-0-123" name="__codelineno-0-123"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">result</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-124"><a href="#__codelineno-0-124" id="__codelineno-0-124" name="__codelineno-0-124"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-125"><a href="#__codelineno-0-125" id="__codelineno-0-125" name="__codelineno-0-125"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="k">virtual</span><span class="w"> </span><span class="n">Bitmap</span><span class="w"> </span><span class="nf">Draw</span><span class="p">()</span><span class="w"></span>
|
||||
</span><span id="__span-0-126"><a href="#__codelineno-0-126" id="__codelineno-0-126" name="__codelineno-0-126"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-127"><a href="#__codelineno-0-127" id="__codelineno-0-127" name="__codelineno-0-127"></a><span class="w"> </span><span class="n">Bitmap</span><span class="w"> </span><span class="n">img</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-128"><a href="#__codelineno-0-128" id="__codelineno-0-128" name="__codelineno-0-128"></a>
|
||||
</span><span id="__span-0-129"><a href="#__codelineno-0-129" id="__codelineno-0-129" name="__codelineno-0-129"></a><span class="w"> </span><span class="c1">//If its the main zone we want to see everything</span>
|
||||
</span><span id="__span-0-130"><a href="#__codelineno-0-130" id="__codelineno-0-130" name="__codelineno-0-130"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">Zones</span><span class="p">.</span><span class="n">Count</span><span class="w"> </span><span class="p">></span><span class="w"> </span><span class="m">0</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-131"><a href="#__codelineno-0-131" id="__codelineno-0-131" name="__codelineno-0-131"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-132"><a href="#__codelineno-0-132" id="__codelineno-0-132" name="__codelineno-0-132"></a><span class="w"> </span><span class="n">img</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">Image</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-133"><a href="#__codelineno-0-133" id="__codelineno-0-133" name="__codelineno-0-133"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-134"><a href="#__codelineno-0-134" id="__codelineno-0-134" name="__codelineno-0-134"></a><span class="w"> </span><span class="k">else</span><span class="w"></span>
|
||||
</span><span id="__span-0-135"><a href="#__codelineno-0-135" id="__codelineno-0-135" name="__codelineno-0-135"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-136"><a href="#__codelineno-0-136" id="__codelineno-0-136" name="__codelineno-0-136"></a><span class="w"> </span><span class="n">img</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">ZoneImage</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-137"><a href="#__codelineno-0-137" id="__codelineno-0-137" name="__codelineno-0-137"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-138"><a href="#__codelineno-0-138" id="__codelineno-0-138" name="__codelineno-0-138"></a>
|
||||
</span><span id="__span-0-139"><a href="#__codelineno-0-139" id="__codelineno-0-139" name="__codelineno-0-139"></a><span class="w"> </span><span class="n">Graphics</span><span class="w"> </span><span class="n">g</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">Graphics</span><span class="p">.</span><span class="n">FromImage</span><span class="p">(</span><span class="n">img</span><span class="p">);</span><span class="w"></span>
|
||||
</span><span id="__span-0-140"><a href="#__codelineno-0-140" id="__codelineno-0-140" name="__codelineno-0-140"></a>
|
||||
</span><span id="__span-0-141"><a href="#__codelineno-0-141" id="__codelineno-0-141" name="__codelineno-0-141"></a><span class="w"> </span><span class="c1">//If its the main zone we need to visualize the Zone bounds displayed</span>
|
||||
</span><span id="__span-0-142"><a href="#__codelineno-0-142" id="__codelineno-0-142" name="__codelineno-0-142"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">Zones</span><span class="p">.</span><span class="n">Count</span><span class="w"> </span><span class="p">></span><span class="w"> </span><span class="m">0</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-143"><a href="#__codelineno-0-143" id="__codelineno-0-143" name="__codelineno-0-143"></a><span class="w"> </span><span class="n">g</span><span class="p">.</span><span class="n">DrawRectangle</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">Pen</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">SolidBrush</span><span class="p">(</span><span class="n">Color</span><span class="p">.</span><span class="n">FromArgb</span><span class="p">(</span><span class="m">249</span><span class="p">,</span><span class="m">194</span><span class="p">,</span><span class="m">46</span><span class="p">)),</span><span class="w"> </span><span class="m">5</span><span class="p">),</span><span class="w"> </span><span class="n">Bounds</span><span class="p">);</span><span class="w"></span>
|
||||
</span><span id="__span-0-144"><a href="#__codelineno-0-144" id="__codelineno-0-144" name="__codelineno-0-144"></a>
|
||||
</span><span id="__span-0-145"><a href="#__codelineno-0-145" id="__codelineno-0-145" name="__codelineno-0-145"></a><span class="w"> </span><span class="k">foreach</span><span class="w"> </span><span class="p">(</span><span class="n">Zone</span><span class="w"> </span><span class="n">z</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">Zones</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-146"><a href="#__codelineno-0-146" id="__codelineno-0-146" name="__codelineno-0-146"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-147"><a href="#__codelineno-0-147" id="__codelineno-0-147" name="__codelineno-0-147"></a><span class="w"> </span><span class="n">Rectangle</span><span class="w"> </span><span class="n">newBounds</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Rectangle</span><span class="p">(</span><span class="n">z</span><span class="p">.</span><span class="n">Bounds</span><span class="p">.</span><span class="n">X</span><span class="p">,</span><span class="w"> </span><span class="n">z</span><span class="p">.</span><span class="n">Bounds</span><span class="p">.</span><span class="n">Y</span><span class="w"> </span><span class="p">+</span><span class="w"> </span><span class="n">Bounds</span><span class="p">.</span><span class="n">Y</span><span class="p">,</span><span class="w"> </span><span class="n">z</span><span class="p">.</span><span class="n">Bounds</span><span class="p">.</span><span class="n">Width</span><span class="p">,</span><span class="w"> </span><span class="n">z</span><span class="p">.</span><span class="n">Bounds</span><span class="p">.</span><span class="n">Height</span><span class="p">);</span><span class="w"></span>
|
||||
</span><span id="__span-0-148"><a href="#__codelineno-0-148" id="__codelineno-0-148" name="__codelineno-0-148"></a><span class="w"> </span><span class="n">g</span><span class="p">.</span><span class="n">DrawRectangle</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">Pen</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">SolidBrush</span><span class="p">(</span><span class="n">Color</span><span class="p">.</span><span class="n">FromArgb</span><span class="p">(</span><span class="m">249</span><span class="p">,</span><span class="w"> </span><span class="m">194</span><span class="p">,</span><span class="w"> </span><span class="m">46</span><span class="p">)),</span><span class="w"> </span><span class="m">5</span><span class="p">),</span><span class="w"> </span><span class="n">newBounds</span><span class="p">);</span><span class="w"></span>
|
||||
</span><span id="__span-0-149"><a href="#__codelineno-0-149" id="__codelineno-0-149" name="__codelineno-0-149"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-150"><a href="#__codelineno-0-150" id="__codelineno-0-150" name="__codelineno-0-150"></a><span class="w"> </span><span class="k">foreach</span><span class="w"> </span><span class="p">(</span><span class="n">Window</span><span class="w"> </span><span class="n">w</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">Windows</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-151"><a href="#__codelineno-0-151" id="__codelineno-0-151" name="__codelineno-0-151"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-152"><a href="#__codelineno-0-152" id="__codelineno-0-152" name="__codelineno-0-152"></a><span class="w"> </span><span class="n">g</span><span class="p">.</span><span class="n">DrawRectangle</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">Pen</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">SolidBrush</span><span class="p">(</span><span class="n">Color</span><span class="p">.</span><span class="n">FromArgb</span><span class="p">(</span><span class="m">252</span><span class="p">,</span><span class="w"> </span><span class="m">252</span><span class="p">,</span><span class="w"> </span><span class="m">252</span><span class="p">)),</span><span class="w"> </span><span class="m">5</span><span class="p">),</span><span class="w"> </span><span class="n">w</span><span class="p">.</span><span class="n">Bounds</span><span class="p">);</span><span class="w"></span>
|
||||
</span><span id="__span-0-153"><a href="#__codelineno-0-153" id="__codelineno-0-153" name="__codelineno-0-153"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-154"><a href="#__codelineno-0-154" id="__codelineno-0-154" name="__codelineno-0-154"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">img</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-155"><a href="#__codelineno-0-155" id="__codelineno-0-155" name="__codelineno-0-155"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-156"><a href="#__codelineno-0-156" id="__codelineno-0-156" name="__codelineno-0-156"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="k">void</span><span class="w"> </span><span class="nf">ResetZones</span><span class="p">()</span><span class="w"></span>
|
||||
</span><span id="__span-0-157"><a href="#__codelineno-0-157" id="__codelineno-0-157" name="__codelineno-0-157"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-158"><a href="#__codelineno-0-158" id="__codelineno-0-158" name="__codelineno-0-158"></a><span class="w"> </span><span class="n">Zones</span><span class="p">.</span><span class="n">Clear</span><span class="p">();</span><span class="w"></span>
|
||||
</span><span id="__span-0-159"><a href="#__codelineno-0-159" id="__codelineno-0-159" name="__codelineno-0-159"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-160"><a href="#__codelineno-0-160" id="__codelineno-0-160" name="__codelineno-0-160"></a><span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="k">void</span><span class="w"> </span><span class="nf">ResetWindows</span><span class="p">()</span><span class="w"></span>
|
||||
</span><span id="__span-0-161"><a href="#__codelineno-0-161" id="__codelineno-0-161" name="__codelineno-0-161"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-162"><a href="#__codelineno-0-162" id="__codelineno-0-162" name="__codelineno-0-162"></a><span class="w"> </span><span class="k">foreach</span><span class="w"> </span><span class="p">(</span><span class="n">Zone</span><span class="w"> </span><span class="n">z</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">Zones</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-163"><a href="#__codelineno-0-163" id="__codelineno-0-163" name="__codelineno-0-163"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-164"><a href="#__codelineno-0-164" id="__codelineno-0-164" name="__codelineno-0-164"></a><span class="w"> </span><span class="n">z</span><span class="p">.</span><span class="n">ResetWindows</span><span class="p">();</span><span class="w"></span>
|
||||
</span><span id="__span-0-165"><a href="#__codelineno-0-165" id="__codelineno-0-165" name="__codelineno-0-165"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-166"><a href="#__codelineno-0-166" id="__codelineno-0-166" name="__codelineno-0-166"></a><span class="w"> </span><span class="n">Windows</span><span class="p">.</span><span class="n">Clear</span><span class="p">();</span><span class="w"></span>
|
||||
</span><span id="__span-0-167"><a href="#__codelineno-0-167" id="__codelineno-0-167" name="__codelineno-0-167"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-168"><a href="#__codelineno-0-168" id="__codelineno-0-168" name="__codelineno-0-168"></a><span class="w"> </span><span class="c1">/// <summary></span>
|
||||
</span><span id="__span-0-169"><a href="#__codelineno-0-169" id="__codelineno-0-169" name="__codelineno-0-169"></a><span class="w"> </span><span class="c1">/// Checks if the given Rectangle fits in the current zone</span>
|
||||
</span><span id="__span-0-170"><a href="#__codelineno-0-170" id="__codelineno-0-170" name="__codelineno-0-170"></a><span class="w"> </span><span class="c1">/// </summary></span>
|
||||
</span><span id="__span-0-171"><a href="#__codelineno-0-171" id="__codelineno-0-171" name="__codelineno-0-171"></a><span class="w"> </span><span class="c1">/// <param name="InputRectangle">The Rectangle you want to check the fittment</param></span>
|
||||
</span><span id="__span-0-172"><a href="#__codelineno-0-172" id="__codelineno-0-172" name="__codelineno-0-172"></a><span class="w"> </span><span class="c1">/// <returns></returns></span>
|
||||
</span><span id="__span-0-173"><a href="#__codelineno-0-173" id="__codelineno-0-173" name="__codelineno-0-173"></a><span class="w"> </span><span class="k">protected</span><span class="w"> </span><span class="kt">bool</span><span class="w"> </span><span class="nf">Fits</span><span class="p">(</span><span class="n">Rectangle</span><span class="w"> </span><span class="n">inputRectangle</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-174"><a href="#__codelineno-0-174" id="__codelineno-0-174" name="__codelineno-0-174"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-175"><a href="#__codelineno-0-175" id="__codelineno-0-175" name="__codelineno-0-175"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">inputRectangle</span><span class="p">.</span><span class="n">X</span><span class="w"> </span><span class="p">+</span><span class="w"> </span><span class="n">inputRectangle</span><span class="p">.</span><span class="n">Width</span><span class="w"> </span><span class="p">></span><span class="w"> </span><span class="n">Bounds</span><span class="p">.</span><span class="n">Width</span><span class="w"> </span><span class="p">||</span><span class="w"> </span><span class="n">inputRectangle</span><span class="p">.</span><span class="n">Y</span><span class="w"> </span><span class="p">+</span><span class="w"> </span><span class="n">inputRectangle</span><span class="p">.</span><span class="n">Height</span><span class="w"> </span><span class="p">></span><span class="w"> </span><span class="n">Bounds</span><span class="p">.</span><span class="n">Height</span><span class="w"> </span><span class="p">||</span><span class="w"> </span><span class="n">inputRectangle</span><span class="p">.</span><span class="n">X</span><span class="w"> </span><span class="p"><</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="p">||</span><span class="w"> </span><span class="n">inputRectangle</span><span class="p">.</span><span class="n">Y</span><span class="w"> </span><span class="p"><</span><span class="w"> </span><span class="m">0</span><span class="p">)</span><span class="w"></span>
|
||||
</span><span id="__span-0-176"><a href="#__codelineno-0-176" id="__codelineno-0-176" name="__codelineno-0-176"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-177"><a href="#__codelineno-0-177" id="__codelineno-0-177" name="__codelineno-0-177"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">false</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-178"><a href="#__codelineno-0-178" id="__codelineno-0-178" name="__codelineno-0-178"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-179"><a href="#__codelineno-0-179" id="__codelineno-0-179" name="__codelineno-0-179"></a><span class="w"> </span><span class="k">else</span><span class="w"></span>
|
||||
</span><span id="__span-0-180"><a href="#__codelineno-0-180" id="__codelineno-0-180" name="__codelineno-0-180"></a><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
</span><span id="__span-0-181"><a href="#__codelineno-0-181" id="__codelineno-0-181" name="__codelineno-0-181"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">true</span><span class="p">;</span><span class="w"></span>
|
||||
</span><span id="__span-0-182"><a href="#__codelineno-0-182" id="__codelineno-0-182" name="__codelineno-0-182"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-183"><a href="#__codelineno-0-183" id="__codelineno-0-183" name="__codelineno-0-183"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-184"><a href="#__codelineno-0-184" id="__codelineno-0-184" name="__codelineno-0-184"></a><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
</span><span id="__span-0-185"><a href="#__codelineno-0-185" id="__codelineno-0-185" name="__codelineno-0-185"></a><span class="p">}</span><span class="w"></span>
|
||||
</span></code></pre></div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<footer class="md-footer">
|
||||
<nav aria-label="Footer" class="md-footer__inner md-grid">
|
||||
<a aria-label="Previous: Reader.cs" class="md-footer__link md-footer__link--prev" href="Reader.html" rel="prev">
|
||||
<a aria-label="Previous: SqliteStorage.cs" class="md-footer__link md-footer__link--prev" href="SqliteStorage.html" rel="prev">
|
||||
<div class="md-footer__button md-icon">
|
||||
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path></svg>
|
||||
</div>
|
||||
@@ -493,17 +455,17 @@ namespace Test_Merge
|
||||
<span class="md-footer__direction">
|
||||
Previous
|
||||
</span>
|
||||
Reader.cs
|
||||
SqliteStorage.cs
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a aria-label="Next: DriverDrsWindow.cs" class="md-footer__link md-footer__link--next" href="DriverDrsWindow.html" rel="next">
|
||||
<a aria-label="Next: DataWrapper.cs" class="md-footer__link md-footer__link--next" href="DataWrapper.html" rel="next">
|
||||
<div class="md-footer__title">
|
||||
<div class="md-ellipsis">
|
||||
<span class="md-footer__direction">
|
||||
Next
|
||||
</span>
|
||||
DriverDrsWindow.cs
|
||||
DataWrapper.cs
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-footer__button md-icon">
|
||||
|
||||
Reference in New Issue
Block a user