LINUX.ORG.RU

Simple Viewer GL 2.75

 , ,


3

5

Simple Viewer GL — легковесный просмотрщик изображений.

Интерфейс состоит из одного окна с опциональной строкой статуса и информацией о пикселе под курсором и/или выделенной области (скриншот). Simple Viewer GL умеет определять тип файла по его сигнатуре, а не только по расширению, а также рекурсивно сканировать директорию.

Работает в GNU/Linux и macOS.

Новое в 2.75

  • Добавлена поддержка формата XPM (собственная реализация).
  • Добавлена поддержка формата TARGA (собственная реализация).
  • Убрана зависимость от библиотеки libconfig++ в пользу ini-подобного конфигурационного файла.
  • Улучшена поддержка форматов DDS, ICO и XWD.
  • Обновлена палитра ZX-Spectrum (теперь это PULSAR, как на «железном» ZX).
  • Добавлена возможность сохранять зум (переключается по хоткею <shift>+<s>).
  • Исправлена ошибка с фильтрацией текстур.
  • Улучшено сканирование директории, поддержка перетаскивания списка файлов.

Поддерживаемые форматы

Сторонняя реализация:

  • PNG (libpng);
  • JPEG (libjpeg);
  • TIFF (libtiff);
  • GIF (giflib);
  • WEBP (webp).

Собственная реализация:

  • PPM (24 raw и 24 ASCII);
  • XPM (только xpm 2);
  • TARGA;
  • DDS (частично);
  • PSD (формат до конца не отреверсили, посему не все функции поддерживаются);
  • ICO (png и «обычные» фреймы);
  • XWD (только x11);
  • SCR (ZX-Spectrum screen);
  • PVR, RAW, AGE (это внутренние форматы).

>>> Simple Viewer GL на BitBucket

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Wizard_ (всего исправлений: 10)
Ответ на: комментарий от mittorn

-pthread в флаги линковки!

В CMakeLists.txt есть:

find_package(Threads)
${CMAKE_THREAD_LIBS_INIT}

И последняя переменная равна -lpthread
Так что должно работать.

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

И последняя переменная равна -lpthread

Это не отменяет необходимости -pthread, иначе нас ждет много неприятных неожиданностей.

cvv ★★★★★
()
Последнее исправление: cvv (всего исправлений: 1)

Падает при попытке открыть файл (пока что ни один не открыл, пробовал tga)

0x00000000004593ee in cFormatIco::load (this=0x6e8f50, current=0, desc=...) at /tmp/glviewer/simple-viewer-gl/src/formats/formatico.cpp:168

168 if (image->colors == 0 && image->width == 0 && image->height == 0)

(gdb) p image

$1 = (const IcoDirentry * const) 0x0

Еще, cmake спокойно сгенерировал Makefile, не смотря на то, что у меня не хватало glfw & libexif. Доставил, когда получил ошибки при сборке.

snowman
()
Ответ на: комментарий от cvv

Это не отменяет необходимости -pthread,

А установка флага set(THREADS_PREFER_PTHREAD_FLAG TRUE) перед find_package(Threads REQUIRED) не поможет?

иначе нас ждет много неприятных неожиданностей.

Каких?

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

Падает при попытке открыть файл (пока что ни один не открыл, пробовал tga)

Работаю над этим, в development улучшена поддержка targa. Но все еще нет поддержки bottom-left.

Еще, cmake спокойно сгенерировал Makefile, не смотря на то, что у меня не хватало glfw & libexif. Доставил, когда получил ошибки при сборке.

Попробую добавить REQUIRED.

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

Неработающие примитивы синхронизации. -pthread запрещает компилеру жертвовать потоко-безопасностью и реентерантностью при оптимизации. Если не изменяет память то в документации на gcc расписано в деталях.

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

А установка флага set(THREADS_PREFER_PTHREAD_FLAG TRUE) перед find_package(Threads REQUIRED) не поможет?

Согласно документации то что нужно.

ЗЫ: у меня нету опыта с CMake

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

-pthread запрещает компилеру жертвовать потоко-безопасностью и реентерантностью при оптимизации. Если не изменяет память то в документации на gcc расписано в деталях.

gcc 4.7:

«This option does not affect the thread safety of object code produced by the compiler or that of libraries supplied with it»

В документации к свежим GCC этот флаг упоминается только для пары архитектур. И, насколько я понимаю, всё, что включается по этому флагу, давно уже включено по дефолту.

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

Хммм ... Благодарю, видимо разрабы заколебались обьяснять разницу между этими двумя флагами ...

cvv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.