Содержание Список структур

XWindowChanges - данные для изменения геометрии окна

       Эта структура используется функцией XConfigureWindow для установки размера окна и его поведения при смене размера.

Формат структуры:

    typedef struct {
	int x, y;
	int width, height;
	int border_width;
	Window sibling;
	int stack_mode;
    } XWindowChanges;

       При конфигурировании окна, совместно с этой структурой используется битовая маска, определяющая, из каких конкретно полей необходимо вносить изменения в конфигурацию окна. Для каждого разряда этой маски определены следующие символьные значения:

#define   CWX           (1 << 0)  /* x            */
#define   CWY           (1 << 1)  /* y            */
#define   CWWidth       (1 << 2)  /* width        */
#define   CWHeight      (1 << 3)  /* height       */
#define   CWBorderWidth (1 << 4)  /* border_width */
#define   CWSibling     (1 << 5)  /* sibling      */
#define   CWStackMode   (1 << 6)  /* stack_mode   */

       Поля x и y служат для указания соответствующих координат окна. Координаты отсчитываются в системе координат родительского окна и указывают на положение внешнего левого-верхнего угла окна.

       Поля width и height указывают внутреннюю ширину и высоту окна, которая не включает в себя размеры бордюра. Они должны иметь ненулевое значение, иначе при конфигурировании появится ошибка BadMatch.

       Попытка изменять размеры и координаты корневого окна не даст никакого эффекта.

       Поле border_width используется для установки ширины борюра, которая указывается точках. Обратите внимание, что если устанавливается только ширина бордюра, то внешний левый угол окна остаётся на месте, а внуренняя часть окна и остальные углы будут передвинуты на разницу в ширине бордюра.

       Попытка установить ширину бордюра у окна класса InputOnly приведет к появлению ошибки BadMatch.

       Поля sibling и stacking_mode используются в оконных менеджерах весьма редко, поэтомуудивляться не стоит, если нет реакции на значения этих поля. Поле sibling используется для указания окна, по-отношению к которому будет задаваться правило расположения конфигурируемого окна. Правило расположения указывается в поле stacking_order и может быть одним из следующих значений:

       Если при помощи маски указать использование поля stack_mode, но не использовать поле sibling, то правило расположения окна несколько изменяется:

См. также: XConfigureWindow.


Содержание Список структур