| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // Copyright Benoit Blanchon 2014
- // MIT License
- //
- // Arduino JSON library
- // https://github.com/bblanchon/ArduinoJson
- #include "../../include/ArduinoJson/Internals/IndentedPrint.hpp"
- using namespace ArduinoJson::Internals;
- void IndentedPrint::indent() {
- if (level < MAX_LEVEL) level++;
- }
- void IndentedPrint::unindent() {
- if (level > 0) level--;
- }
- void IndentedPrint::setTabSize(uint8_t n) {
- if (n < MAX_TAB_SIZE) tabSize = n;
- }
- size_t IndentedPrint::write(uint8_t c) {
- size_t n = 0;
- if (isNewLine) n += writeTabs();
- n += sink->write(c);
- isNewLine = c == '\n';
- return n;
- }
- inline size_t IndentedPrint::writeTabs() {
- size_t n = 0;
- for (int i = 0; i < level * tabSize; i++) n += sink->write(' ');
- return n;
- }
|