tft-lcd-draw-circle

bradzilla84/color-tft-lcd-driver-mcufriend-kbv/tft-lcd-draw-circle

Draw a Circle (Fill or No Fill)
tft-lcd-draw-circle
@/tft-lcd-draw-circle
Draw a Circle (Fill or No Fill)
IN@/tft-lcd-device
PosXnumber
Position X Start
PosYnumber
Position Y Start
Radnumber
Radius Size in pixels
FILLboolean
Do you want to fill the Circle?
Colorbradzilla84/color-rgb-hsl/rgb-color-pack
Color to Fill/Outline with
INITpulse
Pulse to update
tft-lcd-draw-circle
IN
OUT
PosX
PosY
Rad
FILL
Color
INIT
OK
OKpulse
Pulse on Complete
OUT@/tft-lcd-device
To use the node in your project you should have the bradzilla84/color-tft-lcd-driver-mcufriend-kbv library installed. Use the “File → Add Library” menu item in XOD IDE if you don’t have it yet. See Using libraries for more info.

C++ implementation

struct State {
};

{{ GENERATED_CODE }}

void evaluate(Context ctx) {
    if (!isInputDirty<input_INIT>(ctx)){
        emitValue<output_OUT>(ctx, getValue<input_IN>(ctx));
        return;}

    auto tft = getValue<input_IN>(ctx);
    auto color = getValue<input_Color>(ctx);


    if (getValue<input_FILL>(ctx)){
        tft->fillCircle(getValue<input_PosX>(ctx),getValue<input_PosY>(ctx),getValue<input_Rad>(ctx),color.Hex);
    }
    else
    {
        tft->drawCircle(getValue<input_PosX>(ctx),getValue<input_PosY>(ctx),getValue<input_Rad>(ctx),color.Hex);
    }

    emitValue<output_OUT>(ctx, getValue<input_IN>(ctx));
    emitValue<output_OK>(ctx, 1);
}