Слияние кода завершено, страница обновится автоматически
#ifndef BlinkerSlider_H
#define BlinkerSlider_H
#include "../Blinker/BlinkerConfig.h"
#include "../Blinker/BlinkerUtility.h"
class BlinkerSlider
{
public :
BlinkerSlider(char _name[], blinker_callback_with_int32_arg_t _func = NULL)
// : sliderName(_name)
{
wNum = Blinker.attachWidget(_name, _func);
}
void attach(blinker_callback_with_int32_arg_t _func)
{
if (wNum == 0) return;
Blinker.freshAttachWidget(Blinker.widgetName_int(wNum), _func);
}
void color(const String & _clr)
{
if (_fresh >> 0 & 0x01) free(textClr);
textClr = (char*)malloc((_clr.length()+1)*sizeof(char));
strcpy(textClr, _clr.c_str());
_fresh |= 0x01 << 0;
}
void print(char value) { _print(STRING_format(value)); }
void print(unsigned char value) { _print(STRING_format(value)); }
void print(int value) { _print(STRING_format(value)); }
void print(unsigned int value) { _print(STRING_format(value)); }
void print(long value) { _print(STRING_format(value)); }
void print(unsigned long value) { _print(STRING_format(value)); }
void print(double value) { _print(STRING_format(value)); }
void print() { _print(""); }
private :
uint8_t wNum;
char * textClr;
uint8_t _fresh = 0;
void _print(const String & n)
{
if ((_fresh == 0 && n.length() == 0) || \
wNum == 0)
{
return;
}
String sliderData;
if (n.length())
{
sliderData += BLINKER_F("{\"");
sliderData += BLINKER_F(BLINKER_CMD_VALUE);
sliderData += BLINKER_F("\":");
sliderData += n;
}
if (_fresh >> 0 & 0x01)
{
if (sliderData.length()) sliderData += BLINKER_F(",");
else sliderData += BLINKER_F("{");
sliderData += BLINKER_F("\"");
sliderData += BLINKER_F(BLINKER_CMD_COLOR);
sliderData += BLINKER_F("\":\"");
sliderData += (textClr);
sliderData += BLINKER_F("\"");
free(textClr);
}
sliderData += BLINKER_F("}");
_fresh = 0;
Blinker.printArray(Blinker.widgetName_int(wNum), sliderData);
}
};
#endif
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )