История изменений
Исправление question4, (текущая версия) :
А что нужно на нем поддерживать?
Чтобы были равнозначны стрелки, PgUp, PgDn, Home и End на кейпаде и вне его.
Так отсутствует или только стрелками? :)
Под «листанием» я подразумеваю сдвиг влево, вправо, вверх или вниз, сопоставимый с размером «листа» :) То есть окна. Скажем, на 50, 95 либо 100% ширины или высоты рабочей области.
Если ориентироваться на IrfanView, то там при достижении края изображения эти же кнопки переключают на следующеий/предыдущий файл (не помню точно, как с многостраничными).
Запоминает,
Должен ли запоминать состояние «во весь экран»?
но видимо реализовано это в development ветке.
Я качал ссылку из README.md.
make release собирается с кучей предупреждений.
Каких именно?
[ 4%] Building CXX object third-party/xcf/CMakeFiles/XcfTools.dir/xcftools/flatten.cpp.o
/home/oleg/sgl/simple-viewer-gl/third-party/xcf/xcftools/flatten.cpp: In function ‘Tile* flattenTopdown(FlattenSpec*, Tile*, unsigned int, const rect*)’:
/home/oleg/sgl/simple-viewer-gl/third-party/xcf/xcftools/flatten.cpp:571:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (0)
^~
/home/oleg/sgl/simple-viewer-gl/third-party/xcf/xcftools/flatten.cpp:577:9: note: here
case GIMP_NORMAL_MODE:
^~~~
...
[ 17%] Building CXX object third-party/imgui/CMakeFiles/ImGui.dir/imgui/imgui_draw.cpp.o
/home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/imgui_draw.cpp: In member function ‘bool ImFontAtlas::Build()’:
/home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/imgui_draw.cpp:90:38: warning: ‘spc.stbtt_pack_context::nodes’ may be used uninitialized in this function [-Wmaybe-uninitialized]
#define STBTT_free(x,u) ((void)(u), ImGui::MemFree(x))
^
/home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/imgui_draw.cpp:1317:24: note: ‘spc.stbtt_pack_context::nodes’ was declared here
stbtt_pack_context spc;
^~~
In file included from /home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/imgui_draw.cpp:98:0:
/home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/stb_truetype.h:3657:60: warning: ‘spc.stbtt_pack_context::stride_in_bytes’ may be used uninitialized in this function [-Wmaybe-uninitialized]
stbtt__v_prefilter(spc->pixels + r->x + r->y*spc->stride_in_bytes,
~~~~^~~~~~~~~~~~~~~~~~~~~
/home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/imgui_draw.cpp:1317:24: note: ‘spc.stbtt_pack_context::stride_in_bytes’ was declared here
stbtt_pack_context spc;
^~~
/home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/imgui_draw.cpp:1371:25: warning: ‘spc.stbtt_pack_context::pack_info’ may be used uninitialized in this function [-Wmaybe-uninitialized]
stbrp_pack_rects((stbrp_context*)spc.pack_info, tmp.Rects, n);
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
[ 46%] Building CXX object CMakeFiles/sviewgl.dir/src/formats/formatexr.cpp.o
/home/oleg/sgl/simple-viewer-gl/src/formats/formatexr.cpp: In member function ‘virtual bool cFormatExr::LoadImpl(const char*, sBitmapDescription&)’:
/home/oleg/sgl/simple-viewer-gl/src/formats/formatexr.cpp:67:51: warning: ‘compression’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return format < helpers::countof(Formats) ? Formats[format] : "unknown";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/oleg/sgl/simple-viewer-gl/src/formats/formatexr.cpp:236:14: note: ‘compression’ was declared here
uint32_t compression;
^~~~~~~~~~~
/home/oleg/sgl/simple-viewer-gl/src/formats/formatexr.cpp:277:30: warning: ‘channels’ may be used uninitialized in this function [-Wmaybe-uninitialized]
chCount += (channels & Imf::WRITE_R) != 0;
~~~~~~~~~~^~~~~~~~~~~~~~~
...
Система — Ubuntu 18.04.
Да, сразу не заметил, что при просмотре некоторых файлов пишет в консоль «Application transferred too few scanlines».
Исходная версия question4, :
А что нужно на нем поддерживать?
Чтобы были равнозначны стрелки, PgUp, PgDn, Home и End на кейпаде и вне его.
Так отсутствует или только стрелками? :)
Под «листанием» я подразумеваю сдвиг влево, вправо, вверх или вниз, сопоставимый с размером «листа» :) То есть окна. Скажем, на 50, 95 либо 100% ширины или высоты рабочей области.
Если ориентироваться на IrfanView, то там при достижении края изображения эти же кнопки переключают на следующеий/предыдущий файл (не помню точно, как с многостраничными).
Запоминает,
Должен ли запоминать состояние «во весь экран»?
но видимо реализовано это в development ветке.
Я качал ссылку из README.md.
make release собирается с кучей предупреждений.
Каких именно?
[ 4%] Building CXX object third-party/xcf/CMakeFiles/XcfTools.dir/xcftools/flatten.cpp.o
/home/oleg/sgl/simple-viewer-gl/third-party/xcf/xcftools/flatten.cpp: In function ‘Tile* flattenTopdown(FlattenSpec*, Tile*, unsigned int, const rect*)’:
/home/oleg/sgl/simple-viewer-gl/third-party/xcf/xcftools/flatten.cpp:571:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (0)
^~
/home/oleg/sgl/simple-viewer-gl/third-party/xcf/xcftools/flatten.cpp:577:9: note: here
case GIMP_NORMAL_MODE:
^~~~
...
[ 17%] Building CXX object third-party/imgui/CMakeFiles/ImGui.dir/imgui/imgui_draw.cpp.o
/home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/imgui_draw.cpp: In member function ‘bool ImFontAtlas::Build()’:
/home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/imgui_draw.cpp:90:38: warning: ‘spc.stbtt_pack_context::nodes’ may be used uninitialized in this function [-Wmaybe-uninitialized]
#define STBTT_free(x,u) ((void)(u), ImGui::MemFree(x))
^
/home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/imgui_draw.cpp:1317:24: note: ‘spc.stbtt_pack_context::nodes’ was declared here
stbtt_pack_context spc;
^~~
In file included from /home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/imgui_draw.cpp:98:0:
/home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/stb_truetype.h:3657:60: warning: ‘spc.stbtt_pack_context::stride_in_bytes’ may be used uninitialized in this function [-Wmaybe-uninitialized]
stbtt__v_prefilter(spc->pixels + r->x + r->y*spc->stride_in_bytes,
~~~~^~~~~~~~~~~~~~~~~~~~~
/home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/imgui_draw.cpp:1317:24: note: ‘spc.stbtt_pack_context::stride_in_bytes’ was declared here
stbtt_pack_context spc;
^~~
/home/oleg/sgl/simple-viewer-gl/third-party/imgui/imgui/imgui_draw.cpp:1371:25: warning: ‘spc.stbtt_pack_context::pack_info’ may be used uninitialized in this function [-Wmaybe-uninitialized]
stbrp_pack_rects((stbrp_context*)spc.pack_info, tmp.Rects, n);
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
[ 46%] Building CXX object CMakeFiles/sviewgl.dir/src/formats/formatexr.cpp.o
/home/oleg/sgl/simple-viewer-gl/src/formats/formatexr.cpp: In member function ‘virtual bool cFormatExr::LoadImpl(const char*, sBitmapDescription&)’:
/home/oleg/sgl/simple-viewer-gl/src/formats/formatexr.cpp:67:51: warning: ‘compression’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return format < helpers::countof(Formats) ? Formats[format] : "unknown";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/oleg/sgl/simple-viewer-gl/src/formats/formatexr.cpp:236:14: note: ‘compression’ was declared here
uint32_t compression;
^~~~~~~~~~~
/home/oleg/sgl/simple-viewer-gl/src/formats/formatexr.cpp:277:30: warning: ‘channels’ may be used uninitialized in this function [-Wmaybe-uninitialized]
chCount += (channels & Imf::WRITE_R) != 0;
~~~~~~~~~~^~~~~~~~~~~~~~~
...
Система — Ubuntu 18.04.
Да, сразу не заметил, что при просмотре некоторых файлов в консоль пишет «Application transferred too few scanlines».