Man Linux: Main Page and Category List

NAME

       XkbFreeGeometry - Free an entire geometry

SYNOPSIS

       void  XkbFreeGeometry  (XkbGeometryPtr  geom,  unsigned int which, Bool
              free_all);

ARGUMENTS

       - geom geometry to be freed

       - which
              mask of geometry components to be freed

       - free_all
              True => the entire geometry is freed

DESCRIPTION

       Xkb provides a number of functions to allocate and  free  subcomponents
       of  a  keyboard  geometry.  Use  these  functions  to  create or modify
       keyboard geometries.  Note that these functions merely  allocate  space
       for  the  new  element(s),  and  it  is up to you to fill in the values
       explicitly in your code. These allocation functions increase  sz_*  but
       never touch num_* (unless there is an allocation failure, in which case
       they reset both sz_* and num_* to zero). These functions return Success
       if  they  succeed,  BadAlloc if they are not able to allocate space, or
       BadValue if a parameter is not as expected.

       The values of which and free_all determine how much  of  the  specified
       geometry is freed. The valid values for which are:

           #define   XkbGeomPropertiesMask      (1<<0)
           #define   XkbGeomColorsMask          (1<<1)
           #define   XkbGeomShapesMask          (1<<2)
           #define   XkbGeomSectionsMask        (1<<3)
           #define   XkbGeomDoodadsMask         (1<<4)
           #define   XkbGeomAllMask             (0x1f)

       If  free_all  is  True,  the entire geometry is freed regardless of the
       value of which.  Otherwise, the portions of the geometry  specified  by
       which are freed.

DIAGNOSTICS

       BadAlloc       Unable to allocate storage

       BadValue       An argument is out of range