sw/simple-display/main.cpp
void progressBar(bool horizontal, Framebuffer::PointF base, Framebuffer::PointF extent, Color fg, Color bg, float completion) {
	PointF progress = horizontal ? PointF(extent.x * completion, extent.y) : PointF(extent.x, extent.y * completion);

	display::fillRect(Framebuffer::Type::foreground, base, base + progress, fg);
	display::fillRect(Framebuffer::Type::foreground, base + progress, base + extent, bg);
}
/**
 * @param completion Values between 0..1
 */
@param completion Values between 0..1
@param completion Values between 0 .. 1
void progressBar(bool horizontal, Framebuffer::PointF base, Framebuffer::PointF extent, Color fg, Color bg, float completion) {
	PointF progress = horizontal ? PointF(extent.x * completion, extent.y) : PointF(extent.x, extent.y * completion);
	display::fillRect(Framebuffer::Type::foreground, base, base + progress, fg);
	display::fillRect(Framebuffer::Type::foreground, base + progress, base + extent, bg);
}
void progressBar ( bool horizontal , Framebuffer :: PointF base , Framebuffer :: PointF extent , Color fg , Color bg , float completion ) { PointF progress = horizontal ? PointF ( extent . x * completion , extent . y ) : PointF ( extent . x , extent . y * completion ) ; display :: fillRect ( Framebuffer :: Type :: foreground , base , base + progress , fg ) ; display :: fillRect ( Framebuffer :: Type :: foreground , base + progress , base + extent , bg ) ; }
@param completion Values between 0..1
@param completion Values between 0 .. 1