aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.BL/DTO
ModeNameSize
-rw-r--r--ActionLogDTO.cs207logstatsplain
-rw-r--r--ActionLogDTOBase.cs1552logstatsplain
-rw-r--r--AddressDTO.cs203logstatsplain
-rw-r--r--AddressDTOBase.cs1661logstatsplain
-rw-r--r--ApplicationDisplayPanelVersionDTO.cs249logstatsplain
-rw-r--r--ApplicationDisplayPanelVers
using System.Linq;
using RealTimeGraphEx.ExtensionMethods;

namespace RealTimeGraphEx.DX2D
{
    using SharpDX;
    using SharpDX.Direct2D1;
    using System;
    using System.Collections.Generic;

    public class DXGraphSurfaceSingleErase : Direct2DControl
    {
        private Vector2[] lastPoints;
        private Vector2[] lastPointsFill;
        private System.Windows.Media.Brush _fill;
        private System.Windows.Media.Brush _stroke;
        private System.Windows.Media.Brush _markerBrush;
        private float _markerStrokeWidth;
        private float _markerPosition;
        private bool _showMarker;
        private double _strokeWidth;
        private bool _fillGraph;
        private bool _antialiazed;
        private bool updated;

        public DXGraphSurfaceSingleErase()
        {
            lastPoints = new Vector2[0];
            lastPointsFill = new Vector2[0];
        }

        public void SetProperties(Vector2[] polygonPoints, Vector2[] polygonPointsFill, System.Windows.Media.Brush stroke, double strokeWidth, bool fillGraph, System.Windows.Media.Brush fill, bool antialized, System.Windows.Media.Brush markerBrush, double markerPosition, bool showMarker, double markerStrokeWidth)
        {
            _stroke = stroke;
            _fill = fill;
            _fillGraph = fillGraph;
            _strokeWidth = strokeWidth;
            _antialiazed = antialized;
            _markerBrush = markerBrush;
            _markerStrokeWidth = (float)markerStrokeWidth;
            _markerPosition = (float)markerPosition;
            _showMarker = showMarker;


            lock (lastPoints)
            {
                lastPoints = polygonPoints;
                lastPointsFill = polygonPointsFill;
                updated = true;
            }
        }

