| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #include "IndentedPrint.h"
- using namespace ArduinoJson::Generator;
- 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;
- }
|