LINUX.ORG.RU

camell++ 1.2.0

 ,


1

4

Библиотека camell++ предназначена для объектно-ориентированного создания окон и манипулирования их содержимым через примитивы X11. Библиотека позволяет писать текст, рисовать точки, линии, дуги, прямоугольники и т. д. У библиотеки более чем десятилетняя история, за которую она несколько раз меняла своё название (первый вариант — XeeD, затем Xight, теперь camell++).

>>> Скачать

>>> SlackBuild

Ответ на: комментарий от eao197

Ну а повод пообсуждать? В других новостях скукота как на похоронах - десяток каментов и все. Вон новость про фритайп рядышком в таком стиле

Linfan ★★★★ ()
Последнее исправление: Linfan (всего исправлений: 2)
Ответ на: комментарий от thunar

Тогда это ненужно.

На самом деле таки нужно. Бывает, что надо по быстрому нарисовать что-то в программе, не разводя стопицот кода и не обкладываясь кучей тулкитов с зависимостями. Так что библиотека заинтересовала.

anonymous_incognito ★★★★★ ()
Последнее исправление: anonymous_incognito (всего исправлений: 1)
Ответ на: комментарий от slovazap

Векторные примитивы определяются в адекватных единицах, как-то миллиметры, а не пикселах, которые не пойми какого размера и формы и которых уже считай что и нет.

Я может чего не понимаю, но как эти миллиметры выводить на разные мониторы? Их чёртов зоопарк с самой разной плотностью.

В AVR'ках с olmex'овскими дисплейчиками?

Подход: это работает на линукс на x86, а значит это норм — тоже дерьмовый.

mandala ★★ ()
Ответ на: комментарий от thunar

KOI8-R — это не «лёгкие технологии», а археология вроде огнива или палки-копалки. Там где нужно «легко» используют ASCII и английский язык. А адепты KOI8-R — сознательно разводят помойку и увеличивают энтропию Земли.

Во-во, базовая ASCII рулит! А зоопарк национальных кодировок ненужен.

mandala ★★ ()
Ответ на: комментарий от mandala

Я может чего не понимаю, но как эти миллиметры выводить на разные мониторы? Их чёртов зоопарк с самой разной плотностью.

Не понимаешь, потому что вопрос должен звучать «как эти пиксели выводить на разные мониторы? Их чёртов зоопарк с самой разной плотностью.» А миллиметры везде одинаковые, их так и выводить, плотность-то известна.

Подход: это работает на линукс на x86, а значит это норм — тоже дерьмовый.

Ну, это про библиотеку из топика. Не понял относительно чего твоё «тоже».

slovazap ★★★★★ ()
Ответ на: комментарий от mandala

ASCII, конечно, рулит, только, вот, не всегда достаточно одной этой ASCII, да и 7-ми битных терминалов в природе больше нет. Но, есть ядерная консоль со шрифтами в 256 символов, которая позволяет работать с однобайтными кодировками. Однобайтными, а не 7-ми битными. Поэтому и выбирать приходится из однобайтных. И этот выбор может быть сделан ещё до того как UTF-8 стал мейнстримом.

saahriktu ★★★★ ()
Ответ на: комментарий от slovazap

плотность-то известна.

Это более высокой уровень. А сабж наоборот тупой как пробка.

Ну, это про библиотеку из топика. Не понял относительно чего твоё «тоже».

ТС декларирует переносимость в своих тезисах о «хорошем ПО». Если он сам написал не переносимое — это его проблемы.

mandala ★★ ()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от slovazap

Векторные примитивы определяются в адекватных единицах, как-то миллиметры, а не пикселах

Увы, увы - тот же cairo работает с пикселями/точками, а не с чем-то другим. Потому как конечный результат рендеринга это битмап, который состоит из пикселей. Людские единицы измерений вводятся на уровне приложений, а не библиотек.

Linfan ★★★★ ()
Ответ на: комментарий от mandala

Даже имя человек можно поменять, а уж используемую технологию..

Может. Если есть смысл менять эту технологию. При векторных шрифтах с тысячами символов, конечно, самое то юзать юникод. А при растровых шрифтах в 256 символов от юникода нет никакого профита. Только, наоборот, от всех остальных тысяч символов, которые за рамками имеющихся 256-ти, появляются квадратики. Ну и зачем всё портить кучей этих квадратиков, если можно оставить локаль KOI8-R, которая содержит все имеющиеся символы?

saahriktu ★★★★ ()
Ответ на: комментарий от slovazap

О какой переносимости может идти речь с завязкой на X11?

О переносимости между разными архитектурами железа и разными ОС семейства UNIX. Библиотека должна одинаково работать и в GNU/Linux на x86, и на FreeBSD на ARM'ах,... и т.д. И, да, под виндой тоже должно работать: https://sourceforge.net/projects/xming/ .

saahriktu ★★★★ ()
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от cvs-255

И ты можешь прямо туда рисовать. Без всяких вейлендов и gl. Можешь также egl использовать, если хочешь. А вейленд и композитор это чисто юзерспейсные библиотека и программа для создания окошек

cvs-255 ★★★★ ()
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от cvs-255

Да, мы говорим про vt из состава ядра. И в vt.c жёстко ограничен размер растрового PSF шрифта в 64 Кб. И речь как раз таки про то, когда больше ничего нет. Вот в таких условиях локаль KOI8-R незаменима.