        /// <summary>
        /// Does the actual rendering. 
        /// BeginDraw and EndDraw are already called by the caller. 
        /// </summary>
        public override void Render(RenderTarget target)
        {
            if (lastPoints.Length > 0 && updated)
            {
                target.Clear(Color.Transparent);
                var stroke = _stroke.ToDxBrush(target);
                var fill = _fill.ToDxBrush(target);

                target.AntialiasMode = _antialiazed ? AntialiasMode.PerPrimitive : AntialiasMode.Aliased;

                lock (lastPoints)
                {
                    target.DrawPolygon(m_d2dFactory, stroke, _strokeWidth, lastPoints);

                    if (_fillGraph && _fill != null)
                    {
                        target.FillPolygon(m_d2dFactory, fill, lastPointsFill);
                    }

                    if (_showMarker && _markerBrush != null)
                    {
                        var markerBrush = _markerBrush.ToDxBrush(target);
                        target.DrawLine(new Vector2(_markerPosition, 0), new Vector2(_markerPosition, (float)this.ActualHeight), markerBrush, _markerStrokeWidth);
                        markerBrush.Dispose();
                    }

                    updated = false;
                    GC.Collect(GC.MaxGeneration, GCCollectionMode.Optimized, blocking: false);
                }
            }

            DisableRendering();
        }
    }
}
tr> -rw-r--r--DispenserTypeDTO.cs215logstatsplain -rw-r--r--DispenserTypeDTOBase.cs1087logstatsplain -rw-r--r--EmbeddedFirmwareVersionDTO.cs235logstatsplain -rw-r--r--EmbeddedFirmwareVersionDTOBase.cs982logstatsplain -rw-r--r--EventTypeDTO.cs207logstatsplain -rw-r--r--EventTypeDTOBase.cs2622logstatsplain -rw-r--r--FiberShapeDTO.cs209logstatsplain -rw-r--r--FiberShapeDTOBase.cs936logstatsplain -rw-r--r--FiberSynthDTO.cs209logstatsplain -rw-r--r--FiberSynthDTOBase.cs936logstatsplain -rw-r--r--FseVersionDTO.cs209logstatsplain -rw-r--r--FseVersionDTOBase.cs1399logstatsplain -rw-r--r--GlobalDataStoreItemDTO.cs227logstatsplain -rw-r--r--GlobalDataStoreItemDTOBase.cs1261logstatsplain -rw-r--r--HardwareBlowerDTO.cs717logstatsplain -rw-r--r--HardwareBlowerDTOBase.cs1595logstatsplain -rw-r--r--HardwareBlowerTypeDTO.cs225logstatsplain -rw-r--r--HardwareBlowerTypeDTOBase.cs1108logstatsplain -rw-r--r--HardwareBreakSensorDTO.cs773logstatsplain -rw-r--r--HardwareBreakSensorDTOBase.cs1488logstatsplain -rw-r--r--HardwareBreakSensorTypeDTO.cs235logstatsplain -rw-r--r--HardwareBreakSensorTypeDTOBase.cs1123logstatsplain -rw-r--r--HardwareDancerDTO.cs717logstatsplain -rw-r--r--HardwareDancerDTOBase.cs2670logstatsplain -rw-r--r--HardwareDancerTypeDTO.cs225logstatsplain -rw-r--r--HardwareDancerTypeDTOBase.cs1108logstatsplain -rw-r--r--HardwareMotorDTO.cs706logstatsplain -rw-r--r--HardwareMotorDTOBase.cs6189logstatsplain -rw-r--r--HardwareMotorTypeDTO.cs223logstatsplain -rw-r--r--HardwareMotorTypeDTOBase.cs1261logstatsplain -rw-r--r--HardwarePidControlDTO.cs762logstatsplain -rw-r--r--HardwarePidControlDTOBase.cs4382logstatsplain -rw-r--r--HardwarePidControlTypeDTO.cs233logstatsplain -rw-r--r--HardwarePidControlTypeDTOBase.cs1120logstatsplain -rw-r--r--HardwareSpeedSensorDTO.cs773logstatsplain -rw-r--r--HardwareSpeedSensorDTOBase.cs1483logstatsplain -rw-r--r--HardwareSpeedSensorTypeDTO.cs235logstatsplain -rw-r--r--HardwareSpeedSensorTypeDTOBase.cs1123logstatsplain -rw-r--r--HardwareVersionDTO.cs1373logstatsplain -rw-r--r--HardwareVersionDTOBase.cs958logstatsplain -rw-r--r--HardwareWinderDTO.cs717logstatsplain -rw-r--r--HardwareWinderDTOBase.cs1328logstatsplain -rw-r--r--HardwareWinderTypeDTO.cs225logstatsplain -rw-r--r--HardwareWinderTypeDTOBase.cs1108logstatsplain -rw-r--r--IdsPackDTO.cs1636logstatsplain -rw-r--r--IdsPackDTOBase.cs1902logstatsplain -rw-r--r--IdsPackFormulaDTO.cs217logstatsplain -rw-r--r--IdsPackFormulaDTOBase.cs1252logstatsplain -rw-r--r--JobDTO.cs1354logstatsplain -rw-r--r--JobDTOBase.cs6099logstatsplain -rw-r--r--JobRunDTO.cs201logstatsplain -rw-r--r--JobRunDTOBase.cs5095logstatsplain -rw-r--r--LinearMassDensityUnitDTO.cs231logstatsplain -rw-r--r--LinearMassDensityUnitDTOBase.cs969logstatsplain -rw-r--r--LiquidTypeDTO.cs327logstatsplain -rw-r--r--LiquidTypeDTOBase.cs1658logstatsplain -rw-r--r--LiquidTypesRmlDTO.cs600logstatsplain -rw-r--r--LiquidTypesRmlDTOBase.cs1283logstatsplain -rw-r--r--MachineDTO.cs779logstatsplain -rw-r--r--MachineDTOBase.cs5517logstatsplain -rw-r--r--MachineStudioVersionDTO.cs229logstatsplain -rw-r--r--MachineStudioVersionDTOBase.cs1429logstatsplain -rw-r--r--MachineVersionDTO.cs217logstatsplain -rw-r--r--MachineVersionDTOBase.cs1123logstatsplain -rw-r--r--MachinesEventDTO.cs215logstatsplain -rw-r--r--MachinesEventDTOBase.cs1716logstatsplain -rw-r--r--MediaConditionDTO.cs217logstatsplain -rw-r--r--MediaConditionDTOBase.cs948logstatsplain -rw-r--r--MediaMaterialDTO.cs215logstatsplain -rw-r--r--MediaMaterialDTOBase.cs945logstatsplain -rw-r--r--MediaPurposDTO.cs211logstatsplain -rw-r--r--MediaPurposDTOBase.cs939logstatsplain -rw-r--r--MidTankTypeDTO.cs211logstatsplain -rw-r--r--MidTankTypeDTOBase.cs1092logstatsplain -rw-r--r--OrganizationDTO.cs430logstatsplain -rw-r--r--OrganizationDTOBase.cs1107logstatsplain -rw-r--r--PermissionDTO.cs209logstatsplain -rw-r--r--PermissionDTOBase.cs1084logstatsplain -rw-r--r--ProcessParametersTableDTO.cs353logstatsplain -rw-r--r--ProcessParametersTableDTOBase.cs5780logstatsplain -rw-r--r--ProcessParametersTablesGroupDTO.cs598logstatsplain -rw-r--r--ProcessParametersTablesGroupDTOBase.cs1282logstatsplain -rw-r--r--PublishedProcedureProjectDTO.cs239logstatsplain -rw-r--r--PublishedProcedureProjectDTOBase.cs1588logstatsplain -rw-r--r--PublishedProcedureProjectsVersionDTO.cs255logstatsplain -rw-r--r--PublishedProcedureProjectsVersionDTOBase.cs1364logstatsplain -rw-r--r--RmlDTO.cs944logstatsplain -rw-r--r--RmlDTOBase.cs7362logstatsplain -rw-r--r--RmlsSpoolDTO.cs563logstatsplain -rw-r--r--RmlsSpoolDTOBase.cs1614logstatsplain -rw-r--r--RoleDTO.cs376logstatsplain -rw-r--r--RoleDTOBase.cs1066logstatsplain -rw-r--r--RolesPermissionDTO.cs272logstatsplain -rw-r--r--RolesPermissionDTOBase.cs982logstatsplain -rw-r--r--SegmentDTO.cs485logstatsplain -rw-r--r--SegmentDTOBase.cs1223logstatsplain -rw-r--r--SiteDTO.cs770logstatsplain -rw-r--r--SiteDTOBase.cs1092logstatsplain -rw-r--r--SitesCatalogDTO.cs574logstatsplain -rw-r--r--SitesCatalogDTOBase.cs978logstatsplain -rw-r--r--SitesRmlDTO.cs515logstatsplain -rw-r--r--SitesRmlDTOBase.cs947logstatsplain -rw-r--r--SpoolDTO.cs547logstatsplain -rw-r--r--SpoolDTOBase.cs1825logstatsplain -rw-r--r--SpoolTypeDTO.cs207logstatsplain -rw-r--r--SpoolTypeDTOBase.cs2335logstatsplain -rw-r--r--SyncConfigurationDTO.cs223logstatsplain -rw-r--r--SyncConfigurationDTOBase.cs689logstatsplain -rw-r--r--TangoUpdateDTO.cs211logstatsplain -rw-r--r--TangoUpdateDTOBase.cs2030logstatsplain -rw-r--r--TangoVersionDTO.cs213logstatsplain -rw-r--r--TangoVersionDTOBase.cs1726logstatsplain -rw-r--r--TechControllerDTO.cs217logstatsplain -rw-r--r--TechControllerDTOBase.cs1496logstatsplain -rw-r--r--TechDispenserDTO.cs215logstatsplain -rw-r--r--TechDispenserDTOBase.cs1093logstatsplain -rw-r--r--TechHeaterDTO.cs209logstatsplain -rw-r--r--TechHeaterDTOBase.cs1084logstatsplain -rw-r--r--TechIoDTO.cs201logstatsplain -rw-r--r--TechIoDTOBase.cs2178logstatsplain -rw-r--r--TechMonitorDTO.cs211logstatsplain -rw-r--r--TechMonitorDTOBase.cs1944logstatsplain -rw-r--r--TechValveDTO.cs207logstatsplain -rw-r--r--TechValveDTOBase.cs1490logstatsplain -rw-r--r--UserDTO.cs716logstatsplain -rw-r--r--UserDTOBase.cs1857logstatsplain -rw-r--r--UsersRoleDTO.cs537logstatsplain -rw-r--r--UsersRoleDTOBase.cs952logstatsplain -rw-r--r--WindingMethodDTO.cs215logstatsplain -rw-r--r--WindingMethodDTOBase.cs1093logstatsplain