Implement in Delphi 10.3 (or compatible) a new visual VCL control called the TVisualCheckbox.
This new visual control TVisualCheckbox is similar to the operation of TCheckbox, with the exception of that it works based on two provided PNG image files: StateChecked and StateUnchecked. These two PNG image files shows how the checkbox looks like when checked and when unchecked. In other words, the developer can choose exactly how the checkbox area of the control looks in its unchecked and checked state.
The TVisualCheckbox can only be checked or unchecked, there is no "grayed out" state.
The TVisualCheckbox must support setting the font of the control, and the TVisualCheckbox's caption text can be either on the left side of the checkbox or on the right side. Aligned left or right.
Notice that it must be possible to set (change) the StateChecked and StateUnchecked images during runtime. The control does not need to work in design-time.
The StateChacked and StateUnchecked images must have identical dimensions.
For example, the StateChacked and StateUnchecked images could be the attached.