Skip to content

algorithm-visualizer/tracers.cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tracers.cpp GitHub release API reference Travis (.com)

This repository is part of the project Algorithm Visualizer.

tracers.cpp is a visualization library for C++. You can use it on algorithm-visualizer.org or locally on your machine.

Prerequisites

Installation

  1. Download and extract the source code in the latest release.

  2. Change directory to it and run:

mkdir build

cd build

cmake ..

make install

Usage

// import visualization libraries {
#include "algorithm-visualizer.h"
// }

#include <vector>
#include <string>

// define tracer variables {
Array2DTracer array2dTracer = Array2DTracer("Grid");
LogTracer logTracer = LogTracer("Console");
// }

// define input variables
std::vector<std::string> messages{
        "Visualize",
        "your",
        "own",
        "code",
        "here!",
};

// highlight each line of messages recursively
void highlight(int line) {
    if (line >= messages.size()) return;
    std::string message = messages[line];
    // visualize {
    logTracer.println(message);
    array2dTracer.selectRow(line, 0, message.size() - 1);
    Tracer::delay();
    array2dTracer.deselectRow(line, 0, message.size() - 1);
    // }
    highlight(line + 1);
}

int main() {
    // visualize {
    Layout::setRoot(VerticalLayout({array2dTracer, logTracer}));
    array2dTracer.set(messages);
    Tracer::delay();
    // }
    highlight(0);
    return 0;
}

Check out the API reference for more information.

Contributing

Check out the contributing guidelines.