saahriktu ★★★★ ()
Ответ на: комментарий от saahriktu

Софту надо чтобы была нарисована кнопка с системной темой оформления.

Тему оформления софт не задает и может даже не знать.

А вот графическая либа знает и что в теме указано, и параметры оборудования.

cvs-255 ★★★★ ()
Ответ на: комментарий от cvs-255

А вот графическая либа знает и что в теме указано, и параметры оборудования.

Это уже другой уровень абстракции. Можно написать такую библиотеку, которая будет использовать сабжевую библиотеку. Но, это будет уже другая библиотека.

saahriktu ★★★★ ()
Ответ на: комментарий от cvs-255

Никаких причин не делать нормальные шрифты в vt.c нет.
Повторяю, мы же не про 80x25 говорим, а про нормальную фреймбуферную консоль

Мы говорим конкретно про ядерный vt, а не разного рода fbterm'ы. Это, опять таки, другой уровень абстракции. Юзер может и не устанавливать fbterm посчитав его достаточно тяжёлым.

У vt может быть самое разное текстовое разрешение, включая 120x36, но при этом он использует растровые PSF шрифты. И никак иначе.

saahriktu ★★★★ ()
Последнее исправление: saahriktu (всего исправлений: 2)
Ответ на: комментарий от cvs-255

мнэээ... ну и как ты себе представляешь отражение неквадратного пикселя в битмапе той же иконки? Ну вот как это ложиться напр. на точку с #ff56aa ?

Linfan ★★★★ ()
Последнее исправление: Linfan (всего исправлений: 1)
Ответ на: комментарий от saahriktu

Терминал в ядре также работает поверх фреймбуфера. Есть, правда, древний как фекалии мамонта, текстовый режим видеокарты, но его всерьез какой смысл рассматривать?

cvs-255 ★★★★ ()
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от cvs-255

Терминал в ядре также работает поверх фреймбуфера

Да, но при этом продолжая использовать растровые PSF шрифты, и только растровые PSF шрифты. С ограничением в 64 Кб на весь PSF шрифт. Так что, больше чем на 256 символов в шрифте при использовании ядерного vt можно не рассчитывать. Особенно если размер символов нужен не меньше чем 16x30 пикселей.

saahriktu ★★★★ ()
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от Linfan

Ясное дело, что можно. Вот только Cairo - это инструмент потяжелее. Когда вычислительных ресурсов дофига и экономить их не требуется, можно и воспользоваться. Только при этом практика такова, что с таких систем приходят идиоты, которые начинают пихать решения вроде Cairo везде и всюду. Так и впихнули JS в микроконтроллеры. Так и впихнулы веб-приложения на десктоп как десктопные. И т.д.

Quasar ★★★★★ ()
Ответ на: комментарий от Divius

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

Quasar ★★★★★ ()
Ответ на: комментарий от slovazap

Векторные примитивы определяются в адекватных единицах, как-то миллиметры, а не пикселах, которые не пойми какого размера и формы и которых уже считай что и нет.

Как нет? Пиксели есть физически. Что плохого в том, что библиотека низкоуровневая?

Ну и где нет? В AVR'ках с olmex'овскими дисплейчиками? Там и иксов нет, лол.

Ещё своей бошкой подумай, где. Твоё мышление компонентами известных в среде васянов брендов тебя выдаёт. Ардуинщик что ли?

Когда всё на X11 заточено?

Это уже вопрос к реализации. Программа в данном случае не должна знать о GPU.

На XP сидишь? Ну сиди, проверенный ты наш.

Вот и спалился ты, вантузятник.

объективный факт это не отменит - про библиотеку «с десятилетней историей» никто не знает.

И? Это ты так оправдываешь свои высеры, которыми ты тут тряс?

Quasar ★★★★★ ()
Ответ на: комментарий от thunar

Адепты KOI8-R не принуждают всех пользоваться этой кодировкой. Максимум что они делают - пытаются сохранить её поддержку. И ничего плохого в этом нет, иначе надо выкидывать все однобайтные кодировки вообще. Но ту же CP1251 почему-то никто не горит желанием выкинуть.

Quasar ★★★★★ ()
Ответ на: комментарий от cvs-255

Во всяком embedded иксы хорошо могут ужиться, так как они не такие уж и жирные на фоне всяких вялендов с тулкитами. А ещё можно поставить коробочку с не очень производительным ARM без дисплея, и по сети уже удалённо рулить каким-нибудь процессом.

Quasar ★★★★★ ()
Ответ на: комментарий от saahriktu

UTS-8 уже мейнстрим. И это не мешает использовать KOI8-R. Просто в ядерной консоли многобайтные кодировки нафиг не впёрлись, так как для вывода служебной информации они ничего не дадут, зато сильно усложнят соответствующую подсистему.

Quasar ★★★★★ ()
Ответ на: комментарий от cvs-255

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

Quasar ★★★★★ ()
Последнее исправление: Quasar (всего исправлений: 1)
Ответ на: комментарий от cvs-255

Это не недостаток. Это базовая примитивная технология, которую не нужно менять на что-то сложное, а следовательно потенциально более забагованное. Что там уровнем выше - это уже другой вопрос. В любом случае то, что уровнем выше, заменить можно всегда практически на что угодно.

Quasar ★★★★★ ()