This paper presents a novel mesh generation scheme of all quadrilateral elements for a convex polygonal domain. This scheme converts the elements in background quadrilateral mesh into quadrilaterals through the operation of splitting. We first decompose the convex polygon into simple sub regions in the shape of quadrilaterals. These simple regions are then triangulated to generate a  fine mesh of six node triangular elements. We propose then an automatic triangular to quadrilateral conversion scheme. Each isolated triangle is split into three quadrilaterals according to the usual scheme, adding three vertices in the middle of the edges and a vertex at the barrycentre of the element. To preserve the mesh conformity a similar procedure is also applied to every triangle of the domain to fully discretize the given convex polygonal  domain   into all quadrilaterals, thus propagating  uniform  refinement and quadrangulation. This simple method generates a high quality mesh whose elements confirm well to the requested shape by refining the problem domain. Examples are presented to illustrate the simplicity and efficiency of the new mesh generation method for standard and arbitrary shaped domains. We have appended MATLAB programs which incorporate the mesh generation scheme developed in this paper. These programs provide valuable  output on the nodal coordinates ,element connectivity  and graphic display of the all quadrilateral mesh for application to finite element analysis.