aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/src/makefile.libs
blob: f262762efa3ae8af607b249cceb7f2bb66daacf0 (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
#
# This file was generated based on the configuration script:
#     C:\Tango\Software\Embedded_SW\Embedded\Embedded.cfg
#
# This makefile may be included in other makefiles that need to build
# the libraries containing the compiled source files generated as
# part of the configuration step.

#
# ======== GEN_SRC_DIR =========
# The path to the sources generated during configuration
#
# This path must be either absolute or relative to the build directory.
#
# The absolute path to the generated source directory (at the time the
# sources were generated) is:
#    C:\Tango\Software\Embedded_SW\Embedded\src
#
GEN_SRC_DIR ?= ../src

ifeq (,$(wildcard $(GEN_SRC_DIR)))
$(error "ERROR: GEN_SRC_DIR must be set to the directory containing the generated sources")
endif

#
# ======== .force ========
# The .force goal is used to force the build of any goal that names it as
# a prerequisite
#
.PHONY: .force
      
#
# ======== library macros ========
#
sysbios_SRC = $(GEN_SRC_DIR)/sysbios
sysbios_LIB = $(GEN_SRC_DIR)/sysbios/sysbios.aem4f

#
# ======== dependencies ========
#
all: $(sysbios_LIB)
clean: .sysbios_clean


# ======== convenient build goals ========
.PHONY: sysbios
sysbios: $(GEN_SRC_DIR)/sysbios/sysbios.aem4f

# CDT managed make executables depend on $(OBJS)
OBJS += $(sysbios_LIB)

#
# ======== rules ========
#
$(sysbios_LIB): .force 
	@echo making $@ ...
	@$(MAKE) -C $(sysbios_SRC)

.sysbios_clean:
	@echo cleaning $(sysbios_SRC) ...
	-@$(MAKE) --no-print-directory -C $(sysbios_SRC) clean
n> using SharpDX.Direct2D1; using System; using System.Collections.Generic; using System.Threading; public class DXGraphSurfaceMultiScroll : Direct2DControl { private List<Vector2[]> lastPoints; private List<Vector2[]> lastPointsFill; private List<System.Windows.Media.Brush> _fill; private List<System.Windows.Media.Brush> _stroke; private double _strokeWidth; private bool _fillGraph; private bool _antialiazed; private bool updated; public DXGraphSurfaceMultiScroll() { lastPoints = new List<Vector2[]>(); lastPointsFill = new List<Vector2[]>(); } public void SetProperties(List<Vector2[]> polygonPoints, List<Vector2[]> polygonPointsFill, List<System.Windows.Media.Brush> stroke, double strokeWidth, bool fillGraph, List<System.Windows.Media.Brush> fill, bool antialized) { _stroke = stroke; _fill = fill; _fillGraph = fillGraph; _strokeWidth = strokeWidth; _antialiazed = antialized; 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.Count > 0 && updated) { lock (lastPoints) { target.AntialiasMode = _antialiazed ? AntialiasMode.PerPrimitive : AntialiasMode.Aliased; if (lastPoints.Count > 0 && lastPoints[0].Length > 0) { target.Clear(Color.Transparent); } for (int i = 0; i < lastPoints.Count; i++) { var stroke = _stroke[i].ToDxBrush(target); var fill = _fill[i].ToDxBrush(target); target.DrawPolygon(m_d2dFactory, stroke, _strokeWidth, lastPoints[i]); if (_fillGraph && fill != null && _fill[i] != null) { target.FillPolygon(m_d2dFactory, fill, lastPointsFill[i]); } } updated = false; GC.Collect(GC.MaxGeneration, GCCollectionMode.Optimized, blocking: false); } } DisableRendering(); } } }