def beginRow(theWhere, theX, theY, theWidth=-1, theHeight=-1, thePadding=0):
    """
	Start a new row.

	One of the most annoying tasks when building UI is to calculate
	where each component should be placed on the screen. cvui has
	a set of methods that abstract the process of positioning
	components, so you don't have to think about assigning a
	X and Y coordinate. Instead you just add components and cvui
	will place them as you go.

	You use `beginRow()` to start a group of elements. After `beginRow()`
	has been called, all subsequent component calls don't have to specify
	the frame where the component should be rendered nor its position.
	The position of the component will be automatically calculated by cvui
	based on the components within the group. All components are placed
	side by side, from left to right.

	E.g.

	```
	beginRow(frame, x, y, width, height)
	text('test')
	button('btn')
	endRow()
	```

	Rows and columns can be nested, so you can create columns/rows within
	columns/rows as much as you want. It's important to notice that any
	component within `beginRow()` and `endRow()` *do not* specify the position
	where the component is rendered, which is also True for `beginRow()`.
	As a consequence, **be sure you are calling `beginRow(width, height)`
	when the call is nested instead of `beginRow(x, y, width, height)`**,
	otherwise cvui will throw an error.

	E.g.

	```
	beginRow(frame, x, y, width, height)
	text('test')
	button('btn')

	beginColumn()      # no frame nor x,y parameters here!
	text('column1')
	text('column2')
	endColumn()
	endRow()
	```

	Don't forget to call `endRow()` to finish the row, otherwise cvui will throw an error.

	Parameters
	----------
	theWhere: np.ndarray
		image/frame where the components within this block should be rendered.
	theX: int
		position X where the row should be placed.
	theY: int
		position Y where the row should be placed.
	theWidth: int
		width of the row. If a negative value is specified, the width of the row will be automatically calculated based on the content of the block.
	theHeight: int
		height of the row. If a negative value is specified, the height of the row will be automatically calculated based on the content of the block.
	thePadding: int
		space, in pixels, among the components of the block.

	See Also
	----------
	beginColumn()
	endRow()
	endColumn()
	"""
    print('This is wrapper function to help code autocompletion.')
