Commit b2360964 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

add {xy}domain-format, axis-*-format properties

parent 91098456
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -55,5 +55,25 @@ Formatter format_decimal_fixed(size_t precision) {
  return f;
}

ReturnCode confgure_format(
    const plist::Property& prop,
    Formatter* formatter) {
  if (prop.size() < 1) {
    return ERROR_INVALID_ARGUMENT;
  }

  if (prop[0].data == "fixed") {
    *formatter = format_decimal_fixed(1); // FIXME
    return OK;
  }

  if (prop[0].data == "scientific") {
    *formatter = format_decimal_scientific(1); // FIXME
    return OK;
  }

  return OK;
}

} // namespace plotfx
+4 −0
Original line number Diff line number Diff line
@@ -44,5 +44,9 @@ Formatter format_decimal_scientific(size_t precision);

Formatter format_decimal_fixed(size_t precision);

ReturnCode confgure_format(
    const plist::Property& prop,
    Formatter* formatter);

} // namespace plotfx
+18 −0
Original line number Diff line number Diff line
@@ -133,9 +133,27 @@ ReturnCode configure(
    {"margin-bottom", std::bind(&parseMeasureProp, std::placeholders::_1, &config.margins[2])},
    {"margin-left", std::bind(&parseMeasureProp, std::placeholders::_1, &config.margins[3])},
    {"axis-top", std::bind(&parseAxisModeProp, std::placeholders::_1, &config.axis_top.mode)},
    {"axis-top-format", std::bind(&confgure_format, std::placeholders::_1, &config.axis_top.label_formatter)},
    {"axis-right", std::bind(&parseAxisModeProp, std::placeholders::_1, &config.axis_right.mode)},
    {"axis-right-format", std::bind(&confgure_format, std::placeholders::_1, &config.axis_right.label_formatter)},
    {"axis-bottom", std::bind(&parseAxisModeProp, std::placeholders::_1, &config.axis_bottom.mode)},
    {"axis-bottom-format", std::bind(&confgure_format, std::placeholders::_1, &config.axis_bottom.label_formatter)},
    {"axis-left", std::bind(&parseAxisModeProp, std::placeholders::_1, &config.axis_left.mode)},
    {"axis-left-format", std::bind(&confgure_format, std::placeholders::_1, &config.axis_left.label_formatter)},
    {
      "xdomain-format",
      configure_multiprop({
          std::bind(&confgure_format, std::placeholders::_1, &config.axis_top.label_formatter),
          std::bind(&confgure_format, std::placeholders::_1, &config.axis_bottom.label_formatter),
      })
    },
    {
      "ydomain-format",
      configure_multiprop({
          std::bind(&confgure_format, std::placeholders::_1, &config.axis_left.label_formatter),
          std::bind(&confgure_format, std::placeholders::_1, &config.axis_right.label_formatter),
      })
    },
    {"xdomain-padding", std::bind(&configure_float, std::placeholders::_1, &config.domain_x.padding)},
    {"ydomain-padding", std::bind(&configure_float, std::placeholders::_1, &config.domain_y.padding)},
    {"xmin", std::bind(&configure_float_opt, std::placeholders::_1, &config.domain_x.min)},
+49 −0
Original line number Diff line number Diff line
@@ -31,6 +31,22 @@ Lorem ipsum dolor sit amet.
      <td><code><strong>axis-left</strong></code></td>
      <td>Here be dragons</td>
    </tr>
    <tr>
      <td><code><strong>axis-top-format</strong></code></td>
      <td>Here be dragons</td>
    </tr>
    <tr>
      <td><code><strong>axis-right-format</strong></code></td>
      <td>Here be dragons</td>
    </tr>
    <tr>
      <td><code><strong>axis-bottom-format</strong></code></td>
      <td>Here be dragons</td>
    </tr>
    <tr>
      <td><code><strong>axis-left-format</strong></code></td>
      <td>Here be dragons</td>
    </tr>
  </tbody>
</table>

@@ -67,6 +83,39 @@ Lorem ipsum dolor sit amet.

    axis-left: auto | manual | off;

--

### axis-top-format

Lorem ipsum dolor sit amet.

    axis-top-format: fixed | scientific | datetime;

--

### axis-right-format

Lorem ipsum dolor sit amet.

    axis-right-format: fixed | scientific | datetime;

--

### axis-bottom-format

Lorem ipsum dolor sit amet.

    axis-bottom-format: fixed | scientific | datetime;

--

### axis-left-format

Lorem ipsum dolor sit amet.

    axis-left-format: fixed | scientific | datetime;



## Examples
+23 −0
Original line number Diff line number Diff line
@@ -31,6 +31,14 @@ Lorem ipsum dolor sit amet.
      <td><code><strong>ymax</strong></code></td>
      <td>Here be dragons</td>
    </tr>
    <tr>
      <td><code><strong>xdomain-format</strong></code></td>
      <td>Here be dragons</td>
    </tr>
    <tr>
      <td><code><strong>ydomain-format</strong></code></td>
      <td>Here be dragons</td>
    </tr>
    <tr>
      <td><code><strong>xdomain-padding</strong></code></td>
      <td>Here be dragons</td>
@@ -77,6 +85,21 @@ Lorem ipsum dolor sit amet.

--

### xdomain-format

Lorem ipsum dolor sit amet.

    xdomain-format: fixed | scientific | datetime;

--

### ydomain-format

Lorem ipsum dolor sit amet.

    ydomain-format: fixed | scientific | datetime;

--

### xdomain-padding

Loading