Я создал область рисования с помощью gtk_drawing_area_new(). Дескриптор окна (например, drawing_handle) этого виджета извлекается с помощью GDK_WINDOW_XID.
С помощью xwininfo я проверил атрибуты окна drawing_handle.
Выход:
ubuntu@wandboard:~$ xwininfo -id 0x1400007
- Абсолютный верхний левый X: 2
- Абсолютный верхний левый Y: 21
- Относительный верхний левый X: 0
- Относительный верхний левый Y: 0
- Ширина: 1916
- Рост: 1011
- Глубина: 24
- Визуальный: 0xc7
- Визуальный класс: TrueColor
- Ширина границы: 0
- Класс: ВходВыход
- Цветовая карта: 0x1400002 (не установлена)
- Состояние битовой гравитации: NorthWestGravity
- Состояние гравитации окна: NorthWestGravity
- Состояние резервного хранилища: NotUseful
- Сохранить в состоянии: нет
- Состояние карты: IsViewable
- Состояние переопределения перенаправления: нет
- Угловые: +2+21 -2+21 -2-48 +2-48
- -геометрия 1916x1011+0+0
Цветовая карта показывает неправильное значение и не установлено. Принимая во внимание, что цветовая карта по умолчанию для системы равна 32 (0x20). Отсутствует некоторая системная настройка, из-за которой gtk не может принять правильную палитру. Пожалуйста, предложите, как создается gtk-window и как назначается цветовая карта.
Возможно, эта неправильная цветовая карта вытекает из главного окна, созданного с помощью API gtk_window_new(). Тем не менее я не нахожу gtk api, чтобы изменить это значение для обоих окон.