Changes to aos/vision/debug in preparation for the competition.
- blob_log-source: Support multiple key-commands for seeking to a target
also added JustCheckForTarget which can be implemented to run faster
for slow computer (will implement in followup).
- camera-source + debug_framework: Takes in camera parameters from the
caller.
- debug_window -> Scale text up on smaller monitors.
- overlay.h: Ben changed width to measure point to point on the cross.
And added circles to the pixel-lines overlay.
- tcp-source: Drop packects when the computer can't keep up.
- debug_framework -> detect smaller monitors and scale down the viewport.
Change-Id: Iae65a0799231d006b38694a8a9cb3894e252033c
diff --git a/aos/vision/debug/debug_window.h b/aos/vision/debug/debug_window.h
index 906bf3b..aa31a8c 100644
--- a/aos/vision/debug/debug_window.h
+++ b/aos/vision/debug/debug_window.h
@@ -12,7 +12,8 @@
// Implement Cairo version of RenderInterface.
class CairoRender : public RenderInterface {
public:
- explicit CairoRender(cairo_t *cr) : cr_(cr) {}
+ explicit CairoRender(cairo_t *cr, double text_scale)
+ : cr_(cr), text_scale_(text_scale) {}
virtual ~CairoRender() {}
void Translate(double x, double y) override { cairo_translate(cr_, x, y); }
@@ -36,6 +37,7 @@
private:
cairo_t *cr_;
+ double text_scale_ = 1.0;
};
// Simple debug view window.
@@ -55,6 +57,13 @@
// See overlay.h for more info.
void SetOverlays(std::vector<OverlayBase *> *overlay);
+ void AddOverlay(OverlayBase *overlay);
+ void AddOverlays(const std::vector<OverlayBase *> &overlays) {
+ for (auto *overlay : overlays) {
+ AddOverlay(overlay);
+ }
+ }
+
// Resizes the window.
void SetScale(double scale_factor);