Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Xlib + окно без рамки и русские шрифты 
:(
    Опции темы
NAYakaSL
  Дата 12.5.2008, 04:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.5.2008

Репутация: нет
Всего: нет



Пишу, используя только Xlib. Надо сделать так, чтоб окно было без рамки. И еще один вопрос: как теми же средствами Xlib вывести русские буквы? Просто, если бы проблема была в шрифтах, то тогда почему заголовок тоже по-русски не пишется (пробовал созранять исходники в файлах с различной кодировкой). Может надо не символы писать, а прям коды?
P.S.: Просмотрел форум на наличие смежных вопросов, но ответа нигде не нашел. Так что поднимаю эту тему вновь.
P.P.S.: Всем, кто поможет, заранее, спасибо.
PM MAIL   Вверх
NAYakaSL
Дата 17.5.2008, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.5.2008

Репутация: нет
Всего: нет



Я, конечно, понимаю, что тут люди занятые и все такое. Но, может быть, все-таки поможете интересующемуся человеку. Ответьте, пожалуйста на мой вопрос. Еще раз повторяю: поиск по форуму ничего не дал!
PM MAIL   Вверх
nickless
Дата 17.5.2008, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 4
Всего: 181



На Xlib мало кто пишет, ибо есть намного более удобные обёртки. Попробуй посмотреть исходники Qt или GTK+, они используют utf8, так что проблем с русским текстом там нет.


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
Ken
Дата 17.5.2008, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 31.3.2007

Репутация: нет
Всего: 4



Какой функцией пользуетесь для вывода текста? 
Xutf8DrawString () пробовали? 
Есть еще XwcDrawString (), в этом случае строку надо перевести в wchar_t* перед выводом.


Это сообщение отредактировал(а) Ken - 17.5.2008, 17:51
PM MAIL   Вверх
NAYakaSL
Дата 18.5.2008, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.5.2008

Репутация: нет
Всего: нет



Спасибо, попробую, во только тогда вопрос: а для заголовка окна как сделать? Там же, вроде, передаешь параметр типа char*. Или есть другие варианты? Для оконных менеджеров можно и по-другому?
PM MAIL   Вверх
Ken
Дата 19.5.2008, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 31.3.2007

Репутация: нет
Всего: 4



Цитата(NAYakaSL @ 18.5.2008,  21:38)
Спасибо, попробую, во только тогда вопрос: а для заголовка окна как сделать? Там же, вроде, передаешь параметр типа char*. Или есть другие варианты? Для оконных менеджеров можно и по-другому?

Там тоже есть другие функции, например, XSetWMName. Который вроде берет строку с другой кодировкой. Посмотрите параметры. Я бегло попробовал, если честно, у меня тоже не получилось. Было бы время поиграться, анализировал бы как Qt или Gtk делают это. Кстати, кажется, результат еще зависит от оконного менеджера. Потому что видел случаев, когда, например, в КДЕ (kwin) русские заголовки нормально отображались, а у другого оконного менеджера нет.


Это сообщение отредактировал(а) Ken - 19.5.2008, 07:16
PM MAIL   Вверх
NAYakaSL
Дата 19.5.2008, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.5.2008

Репутация: нет
Всего: нет



Еще раз, спасибо. Обязательно попробую. Недавно нашел информацию по созданию приложений без рамок: как оказалось - для каждого оконного менеджера это реализуется несколько разными параметрами. Видимо, с заголовками, да и вообще со всем, что касается WM, нужно реализвывать решения для их различных реинкарнаций.
PM MAIL   Вверх
NAYakaSL
Дата 29.5.2008, 03:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.5.2008

Репутация: нет
Всего: нет



С рамками вроде бы проканало, а вот с русскими шрифтами - не совсем. Он грузит непонятно какие. И только если через XLoadQueryFont(), а если загружать шрифты для вывода строк utf8 или wchar_t, то он вообще никакие шрифты не обнаруживает. Может кто из знающих пороется?
PM MAIL   Вверх
NAYakaSL
Дата 12.6.2008, 05:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.5.2008

Репутация: нет
Всего: нет



Судя по всему, из знающих - я сам. Впрочем, кое-что получилось, оказывается, что нобходимо специально указывать пути к папкам со шрифтами. Но это еще пол беды. Теперь такой вопос: можно ли стандартными средствами Xlib сделать прозрачность. Но не только полностью окон, а такую, чтоб некоторые части окна были не видны, как, например скины для того же xine'а. Жду ответов.
Понимаю, что в последнее время программирование на Xlib неактуально, но если все разучатся писать на xlib, то кто же будет создавать новые версии qt и gtk+?
P.S.: Еще один вопросик: получается так, что при работе данного приложения, оно постоянно мерцает, постоянно обновляется. Как это обойти? Если я не ошибаюсь, то какая-то подобная проблема есть и в WinAPI. Там она достаточно просто решается. Если подскажите, опять-таки, буду благодарен.
PM MAIL   Вверх
andrew_121
Дата 13.6.2008, 21:56 (ссылка)   | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 3
Всего: 33



Цитата(NAYakaSL @  12.6.2008,  05:06 Найти цитируемый пост)
Судя по всему, из знающих - я сам.

А после такой фразы, думаю, никто и не поможет.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
nickless
Дата 16.6.2008, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 4
Всего: 181



Цитата(NAYakaSL @  12.6.2008,  04:06 Найти цитируемый пост)
постоянно обновляется. Как это обойти? Если я не ошибаюсь, то какая-то подобная проблема есть и в WinAPI. Там она достаточно просто решается

Называется double buffering,т.е. рисуем в буфер, потом его целиком показываем.
Собственно повторюсь, ИМХО нигде лучше чем в документации к Xlib и сорцам GUI-библиотек это не описано, просто потому, что никто кроме авторов этих самых библиотек на чистых иксах уже давно не пишет smile Мне бы например тоже хотелось покопатся в том как оно работает (копался в WinApi пару лет назад), но тупо нет времени...
Так что Use the Source, Luke smile 


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
NAYakaSL
Дата 16.6.2008, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.5.2008

Репутация: нет
Всего: нет



nickless: спасибо.
Да именно в документации я и искал, вот только нужно было конкретно знать, что нужно искать. Иначе - поиск не дает результатов. Теперь, надеюсь, получится.
andrew_121: Обидеть никого не хотел, а сказал так лишь потому, что никто не ответил. Правда, теперь, благодаря nickless'у ситуация изменилась.

Добавлено через 6 минут и 41 секунду
По мере изучения появился еще один вопросик. Хочу пришить в прогу стили оформления, которые оформлялись бы в виде внешних файлов (формат не важен). Вопрос в следующем: как это лучше сделать - чтобы была функция, которая создает объект и заполняет его данными из файла (это я так, условно), или как-нибудь иначе можно? (использую язык c++). Как, например, реализована поддержка стилей в qt или gtk+? Если знает кто-нибудь.
PM MAIL   Вверх
NAYakaSL
Дата 18.6.2008, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.5.2008

Репутация: нет
Всего: нет



Тук-тук-тук! Попытайтесь ответить, пожалуйста. Перерыл все, что смог по последнему вопросу, но ответа не нашел.
PM MAIL   Вверх
nickless
Дата 19.6.2008, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 4
Всего: 181



Цитата(NAYakaSL @  16.6.2008,  17:05 Найти цитируемый пост)
Как, например, реализована поддержка стилей в qt

Qt Style Sheets

Цитата(NAYakaSL @  16.6.2008,  17:05 Найти цитируемый пост)
как это лучше сделать - чтобы была функция, которая создает объект и заполняет его данными из файла (это я так, условно), или как-нибудь иначе можно? 

Делать можно как больше нравится, я бы сделал методы в классах для виджетов, для записи/чтения нужных данных (а так же рекурсивно данных всех детей) в/из файла.
Можно подсмотреть принцип в сорцах Qt итд.



--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
gustavomarginale
Дата 6.7.2008, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 2.7.2008

Репутация: нет
Всего: нет



У меня топикстартеровские вопросы касательно шрифтов. Я их нахожу вот так:

Код

        char pattern[] = "*koi8-r*";
        this -> fonts_number_loaded = 0;
        list_fonts_ptr = XListFonts ( display, pattern, 4096, &fonts_number_loaded );


Находится что-то, в имени чего есть коивосемьар. На одной системе есть, на другой нет, в этом и печаль линуксическая. Как с собой шрифт таскать - незнаю.

 smile

Добавлено через 12 минут и 39 секунд
 smile  smile  smile  smile  smile  smile  smile  smile  smile  smile  smile 

Хоть свой изготавливай и свою рендерилку впридачу. Всё вокруг GPL, но мне как-то идеология билла гейтса ближе, чем эта крокодиловая GPL.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.1380 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.