aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Communication/PMR/ThreadLoading/ContinueThreadLoadingResponse.pb-c.h
blob: 8d9a98326d6040c1af7a5815946b2a0b801806cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: ContinueThreadLoadingResponse.proto */

#ifndef PROTOBUF_C_ContinueThreadLoadingResponse_2eproto__INCLUDED
#define PROTOBUF_C_ContinueThreadLoadingResponse_2eproto__INCLUDED

#include <protobuf-c/protobuf-c.h>

PROTOBUF_C__BEGIN_DECLS

#if PROTOBUF_C_VERSION_NUMBER < 1003000
# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
#endif


typedef struct _ContinueThreadLoadingResponse ContinueThreadLoadingResponse;


/* --- enums --- */


/* --- messages --- */

struct  _ContinueThreadLoadingResponse
{
  ProtobufCMessage base;
};
#define CONTINUE_THREAD_LOADING_RESPONSE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&continue_thread_loading_response__descriptor) \
     }


/* ContinueThreadLoadingResponse methods */
void   continue_thread_loading_response__init
                     (ContinueThreadLoadingResponse         *message);
size_t continue_thread_loading_response__get_packed_size
                     (const ContinueThreadLoadingResponse   *message);
size_t continue_thread_loading_response__pack
                     (const ContinueThreadLoadingResponse   *message,
                      uint8_t             *out);
size_t continue_thread_loading_response__pack_to_buffer
                     (const ContinueThreadLoadingResponse   *message,
                      ProtobufCBuffer     *buffer);
ContinueThreadLoadingResponse *
       continue_thread_loading_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   continue_thread_loading_response__free_unpacked
                     (ContinueThreadLoadingResponse *message,
                      ProtobufCAllocator *allocator);
/* --- per-message closures --- */

typedef void (*ContinueThreadLoadingResponse_Closure)
                 (const ContinueThreadLoadingResponse *message,
                  void *closure_data);

/* --- services --- */


/* --- descriptors --- */

extern const ProtobufCMessageDescriptor continue_thread_loading_response__descriptor;

PROTOBUF_C__END_DECLS


#endif  /* PROTOBUF_C_ContinueThreadLoadingResponse_2eproto__INCLUDED */
.FastGraphs { public class RealTimeGraphExMultiLineErase : RealTimeGraphExMultiLineScroll { #region Cross Thread Fields protected Color _markerColor; protected bool _showMarker; protected bool _endReached; protected int _currentReplaceIndex; #endregion #region Constructors public RealTimeGraphExMultiLineErase() : base() { } #endregion #region Properties /// <summary> /// Gets or sets the graph marker color. /// </summary> public Color MarkerColor { get { return (Color)GetValue(MarkerColorProperty); } set { SetValue(MarkerColorProperty, value); } } public static readonly DependencyProperty MarkerColorProperty = DependencyProperty.Register("MarkerBrush", typeof(Color), typeof(RealTimeGraphExMultiLineErase), new PropertyMetadata(Colors.Red, new PropertyChangedCallback(CrossModelChanged))); /// <summary> /// Gets or sets whether to display the marker on the graph. /// </summary> public bool ShowMarker { get { return (bool)GetValue(ShowMarkerProperty); } set { SetValue(ShowMarkerProperty, value); } } public static readonly DependencyProperty ShowMarkerProperty = DependencyProperty.Register("ShowMarker", typeof(bool), typeof(RealTimeGraphExMultiLineErase), new PropertyMetadata(true, new PropertyChangedCallback(CrossModelChanged))); #endregion #region Override Methods protected override void OnSetCrossThreadFields() { base.OnSetCrossThreadFields(); this.Dispatcher.Invoke(() => { _markerColor = MarkerColor; _showMarker = ShowMarker; }, System.Windows.Threading.DispatcherPriority.Send); } protected override void OnClearGraph() { base.OnClearGraph(); _currentReplaceIndex = 0; _endReached = false; } protected internal override void OnRenderGraph() { if (_graphController != null && _graphController.dataSeriesCollection.Count > 0 && _graphController.TotalPoints > 0 && _width > 1 && _height > 1) { var pointsCollection = _graphController.GetAndClearAllPoints(); if (_useAutoRange && pointsCollection.Count > 0) { Dispatcher.Invoke(() => { Maximum = pointsCollection.SelectMany(x => x).Concat(_graphPolygons.SelectMany(x => x.GetPoints())).Max(); Minimum = pointsCollection.SelectMany(x => x).Concat(_graphPolygons.SelectMany(x => x.GetPoints())).Min(); }); } if (!_isPaused) { for (int i = 0; i < pointsCollection[0].Count; i++) { if (xValueCounter <= _width) { if (!_endReached) { for (int j = 0; j < pointsCollection.Count; j++) { double value = pointsCollection[j][i]; NormalizeValue(ref value); _graphPolygons[j].Add(value); } xValueCounter += _scaleFactor; } else { for (int j = 0; j < pointsCollection.Count; j++) { double value = pointsCollection[j][i]; NormalizeValue(ref value); _graphPolygons[j].Replace(value, _currentReplaceIndex); if (j == pointsCollection.Count - 1) { _currentReplaceIndex++; for (int k = 0; k < _markers.Count; k++) { if (_markers[k] == _currentReplaceIndex) { _markers.RemoveAt(k); k--; } } } } xValueCounter += _scaleFactor; if (_currentReplaceIndex > _graphPolygons[0].Count - 1) { xValueCounter = 0; _currentReplaceIndex = 0; } } } else { _endReached = true; xValueCounter = 0; for (int j = 0; j < pointsCollection.Count; j++) { double value = pointsCollection[j][i]; NormalizeValue(ref value); _graphPolygons[j].Replace(value, _currentReplaceIndex); if (j == pointsCollection.Count - 1) { _currentReplaceIndex++; } } xValueCounter += _scaleFactor; } } } updateCounter++; if (updateCounter >= 1) { updateCounter = 0; if (!_disableRendering) { WriteableBitmap bmp = BitmapFactory.New((int)_mainWidth, (int)_mainHeight); bmp.Clear(Colors.Transparent); OnDrawVisuals(bmp); bmp.Freeze(); img.Dispatcher.BeginInvoke(new Action(() => { img.Source = bmp; }), System.Windows.Threading.DispatcherPriority.Send); } } } } protected override void OnPushMarker() { if (_currentReplaceIndex != 0) { _markers.Add(_currentReplaceIndex); } } [HandleProcessCorruptedStateExceptions] protected override void OnDrawVisuals(WriteableBitmap bmp) { if (_graphController == null) return; base.OnDrawVisuals(bmp); var polygon = _graphPolygons[0]; double scale = _width / polygon.Count; //Draw marker if (_showMarker) { if (_currentReplaceIndex > 0) { try { double x = ((_currentReplaceIndex * scale) + _offSetX); bmp.DrawLine((int)x, 0, (int)x, (int)_mainHeight, _markerColor); } catch { Debug.WriteLine("[RealTimeGraphExMultiLineErase] [OnDrawVisuals] Error on drawing marker!"); } } } } #endregion } }