Commit 236e2879 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

add 'plot axes' command

parent 413e4a84
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -15,6 +15,34 @@

namespace signaltk {

int cmd_plot_axes(Context* ctx, const char** args, int arg_count) {
  FlagParser flag_parser;

  std::string flag_in;
  flag_parser.defineString("in", true, &flag_in);

  std::string flag_out;
  flag_parser.defineString("out", true, &flag_out);

  bool flag_left;
  flag_parser.defineSwitch("left", &flag_left);

  auto rc = flag_parser.parseArgv(arg_count, args);
  if (!rc.isSuccess()) {
    std::cerr << "ERROR: " << rc.getMessage() << std::endl;
    return -1;
  }

  Layer target;
  if (!target.loadPNG(flag_in.c_str())) {
    return -1; // FIXME error
  }

  target.writePNG(flag_out.c_str());

  return 0;
}

int cmd_plot_gridlines(Context* ctx, const char** args, int arg_count) {
  FlagParser flag_parser;

+1 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@

namespace signaltk {

int cmd_plot_axes(Context* ctx, const char** args, int arg_count);
int cmd_plot_gridlines(Context* ctx, const char** args, int arg_count);

} // namespace signaltk
+6 −0
Original line number Diff line number Diff line
@@ -21,6 +21,12 @@ const std::vector<Command> command_list {
    .fn = &cmd_image_new,
  },

  // command: plot axes
  Command {
    .name = {"plot", "axes"},
    .fn = &cmd_plot_axes,
  },

  // command: plot gridlines
  Command {
    .name = {"plot", "gridlines"},
+1.86 KiB
Loading image diff...
+4 −0
Original line number Diff line number Diff line
#!/bin/bash

signaltk img new --out ${TEST_OUTFILE} --width 800 --height 400 --clear '#fff'
signaltk plot axes --in ${TEST_OUTFILE} --out ${TEST_OUTFILE} --left