Changes of Revision 3

sview.changes Changed
x
 
1
@@ -1,4 +1,17 @@
2
 -------------------------------------------------------------------
3
+Sun Nov 29 12:31:27 UTC 2015 - avvissu@yandex.ru
4
+
5
+- Update to 15.11:
6
+  * introduces extended remote control from command line
7
+  * adds support of sTER chunk in PNG files identifying 
8
+    side-by-side format
9
+  * adds support of list of files within Drag & Drop. Two files are 
10
+    handled as stereo pair
11
+  * updates experimental DXVA2 decoder - more codecs are now 
12
+    supported
13
+  * fixes cursor hiding within NVIDIA 3D Vision output (Direct3D)
14
+
15
+-------------------------------------------------------------------
16
 Wed Oct 21 17:46:52 UTC 2015 - avvissu@yandex.ru
17
 
18
 - Update to 15.10:
19
sview.spec Changed
23
 
1
@@ -16,10 +16,10 @@
2
 #
3
 
4
 
5
-%define src_ver 15_10
6
+%define src_ver 15_11
7
 %define src_name sView
8
 Name:           sview
9
-Version:        15.10
10
+Version:        15.11
11
 Release:        0
12
 Summary:        Stereoscopic media player
13
 License:        GPL-3.0+ and LGPL-3.0+
14
@@ -92,7 +92,7 @@
15
 
16
 %files
17
 %defattr(-,root,root)
18
-%doc LICENSE license-gpl* license-lgpl*
19
+%doc LICENSE*
20
 %{_bindir}/%{src_name}
21
 %{_libdir}/%{src_name}/
22
 %{_datadir}/applications/%{src_name}IV.desktop
23
sview-15_10.tar.gz/3rdparty/FFmpeg/patches/patch_dxva.patch Deleted
201
 
1
@@ -1,1743 +0,0 @@
2
-From dad9d95e75f601c9b8864724bf68cf4a7f63ccaa Mon Sep 17 00:00:00 2001
3
-From: Kirill Gavrilov <kirill@sview.ru>
4
-Date: Wed, 7 Jan 2015 11:33:03 +0400
5
-Subject: [PATCH] lavc/dxva2: add ffmpeg calling dxva2 APIs
6
-
7
-Signed-off-by: weixuan wang <batmanwwx@gmail.com>
8
----
9
- configure                  |   4 +
10
- libavcodec/Makefile        |   4 +
11
- libavcodec/allcodecs.c     |   4 +
12
- libavcodec/dxva2_dec.c     | 356 +++++++++++++++++++++
13
- libavcodec/dxva2_wrapper.c | 777 +++++++++++++++++++++++++++++++++++++++++++++
14
- libavcodec/dxva2_wrapper.h | 389 +++++++++++++++++++++++
15
- libavcodec/mpeg12.h        |  23 ++
16
- libavcodec/mpeg12dec.c     |  20 --
17
- 8 files changed, 1557 insertions(+), 20 deletions(-)
18
- create mode 100644 libavcodec/dxva2_dec.c
19
- create mode 100644 libavcodec/dxva2_wrapper.c
20
- create mode 100644 libavcodec/dxva2_wrapper.h
21
-
22
-diff --git a/configure b/configure
23
-index c046e34..088a3d4 100755
24
---- a/configure
25
-+++ b/configure
26
-@@ -2273,6 +2273,7 @@ h263_vaapi_hwaccel_select="h263_decoder"
27
- h263_vdpau_hwaccel_deps="vdpau"
28
- h263_vdpau_hwaccel_select="h263_decoder"
29
- h264_crystalhd_decoder_select="crystalhd h264_mp4toannexb_bsf h264_parser"
30
-+h264_dxva2_decoder_select="dxva2 h264_parser h264_decoder h264_dxva2_hwaccel"
31
- h264_dxva2_hwaccel_deps="dxva2"
32
- h264_dxva2_hwaccel_select="h264_decoder"
33
- h264_vaapi_hwaccel_deps="vaapi"
34
-@@ -2304,6 +2305,7 @@ mpeg2_vaapi_hwaccel_deps="vaapi"
35
- mpeg2_vaapi_hwaccel_select="mpeg2video_decoder"
36
- mpeg2_vdpau_hwaccel_deps="vdpau"
37
- mpeg2_vdpau_hwaccel_select="mpeg2video_decoder"
38
-+mpeg2video_dxva2_decoder_select="dxva2 mpeg2video_decoder mpeg2_dxva2_hwaccel"
39
- mpeg2_xvmc_hwaccel_deps="xvmc"
40
- mpeg2_xvmc_hwaccel_select="mpeg2video_decoder"
41
- mpeg4_crystalhd_decoder_select="crystalhd"
42
-@@ -2315,6 +2317,7 @@ mpeg4_vdpau_hwaccel_deps="vdpau"
43
- mpeg4_vdpau_hwaccel_select="mpeg4_decoder"
44
- msmpeg4_crystalhd_decoder_select="crystalhd"
45
- vc1_crystalhd_decoder_select="crystalhd"
46
-+vc1_dxva2_decoder_select="dxva2 vc1_decoder vc1_dxva2_hwaccel"
47
- vc1_dxva2_hwaccel_deps="dxva2"
48
- vc1_dxva2_hwaccel_select="vc1_decoder"
49
- vc1_vaapi_hwaccel_deps="vaapi"
50
-@@ -2324,6 +2327,7 @@ vc1_vdpau_decoder_select="vc1_decoder"
51
- vc1_vdpau_hwaccel_deps="vdpau"
52
- vc1_vdpau_hwaccel_select="vc1_decoder"
53
- wmv3_crystalhd_decoder_select="crystalhd"
54
-+wmv3_dxva2_decoder_select="dxva2 wmv3_decoder wmv3_dxva2_hwaccel"
55
- wmv3_dxva2_hwaccel_select="vc1_dxva2_hwaccel"
56
- wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel"
57
- wmv3_vdpau_decoder_select="vc1_vdpau_decoder"
58
-diff --git a/libavcodec/Makefile b/libavcodec/Makefile
59
-index fa0f53d..ffbb77c 100644
60
---- a/libavcodec/Makefile
61
-+++ b/libavcodec/Makefile
62
-@@ -259,6 +259,7 @@ OBJS-$(CONFIG_H264_DECODER)            += h264.o h264_cabac.o h264_cavlc.o \
63
-                                           h264_direct.o h264_loopfilter.o  \
64
-                                           h264_mb.o h264_picture.o h264_ps.o \
65
-                                           h264_refs.o h264_sei.o h264_slice.o
66
-+OBJS-$(CONFIG_H264_DXVA2_DECODER)      += dxva2_wrapper.o dxva2_dec.o
67
- OBJS-$(CONFIG_H264_VDA_DECODER)        += vda_h264_dec.o
68
- OBJS-$(CONFIG_HEVC_DECODER)            += hevc.o hevc_mvs.o hevc_ps.o hevc_sei.o \
69
-                                           hevc_cabac.o hevc_refs.o hevcpred.o    \
70
-@@ -325,6 +326,7 @@ OBJS-$(CONFIG_MPEGVIDEO_DECODER)       += mpeg12dec.o mpeg12.o mpeg12data.o
71
- OBJS-$(CONFIG_MPEG1VIDEO_DECODER)      += mpeg12dec.o mpeg12.o mpeg12data.o
72
- OBJS-$(CONFIG_MPEG1VIDEO_ENCODER)      += mpeg12enc.o mpeg12.o
73
- OBJS-$(CONFIG_MPEG2VIDEO_DECODER)      += mpeg12dec.o mpeg12.o mpeg12data.o
74
-+OBJS-$(CONFIG_MPEG2VIDEO_DXVA2_DECODER)+= dxva2_wrapper.o dxva2_dec.o
75
- OBJS-$(CONFIG_MPEG2VIDEO_ENCODER)      += mpeg12enc.o mpeg12.o
76
- OBJS-$(CONFIG_MPEG4_DECODER)           += xvididct.o
77
- OBJS-$(CONFIG_MPL2_DECODER)            += mpl2dec.o ass.o
78
-@@ -482,6 +484,7 @@ OBJS-$(CONFIG_VC1_DECODER)             += vc1dec.o vc1_block.o vc1_loopfilter.o
79
-                                           vc1dsp.o \
80
-                                           msmpeg4dec.o msmpeg4.o msmpeg4data.o \
81
-                                           wmv2dsp.o
82
-+OBJS-$(CONFIG_VC1_DXVA2_DECODER)       += dxva2_wrapper.o dxva2_dec.o
83
- OBJS-$(CONFIG_VCR1_DECODER)            += vcr1.o
84
- OBJS-$(CONFIG_VMDAUDIO_DECODER)        += vmdaudio.o
85
- OBJS-$(CONFIG_VMDVIDEO_DECODER)        += vmdvideo.o
86
-@@ -521,6 +524,7 @@ OBJS-$(CONFIG_WMV2_DECODER)            += wmv2dec.o wmv2.o wmv2dsp.o \
87
-                                           msmpeg4dec.o msmpeg4.o msmpeg4data.o
88
- OBJS-$(CONFIG_WMV2_ENCODER)            += wmv2enc.o wmv2.o wmv2dsp.o \
89
-                                           msmpeg4.o msmpeg4enc.o msmpeg4data.o
90
-+OBJS-$(CONFIG_WMV3_DXVA2_DECODER)      += dxva2_wrapper.o dxva2_dec.o
91
- OBJS-$(CONFIG_WNV1_DECODER)            += wnv1.o
92
- OBJS-$(CONFIG_WS_SND1_DECODER)         += ws-snd1.o
93
- OBJS-$(CONFIG_XAN_DPCM_DECODER)        += dpcm.o
94
-diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
95
-index 0d39d33..548f0ef 100644
96
---- a/libavcodec/allcodecs.c
97
-+++ b/libavcodec/allcodecs.c
98
-@@ -169,6 +169,7 @@ void avcodec_register_all(void)
99
-     REGISTER_ENCDEC (H263P,             h263p);
100
-     REGISTER_DECODER(H264,              h264);
101
-     REGISTER_DECODER(H264_CRYSTALHD,    h264_crystalhd);
102
-+    REGISTER_DECODER (H264_DXVA2, h264_dxva2);
103
-     REGISTER_DECODER(H264_VDA,          h264_vda);
104
-     REGISTER_DECODER(H264_VDPAU,        h264_vdpau);
105
-     REGISTER_DECODER(HEVC,              hevc);
106
-@@ -201,6 +202,7 @@ void avcodec_register_all(void)
107
- #endif /* FF_API_XVMC */
108
-     REGISTER_ENCDEC (MPEG1VIDEO,        mpeg1video);
109
-     REGISTER_ENCDEC (MPEG2VIDEO,        mpeg2video);
110
-+    REGISTER_DECODER (MPEG2VIDEO_DXVA2, mpeg2video_dxva2);
111
-     REGISTER_ENCDEC (MPEG4,             mpeg4);
112
-     REGISTER_DECODER(MPEG4_CRYSTALHD,   mpeg4_crystalhd);
113
-     REGISTER_DECODER(MPEG4_VDPAU,       mpeg4_vdpau);
114
-@@ -285,6 +287,7 @@ void avcodec_register_all(void)
115
-     REGISTER_DECODER(VBLE,              vble);
116
-     REGISTER_DECODER(VC1,               vc1);
117
-     REGISTER_DECODER(VC1_CRYSTALHD,     vc1_crystalhd);
118
-+    REGISTER_DECODER (VC1_DXVA2, vc1_dxva2);
119
-     REGISTER_DECODER(VC1_VDPAU,         vc1_vdpau);
120
-     REGISTER_DECODER(VC1IMAGE,          vc1image);
121
-     REGISTER_DECODER(VCR1,              vcr1);
122
-@@ -304,6 +307,7 @@ void avcodec_register_all(void)
123
-     REGISTER_ENCDEC (WMV2,              wmv2);
124
-     REGISTER_DECODER(WMV3,              wmv3);
125
-     REGISTER_DECODER(WMV3_CRYSTALHD,    wmv3_crystalhd);
126
-+    REGISTER_DECODER (WMV3_DXVA2, wmv3_dxva2);
127
-     REGISTER_DECODER(WMV3_VDPAU,        wmv3_vdpau);
128
-     REGISTER_DECODER(WMV3IMAGE,         wmv3image);
129
-     REGISTER_DECODER(WNV1,              wnv1);
130
-diff --git a/libavcodec/dxva2_dec.c b/libavcodec/dxva2_dec.c
131
-new file mode 100644
132
-index 0000000..e6b31cf
133
---- /dev/null
134
-+++ b/libavcodec/dxva2_dec.c
135
-@@ -0,0 +1,356 @@
136
-+/*
137
-+ * Call hardware decode acceleration through dxva2 API
138
-+ *
139
-+ * Copyright (c) 2012 Wei Gao <weigao@multicorewareinc.com>
140
-+ *
141
-+ * This file is part of FFmpeg.
142
-+ *
143
-+ * FFmpeg is free software; you can redistribute it and/or
144
-+ * modify it under the terms of the GNU Lesser General Public
145
-+ * License as published by the Free Software Foundation; either
146
-+ * version 2.1 of the License, or (at your option) any later version.
147
-+ *
148
-+ * FFmpeg is distributed in the hope that it will be useful,
149
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
150
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
151
-+ * Lesser General Public License for more details.
152
-+ *
153
-+ * You should have received a copy of the GNU Lesser General Public
154
-+ * License along with FFmpeg; if not, write to the Free Software
155
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
156
-+ */
157
-+
158
-+#include <string.h>
159
-+#include "dxva2_wrapper.h"
160
-+#include "h264.h"
161
-+#include "vc1.h"
162
-+#include "mpeg12.h"
163
-+#include "avcodec.h"
164
-+#include "internal.h"
165
-+
166
-+#if CONFIG_H264_DXVA2_DECODER
167
-+extern AVCodec ff_h264_decoder,ff_h264_dxva2_decoder;
168
-+#endif
169
-+
170
-+#if CONFIG_MPEG2VIDEO_DXVA2_DECODER
171
-+extern AVCodec ff_mpeg2video_decoder,ff_mpeg2video_dxva2_decoder;
172
-+#endif
173
-+
174
-+#if CONFIG_VC1_DXVA2_DECODER
175
-+extern AVCodec ff_vc1_decoder,ff_vc1_dxva2_decoder;
176
-+#endif
177
-+
178
-+#if CONFIG_WMV3_DXVA2_DECODER
179
-+extern AVCodec ff_wmv3_decoder, ff_wmv3_dxva2_decoder;
180
-+#endif
181
-+
182
-+typedef union {
183
-+#if CONFIG_H264_DXVA2_DECODER
184
-+    H264Context        h264ctx;
185
-+#endif
186
-+#if CONFIG_VC1_DXVA2_DECODER || CONFIG_WMV3_DXVA2_DECODER
187
-+    VC1Context         vc1ctx;
188
-+#endif
189
-+#if CONFIG_MPEG2VIDEO_DXVA2_DECODER
190
-+    Mpeg1Context       mpeg2videoctx;
191
-+#endif
192
-+}DecoderContext;
193
-+
194
-+typedef struct {
195
-+    DecoderContext          decoderctx;
196
-+    enum AVPixelFormat      pix_fmt;
197
-+    int (*get_buffer2)(struct AVCodecContext *s, AVFrame *frame, int flags);
198
-+    AVCodec                 *hwcodec;
199
-+    AVCodec                 *codec;
200
-+    dxva2_context           dxva2_ctx;
201
sview-15_10.tar.gz/LICENSE Deleted
63
 
1
@@ -1,61 +0,0 @@
2
-StShared,
3
-StGLWidget:
4
------------
5
-
6
-sources of these libraries are under Boost license. Read the file "license-boost.txt" for details.
7
-Notice that some sources are wrappers over other 3rd-parties
8
-and their licenses should be taken into account when used.
9
-
10
-StCore,
11
-StOutAnaglyph,
12
-StOutDual,
13
-StOutInterlace,
14
-StOutIZ3D,
15
-StOutPageFlip:
16
---------------
17
-
18
-these libraries are under the GNU Lesser General Public License version 3.0 or later.
19
-Read the file "license-lgpl-3.0.txt" for details.
20
-
21
-StImageViewer,
22
-StMoviePlayer,
23
-StDiagnostics,
24
-StMonitorsDump,
25
-StBrowserPlugin,
26
-StTests:
27
---------
28
-
29
-these libraries and programs are under the GNU General Public License version 3.0 or later.
30
-Read the file "license-gpl-3.0.txt" for details.
31
-
32
-sView:
33
-------
34
-
35
-sView executable project is a dummy entry point to real applications like StImageViewer.
36
-Formally it was licensed under Boost license terms.
37
-
38
-StCADViewer:
39
-------------
40
-
41
-this program is under the GNU General Public License version 3.0 or later.
42
-
43
-External libraries:
44
--------------------
45
-
46
-FFmpeg libraries are distributed under GNU Lesser General Public License version 2.1 or later.
47
-http://ffmpeg.org/
48
-
49
-libconfig++ library distributed under GNU Lesser General Public License version 2.1 or later.
50
-http://www.hyperrealm.com/libconfig/
51
-
52
-OpenAL library distributed under GNU Lesser General Public License version 2.1 or later.
53
-http://kcat.strangesoft.net/openal.html
54
-
55
-FreeType library distributed under FreeType License (BSD-style license with a credit clause).
56
-http://www.freetype.org/
57
-
58
-Open CASCADE Technology libraries distributed under GNU Lesser General Public License version 2.1.
59
-http://dev.opencascade.org/
60
-
61
-Some 3rd-parties may depend on other libraries and provide more license options.
62
-Please read license information for original projects.
63
sview-15_10.tar.gz/README Deleted
26
 
1
@@ -1,24 +0,0 @@
2
-sView - stereoscopic media player
3
-=================================
4
-
5
-0) Updates
6
-----------
7
-
8
-* To get up-to-date sources please clone official git repository:
9
-  git clone https://github.com/gkv311/sview.git
10
-
11
-1) Documentation
12
-----------------
13
-
14
-* Read the documentation in the doc/ directory in git.
15
-  Online help is available on official site http://www.sview.ru/en/sview2009/usertips
16
-
17
-2) Licensing
18
-------------
19
-
20
-* See the LICENSE file.
21
-
22
-3) Build and Install
23
---------------------
24
-
25
-* See the docs/INSTALL file.
26
sview-15_10.tar.gz/docs/INSTALL Deleted
115
 
1
@@ -1,113 +0,0 @@
2
-I. Installing 3rd-parties
3
-=========================
4
-
5
-sView requires several 3rd-party components for building:
6
-- C/C++ compiler (g++, MSVC 2010+)
7
-- Code::Blocks (http://www.codeblocks.org)
8
-- FFmpeg (http://www.ffmpeg.org)
9
-- OpenAL soft (http://kcat.strangesoft.net/openal.html)
10
-- libwebp, optional (https://developers.google.com/speed/webp/download)
11
-- GTK2+, Linux only (http://www.gtk.org)
12
-- libconfig++, Linux and Android (http://www.hyperrealm.com/libconfig)
13
-- libxpm, Linux only
14
-
15
-On Debian/Ubuntu you might use the following command to install all dependencies at once:
16
-
17
-sudo apt-get install \
18
- g++ \
19
- libgtk2.0-dev \
20
- libopenal-dev \
21
- libgl1-mesa-dev \
22
- libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev libswscale-dev \
23
- libwebp-dev \
24
- libconfig++-dev libconfig-dev \
25
- libxpm-dev \
26
- codeblocks
27
-
28
-The similar command for RPM-based distributives:
29
-
30
-yum install gcc gcc-c++ \
31
- gtk+-devel gtk2-devel \
32
- mesa-libGLU-devel glew-devel \
33
- openal-devel \
34
- libconfig-devel
35
-
36
-rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
37
-yum install ffmpeg-devel
38
-
39
-On Windows and Mac OS X please refer to official documentation for each project.
40
-Notice that DevIL and FreeImage libraries are optional and need not for building sView
41
-(libraries are loaded dynamically if available).
42
-
43
-II. Makefile on Linux
44
-=====================
45
-
46
-Current Makefile has been written only for DEB/RPM source packages
47
-and lacks configuration flexibility (means ther NO any ./configure and so on).
48
-
49
-All you need is to install dependencies and to execute traditional commands:
50
-
51
-  make && make install
52
-
53
-III. Code::Blocks
54
-=================
55
-
56
-Code::Blocks is an official way for building and development of sView.
57
-There are several building targets depending on platform
58
-(Mac OS X, Linux, Windows) and debugging possibilities:
59
-- WIN_vc_x86,        32-bit target using Visual Studio compiler
60
-- WIN_vc_x86_DEBUG,  32-bit target with debugging options
61
-- WIN_vc_AMD64,      64-bit target using Visual Studio compiler
62
-- LINUX_gcc,         Linux target, g++ compiler
63
-- LINUX_gcc_DEBUG,   Linux target with debugging options
64
-- MAC_gcc,           Mac OS X target, g++ compatible compiler
65
-- MAC_gcc_DEBUG,     Mac OS X target with debugging options
66
-
67
-Notice that the following compilers should be configured within Code::Blocks:
68
-- gcc,               configured to g++ or compatible compiler (on systems other than Windows)
69
-- msvc10,            configured to Visual Studio 2010+ compiler, PSDK and DXSDK
70
-- windows_sdk_x86_64 (copy of msvc10) configured to 64-bit libraries and compiler toolchain
71
-
72
-3rd-parties should be either configured as Code::Blocks global compiler options
73
-or placed into "3rdparty" folder.
74
-
75
-IV. Building options
76
-====================
77
-
78
-Several preprocessor directives control building options.
79
-Notice that by default "include/stconfig.conf" file is used to override these options
80
-(this file will be used only when ST_HAVE_STCONFIG is defined).
81
-
82
-- ST_HAVE_WEBP - should be defined to activate libwebp usage
83
-  (notice that since next releases of FFmpeg might have built-in support for webp/webpll image files)
84
-- ST_HAVE_MONGOOSE - should be defined to activate built-in web UI for remote Movie Player control
85
-- ST_HAVE_OCCT - should be defined to activate CAD files import in tiny CAD viewer
86
-- ST_DEBUG - should be defined to activate debugging log output
87
-- ST_DEBUG_LOG_TO_FILE - specifies file name or full path to duplicate debug log output
88
-
89
-V. Distribution scripts
90
-=======================
91
-
92
-Several script were written to automate distribution routines.
93
-All them were placed in "distribution" folder.
94
-
95
-- build.bat, batch script for Windows. Performs re-building of WIN_vc_x86 and WIN_vc_AMD64 targets
96
-  using Code::Blocks and pack result binaries using InnoSetup script.
97
-  Notice that all dependencies should be available (including InnoSetup),
98
-  and DLLs should be placed into bin/WIN_vc_x86 and bin/WIN_vc_AMD64 folders.
99
-- buildDebSrc.sh, bash script for Linux to pack sources into Debian source package.
100
-- buildMac.sh, bash script to pack binaries from bin/MAC_gcc folder into DMG image.
101
-  3rd-party libraries should be already located in "bin/MAC_gcc_DEBUG/sView.app/Contents/Frameworks/"
102
-  folder with correct search path (refer to bind_frameworks.sh auxiliary script).
103
-
104
-===
105
-
106
-su
107
-yum install rpm-build
108
-
109
-mkdir -p ${HOME}/workspace/redhat/{RPMS,SRPMS,SPECS,SOURCES,BUILD}
110
-echo "%_topdir ${HOME}/workspace/redhat" > ${HOME}/.rpmmacros
111
-
112
-wget https://launchpad.net/~sview/+archive/stable/+files/sview_12.05-1%7Eprecise.tar.gz
113
-mv sview_12.05-1~precise.tar.gz $HOME/workspace/redhat/SOURCES/sview_12.05-1.tar.gz
114
-rpmbuild -ba distribution/sView.rpm.spec
115
sview-15_10.tar.gz/textures/fullScreen128.png Deleted
sview-15_10.tar.gz/textures/fullScreen144.png Deleted
sview-15_10.tar.gz/textures/fullScreen16.png Deleted
sview-15_10.tar.gz/textures/fullScreen192.png Deleted
sview-15_10.tar.gz/textures/fullScreen24.png Deleted
sview-15_10.tar.gz/textures/fullScreen256.png Deleted
sview-15_10.tar.gz/textures/fullScreen32.png Deleted
sview-15_10.tar.gz/textures/fullScreen48.png Deleted
sview-15_10.tar.gz/textures/fullScreen64.png Deleted
sview-15_10.tar.gz/textures/fullScreen72.png Deleted
sview-15_10.tar.gz/textures/fullScreen96.png Deleted
sview-15_10.tar.gz/texturesSrc/fullscr.svg Deleted
93
 
1
@@ -1,91 +0,0 @@
2
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
4
-
5
-<svg
6
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
7
-   xmlns:cc="http://creativecommons.org/ns#"
8
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9
-   xmlns:svg="http://www.w3.org/2000/svg"
10
-   xmlns="http://www.w3.org/2000/svg"
11
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
-   width="32"
14
-   height="32"
15
-   id="svg2"
16
-   version="1.1"
17
-   inkscape:version="0.48.2 r9819"
18
-   sodipodi:docname="fullscr.svg"
19
-   inkscape:export-filename="fullScreen32.png"
20
-   inkscape:export-xdpi="107.66355"
21
-   inkscape:export-ydpi="107.66355">
22
-  <defs
23
-     id="defs4" />
24
-  <sodipodi:namedview
25
-     id="base"
26
-     pagecolor="#ffffff"
27
-     bordercolor="#666666"
28
-     borderopacity="1.0"
29
-     inkscape:pageopacity="0.0"
30
-     inkscape:pageshadow="2"
31
-     inkscape:zoom="16.8125"
32
-     inkscape:cx="14.929368"
33
-     inkscape:cy="16"
34
-     inkscape:document-units="px"
35
-     inkscape:current-layer="layer1"
36
-     showgrid="false"
37
-     inkscape:window-width="1213"
38
-     inkscape:window-height="756"
39
-     inkscape:window-x="67"
40
-     inkscape:window-y="0"
41
-     inkscape:window-maximized="0" />
42
-  <metadata
43
-     id="metadata7">
44
-    <rdf:RDF>
45
-      <cc:Work
46
-         rdf:about="">
47
-        <dc:format>image/svg+xml</dc:format>
48
-        <dc:type
49
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
50
-        <dc:title></dc:title>
51
-      </cc:Work>
52
-    </rdf:RDF>
53
-  </metadata>
54
-  <g
55
-     inkscape:label="Layer 1"
56
-     inkscape:groupmode="layer"
57
-     id="layer1"
58
-     transform="translate(0,-1020.3622)">
59
-    <path
60
-       sodipodi:type="arc"
61
-       style="fill:#808080;fill-opacity:0.45814981;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
62
-       id="path2985"
63
-       sodipodi:cx="11.271376"
64
-       sodipodi:cy="13.769517"
65
-       sodipodi:rx="12.877323"
66
-       sodipodi:ry="12.877323"
67
-       d="m 24.148699,13.769517 a 12.877323,12.877323 0 1 1 -25.7546465,0 12.877323,12.877323 0 1 1 25.7546465,0 z"
68
-       transform="translate(4.6988847,1022.6818)" />
69
-    <path
70
-       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
71
-       d="m 8.386617,1035.2321 0.05948,-6.4238 6.245353,-0.06 z"
72
-       id="path3755"
73
-       inkscape:connector-curvature="0"
74
-       sodipodi:nodetypes="cccc" />
75
-    <path
76
-       sodipodi:type="arc"
77
-       style="fill:#000000;fill-opacity:1"
78
-       id="path3792"
79
-       sodipodi:cx="16.08922"
80
-       sodipodi:cy="16.684015"
81
-       sodipodi:rx="1.457249"
82
-       sodipodi:ry="1.457249"
83
-       d="m 17.546469,16.684015 a 1.457249,1.457249 0 1 1 -2.914498,0 1.457249,1.457249 0 1 1 2.914498,0 z"
84
-       transform="translate(-0.11895969,1019.7673)" />
85
-    <path
86
-       sodipodi:nodetypes="cccc"
87
-       inkscape:connector-curvature="0"
88
-       id="path3813"
89
-       d="m 23.434944,1037.4918 -0.05948,6.4238 -6.245353,0.06 z"
90
-       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
91
-  </g>
92
-</svg>
93
sview-15_11.tar.gz/3rdparty/FFmpeg/patches/patch_png_ster.patch Added
96
 
1
@@ -0,0 +1,94 @@
2
+From 104e5d8f212c46b9eedb932a6b6c717372ccdceb Mon Sep 17 00:00:00 2001
3
+From: Kirill Gavrilov <kirill@sview.ru>
4
+Date: Thu, 22 Oct 2015 23:36:52 +0300
5
+Subject: [PATCH 1/1] avcodec/png: read and write stereo3d frame side data
6
+ information
7
+
8
+Use optional sTER chunk defining side-by-side stereo pair
9
+within "Extensions to the PNG 1.2 Specification", version 1.3.0.
10
+---
11
+ libavcodec/pngdec.c | 16 ++++++++++++++++
12
+ libavcodec/pngenc.c | 19 +++++++++++++++++++
13
+ 2 files changed, 35 insertions(+)
14
+
15
+diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
16
+index 4cfdc58..99111d4 100644
17
+--- a/libavcodec/pngdec.c
18
++++ b/libavcodec/pngdec.c
19
+@@ -24,6 +24,7 @@
20
+ #include "libavutil/avassert.h"
21
+ #include "libavutil/bprint.h"
22
+ #include "libavutil/imgutils.h"
23
++#include "libavutil/stereo3d.h"
24
+ #include "avcodec.h"
25
+ #include "bytestream.h"
26
+ #include "internal.h"
27
+@@ -1164,6 +1165,21 @@ static int decode_frame_common(AVCodecContext *avctx, PNGDecContext *s,
28
+                 av_log(avctx, AV_LOG_WARNING, "Broken zTXt chunk\n");
29
+             bytestream2_skip(&s->gb, length + 4);
30
+             break;
31
++        case MKTAG('s', 'T', 'E', 'R'): {
32
++            AVStereo3D *stereo3d = av_stereo3d_create_side_data(p);
33
++            if (!stereo3d) {
34
++                goto fail;
35
++            } else if (*s->gb.buffer == 0) {
36
++                stereo3d->type  = AV_STEREO3D_SIDEBYSIDE;
37
++                stereo3d->flags = AV_STEREO3D_FLAG_INVERT;
38
++            } else if (*s->gb.buffer == 1) {
39
++                stereo3d->type  = AV_STEREO3D_SIDEBYSIDE;
40
++            } else {
41
++                 av_log(avctx, AV_LOG_WARNING, "Broken sTER chunk - unknown value\n");
42
++            }
43
++            bytestream2_skip(&s->gb, length + 4);
44
++            break;
45
++        }
46
+         case MKTAG('I', 'E', 'N', 'D'):
47
+             if (!(s->state & PNG_ALLIMAGE))
48
+                 av_log(avctx, AV_LOG_ERROR, "IEND without all image\n");
49
+diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c
50
+index 4204df2..bc61f8f 100644
51
+--- a/libavcodec/pngenc.c
52
++++ b/libavcodec/pngenc.c
53
+@@ -31,6 +31,7 @@
54
+ #include "libavutil/libm.h"
55
+ #include "libavutil/opt.h"
56
+ #include "libavutil/color_utils.h"
57
++#include "libavutil/stereo3d.h"
58
+ 
59
+ #include <zlib.h>
60
+ 
61
+@@ -340,6 +341,7 @@ static int png_get_gama(enum AVColorTransferCharacteristic trc, uint8_t *buf)
62
+ 
63
+ static int encode_headers(AVCodecContext *avctx, const AVFrame *pict)
64
+ {
65
++    AVFrameSideData *side_data;
66
+     PNGEncContext *s = avctx->priv_data;
67
+ 
68
+     /* write png header */
69
+@@ -364,6 +366,23 @@ static int encode_headers(AVCodecContext *avctx, const AVFrame *pict)
70
+     }
71
+     png_write_chunk(&s->bytestream, MKTAG('p', 'H', 'Y', 's'), s->buf, 9);
72
+ 
73
++    /* write stereoscopic information */
74
++    side_data = av_frame_get_side_data(pict, AV_FRAME_DATA_STEREO3D);
75
++    if (side_data) {
76
++        AVStereo3D *stereo3d = (AVStereo3D *)side_data->data;
77
++        switch (stereo3d->type) {
78
++            case AV_STEREO3D_SIDEBYSIDE:
79
++                s->buf[0] = ((stereo3d->flags & AV_STEREO3D_FLAG_INVERT) == 0) ? 1 : 0;
80
++                png_write_chunk(&s->bytestream, MKTAG('s', 'T', 'E', 'R'), s->buf, 1);
81
++                break;
82
++            case AV_STEREO3D_2D:
83
++                break;
84
++            default:
85
++                av_log(avctx, AV_LOG_WARNING, "Only side-by-side stereo3d flag can be defined within sTER chunk\n");
86
++                break;
87
++        }
88
++    }
89
++
90
+     /* write colorspace information */
91
+     if (pict->color_primaries == AVCOL_PRI_BT709 &&
92
+         pict->color_trc == AVCOL_TRC_IEC61966_2_1) {
93
+-- 
94
+2.0.1
95
+
96
sview-15_10.tar.gz/3rdparty/FFmpeg/rebuild.sh -> sview-15_11.tar.gz/3rdparty/FFmpeg/rebuild.sh Changed
194
 
1
@@ -10,6 +10,8 @@
2
 rebuildAndroid="false"
3
 compilerPrefix=""
4
 androidNdkRoot="~/develop/android-ndk-r10"
5
+aSystem=`uname -s`
6
+aPwdBack=$PWD
7
 
8
 for i in $*
9
 do
10
@@ -70,10 +72,25 @@
11
   OUTPUT_NAME="$OUTPUT_NAME-debug"
12
 fi
13
 OUTPUT_FOLDER="../$OUTPUT_NAME"
14
+OUTPUT_FOLDER_INC="$OUTPUT_FOLDER/include"
15
+OUTPUT_FOLDER_BIN="$OUTPUT_FOLDER/bin"
16
+OUTPUT_FOLDER_LIB="$OUTPUT_FOLDER/lib"
17
+if [ "$aSystem" == "Darwin" ]; then
18
+  OUTPUT_FOLDER_BIN="$OUTPUT_FOLDER/MacOS"
19
+  OUTPUT_FOLDER_LIB="$OUTPUT_FOLDER/Frameworks"
20
+fi
21
 rm -f -r $OUTPUT_FOLDER
22
 mkdir -p $OUTPUT_FOLDER
23
-mkdir -p $OUTPUT_FOLDER/bin
24
-mkdir -p $OUTPUT_FOLDER/lib
25
+mkdir -p $OUTPUT_FOLDER_BIN
26
+mkdir -p $OUTPUT_FOLDER_LIB
27
+mkdir -p $OUTPUT_FOLDER_INC
28
+mkdir -p $OUTPUT_FOLDER_INC/libavcodec
29
+mkdir -p $OUTPUT_FOLDER_INC/libavdevice
30
+mkdir -p $OUTPUT_FOLDER_INC/libavfilter
31
+mkdir -p $OUTPUT_FOLDER_INC/libavformat
32
+mkdir -p $OUTPUT_FOLDER_INC/libavutil
33
+mkdir -p $OUTPUT_FOLDER_INC/libswscale
34
+mkdir -p $OUTPUT_FOLDER_INC/libswresample
35
 
36
 echo "  make distclean"
37
 make distclean &>/dev/null
38
@@ -89,21 +106,21 @@
39
   fi
40
 fi
41
 
42
+#--enable-memalign-hack
43
 configArguments="\
44
  --extra-version=sView.ru \
45
  --enable-swscale \
46
  --enable-shared \
47
  --disable-static \
48
- --enable-memalign-hack \
49
  --enable-avfilter \
50
  --enable-hardcoded-tables \
51
  --enable-pthreads \
52
  --disable-libopenjpeg \
53
+ --disable-doc \
54
  --enable-runtime-cpudetect"
55
 
56
-aSystem=`uname -s`
57
 if [ "$aSystem" == "Darwin" ]; then
58
-  configArguments="$configArguments --enable-vda"
59
+  configArguments="$configArguments --enable-vda --libdir=@executable_path/../Frameworks"
60
 fi
61
 
62
 #if [ "$gccMachine" != "$GCC_MACHINE_LINUX_64" ]; then
63
@@ -156,7 +173,7 @@
64
 echo "  ./configure $configArguments"
65
 echo
66
 if [ "$rebuildAndroid" == "true" ]; then
67
-  ./configure $configArguments --disable-symver --extra-cflags='-fno-builtin-sin -fno-builtin-sinf' >$OUTPUT_FOLDER/config.log 2>&1
68
+  ./configure $configArguments --disable-symver --extra-cflags='-march=armv7-a -mfloat-abi=softfp -fno-builtin-sin -fno-builtin-sinf' >$OUTPUT_FOLDER/config.log 2>&1
69
 else
70
   ./configure $configArguments >$OUTPUT_FOLDER/config.log 2>&1
71
 fi
72
@@ -178,85 +195,96 @@
73
   cp -f libavcodec/*.dll $OUTPUT_FOLDER
74
   cp -f libavcodec/*.lib $OUTPUT_FOLDER &>/dev/null
75
 elif [ -f libavcodec/libavcodec.dylib ]; then
76
-  cp -f -p libavcodec/*.dylib* $OUTPUT_FOLDER/lib
77
+  cp -f -p -R libavcodec/*.dylib* $OUTPUT_FOLDER_LIB
78
 else
79
-  cp -f -d libavcodec/*.so* $OUTPUT_FOLDER/lib
80
+  cp -f -d libavcodec/*.so* $OUTPUT_FOLDER_LIB
81
 fi
82
 
83
 if [ -f libavdevice/avdevice.dll ]; then
84
   cp -f libavdevice/*.dll $OUTPUT_FOLDER
85
   cp -f libavdevice/*.lib $OUTPUT_FOLDER &>/dev/null
86
 elif [ -f libavdevice/libavdevice.dylib ]; then
87
-  cp -f -p libavdevice/*.dylib* $OUTPUT_FOLDER/lib
88
+  cp -f -p -R libavdevice/*.dylib* $OUTPUT_FOLDER_LIB
89
 else
90
-  cp -f -d libavdevice/*.so* $OUTPUT_FOLDER/lib
91
+  cp -f -d libavdevice/*.so* $OUTPUT_FOLDER_LIB
92
 fi
93
 
94
 if [ -f libavfilter/avfilter.dll ]; then
95
   cp -f libavfilter/*.dll $OUTPUT_FOLDER
96
   cp -f libavfilter/*.lib $OUTPUT_FOLDER &>/dev/null
97
 elif [ -f libavfilter/libavfilter.dylib ]; then
98
-  cp -f -p libavfilter/*.dylib* $OUTPUT_FOLDER/lib
99
+  cp -f -p -R libavfilter/*.dylib* $OUTPUT_FOLDER_LIB
100
 else
101
-  cp -f -d libavfilter/*.so* $OUTPUT_FOLDER/lib
102
+  cp -f -d libavfilter/*.so* $OUTPUT_FOLDER_LIB
103
 fi
104
 
105
 if [ -f libavformat/avformat.dll ]; then
106
   cp -f libavformat/*.dll $OUTPUT_FOLDER
107
   cp -f libavformat/*.lib $OUTPUT_FOLDER &>/dev/null
108
 elif [ -f libavformat/libavformat.dylib ]; then
109
-  cp -f -p libavformat/*.dylib* $OUTPUT_FOLDER/lib
110
+  cp -f -p -R libavformat/*.dylib* $OUTPUT_FOLDER_LIB
111
 else
112
-  cp -f -d libavformat/*.so* $OUTPUT_FOLDER/lib
113
+  cp -f -d libavformat/*.so* $OUTPUT_FOLDER_LIB
114
 fi
115
 
116
 if [ -f libavutil/avutil.dll ]; then
117
   cp -f libavutil/*.dll $OUTPUT_FOLDER
118
   cp -f libavutil/*.lib $OUTPUT_FOLDER &>/dev/null
119
 elif [ -f libavutil/libavutil.dylib ]; then
120
-  cp -f -p libavutil/*.dylib* $OUTPUT_FOLDER/lib
121
+  cp -f -p -R libavutil/*.dylib* $OUTPUT_FOLDER_LIB
122
 else
123
-  cp -f -d libavutil/*.so* $OUTPUT_FOLDER/lib
124
+  cp -f -d libavutil/*.so* $OUTPUT_FOLDER_LIB
125
 fi
126
 
127
 if [ -f libswscale/swscale.dll ]; then
128
   cp -f libswscale/*.dll $OUTPUT_FOLDER
129
   cp -f libswscale/*.lib $OUTPUT_FOLDER &>/dev/null
130
 elif [ -f libswscale/libswscale.dylib ]; then
131
-  cp -f -p libswscale/*.dylib* $OUTPUT_FOLDER/lib
132
+  cp -f -p -R libswscale/*.dylib* $OUTPUT_FOLDER_LIB
133
 else
134
-  cp -f -d libswscale/*.so* $OUTPUT_FOLDER/lib
135
+  cp -f -d libswscale/*.so* $OUTPUT_FOLDER_LIB
136
 fi
137
 
138
 if [ -f libswresample/swresample.dll ]; then
139
   cp -f libswresample/*.dll $OUTPUT_FOLDER
140
   cp -f libswresample/*.lib $OUTPUT_FOLDER &>/dev/null
141
 elif [ -f libswresample/libswresample.dylib ]; then
142
-  cp -f -p libswresample/*.dylib* $OUTPUT_FOLDER/lib
143
+  cp -f -p -R libswresample/*.dylib* $OUTPUT_FOLDER_LIB
144
 else
145
-  cp -f -d libswresample/*.so* $OUTPUT_FOLDER/lib
146
+  cp -f -d libswresample/*.so* $OUTPUT_FOLDER_LIB
147
 fi
148
 
149
 cp -f *.exe      $OUTPUT_FOLDER &>/dev/null
150
-cp -f ffmpeg     $OUTPUT_FOLDER/bin &>/dev/null
151
-cp -f ffmpeg_g   $OUTPUT_FOLDER/bin &>/dev/null
152
-cp -f ffprobe    $OUTPUT_FOLDER/bin &>/dev/null
153
-cp -f ffprobe_g  $OUTPUT_FOLDER/bin &>/dev/null
154
-cp -f ffserver   $OUTPUT_FOLDER/bin &>/dev/null
155
-cp -f ffserver_g $OUTPUT_FOLDER/bin &>/dev/null
156
-cp -f ffplay     $OUTPUT_FOLDER/bin &>/dev/null
157
+cp -f ffmpeg     $OUTPUT_FOLDER_BIN &>/dev/null
158
+cp -f ffmpeg_g   $OUTPUT_FOLDER_BIN &>/dev/null
159
+cp -f ffprobe    $OUTPUT_FOLDER_BIN &>/dev/null
160
+cp -f ffprobe_g  $OUTPUT_FOLDER_BIN &>/dev/null
161
+cp -f ffserver   $OUTPUT_FOLDER_BIN &>/dev/null
162
+cp -f ffserver_g $OUTPUT_FOLDER_BIN &>/dev/null
163
+cp -f ffplay     $OUTPUT_FOLDER_BIN &>/dev/null
164
+
165
+cp -f libavcodec/*.h    $OUTPUT_FOLDER_INC/libavcodec    &>/dev/null
166
+cp -f libavdevice/*.h   $OUTPUT_FOLDER_INC/libavdevice   &>/dev/null
167
+cp -f libavfilter/*.h   $OUTPUT_FOLDER_INC/libavfilter   &>/dev/null
168
+cp -f libavformat/*.h   $OUTPUT_FOLDER_INC/libavformat   &>/dev/null
169
+cp -f libavutil/*.h     $OUTPUT_FOLDER_INC/libavutil     &>/dev/null
170
+cp -f libswscale/*.h    $OUTPUT_FOLDER_INC/libswscale    &>/dev/null
171
+cp -f libswresample/*.h $OUTPUT_FOLDER_INC/libswresample &>/dev/null
172
 
173
 # remove duplicates (only Windows)
174
 rm $OUTPUT_FOLDER/avcodec.dll $OUTPUT_FOLDER/swresample.dll $OUTPUT_FOLDER/avdevice.dll $OUTPUT_FOLDER/avfilter.dll $OUTPUT_FOLDER/avformat.dll $OUTPUT_FOLDER/avutil.dll $OUTPUT_FOLDER/swscale.dll &>/dev/null
175
 
176
 # create binaries archive
177
-if command -v 7za &>/dev/null
178
+if [ "$aSystem" == "Darwin" ]; then
179
+  rm $OUTPUT_FOLDER/../$OUTPUT_NAME.tar.gz &>/dev/null
180
+  cd $OUTPUT_FOLDER
181
+  tar -cvzf $OUTPUT_FOLDER/../$OUTPUT_NAME.tar.gz *
182
+elif command -v 7za &>/dev/null
183
 then
184
-  # binaries
185
   rm $OUTPUT_FOLDER/../$OUTPUT_NAME.7z &>/dev/null
186
   7za a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on $OUTPUT_FOLDER/../$OUTPUT_NAME.7z $OUTPUT_FOLDER
187
-  rm -f -r $OUTPUT_FOLDER
188
 fi
189
 
190
 # come back
191
-cd ..
192
+cd $aPwdBack
193
+#rm -f -r $OUTPUT_FOLDER
194
sview-15_10.tar.gz/3rdparty/FFmpeg/rebuildBatch.sh -> sview-15_11.tar.gz/3rdparty/FFmpeg/rebuildBatch.sh Changed
40
 
1
@@ -2,15 +2,15 @@
2
 
3
 # This is helpful script to perform building of FFmpeg
4
 
5
-# MinGW tools for Ubuntu; http://ffmpeg.arrozcru.org/wiki/index.php?title=Aptrepository
6
-# Add gpg key to your system 
7
-#$ gpg --keyserver keyserver.ubuntu.com --recv-key 0x25E635F9
8
-#$ gpg --export --armor 0x25E635F9 | sudo apt-key add -
9
-#deb http://apt.arrozcru.org ./
10
-#deb-src http://apt.arrozcru.org ./
11
+# mingw for cross-compiling
12
+#sudo apt-get install binutils-mingw-w64-i686 binutils-mingw-w64-x86-64 g++-mingw-w64-i686 g++-mingw-w64-x86-64 gcc-mingw-w64 gcc-mingw-w64-base gcc-mingw-w64-i686 gcc-mingw-w64-x86-64
13
+#sudo apt-get install mingw-w64 mingw-w64-common mingw-w64-tools yasm p7zip-full git git-gui gitk
14
 
15
-#sudo apt-get install mingw32-w32api mingw32-runtime mingw32-gcc-4.4 mingw32-binutils mingw32-zlib mingw32-bzip2 mingw32-pthreads 
16
-#sudo apt-get install mingw-w64-w32api mingw-w64-runtime mingw-w64-gcc-4.4 mingw-w64-crt mingw-w64-binutils mingw-w64-headers mingw-w64-zlib mingw-w64-bzip2 mingw-w64-pthreads
17
+# avoid linkage with dynamic version of libwinpthread.dll
18
+#sudo mv /usr/x86_64-w64-mingw32/lib/libpthread.dll.a /usr/x86_64-w64-mingw32/lib/__libpthread.dll.a
19
+#sudo mv /usr/x86_64-w64-mingw32/lib/libwinpthread.dll.a /usr/x86_64-w64-mingw32/lib/__libwinpthread.dll.a
20
+#sudo mv /usr/i686-w64-mingw32/lib/libpthread.dll.a /usr/i686-w64-mingw32/lib/__libpthread.dll.a
21
+#sudo mv /usr/i686-w64-mingw32/lib/libwinpthread.dll.a /usr/i686-w64-mingw32/lib/__libwinpthread.dll.a
22
 
23
 rebuildTarget="FFmpeg"
24
 if [ "$1" != "" ]; then
25
@@ -35,10 +35,10 @@
26
 fi
27
 
28
 # build for Win32 x86
29
-#./rebuild.sh "$rebuildTarget" GPL  DEBUG   "i686-mingw32-"
30
-./rebuild.sh "$rebuildTarget" LGPL DEBUG   "i686-mingw32-"
31
-./rebuild.sh "$rebuildTarget" GPL  RELEASE "i686-mingw32-"
32
-./rebuild.sh "$rebuildTarget" LGPL RELEASE "i686-mingw32-"
33
+#./rebuild.sh "$rebuildTarget" GPL  DEBUG   "i686-w64-mingw32-"
34
+./rebuild.sh "$rebuildTarget" LGPL DEBUG   "i686-w64-mingw32-"
35
+./rebuild.sh "$rebuildTarget" GPL  RELEASE "i686-w64-mingw32-"
36
+./rebuild.sh "$rebuildTarget" LGPL RELEASE "i686-w64-mingw32-"
37
 
38
 # build for Win32 AMD64
39
 #./rebuild.sh "$rebuildTarget" GPL  DEBUG   "x86_64-w64-mingw32-"
40
sview-15_11.tar.gz/LICENSE.md Added
62
 
1
@@ -0,0 +1,60 @@
2
+## Libraries
3
+
4
+* StShared
5
+* StGLWidget
6
+* StCore
7
+* StOutAnaglyph
8
+* StOutDual
9
+* StOutInterlace
10
+* StOutIZ3D
11
+* StOutPageFlip
12
+
13
+Sources of these libraries are under Boost license.
14
+Read the file [license-boost.txt](license-boost.txt) for details.
15
+
16
+Notice that some sources are wrappers over other 3rd-parties
17
+and their licenses should be taken into account when used.
18
+
19
+## sView
20
+
21
+* StImageViewer
22
+* StMoviePlayer
23
+* StDiagnostics
24
+* StMonitorsDump
25
+* StBrowserPlugin
26
+* StTests
27
+
28
+These libraries and programs are under the GNU General Public License version 3.0 or later.<br/>
29
+Read the file [license-gpl-3.0.txt](license-gpl-3.0.txt) for details.
30
+
31
+Note that sView executable project is a dummy entry point to real applications like StImageViewer.<br/>
32
+Formally it was licensed under Boost license terms.
33
+
34
+## StCADViewer
35
+
36
+This program is under the GNU General Public License version 3.0 or later.
37
+
38
+## External libraries
39
+
40
+* FFmpeg libraries are distributed under GNU Lesser General Public License version 2.1 or later.<br/>
41
+  http://ffmpeg.org/
42
+* libconfig++ library distributed under GNU Lesser General Public License version 2.1 or later.<br/>
43
+  http://www.hyperrealm.com/libconfig/
44
+* OpenAL library distributed under GNU Lesser General Public License version 2.1 or later.<br/>
45
+  http://kcat.strangesoft.net/openal.html
46
+* FreeType library distributed under FreeType License (BSD-style license with a credit clause).<br/>
47
+  http://www.freetype.org/
48
+* Open CASCADE Technology libraries distributed under GNU Lesser General Public License version 2.1.<br/>
49
+  http://dev.opencascade.org/
50
+
51
+Some 3rd-parties may depend on other libraries and provide more license options.
52
+Please read license information for original projects.
53
+
54
+## Icons
55
+
56
+Images in folders [texturesSrc](texturesSrc) and [textures](textures)
57
+are available under the [license CC-BY 4.0](license-CC-BY-4.0.txt) (Creative Common Attribution 4.0 International License).
58
+Feel free to remix and re-share these icons in your products.
59
+
60
+Some of the images have been derived from Material Design icons shared by Google:<br/>
61
+https://github.com/google/material-design-icons
62
sview-15_11.tar.gz/README.md Added
41
 
1
@@ -0,0 +1,39 @@
2
+sView - stereoscopic media player
3
+=================================
4
+
5
+sView is an easy to use cross-platform solution to view 3D stereoscopic videos and images.
6
+Please visit official site for more information:<br/>
7
+http://www.sview.ru
8
+
9
+## Libraries
10
+
11
+* `libStShared` threads, mutexes, template-based signals and slots, OpenGL tools, settings management, and other tools.
12
+* `libStGLWidgets` compact C++ toolkit for writing GUI using OpenGL 2.1+ or OpenGL ES 2.0+.
13
+* `libStCore` window system independent C++ toolkit for writing OpenGL applications.
14
+* `libStOutAnaglyph` stereoscopic output in anaglyph format using GLSL programs.
15
+* `libStOutDistorted` stereoscopic output in anamorph side-by-side format.
16
+* `libStOutDual` stereoscopic output through two dedicated interfaces.
17
+* `libStOutInterlace` stereoscopic output for row interlaced displays using GLSL programs.
18
+* `libStOutIZ3D` stereoscopic output for iZ3D monitors using GLSL programs.
19
+* `libStOutPageFlip` stereoscopic output for shutter glasses devices.
20
+
21
+## Updates
22
+
23
+To get up-to-date sources please clone official git repository:
24
+~~~~~
25
+  git clone https://github.com/gkv311/sview.git
26
+~~~~~
27
+
28
+## Documentation
29
+
30
+Read the documentation in the **doc/** directory in git.
31
+Online help is available on official site:<br/>
32
+http://www.sview.ru/en/sview/usertips/
33
+
34
+## Licensing
35
+
36
+See the [LICENSE](LICENSE.md) file.
37
+
38
+## Build and Install
39
+
40
+See the [docs/INSTALL](docs/INSTALL.md) file.
41
sview-15_10.tar.gz/StBrowserPlugin/StBrowserPlugin.cbp -> sview-15_11.tar.gz/StBrowserPlugin/StBrowserPlugin.cbp Changed
103
 
1
@@ -6,32 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/npStBrowserPlugin" prefix_auto="1" extension_auto="1" />
7
-               <Option object_output="obj/$(TARGET_NAME)/" />
8
-               <Option type="3" />
9
-               <Option compiler="gcc" />
10
-               <Compiler>
11
-                   <Add option="-O3" />
12
-                   <Add option="-std=c++0x" />
13
-                   <Add option="-Wall" />
14
-                   <Add option="-g" />
15
-                   <Add option="-shared" />
16
-                   <Add option="-mmmx" />
17
-                   <Add option="-msse" />
18
-                   <Add option="-DUNICODE" />
19
-                   <Add option="-DST_DEBUG" />
20
-                   <Add option="-D__MSVCRT_VERSION__=0x0601" />
21
-                   <Add option="-DST_HAVE_STCONFIG" />
22
-               </Compiler>
23
-               <Linker>
24
-                   <Add option="--input-def StBrowserPluginNPAPI.def" />
25
-                   <Add library="user32" />
26
-                   <Add library="advapi32" />
27
-                   <Add library="shell32" />
28
-                   <Add library="Version" />
29
-               </Linker>
30
-           </Target>
31
            <Target title="WIN_vc_x86">
32
                <Option output="../bin/$(TARGET_NAME)/npStBrowserPlugin" prefix_auto="1" extension_auto="1" />
33
                <Option object_output="obj/$(TARGET_NAME)/" />
34
@@ -65,11 +39,11 @@
35
                    <Add before='midl /nologo /win32 /W1 $res_includes /client none /tlb &quot;$(TARGET_OBJECT_DIR)\StActiveX.idl.tlb&quot; StActiveX.idl' />
36
                </ExtraCommands>
37
            </Target>
38
-           <Target title="WIN_vc_x86_DEBUG">
39
+           <Target title="WIN_vc_AMD64_DEBUG">
40
                <Option output="../bin/$(TARGET_NAME)/npStBrowserPlugin" prefix_auto="1" extension_auto="1" />
41
                <Option object_output="obj/$(TARGET_NAME)/" />
42
                <Option type="3" />
43
-               <Option compiler="msvc10" />
44
+               <Option compiler="windows_sdk_x86_64" />
45
                <Compiler>
46
                    <Add option="/MDd" />
47
                    <Add option="/Od" />
48
@@ -95,7 +69,7 @@
49
                    <Add library="advapi32" />
50
                    <Add library="shell32" />
51
                    <Add library="Version" />
52
-                   <Add directory="../3rdparty/atlmfc/lib" />
53
+                   <Add directory="../3rdparty/atlmfc/lib/amd64" />
54
                </Linker>
55
                <ExtraCommands>
56
                    <Add before='cmd /c IF NOT EXIST &quot;$(TARGET_OBJECT_DIR)&quot; MKDIR &quot;$(TARGET_OBJECT_DIR)&quot;' />
57
@@ -255,40 +229,33 @@
58
        <Unit filename="NSPluginBase.h" />
59
        <Unit filename="StActiveX.idl">
60
            <Option target="WIN_vc_x86" />
61
-           <Option target="WIN_vc_x86_DEBUG" />
62
+           <Option target="WIN_vc_AMD64_DEBUG" />
63
            <Option target="WIN_vc_AMD64" />
64
        </Unit>
65
        <Unit filename="StActiveXCtrl.cpp">
66
            <Option weight="40" />
67
            <Option target="WIN_vc_x86" />
68
-           <Option target="WIN_vc_x86_DEBUG" />
69
+           <Option target="WIN_vc_AMD64_DEBUG" />
70
            <Option target="WIN_vc_AMD64" />
71
        </Unit>
72
        <Unit filename="StActiveXCtrl.h" />
73
        <Unit filename="StActiveXModule.cpp">
74
            <Option target="WIN_vc_x86" />
75
-           <Option target="WIN_vc_x86_DEBUG" />
76
+           <Option target="WIN_vc_AMD64_DEBUG" />
77
            <Option target="WIN_vc_AMD64" />
78
        </Unit>
79
        <Unit filename="StActiveXModule.h" />
80
        <Unit filename="StBrPluginInfo.h" />
81
        <Unit filename="StBrowserPlugin.cpp" />
82
-       <Unit filename="StBrowserPlugin.def">
83
-           <Option target="WIN_gcc_x86" />
84
-       </Unit>
85
        <Unit filename="StBrowserPlugin.h" />
86
        <Unit filename="StBrowserPlugin.rc">
87
            <Option compilerVar="WINDRES" />
88
            <Option compiler="windows_sdk_x86_64" use="1" buildCommand='$rescomp -DST_OCX_TLB_PATH=&quot;$(TARGET_OBJECT_DIR)/StActiveX.idl.tlb&quot; $res_includes -fo $resource_output $file' />
89
-           <Option compiler="windows_sdk_x86" use="1" buildCommand='$rescomp -DST_OCX_TLB_PATH=&quot;$(TARGET_OBJECT_DIR)/StActiveX.idl.tlb&quot; $res_includes -fo $resource_output $file' />
90
-           <Option target="WIN_gcc_x86" />
91
+           <Option compiler="msvc10" use="1" buildCommand='$rescomp -DST_OCX_TLB_PATH=&quot;$(TARGET_OBJECT_DIR)/StActiveX.idl.tlb&quot; $res_includes -fo $resource_output $file' />
92
            <Option target="WIN_vc_x86" />
93
-           <Option target="WIN_vc_x86_DEBUG" />
94
+           <Option target="WIN_vc_AMD64_DEBUG" />
95
            <Option target="WIN_vc_AMD64" />
96
        </Unit>
97
-       <Unit filename="StBrowserPluginNPAPI.def">
98
-           <Option target="WIN_gcc_x86" />
99
-       </Unit>
100
        <Unit filename="npEntry.cpp" />
101
        <Unit filename="npapi.h" />
102
        <Unit filename="npfunctions.h" />
103
sview-15_10.tar.gz/StCADViewer/StCADViewer.cbp -> sview-15_11.tar.gz/StCADViewer/StCADViewer.cbp Changed
77
 
1
@@ -6,41 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/libStCADViewer" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
7
-               <Option object_output="obj/$(TARGET_NAME)/" />
8
-               <Option type="3" />
9
-               <Option compiler="gcc" />
10
-               <Option parameters="--in=StCADViewer" />
11
-               <Option host_application="../bin/$(TARGET_NAME)/sView" />
12
-               <Option run_host_application_in_terminal="0" />
13
-               <Option createStaticLib="1" />
14
-               <Compiler>
15
-                   <Add option="-O3" />
16
-                   <Add option="-std=c++0x" />
17
-                   <Add option="-Wall" />
18
-                   <Add option="-g" />
19
-                   <Add option="-shared" />
20
-                   <Add option="-mmmx" />
21
-                   <Add option="-msse" />
22
-                   <Add option="-DUNICODE" />
23
-                   <Add option="-DST_DEBUG" />
24
-                   <Add option="-DWNT" />
25
-                   <Add option="-DST_HAVE_STCONFIG" />
26
-               </Compiler>
27
-               <Linker>
28
-                   <Add library="opengl32" />
29
-                   <Add library="gdi32" />
30
-                   <Add library="Comdlg32" />
31
-                   <Add library="shell32" />
32
-                   <Add library="Wsock32" />
33
-                   <Add library="Version" />
34
-                   <Add directory="../3rdparty/OCCT/lib/WIN_vc_x86" />
35
-               </Linker>
36
-               <ExtraCommands>
37
-                   <Add before='cmd /c call ..\copy_res.bat $(TARGET_OUTPUT_DIR) $(TARGET_OUTPUT_BASENAME)' />
38
-               </ExtraCommands>
39
-           </Target>
40
            <Target title="WIN_vc_x86">
41
                <Option output="../bin/$(TARGET_NAME)/StCADViewer" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
42
                <Option object_output="obj/$(TARGET_NAME)/" />
43
@@ -77,11 +42,11 @@
44
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;2' />
45
                </ExtraCommands>
46
            </Target>
47
-           <Target title="WIN_vc_x86_DEBUG">
48
+           <Target title="WIN_vc_AMD64_DEBUG">
49
                <Option output="../bin/$(TARGET_NAME)/StCADViewer" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
50
                <Option object_output="obj/$(TARGET_NAME)/" />
51
                <Option type="3" />
52
-               <Option compiler="msvc10" />
53
+               <Option compiler="windows_sdk_x86_64" />
54
                <Option parameters="--in=StCADViewer" />
55
                <Option host_application="../bin/$(TARGET_NAME)/sView" />
56
                <Option run_host_application_in_terminal="0" />
57
@@ -112,7 +77,7 @@
58
                    <Add library="shell32" />
59
                    <Add library="Wsock32" />
60
                    <Add library="Version" />
61
-                   <Add directory="../3rdparty/OCCT/lib/WIN_vc_x86" />
62
+                   <Add directory="../3rdparty/OCCT/lib/WIN_vc_AMD64" />
63
                </Linker>
64
                <ExtraCommands>
65
                    <Add before='cmd /c call ..\copy_res.bat $(TARGET_OUTPUT_DIR) $(TARGET_OUTPUT_BASENAME)' />
66
@@ -306,9 +271,8 @@
67
        <Unit filename="StCADViewer.h" />
68
        <Unit filename="StCADViewer.rc">
69
            <Option compilerVar="WINDRES" />
70
-           <Option target="WIN_gcc_x86" />
71
            <Option target="WIN_vc_x86" />
72
-           <Option target="WIN_vc_x86_DEBUG" />
73
+           <Option target="WIN_vc_AMD64_DEBUG" />
74
            <Option target="WIN_vc_AMD64" />
75
        </Unit>
76
        <Unit filename="StCADViewerGUI.cpp" />
77
sview-15_10.tar.gz/StCADViewer/StCADViewer.cpp -> sview-15_11.tar.gz/StCADViewer/StCADViewer.cpp Changed
14
 
1
@@ -589,7 +589,11 @@
2
 }
3
 
4
 void StCADViewer::doFileDrop(const StDNDropEvent& theEvent) {
5
-    const StString aFilePath = theEvent.File;
6
+    if(theEvent.NbFiles == 0) {
7
+        return;
8
+    }
9
+
10
+    const StString aFilePath = theEvent.Files[0];
11
     if(myCADLoader->getPlayList().checkExtension(aFilePath)) {
12
         myCADLoader->getPlayList().open(aFilePath);
13
         doUpdateStateLoading();
14
sview-15_10.tar.gz/StCADViewer/lang/chinese/StCADViewer.lng -> sview-15_11.tar.gz/StCADViewer/lang/chinese/StCADViewer.lng Changed
49
 
1
@@ -2,25 +2,25 @@
2
 @author Kirill Gavrilov
3
 
4
 --------
5
-1200="View"
6
-1201="Projection type"
7
-1202="Fullscreen"
8
-1203="Show normals"
9
-1204="Show trihedron"
10
-1205="Two sides lighting"
11
-1206="Projection"
12
-1207="Fill Mode"
13
-1208="Fit ALL"
14
-1240="Orthogonal"
15
-1241="Perspective"
16
-1242="Stereo"
17
-1250="Mesh"
18
-1251="Shaded"
19
-1252="Shaded + Mesh"
20
-1500="Help"
21
-1501="About..."
22
-1503="License text"
23
-1504="Language"
24
-3000="sView - Tiny CAD Viewer"
25
-3001="version"
26
-3002="CAD viewer allows you to view CAD files in formats IGES, STEP, BREP using OpenCASCADE Technology.\n © 2011-2014 Kirill Gavrilov (kirill@sview.ru).\nOfficial site: www.sview.ru"
27
+?1200=View
28
+?1201=Projection type
29
+?1202=Fullscreen
30
+?1203=Show normals
31
+?1204=Show trihedron
32
+?1205=Two sides lighting
33
+?1206=Projection
34
+?1207=Fill Mode
35
+?1208=Fit ALL
36
+?1240=Orthogonal
37
+?1241=Perspective
38
+?1242=Stereo
39
+?1250=Mesh
40
+?1251=Shaded
41
+?1252=Shaded + Mesh
42
+?1500=Help
43
+?1501=About...
44
+?1503=License text
45
+?1504=Language
46
+?3000=sView - Tiny CAD Viewer
47
+?3001=version
48
+?3002=CAD viewer allows you to view CAD files in formats IGES, STEP, BREP using OpenCASCADE Technology.\n © 2011-2014 Kirill Gavrilov (kirill@sview.ru).\nOfficial site: www.sview.ru
49
sview-15_10.tar.gz/StCADViewer/lang/english/StCADViewer.lng -> sview-15_11.tar.gz/StCADViewer/lang/english/StCADViewer.lng Changed
49
 
1
@@ -1,25 +1,25 @@
2
 # English translation file for StCADViewer
3
 # @author Kirill Gavrilov
4
 --------
5
-1200="View"
6
-1201="Projection type"
7
-1202="Fullscreen"
8
-1203="Show normals"
9
-1204="Show trihedron"
10
-1205="Two sides lighting"
11
-1206="Projection"
12
-1207="Fill Mode"
13
-1208="Fit ALL"
14
-1240="Orthogonal"
15
-1241="Perspective"
16
-1242="Stereo"
17
-1250="Mesh"
18
-1251="Shaded"
19
-1252="Shaded + Mesh"
20
-1500="Help"
21
-1501="About..."
22
-1503="License text"
23
-1504="Language"
24
-3000="sView - Tiny CAD Viewer"
25
-3001="version"
26
-3002="CAD viewer allows you to view CAD files in formats IGES, STEP, BREP using OpenCASCADE Technology.\n © 2011-2014 Kirill Gavrilov (kirill@sview.ru).\nOfficial site: www.sview.ru"
27
+1200=View
28
+1201=Projection type
29
+1202=Fullscreen
30
+1203=Show normals
31
+1204=Show trihedron
32
+1205=Two sides lighting
33
+1206=Projection
34
+1207=Fill Mode
35
+1208=Fit ALL
36
+1240=Orthogonal
37
+1241=Perspective
38
+1242=Stereo
39
+1250=Mesh
40
+1251=Shaded
41
+1252=Shaded + Mesh
42
+1500=Help
43
+1501=About...
44
+1503=License text
45
+1504=Language
46
+3000=sView - Tiny CAD Viewer
47
+3001=version
48
+3002=CAD viewer allows you to view CAD files in formats IGES, STEP, BREP using OpenCASCADE Technology.\n © 2011-2014 Kirill Gavrilov (kirill@sview.ru).\nOfficial site: www.sview.ru
49
sview-15_10.tar.gz/StCADViewer/lang/french/StCADViewer.lng -> sview-15_11.tar.gz/StCADViewer/lang/french/StCADViewer.lng Changed
49
 
1
@@ -1,25 +1,25 @@
2
 # French translation file for StCADViewer
3
 # @author Kirill Gavrilov
4
 --------
5
-1200="Voir"
6
-1201="Type de projection"
7
-1202="Plein Ecran"
8
-1203="Show normals"
9
-1204="Show trihedron"
10
-1205="Two sides lighting"
11
-1206="Projection"
12
-1207="Fill Mode"
13
-1208="Fit ALL"
14
-1240="Orthogonal"
15
-1241="Perspective"
16
-1242="Stereo"
17
-1250="Mesh"
18
-1251="Shaded"
19
-1252="Shaded + Mesh"
20
-1500="Aide"
21
-1501="A Propos..."
22
-1503="Texte de la Licence"
23
-1504="Language"
24
-3000="sView - Tiny CAD Viewer"
25
-3001="version"
26
-3002="CAD viewer allows you to view CAD files in formats IGES, STEP, BREP using OpenCASCADE Technology.\n © 2011-2014 Kirill Gavrilov (kirill@sview.ru).\nOfficial site: www.sview.ru"
27
+1200=Voir
28
+1201=Type de projection
29
+1202=Plein Ecran
30
+?1203=Show normals
31
+?1204=Show trihedron
32
+?1205=Two sides lighting
33
+?1206=Projection
34
+?1207=Fill Mode
35
+?1208=Fit ALL
36
+?1240=Orthogonal
37
+?1241=Perspective
38
+?1242=Stereo
39
+?1250=Mesh
40
+?1251=Shaded
41
+?1252=Shaded + Mesh
42
+1500=Aide
43
+1501=A Propos...
44
+1503=Texte de la Licence
45
+1504=Language
46
+3000=sView - Tiny CAD Viewer
47
+3001=version
48
+?3002=CAD viewer allows you to view CAD files in formats IGES, STEP, BREP using OpenCASCADE Technology.\n © 2011-2014 Kirill Gavrilov (kirill@sview.ru).\nOfficial site: www.sview.ru
49
sview-15_10.tar.gz/StCADViewer/lang/german/StCADViewer.lng -> sview-15_11.tar.gz/StCADViewer/lang/german/StCADViewer.lng Changed
49
 
1
@@ -1,25 +1,25 @@
2
 # German translation file for StCADViewer
3
 # @author Kirill Gavrilov
4
 --------
5
-1200="Ansicht"
6
-1201="Projection type"
7
-1202="Vollbild"
8
-1203="Normalen anzeigen"
9
-1204="Dreibein anzeigen"
10
-1205="Zwei einseitige Beleuchtung"
11
-1206="Projektion"
12
-1207="Füllmodus"
13
-1208="Fit ALL"
14
-1240="Orthogonal"
15
-1241="Perspektive"
16
-1242="Stereo"
17
-1250="Mesh"
18
-1251="Beschattet"
19
-1252="Beschattet + Mesh"
20
-1500="Hilfe"
21
-1501="Über..."
22
-1503="Lizenztext"
23
-1504="Language"
24
-3000="sView - winzig CAD Viewer"
25
-3001="Version"
26
-3002="CAD viewer allows you to view CAD files in formats IGES, STEP, BREP using OpenCASCADE Technology.\n © 2011-2014 Kirill Gavrilov (kirill@sview.ru).\nOfficial site: www.sview.ru"
27
+1200=Ansicht
28
+1201=Projection type
29
+1202=Vollbild
30
+1203=Normalen anzeigen
31
+1204=Dreibein anzeigen
32
+1205=Zwei einseitige Beleuchtung
33
+1206=Projektion
34
+1207=Füllmodus
35
+?1208=Fit ALL
36
+1240=Orthogonal
37
+1241=Perspektive
38
+1242=Stereo
39
+1250=Mesh
40
+1251=Beschattet
41
+1252=Beschattet + Mesh
42
+1500=Hilfe
43
+1501=Über...
44
+1503=Lizenztext
45
+1504=Language
46
+3000=sView - winzig CAD Viewer
47
+3001=Version
48
+3002=CAD viewer allows you to view CAD files in formats IGES, STEP, BREP using OpenCASCADE Technology.\n © 2011-2014 Kirill Gavrilov (kirill@sview.ru).\nOfficial site: www.sview.ru
49
sview-15_10.tar.gz/StCADViewer/lang/korean/StCADViewer.lng -> sview-15_11.tar.gz/StCADViewer/lang/korean/StCADViewer.lng Changed
49
 
1
@@ -2,25 +2,25 @@
2
 @author Kirill Gavrilov
3
 
4
 --------
5
-1200="View"
6
-1201="Projection type"
7
-1202="Fullscreen"
8
-1203="Show normals"
9
-1204="Show trihedron"
10
-1205="Two sides lighting"
11
-1206="Projection"
12
-1207="Fill Mode"
13
-1208="Fit ALL"
14
-1240="Orthogonal"
15
-1241="Perspective"
16
-1242="Stereo"
17
-1250="Mesh"
18
-1251="Shaded"
19
-1252="Shaded + Mesh"
20
-1500="Help"
21
-1501="About..."
22
-1503="License text"
23
-1504="Language"
24
-3000="sView - Tiny CAD Viewer"
25
-3001="version"
26
-3002="CAD viewer allows you to view CAD files in formats IGES, STEP, BREP using OpenCASCADE Technology.\n © 2011-2014 Kirill Gavrilov (kirill@sview.ru).\nOfficial site: www.sview.ru"
27
+?1200=View
28
+?1201=Projection type
29
+?1202=Fullscreen
30
+?1203=Show normals
31
+?1204=Show trihedron
32
+?1205=Two sides lighting
33
+?1206=Projection
34
+?1207=Fill Mode
35
+?1208=Fit ALL
36
+?1240=Orthogonal
37
+?1241=Perspective
38
+?1242=Stereo
39
+?1250=Mesh
40
+?1251=Shaded
41
+?1252=Shaded + Mesh
42
+?1500=Help
43
+?1501=About...
44
+?1503=License text
45
+?1504=Language
46
+?3000=sView - Tiny CAD Viewer
47
+?3001=version
48
+?3002=CAD viewer allows you to view CAD files in formats IGES, STEP, BREP using OpenCASCADE Technology.\n © 2011-2014 Kirill Gavrilov (kirill@sview.ru).\nOfficial site: www.sview.ru
49
sview-15_10.tar.gz/StCADViewer/lang/russian/StCADViewer.lng -> sview-15_11.tar.gz/StCADViewer/lang/russian/StCADViewer.lng Changed
49
 
1
@@ -1,25 +1,25 @@
2
 # Russian translation file for StCADViewer
3
 # @author Kirill Gavrilov
4
 --------
5
-1200="Вид"
6
-1201="Тип проекции"
7
-1202="Полный экран"
8
-1203="Отображать нормали"
9
-1204="Show trihedron"
10
-1205="Two sides lighting"
11
-1206="Проекция"
12
-1207="Fill Mode"
13
-1208="Вписать модель"
14
-1240="Ортогональная"
15
-1241="Перспективная"
16
-1242="Стерео"
17
-1250="Mesh"
18
-1251="Shaded"
19
-1252="Shaded + Mesh"
20
-1500="Помощь"
21
-1501="О программе..."
22
-1503="Открыть лицензию"
23
-1504="Language"
24
-3000="sView - приложение для просмотра CAD моделей"
25
-3001="версия"
26
-3002="Программа открывает CAD модели в форматах IGES, STEP, BREP с помощью OpenCASCADE Technology.\n © 2011-2014 Гаврилов Кирилл (kirill@sview.ru).\nОфициальный сайт: www.sview.ru"
27
+1200=Вид
28
+1201=Тип проекции
29
+1202=Полный экран
30
+1203=Отображать нормали
31
+1204=Show trihedron
32
+1205=Two sides lighting
33
+1206=Проекция
34
+1207=Fill Mode
35
+1208=Вписать модель
36
+1240=Ортогональная
37
+1241=Перспективная
38
+1242=Стерео
39
+1250=Mesh
40
+1251=Shaded
41
+1252=Shaded + Mesh
42
+1500=Помощь
43
+1501=О программе...
44
+1503=Открыть лицензию
45
+1504=Language
46
+3000=sView - приложение для просмотра CAD моделей
47
+3001=версия
48
+3002=Программа открывает CAD модели в форматах IGES, STEP, BREP с помощью OpenCASCADE Technology.\n © 2011-2014 Гаврилов Кирилл (kirill@sview.ru).\nОфициальный сайт: www.sview.ru
49
sview-15_10.tar.gz/StCore/StADLsdk.cpp -> sview-15_11.tar.gz/StCore/StADLsdk.cpp Changed
34
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2009-2011 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __APPLE__
25
@@ -27,7 +18,7 @@
26
 #elif(defined(__linux__) || defined(__linux))
27
     static const char LIB_NAME[]    = "libatiadlxx";
28
 #endif
29
-};
30
+}
31
 
32
 bool StADLsdk::countAdapters() {
33
     if(myFunctions.ADL_Adapter_AdapterInfo_Get      == NULL
34
sview-15_10.tar.gz/StCore/StADLsdk.h -> sview-15_11.tar.gz/StCore/StADLsdk.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2009-2011 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __APPLE__
25
sview-15_10.tar.gz/StCore/StAndroidGlue.cpp -> sview-15_11.tar.gz/StCore/StAndroidGlue.cpp Changed
111
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2014-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #if defined(__ANDROID__)
25
@@ -51,6 +42,54 @@
26
     return stCString("UNKNOWN");
27
 }
28
 
29
+/**
30
+ * Read string from jstring.
31
+ */
32
+inline StString stStringFromJava(JNIEnv* theJEnv,
33
+                                 jstring theJString) {
34
+    if(theJString == NULL) {
35
+        return StString();
36
+    }
37
+
38
+    const char* aJStringStr = theJEnv->GetStringUTFChars(theJString, 0);
39
+    const StString aString = aJStringStr;
40
+    theJEnv->ReleaseStringUTFChars(theJString, aJStringStr);
41
+    return aString;
42
+}
43
+
44
+StString StAndroidGlue::getStoragePath(JNIEnv*     theJEnv,
45
+                                       const char* theType) {
46
+    jclass aJClass_Env  = theJEnv->FindClass("android/os/Environment");
47
+    jclass aJClass_File = theJEnv->FindClass("java/io/File");
48
+    if(aJClass_Env  == NULL
49
+    || aJClass_File == NULL) {
50
+        return StString();
51
+    }
52
+
53
+    jmethodID aJMet_getStorage = theJEnv->GetStaticMethodID(aJClass_Env,  "getExternalStoragePublicDirectory", "(Ljava/lang/String;)Ljava/io/File;");
54
+    jmethodID aJMet_getSdCard  = theJEnv->GetStaticMethodID(aJClass_Env,  "getExternalStorageDirectory",       "()Ljava/io/File;");
55
+    jmethodID aJMet_getPath    = theJEnv->GetMethodID      (aJClass_File, "getAbsolutePath",                   "()Ljava/lang/String;");
56
+    if(aJMet_getStorage == NULL
57
+    || aJMet_getSdCard  == NULL
58
+    || aJMet_getPath    == NULL) {
59
+        return StString();
60
+    }
61
+
62
+    StString aType  = theType;
63
+    jobject  aJFile = NULL;
64
+    if(aType == "sdcard") {
65
+        aJFile = theJEnv->CallStaticObjectMethod(aJClass_Env, aJMet_getSdCard);
66
+    } else {
67
+        jstring aJStr_Type = theJEnv->NewStringUTF(theType);
68
+        aJFile = theJEnv->CallStaticObjectMethod(aJClass_Env, aJMet_getStorage, aJStr_Type);
69
+        theJEnv->DeleteLocalRef(aJStr_Type);
70
+    }
71
+    if(aJFile == NULL) {
72
+        return StString();
73
+    }
74
+    return stStringFromJava(theJEnv, (jstring )theJEnv->CallObjectMethod(aJFile, aJMet_getPath));
75
+}
76
+
77
 StAndroidGlue::StAndroidGlue(ANativeActivity* theActivity,
78
                              void*            theSavedState,
79
                              size_t           theSavedStateSize)
80
@@ -92,6 +131,9 @@
81
         myMemoryClassMiB = aJniEnv->CallIntMethod(aJActivityMgr, aJMet_getMemoryClass);
82
     }
83
 
84
+    jmethodID aJMet_getStAppClass = aJniEnv->GetMethodID(aJClass_Activity, "getStAppClass", "()Ljava/lang/String;");
85
+    myStAppClass = stStringFromJava(aJniEnv, (jstring )aJniEnv->CallObjectMethod(myActivity->clazz, aJMet_getStAppClass));
86
+
87
     readOpenPath();
88
 
89
     myCmdPollSource.id        = LooperId_MAIN;
90
@@ -150,17 +192,10 @@
91
     jmethodID   aJMet_getFlags      = aJniEnv->GetMethodID(aJClassIntent, "getFlags",      "()I");
92
 
93
     // retrieve data path
94
-    jstring     aJString      = (jstring )aJniEnv->CallObjectMethod(aJIntent, aJMet_getDataString);
95
-    const char* aJStringStr   = aJniEnv->GetStringUTFChars(aJString, 0);
96
-    StString aDataPath = aJStringStr;
97
-    aJniEnv->ReleaseStringUTFChars(aJString, aJStringStr);
98
-
99
+    StString aDataPath = stStringFromJava(aJniEnv, (jstring )aJniEnv->CallObjectMethod(aJIntent, aJMet_getDataString));
100
     // retrieve data type
101
-    int aFlags    = aJniEnv->CallIntMethod(aJIntent, aJMet_getFlags);
102
-    aJString      = (jstring )aJniEnv->CallObjectMethod(aJIntent, aJMet_getType);
103
-    aJStringStr   = aJniEnv->GetStringUTFChars(aJString, 0);
104
-    const StString aDataType = aJStringStr;
105
-    aJniEnv->ReleaseStringUTFChars(aJString, aJStringStr);
106
+    int aFlags = aJniEnv->CallIntMethod(aJIntent, aJMet_getFlags);
107
+    const StString aDataType = stStringFromJava(aJniEnv, (jstring )aJniEnv->CallObjectMethod(aJIntent, aJMet_getType));
108
 
109
     // reset intent in Activity
110
     aJniEnv->CallVoidMethod(myActivity->clazz, aJMet_setIntent, NULL);
111
sview-15_10.tar.gz/StCore/StApplication.cpp -> sview-15_11.tar.gz/StCore/StApplication.cpp Changed
51
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include <StCore/StApplication.h>
25
@@ -330,9 +321,25 @@
26
     //return myActions.at(theActionId);
27
 }
28
 
29
+int StApplication::getActionIdFromName(const StString& theActionName) const {
30
+    StString aNameLower = theActionName;
31
+    aNameLower.toLowerCase();
32
+    const std::string aName(aNameLower.toCString());
33
+    std::map< std::string, int >::const_iterator anAction = myActionLookup.find(aName);
34
+    return anAction != myActionLookup.end()
35
+         ? anAction->second
36
+         : -1;
37
+}
38
+
39
 void StApplication::addAction(const int                 theActionId,
40
                               const StHandle<StAction>& theAction) {
41
     myActions[theActionId] = theAction;
42
+    if(!theAction.isNull()) {
43
+        StString aNameLower = theAction->getName();
44
+        aNameLower.toLowerCase();
45
+        const std::string aName(aNameLower.toCString());
46
+        myActionLookup[aName] = theActionId;
47
+    }
48
 }
49
 
50
 void StApplication::addAction(const int           theActionId,
51
sview-15_10.tar.gz/StCore/StCocoaView.h -> sview-15_11.tar.gz/StCore/StCocoaView.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #if (defined(__APPLE__))
25
sview-15_10.tar.gz/StCore/StCocoaView.mm -> sview-15_11.tar.gz/StCore/StCocoaView.mm Changed
63
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #if (defined(__APPLE__))
25
@@ -27,6 +18,8 @@
26
 
27
 #include <StCocoa/StCocoaString.h>
28
 
29
+#include <vector>
30
+
31
 #if !defined(MAC_OS_X_VERSION_10_7) || (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7)
32
 @interface NSOpenGLView (LionAPI)
33
     - (void )setWantsBestResolutionOpenGLSurface: (BOOL )theFlag;
34
@@ -497,6 +490,7 @@
35
                 return NO;
36
             }
37
 
38
+            std::vector<StString> aPaths;
39
             for(NSUInteger aFileId = 0; aFileId < [aFiles count]; ++aFileId) {
40
                 NSString* aFilePathNs = (NSString* )[aFiles objectAtIndex: aFileId];
41
                 if(aFilePathNs == NULL
42
@@ -506,9 +500,18 @@
43
 
44
                 // automatically convert filenames from decomposed form used by Mac OS X file systems
45
                 const StString aFile = [[aFilePathNs precomposedStringWithCanonicalMapping] UTF8String];
46
+                aPaths.push_back(aFile);
47
+            }
48
+
49
+            std::vector<const char*> aDndList;
50
+            for(std::vector<StString>::const_iterator aFileIter = aPaths.begin(); aFileIter != aPaths.end(); ++aFileIter) {
51
+                aDndList.push_back(aFileIter->toCString());
52
+            }
53
+            if(!aDndList.empty()) {
54
                 myStEvent.Type = stEvent_FileDrop;
55
-                myStEvent.DNDrop.Time = myStWin->getEventTime();
56
-                myStEvent.DNDrop.File = aFile.toCString();
57
+                myStEvent.DNDrop.Time    = myStWin->getEventTime();
58
+                myStEvent.DNDrop.NbFiles = aDndList.size();
59
+                myStEvent.DNDrop.Files   = &aDndList[0];
60
                 if(myStWin->myEventsThreaded) {
61
                     myStWin->myEventsBuffer.append(myStEvent);
62
                 } else {
63
sview-15_10.tar.gz/StCore/StCocoaWin.h -> sview-15_11.tar.gz/StCore/StCocoaWin.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2011-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #if (defined(__APPLE__))
25
sview-15_10.tar.gz/StCore/StCocoaWin.mm -> sview-15_11.tar.gz/StCore/StCocoaWin.mm Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2011-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #if (defined(__APPLE__))
25
sview-15_10.tar.gz/StCore/StCore.cbp -> sview-15_11.tar.gz/StCore/StCore.cbp Changed
111
 
1
@@ -6,34 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/StCore" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
7
-               <Option object_output="obj/$(TARGET_NAME)/" />
8
-               <Option type="3" />
9
-               <Option compiler="gcc" />
10
-               <Option createStaticLib="1" />
11
-               <Compiler>
12
-                   <Add option="-O3" />
13
-                   <Add option="-std=c++0x" />
14
-                   <Add option="-Wall" />
15
-                   <Add option="-g" />
16
-                   <Add option="-shared" />
17
-                   <Add option="-mmmx" />
18
-                   <Add option="-msse" />
19
-                   <Add option="-DUNICODE" />
20
-                   <Add option="-D_WIN32_WINNT=0x0502" />
21
-                   <Add option="-DST_DEBUG" />
22
-                   <Add option="-DST_HAVE_STCONFIG" />
23
-               </Compiler>
24
-               <Linker>
25
-                   <Add library="opengl32" />
26
-                   <Add library="gdi32" />
27
-                   <Add library="Comdlg32" />
28
-                   <Add library="Winmm" />
29
-                   <Add library="Version" />
30
-                   <Add library="nvapi" />
31
-               </Linker>
32
-           </Target>
33
            <Target title="WIN_vc_x86">
34
                <Option output="../bin/$(TARGET_NAME)/StCore" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
35
                <Option object_output="obj/$(TARGET_NAME)/" />
36
@@ -66,11 +38,11 @@
37
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;2' />
38
                </ExtraCommands>
39
            </Target>
40
-           <Target title="WIN_vc_x86_DEBUG">
41
+           <Target title="WIN_vc_AMD64_DEBUG">
42
                <Option output="../bin/$(TARGET_NAME)/StCore" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
43
                <Option object_output="obj/$(TARGET_NAME)/" />
44
                <Option type="3" />
45
-               <Option compiler="msvc10" />
46
+               <Option compiler="windows_sdk_x86_64" />
47
                <Option createStaticLib="1" />
48
                <Compiler>
49
                    <Add option="/MDd" />
50
@@ -262,9 +234,8 @@
51
            <Add directory="../bin/$(TARGET_NAME)" />
52
        </Linker>
53
        <Unit filename="StADLsdk.cpp">
54
-           <Option target="WIN_gcc_x86" />
55
            <Option target="WIN_vc_x86" />
56
-           <Option target="WIN_vc_x86_DEBUG" />
57
+           <Option target="WIN_vc_AMD64_DEBUG" />
58
            <Option target="WIN_vc_AMD64" />
59
            <Option target="LINUX_gcc" />
60
            <Option target="LINUX_gcc_DEBUG" />
61
@@ -299,8 +270,7 @@
62
            <Option compilerVar="WINDRES" />
63
            <Option target="WIN_vc_x86" />
64
            <Option target="WIN_vc_AMD64" />
65
-           <Option target="WIN_gcc_x86" />
66
-           <Option target="WIN_vc_x86_DEBUG" />
67
+           <Option target="WIN_vc_AMD64_DEBUG" />
68
        </Unit>
69
        <Unit filename="StEventsBuffer.h" />
70
        <Unit filename="StKeysState.cpp" />
71
@@ -318,9 +288,8 @@
72
            <Option target="MAC_gcc_DEBUG" />
73
        </Unit>
74
        <Unit filename="StWinHandles.cpp">
75
-           <Option target="WIN_gcc_x86" />
76
            <Option target="WIN_vc_x86" />
77
-           <Option target="WIN_vc_x86_DEBUG" />
78
+           <Option target="WIN_vc_AMD64_DEBUG" />
79
            <Option target="WIN_vc_AMD64" />
80
            <Option target="LINUX_gcc" />
81
            <Option target="LINUX_gcc_DEBUG" />
82
@@ -344,9 +313,8 @@
83
            <Option target="MAC_gcc_DEBUG" />
84
        </Unit>
85
        <Unit filename="StWindowImplWin.cpp">
86
-           <Option target="WIN_gcc_x86" />
87
            <Option target="WIN_vc_x86" />
88
-           <Option target="WIN_vc_x86_DEBUG" />
89
+           <Option target="WIN_vc_AMD64_DEBUG" />
90
            <Option target="WIN_vc_AMD64" />
91
        </Unit>
92
        <Unit filename="StXDisplay.cpp">
93
@@ -354,6 +322,7 @@
94
            <Option target="LINUX_gcc_DEBUG" />
95
        </Unit>
96
        <Unit filename="StXDisplay.h" />
97
+       <Unit filename="stvkeysandroid.h" />
98
        <Unit filename="stvkeyscarbon.h">
99
            <Option target="MAC_gcc" />
100
            <Option target="MAC_gcc_DEBUG" />
101
@@ -361,6 +330,9 @@
102
        <Unit filename="stvkeysxarray.h" />
103
        <Unit filename="zerosarray256.h" />
104
        <Unit filename="zerosarray4096.h" />
105
+       <Unit filename="../include/StCore/StAndroidGlue.h">
106
+           <Option target="&lt;{~None~}&gt;" />
107
+       </Unit>
108
        <Unit filename="../include/StCore/StApplication.h">
109
            <Option target="&lt;{~None~}&gt;" />
110
        </Unit>
111
sview-15_10.tar.gz/StCore/StEventsBuffer.h -> sview-15_11.tar.gz/StCore/StEventsBuffer.h Changed
79
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2007-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StEventsBuffer_h_
25
@@ -104,12 +95,32 @@
26
         StEvent& anEvent = myEventsWrite[mySizeWrite++];
27
         anEvent = theEvent;
28
         if(theEvent.Type == stEvent_FileDrop) {
29
-            // copy buffer
30
-            const size_t aSize = std::strlen(theEvent.DNDrop.File);
31
-            char* aBuffer = new char[aSize + 1];
32
-            stMemCpy(aBuffer, theEvent.DNDrop.File, aSize);
33
-            aBuffer[aSize] = '\0';
34
-            anEvent.DNDrop.File = aBuffer;
35
+            if(theEvent.DNDrop.NbFiles == 0) {
36
+                anEvent.DNDrop.Files = NULL;
37
+                return;
38
+            }
39
+
40
+            // make a copy in C-style
41
+            anEvent.DNDrop.Files = stMemAlloc<const char**>(sizeof(const char* ) * theEvent.DNDrop.NbFiles);
42
+            if(anEvent.DNDrop.Files == NULL) {
43
+                anEvent.DNDrop.NbFiles = 0;
44
+                return;
45
+            }
46
+
47
+            stMemZero(anEvent.DNDrop.Files, sizeof(const char* ) * theEvent.DNDrop.NbFiles);
48
+            for(uint32_t aFileIter = 0; aFileIter < theEvent.DNDrop.NbFiles; ++aFileIter) {
49
+                const char*  aBufferSrc = theEvent.DNDrop.Files[aFileIter];
50
+                const size_t aSize      = std::strlen(aBufferSrc);
51
+                char*        aBufferDst = stMemAlloc<char*>(sizeof(char) * aSize + 1);
52
+                if(aBufferDst == NULL) {
53
+                    anEvent.DNDrop.NbFiles = aFileIter;
54
+                    return;
55
+                }
56
+
57
+                stMemCpy(aBufferDst, aBufferSrc, aSize);
58
+                aBufferDst[aSize] = '\0';
59
+                anEvent.DNDrop.Files[aFileIter] = aBufferDst;
60
+            }
61
         }
62
     }
63
 
64
@@ -121,8 +132,12 @@
65
         for(size_t anIter = 0; anIter < mySizeRead; ++anIter) {
66
             StEvent& anEvent = myEventsRead[anIter];
67
             if(anEvent.Type == stEvent_FileDrop) {
68
-                delete[] anEvent.DNDrop.File;
69
-                anEvent.DNDrop.File = NULL;
70
+                for(uint32_t aFileIter = 0; aFileIter < anEvent.DNDrop.NbFiles; ++aFileIter) {
71
+                    stMemFree((void* )anEvent.DNDrop.Files[aFileIter]);
72
+                }
73
+                stMemFree(anEvent.DNDrop.Files);
74
+                anEvent.DNDrop.Files   = NULL;
75
+                anEvent.DNDrop.NbFiles = 0;
76
             }
77
         }
78
 
79
sview-15_10.tar.gz/StCore/StKeysState.cpp -> sview-15_11.tar.gz/StCore/StKeysState.cpp Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include <StCore/StKeysState.h>
25
sview-15_10.tar.gz/StCore/StSearchMonitors.ObjC.mm -> sview-15_11.tar.gz/StCore/StSearchMonitors.ObjC.mm Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2009-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include <StCore/StSearchMonitors.h>
25
sview-15_10.tar.gz/StCore/StSearchMonitors.cpp -> sview-15_11.tar.gz/StCore/StSearchMonitors.cpp Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include <StCore/StSearchMonitors.h>
25
sview-15_10.tar.gz/StCore/StWinHandles.ObjC.mm -> sview-15_11.tar.gz/StCore/StWinHandles.ObjC.mm Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2011-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include "StWinHandles.h"
25
sview-15_10.tar.gz/StCore/StWinHandles.cpp -> sview-15_11.tar.gz/StCore/StWinHandles.cpp Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2007-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __APPLE__
25
sview-15_10.tar.gz/StCore/StWinHandles.h -> sview-15_11.tar.gz/StCore/StWinHandles.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2007-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StWinHandles_h_
25
sview-15_10.tar.gz/StCore/StWindow.cpp -> sview-15_11.tar.gz/StCore/StWindow.cpp Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include <StGLCore/StGLCore11Fwd.h>
25
sview-15_10.tar.gz/StCore/StWindowImpl.cpp -> sview-15_11.tar.gz/StCore/StWindowImpl.cpp Changed
123
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include "StWindowImpl.h"
25
@@ -410,19 +401,39 @@
26
             case StWinAttr_SplitCfg:
27
                 if(attribs.Split != (StWinSplit )anIter[1]
28
                 && attribs.IsFullScreen) {
29
-                    if(attribs.Split == StWinSlave_splitHorizontal) {
30
-                        myRectFull.right() += myRectFull.width();
31
-                    } else if(attribs.Split == StWinSlave_splitVertical) {
32
-                        myRectFull.bottom() += myRectFull.height();
33
+                    switch(attribs.Split) {
34
+                        case StWinSlave_splitHorizontal:   myRectFull.right()  += myRectFull.width();  break;
35
+                        case StWinSlave_splitVertical:     myRectFull.bottom() += myRectFull.height(); break;
36
+                        case StWinSlave_splitVertHdmi720:  myRectFull.bottom() += 720  + 30; break;
37
+                        case StWinSlave_splitVertHdmi1080: myRectFull.bottom() += 1080 + 45; break;
38
+                        default: break;
39
                     }
40
-                    if((StWinSplit )anIter[1] == StWinSlave_splitHorizontal) {
41
-                        myTiledCfg = TiledCfg_MasterSlaveX;
42
-                        myRectFull.right() -= myRectFull.width() / 2;
43
-                    } else if((StWinSplit )anIter[1] == StWinSlave_splitVertical) {
44
-                        myTiledCfg = TiledCfg_MasterSlaveY;
45
-                        myRectFull.bottom() -= myRectFull.height() / 2;
46
-                    } else {
47
-                        myTiledCfg = TiledCfg_Separate;
48
+
49
+                    switch((StWinSplit )anIter[1]) {
50
+                        case StWinSlave_splitHorizontal: {
51
+                            myTiledCfg = TiledCfg_MasterSlaveX;
52
+                            myRectFull.right() -= myRectFull.width() / 2;
53
+                            break;
54
+                        }
55
+                        case StWinSlave_splitVertical: {
56
+                            myTiledCfg = TiledCfg_MasterSlaveY;
57
+                            myRectFull.bottom() -= myRectFull.height() / 2;
58
+                            break;
59
+                        }
60
+                        case StWinSlave_splitVertHdmi720: {
61
+                            myTiledCfg = TiledCfg_VertHdmi720;
62
+                            myRectFull.bottom() -= (720 + 30);
63
+                            break;
64
+                        }
65
+                        case StWinSlave_splitVertHdmi1080: {
66
+                            myTiledCfg = TiledCfg_VertHdmi1080;
67
+                            myRectFull.bottom() -= (1080 + 45);
68
+                            break;
69
+                        }
70
+                        default: {
71
+                            myTiledCfg = TiledCfg_Separate;
72
+                            break;
73
+                        }
74
                     }
75
                     myStEventAux.Type       = stEvent_Size;
76
                     myStEventAux.Size.Time  = getEventTime();
77
@@ -832,6 +843,11 @@
78
             theRect.top()    -= theRect.height();
79
             return;
80
         }
81
+        case TiledCfg_VertHdmi720:
82
+        case TiledCfg_VertHdmi1080: {
83
+            // should not be used in this context
84
+            return;
85
+        }
86
         case TiledCfg_Separate:
87
         default: {
88
             return;
89
@@ -852,6 +868,8 @@
90
         }
91
         case TiledCfg_MasterSlaveX:
92
         case TiledCfg_MasterSlaveY:
93
+        case TiledCfg_VertHdmi720:
94
+        case TiledCfg_VertHdmi1080:
95
         case TiledCfg_Separate:
96
         default: {
97
             return;
98
@@ -892,6 +910,24 @@
99
             convertRectToBacking(aRect, ST_WIN_MASTER);
100
             return aRect;
101
         }
102
+        case TiledCfg_VertHdmi720: {
103
+            if(theWinId == ST_WIN_MASTER) {
104
+                aRect.y()      += 720 + 30;
105
+            } else if(theWinId == ST_WIN_ALL) {
106
+                aRect.height() += 720 + 30;
107
+            }
108
+            convertRectToBacking(aRect, ST_WIN_MASTER);
109
+            return aRect;
110
+        }
111
+        case TiledCfg_VertHdmi1080: {
112
+            if(theWinId == ST_WIN_MASTER) {
113
+                aRect.y()      += 1080 + 45;
114
+            } else if(theWinId == ST_WIN_ALL) {
115
+                aRect.height() += 1080 + 45;
116
+            }
117
+            convertRectToBacking(aRect, ST_WIN_MASTER);
118
+            return aRect;
119
+        }
120
         case TiledCfg_SlaveMasterY: {
121
             if(theWinId == ST_WIN_SLAVE) {
122
                 aRect.y() += aHeight;
123
sview-15_10.tar.gz/StCore/StWindowImpl.h -> sview-15_11.tar.gz/StCore/StWindowImpl.h Changed
34
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StWindowImpl_h_
25
@@ -167,6 +158,8 @@
26
         TiledCfg_SlaveMasterX, //!< Master at right  / Slave at left
27
         TiledCfg_MasterSlaveY, //!< Master at top    / Slave at bottom
28
         TiledCfg_SlaveMasterY, //!< Master at bottom / Slave at top
29
+        TiledCfg_VertHdmi720,
30
+        TiledCfg_VertHdmi1080,
31
     };
32
 
33
     ST_LOCAL void getTiledWinRect(StRectI_t& theRect) const;
34
sview-15_10.tar.gz/StCore/StWindowImplAnd.cpp -> sview-15_11.tar.gz/StCore/StWindowImplAnd.cpp Changed
87
 
1
@@ -1,30 +1,23 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2014-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #if defined(__ANDROID__)
25
 
26
 #include "StWindowImpl.h"
27
+#include "stvkeysandroid.h" // Android NDK keys to VKEYs lookup array
28
 
29
 #include <StCore/StAndroidGlue.h>
30
 #include <StStrings/StLogger.h>
31
 #include <StGL/StGLContext.h>
32
 
33
 #include <cmath>
34
+#include <vector>
35
 
36
 void StWindowImpl::convertRectToBacking(StGLBoxPx& ,
37
                                         const int  ) const {
38
@@ -147,6 +140,25 @@
39
     const int anEventType = AInputEvent_getType(theEvent);
40
     switch(anEventType) {
41
         case AINPUT_EVENT_TYPE_KEY: {
42
+            StVirtKey aVKeySt = ST_VK_NULL;
43
+            int32_t   aKeySym = AKeyEvent_getKeyCode(theEvent);
44
+            if(aKeySym < ST_ANDROID2ST_VK_SIZE) {
45
+                aVKeySt = (StVirtKey )ST_ANDROID2ST_VK[aKeySym];
46
+            }
47
+            if(aVKeySt == ST_VK_NULL) {
48
+                return;
49
+            }
50
+
51
+            myStEvent.Key.Time = getEventTime(); //AKeyEvent_getEventTime(theEvent);
52
+            myStEvent.Key.VKey = aVKeySt;
53
+            myStEvent.Key.Char = 0;
54
+
55
+            const int32_t aKeyAction = AKeyEvent_getAction(theEvent);
56
+            if(aKeyAction == AKEY_EVENT_ACTION_DOWN) {
57
+                postKeyDown(myStEvent);
58
+            } else if(aKeyAction == AKEY_EVENT_ACTION_UP) {
59
+                postKeyUp(myStEvent);
60
+            }// else if(aKeyAction == AKEY_EVENT_ACTION_MULTIPLE) {}
61
             return;
62
         }
63
         case AINPUT_EVENT_TYPE_MOTION: {
64
@@ -327,7 +339,7 @@
65
             return;
66
         }
67
         case StAndroidGlue::CommandId_FocusLost: {
68
-            //
69
+            myKeysState.reset();
70
             return;
71
         }
72
         case StAndroidGlue::CommandId_ConfigChanged: {
73
@@ -365,9 +377,12 @@
74
     myParentWin->setTrackOrientation(myToTrackOrient);
75
     myParentWin->fetchState(aDndFile, myQuaternion);
76
     if(!aDndFile.isEmpty()) {
77
+        std::vector<const char*> aDndList;
78
+        aDndList.push_back(aDndFile.toCString());
79
         myStEvent.Type = stEvent_FileDrop;
80
         myStEvent.DNDrop.Time = getEventTime();
81
-        myStEvent.DNDrop.File = aDndFile.toCString();
82
+        myStEvent.DNDrop.NbFiles = aDndList.size();
83
+        myStEvent.DNDrop.Files   = &aDndList[0];
84
         myEventsBuffer.append(myStEvent);
85
     }
86
 
87
sview-15_10.tar.gz/StCore/StWindowImplLin.cpp -> sview-15_11.tar.gz/StCore/StWindowImplLin.cpp Changed
131
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #if defined(__linux__) && !defined(__ANDROID__)
25
@@ -29,6 +20,7 @@
26
 #include <X11/xpm.h>
27
 
28
 #include <cmath>
29
+#include <vector>
30
 
31
 #include "../share/sView/icons/menu.xpm"
32
 
33
@@ -622,7 +614,10 @@
34
             Property aProperty = aDisplay->readProperty(aSrcWin, aDisplay->xDNDTypeList);
35
             Atom* anAtomList = (Atom* )aProperty.data;
36
             for(int anIter = 0; anIter < aProperty.nitems; ++anIter) {
37
-                if(anAtomList[anIter] == aDisplay->xDNDPlainText) {
38
+                if(anAtomList[anIter] == aDisplay->xDNDUriList) {
39
+                    myMaster.xDNDRequestType = aDisplay->xDNDUriList;
40
+                    break;
41
+                } else if(anAtomList[anIter] == aDisplay->xDNDPlainText) {
42
                     myMaster.xDNDRequestType = aDisplay->xDNDPlainText;
43
                     break;
44
                 }
45
@@ -678,13 +673,6 @@
46
     const StXDisplayH& aDisplay = myMaster.stXDisplay;
47
     // myMaster.hWindow or myMaster.hWindowGl
48
     Window aWinReciever = ((XClientMessageEvent* )&myXEvent)->window;
49
-    /*ST_DEBUG_LOG(
50
-        "A selection notify has arrived!\n"
51
-        + "Requestor = 0x" + (int )myXEvent.xselectionrequest.requestor + "\n"
52
-        + "Selection atom = " + myMaster.getAtomName(myXEvent.xselection.selection) + "\n"
53
-        + "Target atom    = " + myMaster.getAtomName(aTarget) + "\n"
54
-        + "Property atom  = " + myMaster.getAtomName(myXEvent.xselection.property) + "\n"
55
-    );*/
56
     if(myXEvent.xselection.property == None) {
57
         return;
58
     } else {
59
@@ -694,32 +682,50 @@
60
         if(aTarget == aDisplay->XA_TARGETS) {
61
             XConvertSelection(aDisplay->hDisplay, aSelection, XA_STRING, aSelection, aWinReciever, CurrentTime);
62
         } else if(aTarget == myMaster.xDNDRequestType) {
63
-            StString aData = StString((char* )aProperty.data);
64
+            std::vector<StString> aPaths;
65
+            const char* aCharFrom      = (const char* )aProperty.data;
66
+            size_t      aCharFromIndex = 0;
67
+            for(StUtf8Iter aCharIter(aCharFrom);; ++aCharIter) {
68
+                // cut filenames separated with CR/LF
69
+                if(*aCharIter == 0
70
+                || *aCharIter == stUtf32_t('\n')
71
+                || *aCharIter == stUtf32_t(13)) {
72
+                    size_t aLen = aCharIter.getIndex() - aCharFromIndex;
73
+                    if(stAreEqual(aCharFrom, "file://", 7)) {
74
+                        aCharFrom += 7;
75
+                        aLen      -= 7;
76
+                    }
77
 
78
-            size_t anEndChar = aData.getLength();
79
-            for(StUtf8Iter anIter = aData.iterator(); *anIter != 0; ++anIter) {
80
-                // cut only first filename, separated with CR/LF
81
-                if(*anIter == stUtf32_t('\n') || *anIter == stUtf32_t(13)) {
82
-                    anEndChar = anIter.getIndex();
83
-                    break;
84
+                    StString aData(aCharFrom, aLen);
85
+                    StString aFile;
86
+                    if(myMaster.xDNDRequestType != XA_STRING) {
87
+                        aFile.fromUrl(aData);
88
+                    } else {
89
+                        aFile = aData;
90
+                    }
91
+                    if(!aFile.isEmpty()) {
92
+                        aPaths.push_back(aFile);
93
+                    }
94
+
95
+                    aCharFromIndex = aCharIter.getIndex() + 1;
96
+                    aCharFrom      = aCharIter.getBufferHere() + 1;
97
+                    if(*aCharIter == 0) {
98
+                        break;
99
+                    }
100
                 }
101
             }
102
 
103
-            const StString ST_FILE_PROTOCOL("file://");
104
-            size_t aCutFrom = aData.isStartsWith(ST_FILE_PROTOCOL) ? ST_FILE_PROTOCOL.getLength() : 0;
105
-            aData = aData.subString(aCutFrom, anEndChar);
106
-            StString aFile;
107
-            if(myMaster.xDNDRequestType != XA_STRING) {
108
-                aFile.fromUrl(aData);
109
-            } else {
110
-                aFile = aData;
111
+            std::vector<const char*> aDndList;
112
+            for(std::vector<StString>::const_iterator aFileIter = aPaths.begin(); aFileIter != aPaths.end(); ++aFileIter) {
113
+                aDndList.push_back(aFileIter->toCString());
114
+            }
115
+            if(!aDndList.empty()) {
116
+                myStEvent.Type = stEvent_FileDrop;
117
+                myStEvent.DNDrop.Time = getEventTime(myXEvent.xselection.time);
118
+                myStEvent.DNDrop.NbFiles = aDndList.size();
119
+                myStEvent.DNDrop.Files   = &aDndList[0];
120
+                signals.onFileDrop->emit(myStEvent.DNDrop);
121
             }
122
-            myStEvent.Type = stEvent_FileDrop;
123
-            myStEvent.DNDrop.Time = getEventTime(myXEvent.xselection.time);
124
-            myStEvent.DNDrop.File = aFile.toCString();
125
-            signals.onFileDrop->emit(myStEvent.DNDrop);
126
-
127
-            //ST_DEBUG_LOG(data);
128
 
129
             // Reply OK
130
             XClientMessageEvent aMsg;
131
sview-15_10.tar.gz/StCore/StWindowImplMac.mm -> sview-15_11.tar.gz/StCore/StWindowImplMac.mm Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2011-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #if (defined(__APPLE__))
25
sview-15_10.tar.gz/StCore/StWindowImplWin.cpp -> sview-15_11.tar.gz/StCore/StWindowImplWin.cpp Changed
66
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifdef _WIN32
25
@@ -26,6 +17,7 @@
26
 #include <StGL/StGLContext.h>
27
 
28
 #include <cmath>
29
+#include <vector>
30
 
31
 static SV_THREAD_FUNCTION threadCreateWindows(void* inStWin);
32
 
33
@@ -492,16 +484,26 @@
34
                 break;
35
             }
36
 
37
+            // convert to UTF-8
38
+            std::vector<StString> aPaths;
39
             for(UINT aFileId = 0; aFileId < aFilesCount; ++aFileId) {
40
                 if(DragQueryFileW(aDrops, aFileId, aFileBuff, MAX_PATH) > 0) {
41
-                    const StString aFile(aFileBuff);
42
-                    myStEvent.Type = stEvent_FileDrop;
43
-                    myStEvent.DNDrop.Time = getEventTime(myEvent.time);
44
-                    myStEvent.DNDrop.File = aFile.toCString();
45
-                    myEventsBuffer.append(myStEvent);
46
+                    aPaths.push_back(StString(aFileBuff));
47
                 }
48
             }
49
-            DragFinish(aDrops); // do not forget
50
+            DragFinish(aDrops);
51
+
52
+            std::vector<const char*> aDndList;
53
+            for(std::vector<StString>::const_iterator aFileIter = aPaths.begin(); aFileIter != aPaths.end(); ++aFileIter) {
54
+                aDndList.push_back(aFileIter->toCString());
55
+            }
56
+            if(!aDndList.empty()) {
57
+                myStEvent.Type = stEvent_FileDrop;
58
+                myStEvent.DNDrop.Time    = getEventTime(myEvent.time);
59
+                myStEvent.DNDrop.NbFiles = (uint32_t )aDndList.size();
60
+                myStEvent.DNDrop.Files   = &aDndList[0];
61
+                myEventsBuffer.append(myStEvent);
62
+            }
63
             break;
64
         }
65
         case WM_MOVE: {
66
sview-15_10.tar.gz/StCore/StXDisplay.cpp -> sview-15_11.tar.gz/StCore/StXDisplay.cpp Changed
42
 
1
@@ -1,19 +1,10 @@
2
 /**
3
- * Copyright © 2007-2014 Kirill Gavrilov <kirill@sview.ru>
4
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
5
+ * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
6
  *
7
- * StCore library is free software: you can redistribute it and/or modify
8
- * it under the terms of the GNU Lesser General Public License as published by
9
- * the Free Software Foundation, either version 3 of the License, or
10
- * (at your option) any later version.
11
- *
12
- * StCore library is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
- * See the GNU General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU Lesser General Public
18
- * License along with this library.
19
- * If not, see <http://www.gnu.org/licenses/>.
20
+ * Distributed under the Boost Software License, Version 1.0.
21
+ * See accompanying file license-boost.txt or copy at
22
+ * http://www.boost.org/LICENSE_1_0.txt
23
  */
24
 
25
 #if defined(__linux__) && !defined(__ANDROID__)
26
@@ -39,6 +30,7 @@
27
   xDNDSelection(None),
28
   xDNDProxy(None),
29
   xDNDAware(None),
30
+  xDNDUriList(None),
31
   xDNDPlainText(None),
32
   xDNDPrimary(None),
33
   XA_TARGETS(None),
34
@@ -122,6 +114,7 @@
35
     xDNDSelection  = XInternAtom(hDisplay, "XdndSelection",    False);
36
     xDNDProxy      = XInternAtom(hDisplay, "XdndProxy",        False);
37
     xDNDAware      = XInternAtom(hDisplay, "XdndAware",        False);
38
+    xDNDUriList    = XInternAtom(hDisplay, "text/uri-list",    False);
39
     xDNDPlainText  = XInternAtom(hDisplay, "text/plain",       False);
40
     xDNDPrimary    = XInternAtom(hDisplay, "PRIMARY",          False);
41
     // This is a meta-format for data to be "pasted" in to.
42
sview-15_10.tar.gz/StCore/StXDisplay.h -> sview-15_11.tar.gz/StCore/StXDisplay.h Changed
34
 
1
@@ -1,19 +1,10 @@
2
 /**
3
- * Copyright © 2007-2014 Kirill Gavrilov <kirill@sview.ru>
4
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
5
+ * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
6
  *
7
- * StCore library is free software: you can redistribute it and/or modify
8
- * it under the terms of the GNU Lesser General Public License as published by
9
- * the Free Software Foundation, either version 3 of the License, or
10
- * (at your option) any later version.
11
- *
12
- * StCore library is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
- * See the GNU General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU Lesser General Public
18
- * License along with this library.
19
- * If not, see <http://www.gnu.org/licenses/>.
20
+ * Distributed under the Boost Software License, Version 1.0.
21
+ * See accompanying file license-boost.txt or copy at
22
+ * http://www.boost.org/LICENSE_1_0.txt
23
  */
24
 
25
 #ifndef __StXDisplay_h_
26
@@ -61,6 +52,7 @@
27
     Atom         xDNDSelection;
28
     Atom         xDNDProxy;
29
     Atom         xDNDAware;
30
+    Atom         xDNDUriList;
31
     Atom         xDNDPlainText;
32
     Atom         xDNDPrimary;
33
 
34
sview-15_11.tar.gz/StCore/stvkeysandroid.h Added
201
 
1
@@ -0,0 +1,282 @@
2
+/**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
+ * Copyright © 2015 Kirill Gavrilov <kirill@sview.ru>
5
+ *
6
+ * Distributed under the Boost Software License, Version 1.0.
7
+ * See accompanying file license-boost.txt or copy at
8
+ * http://www.boost.org/LICENSE_1_0.txt
9
+ */
10
+
11
+#if (defined(__ANDROID__))
12
+
13
+#ifndef __stVKEYS_ANDROID_H_
14
+#define __stVKEYS_ANDROID_H_
15
+
16
+#include <StCore/StVirtualKeys.h>
17
+
18
+/**
19
+ * This is lookup array to convert Android NDK key codes to ST_VKEY codes.
20
+ * Notice, this array useless for text input!
21
+ */
22
+#define ST_ANDROID2ST_VK_SIZE 256
23
+static const unsigned int ST_ANDROID2ST_VK[ST_ANDROID2ST_VK_SIZE] = {
24
+    0,            // AKEYCODE_UNKNOWN         = 0,
25
+    0,            // AKEYCODE_SOFT_LEFT       = 1,
26
+    0,            // AKEYCODE_SOFT_RIGHT      = 2,
27
+    0,            // AKEYCODE_HOME            = 3,
28
+    0,            // AKEYCODE_BACK            = 4,
29
+    0,            // AKEYCODE_CALL            = 5,
30
+    0,            // AKEYCODE_ENDCALL         = 6,
31
+    ST_VK_0,      // AKEYCODE_0               = 7,
32
+    ST_VK_1,      // AKEYCODE_1               = 8,
33
+    ST_VK_2,      // AKEYCODE_2               = 9,
34
+    ST_VK_3,      // AKEYCODE_3               = 10,
35
+    ST_VK_4,      // AKEYCODE_4               = 11,
36
+    ST_VK_5,      // AKEYCODE_5               = 12,
37
+    ST_VK_6,      // AKEYCODE_6               = 13,
38
+    ST_VK_7,      // AKEYCODE_7               = 14,
39
+    ST_VK_8,      // AKEYCODE_8               = 15,
40
+    ST_VK_9,      // AKEYCODE_9               = 16,
41
+    0,            // AKEYCODE_STAR            = 17,
42
+    0,            // AKEYCODE_POUND           = 18,
43
+    ST_VK_UP,     // AKEYCODE_DPAD_UP         = 19,
44
+    ST_VK_DOWN,   // AKEYCODE_DPAD_DOWN       = 20,
45
+    ST_VK_LEFT,   // AKEYCODE_DPAD_LEFT       = 21,
46
+    ST_VK_RIGHT,  // AKEYCODE_DPAD_RIGHT      = 22,
47
+    0,            // AKEYCODE_DPAD_CENTER     = 23,
48
+    ST_VK_VOLUME_UP,   // AKEYCODE_VOLUME_UP       = 24,
49
+    ST_VK_VOLUME_DOWN, // AKEYCODE_VOLUME_DOWN     = 25,
50
+    0,            // AKEYCODE_POWER           = 26,
51
+    0,            // AKEYCODE_CAMERA          = 27,
52
+    0,            // AKEYCODE_CLEAR           = 28,
53
+    ST_VK_A,      // AKEYCODE_A               = 29,
54
+    ST_VK_B,      // AKEYCODE_B               = 30,
55
+    ST_VK_C,      // AKEYCODE_C               = 31,
56
+    ST_VK_D,      // AKEYCODE_D               = 32,
57
+    ST_VK_E,      // AKEYCODE_E               = 33,
58
+    ST_VK_F,      // AKEYCODE_F               = 34,
59
+    ST_VK_G,      // AKEYCODE_G               = 35,
60
+    ST_VK_H,      // AKEYCODE_H               = 36,
61
+    ST_VK_I,      // AKEYCODE_I               = 37,
62
+    ST_VK_J,      // AKEYCODE_J               = 38,
63
+    ST_VK_K,      // AKEYCODE_K               = 39,
64
+    ST_VK_L,      // AKEYCODE_L               = 40,
65
+    ST_VK_M,      // AKEYCODE_M               = 41,
66
+    ST_VK_N,      // AKEYCODE_N               = 42,
67
+    ST_VK_O,      // AKEYCODE_O               = 43,
68
+    ST_VK_P,      // AKEYCODE_P               = 44,
69
+    ST_VK_Q,      // AKEYCODE_Q               = 45,
70
+    ST_VK_R,      // AKEYCODE_R               = 46,
71
+    ST_VK_S,      // AKEYCODE_S               = 47,
72
+    ST_VK_T,      // AKEYCODE_T               = 48,
73
+    ST_VK_U,      // AKEYCODE_U               = 49,
74
+    ST_VK_V,      // AKEYCODE_V               = 50,
75
+    ST_VK_W,      // AKEYCODE_W               = 51,
76
+    ST_VK_X,      // AKEYCODE_X               = 52,
77
+    ST_VK_Y,      // AKEYCODE_Y               = 53,
78
+    ST_VK_Z,      // AKEYCODE_Z               = 54,
79
+    ST_VK_COMMA,  // AKEYCODE_COMMA           = 55,
80
+    ST_VK_PERIOD, // AKEYCODE_PERIOD          = 56,
81
+    ST_VK_MENU,   // AKEYCODE_ALT_LEFT        = 57,
82
+    ST_VK_MENU,   // AKEYCODE_ALT_RIGHT       = 58,
83
+    ST_VK_SHIFT,  // AKEYCODE_SHIFT_LEFT      = 59,
84
+    ST_VK_SHIFT,  // AKEYCODE_SHIFT_RIGHT     = 60,
85
+    ST_VK_TAB,    // AKEYCODE_TAB             = 61,
86
+    ST_VK_SPACE,  // AKEYCODE_SPACE           = 62,
87
+    0,            // AKEYCODE_SYM             = 63,
88
+    0,            // AKEYCODE_EXPLORER        = 64,
89
+    0,            // AKEYCODE_ENVELOPE        = 65,
90
+    ST_VK_RETURN, // AKEYCODE_ENTER           = 66,
91
+    ST_VK_BACK,   // AKEYCODE_DEL             = 67,
92
+    0,            // AKEYCODE_GRAVE           = 68,
93
+    ST_VK_OEM_MINUS,    // AKEYCODE_MINUS           = 69,
94
+    ST_VK_OEM_PLUS,     // AKEYCODE_EQUALS          = 70,
95
+    ST_VK_BRACKETLEFT,  // AKEYCODE_LEFT_BRACKET    = 71,
96
+    ST_VK_BRACKETRIGHT, // AKEYCODE_RIGHT_BRACKET   = 72,
97
+    ST_VK_BACKSLASH,    // AKEYCODE_BACKSLASH       = 73,
98
+    ST_VK_SEMICOLON,    // AKEYCODE_SEMICOLON       = 74,
99
+    ST_VK_APOSTROPHE,   // AKEYCODE_APOSTROPHE      = 75,
100
+    ST_VK_SLASH,        // AKEYCODE_SLASH           = 76,
101
+    0, // AKEYCODE_AT              = 77,
102
+    0, // AKEYCODE_NUM             = 78,
103
+    0, // AKEYCODE_HEADSETHOOK     = 79,
104
+    0, // AKEYCODE_FOCUS           = 80,   // *Camera* focus
105
+    0, // AKEYCODE_PLUS            = 81,
106
+    0, // AKEYCODE_MENU            = 82,
107
+    0, // AKEYCODE_NOTIFICATION    = 83,
108
+    0, // AKEYCODE_SEARCH          = 84,
109
+    ST_VK_MEDIA_PLAY_PAUSE, // AKEYCODE_MEDIA_PLAY_PAUSE= 85,
110
+    ST_VK_MEDIA_STOP,       // AKEYCODE_MEDIA_STOP      = 86,
111
+    ST_VK_MEDIA_NEXT_TRACK, // AKEYCODE_MEDIA_NEXT      = 87,
112
+    ST_VK_MEDIA_PREV_TRACK, // AKEYCODE_MEDIA_PREVIOUS  = 88,
113
+    0,                      // AKEYCODE_MEDIA_REWIND    = 89,
114
+    0,                      // AKEYCODE_MEDIA_FAST_FORWARD = 90,
115
+    ST_VK_VOLUME_MUTE,      // AKEYCODE_MUTE            = 91,
116
+    ST_VK_PAGE_UP,          // AKEYCODE_PAGE_UP         = 92,
117
+    ST_VK_PAGE_DOWN,        // AKEYCODE_PAGE_DOWN       = 93,
118
+    0, // AKEYCODE_PICTSYMBOLS     = 94,
119
+    0, // AKEYCODE_SWITCH_CHARSET  = 95,
120
+    0, // AKEYCODE_BUTTON_A        = 96,
121
+    0, // AKEYCODE_BUTTON_B        = 97,
122
+    0, // AKEYCODE_BUTTON_C        = 98,
123
+    0, // AKEYCODE_BUTTON_X        = 99,
124
+    0, // AKEYCODE_BUTTON_Y        = 100,
125
+    0, // AKEYCODE_BUTTON_Z        = 101,
126
+    0, // AKEYCODE_BUTTON_L1       = 102,
127
+    0, // AKEYCODE_BUTTON_R1       = 103,
128
+    0, // AKEYCODE_BUTTON_L2       = 104,
129
+    0, // AKEYCODE_BUTTON_R2       = 105,
130
+    0, // AKEYCODE_BUTTON_THUMBL   = 106,
131
+    0, // AKEYCODE_BUTTON_THUMBR   = 107,
132
+    0, // AKEYCODE_BUTTON_START    = 108,
133
+    0, // AKEYCODE_BUTTON_SELECT   = 109,
134
+    0, // AKEYCODE_BUTTON_MODE     = 110,
135
+    ST_VK_ESCAPE,    // AKEYCODE_ESCAPE          = 111,
136
+    ST_VK_DELETE,    // AKEYCODE_FORWARD_DEL     = 112,
137
+    ST_VK_CONTROL,   // AKEYCODE_CTRL_LEFT       = 113,
138
+    ST_VK_CONTROL,   // AKEYCODE_CTRL_RIGHT      = 114,
139
+    ST_VK_CAPITAL,   // AKEYCODE_CAPS_LOCK       = 115,
140
+    ST_VK_SCROLL,    // AKEYCODE_SCROLL_LOCK     = 116,
141
+    0,               // AKEYCODE_META_LEFT       = 117,
142
+    0,               // AKEYCODE_META_RIGHT      = 118,
143
+    0,               // AKEYCODE_FUNCTION        = 119,
144
+    0,               // AKEYCODE_SYSRQ           = 120,
145
+    0,               // AKEYCODE_BREAK           = 121,
146
+    ST_VK_HOME,      // AKEYCODE_MOVE_HOME       = 122,
147
+    ST_VK_END,       // AKEYCODE_MOVE_END        = 123,
148
+    ST_VK_INSERT,    // AKEYCODE_INSERT          = 124,
149
+    0,               // AKEYCODE_FORWARD         = 125,
150
+    ST_VK_MEDIA_PLAY_PAUSE, // AKEYCODE_MEDIA_PLAY      = 126,
151
+    ST_VK_MEDIA_PLAY_PAUSE, // AKEYCODE_MEDIA_PAUSE     = 127,
152
+    0,               // AKEYCODE_MEDIA_CLOSE     = 128,
153
+    0,               // AKEYCODE_MEDIA_EJECT     = 129,
154
+    0,               // AKEYCODE_MEDIA_RECORD    = 130,
155
+    ST_VK_F1,        // AKEYCODE_F1              = 131,
156
+    ST_VK_F2,        // AKEYCODE_F2              = 132,
157
+    ST_VK_F3,        // AKEYCODE_F3              = 133,
158
+    ST_VK_F4,        // AKEYCODE_F4              = 134,
159
+    ST_VK_F5,        // AKEYCODE_F5              = 135,
160
+    ST_VK_F6,        // AKEYCODE_F6              = 136,
161
+    ST_VK_F7,        // AKEYCODE_F7              = 137,
162
+    ST_VK_F8,        // AKEYCODE_F8              = 138,
163
+    ST_VK_F9,        // AKEYCODE_F9              = 139,
164
+    ST_VK_F10,       // AKEYCODE_F10             = 140,
165
+    ST_VK_F11,       // AKEYCODE_F11             = 141,
166
+    ST_VK_F12,       // AKEYCODE_F12             = 142,
167
+    0,               // AKEYCODE_NUM_LOCK        = 143,
168
+    ST_VK_NUMPAD0,   // AKEYCODE_NUMPAD_0        = 144,
169
+    ST_VK_NUMPAD1,   // AKEYCODE_NUMPAD_1        = 145,
170
+    ST_VK_NUMPAD2,   // AKEYCODE_NUMPAD_2        = 146,
171
+    ST_VK_NUMPAD3,   // AKEYCODE_NUMPAD_3        = 147,
172
+    ST_VK_NUMPAD4,   // AKEYCODE_NUMPAD_4        = 148,
173
+    ST_VK_NUMPAD5,   // AKEYCODE_NUMPAD_5        = 149,
174
+    ST_VK_NUMPAD6,   // AKEYCODE_NUMPAD_6        = 150,
175
+    ST_VK_NUMPAD7,   // AKEYCODE_NUMPAD_7        = 151,
176
+    ST_VK_NUMPAD8,   // AKEYCODE_NUMPAD_8        = 152,
177
+    ST_VK_NUMPAD9,   // AKEYCODE_NUMPAD_9        = 153,
178
+    ST_VK_DIVIDE,    // AKEYCODE_NUMPAD_DIVIDE   = 154,
179
+    ST_VK_MULTIPLY,  // AKEYCODE_NUMPAD_MULTIPLY = 155,
180
+    ST_VK_SUBTRACT,  // AKEYCODE_NUMPAD_SUBTRACT = 156,
181
+    ST_VK_ADD,       // AKEYCODE_NUMPAD_ADD      = 157,
182
+    ST_VK_DECIMAL,   // AKEYCODE_NUMPAD_DOT      = 158,
183
+    ST_VK_SEPARATOR, // AKEYCODE_NUMPAD_COMMA    = 159,
184
+    ST_VK_RETURN,    // AKEYCODE_NUMPAD_ENTER    = 160,
185
+    0, // AKEYCODE_NUMPAD_EQUALS   = 161,
186
+    0, // AKEYCODE_NUMPAD_LEFT_PAREN = 162,
187
+    0, // AKEYCODE_NUMPAD_RIGHT_PAREN = 163,
188
+    ST_VK_VOLUME_MUTE, // AKEYCODE_VOLUME_MUTE     = 164,
189
+    0, // AKEYCODE_INFO            = 165,
190
+    0, // AKEYCODE_CHANNEL_UP      = 166,
191
+    0, // AKEYCODE_CHANNEL_DOWN    = 167,
192
+    0, // AKEYCODE_ZOOM_IN         = 168,
193
+    0, // AKEYCODE_ZOOM_OUT        = 169,
194
+    0, // AKEYCODE_TV              = 170,
195
+    0, // AKEYCODE_WINDOW          = 171,
196
+    0, // AKEYCODE_GUIDE           = 172,
197
+    0, // AKEYCODE_DVR             = 173,
198
+    0, // AKEYCODE_BOOKMARK        = 174,
199
+    0, // AKEYCODE_CAPTIONS        = 175,
200
+    0, // AKEYCODE_SETTINGS        = 176,
201
sview-15_10.tar.gz/StCore/stvkeyscarbon.h -> sview-15_11.tar.gz/StCore/stvkeyscarbon.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2011-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #if (defined(__APPLE__))
25
sview-15_10.tar.gz/StCore/stvkeysxarray.h -> sview-15_11.tar.gz/StCore/stvkeysxarray.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2007-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __stVKEYS_XARRAY_H_
25
sview-15_10.tar.gz/StDiagnostics/StDiagnostics.cbp -> sview-15_11.tar.gz/StDiagnostics/StDiagnostics.cbp Changed
63
 
1
@@ -6,36 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/libStDiagnostics" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
7
-               <Option object_output="obj/$(TARGET_NAME)/" />
8
-               <Option type="3" />
9
-               <Option compiler="gcc" />
10
-               <Option createStaticLib="1" />
11
-               <Compiler>
12
-                   <Add option="-O3" />
13
-                   <Add option="-std=c++0x" />
14
-                   <Add option="-Wall" />
15
-                   <Add option="-g" />
16
-                   <Add option="-shared" />
17
-                   <Add option="-mmmx" />
18
-                   <Add option="-msse" />
19
-                   <Add option="-DUNICODE" />
20
-                   <Add option="-DST_DEBUG" />
21
-                   <Add option="-DST_HAVE_STCONFIG" />
22
-               </Compiler>
23
-               <Linker>
24
-                   <Add library="opengl32" />
25
-                   <Add library="gdi32" />
26
-                   <Add library="Comdlg32" />
27
-                   <Add library="shell32" />
28
-                   <Add library="Wsock32" />
29
-                   <Add library="Version" />
30
-               </Linker>
31
-               <ExtraCommands>
32
-                   <Add before='cmd /c call ..\copy_res.bat $(TARGET_OUTPUT_DIR) $(TARGET_OUTPUT_BASENAME)' />
33
-               </ExtraCommands>
34
-           </Target>
35
            <Target title="WIN_vc_x86">
36
                <Option output="../bin/$(TARGET_NAME)/StDiagnostics" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
37
                <Option object_output="obj/$(TARGET_NAME)/" />
38
@@ -68,11 +38,11 @@
39
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;2' />
40
                </ExtraCommands>
41
            </Target>
42
-           <Target title="WIN_vc_x86_DEBUG">
43
+           <Target title="WIN_vc_AMD64_DEBUG">
44
                <Option output="../bin/$(TARGET_NAME)/StDiagnostics" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
45
                <Option object_output="obj/$(TARGET_NAME)/" />
46
                <Option type="3" />
47
-               <Option compiler="msvc10" />
48
+               <Option compiler="windows_sdk_x86_64" />
49
                <Option createStaticLib="1" />
50
                <Compiler>
51
                    <Add option="/MDd" />
52
@@ -273,9 +243,8 @@
53
        <Unit filename="StDiagnostics.h" />
54
        <Unit filename="StDiagnostics.rc">
55
            <Option compilerVar="WINDRES" />
56
-           <Option target="WIN_gcc_x86" />
57
            <Option target="WIN_vc_x86" />
58
-           <Option target="WIN_vc_x86_DEBUG" />
59
+           <Option target="WIN_vc_AMD64_DEBUG" />
60
            <Option target="WIN_vc_AMD64" />
61
        </Unit>
62
        <Unit filename="StDiagnosticsGUI.cpp" />
63
sview-15_10.tar.gz/StGLWidgets/StGLAssignHotKey.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLAssignHotKey.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2015 Kirill Gavrilov <kirill@sview.ru
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLButton.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLButton.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLCheckbox.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLCheckbox.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLCheckboxTextured.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLCheckboxTextured.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLCombobox.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLCombobox.cpp Changed
15
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2015 Kirill Gavrilov <kirill@sview.ru
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
@@ -93,6 +94,7 @@
8
                 aSubRectNew.moveRightTo(myMenu->getRectPxAbsolute().left() + aRoot->scale(10));
9
             }
10
         }
11
+        aRoot->setFocus(myMenu); // take input focus
12
     }
13
 }
14
 
15
sview-15_10.tar.gz/StGLWidgets/StGLDescription.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLDescription.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLFpsLabel.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLFpsLabel.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLImageProgram.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLImageProgram.cpp Changed
19
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2010-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
@@ -87,9 +88,9 @@
8
         "    bool evenX = int(mod(floor(gl_FragCoord.x + 1.5), 16.0)) >= 8;\n" // just simple 8 pixels check-board
9
         "    bool evenY = int(mod(floor(gl_FragCoord.y + 1.5), 16.0)) >= 8;\n"
10
         "    if((evenX && evenY) || (!evenX && !evenY)) {\n"
11
-        "        backColor = vec4(0.2, 0.2, 0.2, 1.0);\n"
12
+        "        backColor = vec4(0.4, 0.4, 0.4, 1.0);\n"
13
         "    } else {\n"
14
-        "        backColor = vec4(1.0, 1.0, 1.0, 1.0);\n"
15
+        "        backColor = vec4(0.6, 0.6, 0.6, 1.0);\n"
16
         "    }\n"
17
         "    color = mix(backColor, color, color.a);\n"
18
         "}\n\n");
19
sview-15_10.tar.gz/StGLWidgets/StGLImageRegion.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLImageRegion.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2010-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLMenu.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLMenu.cpp Changed
45
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
@@ -16,6 +17,7 @@
8
 #include <StGL/StGLContext.h>
9
 #include <StGLCore/StGLCore20.h>
10
 
11
+#include <StCore/StEvent.h>
12
 #include <StSlots/StAction.h>
13
 
14
 void StGLMenu::DeleteWithSubMenus(StGLMenu* theMenu) {
15
@@ -72,6 +74,11 @@
16
     }
17
 }
18
 
19
+void StGLMenu::setContextual(const bool theValue) {
20
+    myIsContextual = theValue;
21
+    myIsTopWidget  = theValue;
22
+}
23
+
24
 void StGLMenu::stglResize() {
25
     // Since all children should be StGLMenuItem implementing delayed resize,
26
     // just postpone resize until items will be actually rendered.
27
@@ -204,6 +211,17 @@
28
     StGLWidget::stglDraw(theView);
29
 }
30
 
31
+bool StGLMenu::doKeyDown(const StKeyEvent& theEvent) {
32
+    switch(theEvent.VKey) {
33
+        case ST_VK_ESCAPE: {
34
+            destroyWithDelay(this);
35
+            return true;
36
+        }
37
+        default:
38
+            return false;
39
+    }
40
+}
41
+
42
 bool StGLMenu::tryUnClick(const StPointD_t& theCursorZo,
43
                           const int&        theMouseBtn,
44
                           bool&             theIsItemUnclicked) {
45
sview-15_10.tar.gz/StGLWidgets/StGLMenuCheckbox.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLMenuCheckbox.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLMenuItem.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLMenuItem.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLMenuProgram.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLMenuProgram.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLMenuRadioButton.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLMenuRadioButton.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLMessageBox.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLMessageBox.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLMsgStack.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLMsgStack.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLOpenFile.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLOpenFile.cpp Changed
29
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
@@ -124,7 +125,8 @@
8
         aName = theTarget;
9
     }
10
     if(aName.isEmpty()
11
-    || theTarget.isEmpty()) {
12
+    || theTarget.isEmpty()
13
+    || !StFileNode::isFileExists(theTarget)) {
14
         return;
15
     }
16
     myHotPaths.add(theTarget);
17
@@ -182,9 +184,9 @@
18
 
19
     myFolder = new StFolder(theFolder);
20
     myFolder->init(myExtensions, 1, true);
21
-    myCurrentPath->setText(StString("<b>Location:*</b>") + myFolder->getPath() + ST_FILE_SPLITTER);
22
+    StString aPath = myFolder->getPath();
23
+    myCurrentPath->setText(StString("<b>Location:*</b>") + aPath + (!aPath.isEmpty() ? ST_FILE_SPLITTER : ""));
24
 
25
-    StString aPath   = myFolder->getPath() + "";
26
     StString aPathUp = StFileNode::getFolderUp(aPath);
27
     if(!aPathUp.isEmpty()) {
28
         StGLMenuItem* anUpItem = new StGLPassiveMenuItem(myList);
29
sview-15_10.tar.gz/StGLWidgets/StGLPlayList.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLPlayList.cpp Changed
18
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
@@ -15,10 +16,6 @@
8
 #include <StGL/StGLContext.h>
9
 #include <StGLCore/StGLCore20.h>
10
 
11
-namespace {
12
-    static const size_t SHARE_PROGRAM_ID = StGLRootWidget::generateShareId();
13
-}
14
-
15
 StGLPlayList::StGLPlayList(StGLWidget*                 theParent,
16
                            const StHandle<StPlayList>& theList)
17
 : StGLWidget(theParent, -theParent->getRoot()->scale(32), 0),
18
sview-15_10.tar.gz/StGLWidgets/StGLRadioButton.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLRadioButton.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLRadioButtonFloat32.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLRadioButtonFloat32.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLRadioButtonTextured.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLRadioButtonTextured.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLRangeFieldFloat32.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLRangeFieldFloat32.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLRootWidget.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLRootWidget.cpp Changed
67
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
@@ -9,6 +10,8 @@
8
 #include <StGLWidgets/StGLRootWidget.h>
9
 
10
 #include <StGLWidgets/StGLMenuProgram.h>
11
+#include <StGLWidgets/StGLTextProgram.h>
12
+#include <StGLWidgets/StGLTextBorderProgram.h>
13
 
14
 #include <StGL/StGLContext.h>
15
 #include <StGLCore/StGLCore20.h>
16
@@ -49,6 +52,8 @@
17
   myLensDist(0.0f),
18
   myScrDispXPx(0),
19
   myMenuProgram(new StGLMenuProgram()),
20
+  myTextProgram(new StGLTextProgram()),
21
+  myTextBorderProgram(new StGLTextBorderProgram()),
22
   myIsMobile(false),
23
   myScaleGlX(1.0),
24
   myScaleGlY(1.0),
25
@@ -97,6 +102,10 @@
26
     if(!myGlCtx.isNull()) {
27
         myMenuProgram->release(*myGlCtx);
28
         myMenuProgram.nullify();
29
+        myTextProgram->release(*myGlCtx);
30
+        myTextProgram.nullify();
31
+        myTextBorderProgram->release(*myGlCtx);
32
+        myTextBorderProgram.nullify();
33
         if(!myCheckboxIcon.isNull()) {
34
             for(size_t aTexIter = 0; aTexIter < myCheckboxIcon->size(); ++aTexIter) {
35
                 myCheckboxIcon->changeValue(aTexIter).release(*myGlCtx);
36
@@ -228,6 +237,12 @@
37
     if(!myMenuProgram->isValid()
38
     && !myMenuProgram->init(*myGlCtx)) {
39
         return false;
40
+    } else if(!myTextProgram->isValid()
41
+           && !myTextProgram->init(*myGlCtx)) {
42
+        return false;
43
+    } else if(!myTextBorderProgram->isValid()
44
+           && !myTextBorderProgram->init(*myGlCtx)) {
45
+        return false;
46
     }
47
 
48
     return StGLWidget::stglInit();
49
@@ -253,6 +268,17 @@
50
             break;
51
     }
52
 
53
+    if(myTextProgram->isValid()) {
54
+        myTextProgram->use(*myGlCtx);
55
+        myTextProgram->setProjMat(*myGlCtx,       myProjCamera.getProjMatrix());
56
+        myTextProgram->unuse(*myGlCtx);
57
+    }
58
+    if(myTextBorderProgram->isValid()) {
59
+        myTextBorderProgram->use(*myGlCtx);
60
+        myTextBorderProgram->setProjMat(*myGlCtx, myProjCamera.getProjMatrix());
61
+        myTextBorderProgram->unuse(*myGlCtx);
62
+    }
63
+
64
     StGLWidget::stglDraw(theView);
65
 }
66
 
67
sview-15_10.tar.gz/StGLWidgets/StGLScrollArea.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLScrollArea.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLSubtitles.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLSubtitles.cpp Changed
25
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2010-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
@@ -119,7 +120,7 @@
8
     // update active image
9
     const StImagePlane& anImage = getFirst()->Image;
10
     if(!anImage.isNull()) {
11
-        Image.initCopy(anImage);
12
+        Image.initCopy(anImage, false);
13
     } else {
14
         Image.nullify();
15
     }
16
@@ -135,7 +136,7 @@
17
 
18
     const StImagePlane& anImage = theItem->Image;
19
     if(!anImage.isNull()) {
20
-        Image.initCopy(anImage);
21
+        Image.initCopy(anImage, false);
22
     }
23
 
24
     StArrayList<StHandle <StSubItem> >::add(theItem);
25
sview-15_10.tar.gz/StGLWidgets/StGLSwitchTextured.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLSwitchTextured.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLTable.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLTable.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2014-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLTextArea.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLTextArea.cpp Changed
201
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
@@ -7,7 +8,10 @@
8
  */
9
 
10
 #include <StGLWidgets/StGLTextArea.h>
11
+
12
 #include <StGLWidgets/StGLRootWidget.h>
13
+#include <StGLWidgets/StGLTextProgram.h>
14
+#include <StGLWidgets/StGLTextBorderProgram.h>
15
 
16
 #include <StGL/StGLContext.h>
17
 #include <StGL/StGLProgram.h>
18
@@ -16,205 +20,12 @@
19
 #include <StFile/StFileNode.h>
20
 #include <StThreads/StProcess.h>
21
 
22
-class StGLTextArea::StTextProgram : public StGLProgram {
23
-
24
-        public:
25
-
26
-    StTextProgram()
27
-    : StGLProgram("StGLTextArea, Text Program") {
28
-        //
29
-    }
30
-
31
-    StGLVarLocation getVVertexLoc() const {
32
-        return atrVVertexLoc;
33
-    }
34
-
35
-    StGLVarLocation getVTexCoordLoc() const {
36
-        return atrVTexCoordLoc;
37
-    }
38
-
39
-    void setProjMat(StGLContext&      theCtx,
40
-                    const StGLMatrix& theProjMat) {
41
-        theCtx.core20fwd->glUniformMatrix4fv(uniProjMatLoc, 1, GL_FALSE, theProjMat);
42
-    }
43
-
44
-    void setModelMat(StGLContext&      theCtx,
45
-                     const StGLMatrix& theModelMat) {
46
-        theCtx.core20fwd->glUniformMatrix4fv(uniModelMatLoc, 1, GL_FALSE, theModelMat);
47
-    }
48
-
49
-    void setTextColor(StGLContext&    theCtx,
50
-                      const StGLVec4& theTextColorVec) {
51
-        theCtx.core20fwd->glUniform4fv(uniTextColorLoc, 1, theTextColorVec);
52
-    }
53
-
54
-    virtual bool init(StGLContext& theCtx) {
55
-        const char VERTEX_SHADER[] =
56
-           "uniform mat4 uProjMat; \
57
-            uniform mat4 uModelMat; \
58
-            attribute vec4 vVertex; \
59
-            attribute vec2 vTexCoord; \
60
-            varying vec2 fTexCoord; \
61
-            void main(void) { \
62
-                fTexCoord = vTexCoord; \
63
-                gl_Position = uProjMat * uModelMat * vVertex; \
64
-            }";
65
-
66
-        const char FRAGMENT_GET_RED[] =
67
-           "float getAlpha(void) { return texture2D(uTexture, fTexCoord).r; }";
68
-
69
-        const char FRAGMENT_GET_ALPHA[] =
70
-           "float getAlpha(void) { return texture2D(uTexture, fTexCoord).a; }";
71
-
72
-        const char FRAGMENT_SHADER[] =
73
-           "uniform sampler2D uTexture;"
74
-           "uniform vec4 uTextColor;"
75
-           "varying vec2 fTexCoord;"
76
-           "float getAlpha(void);"
77
-           "void main(void) {"
78
-           "     vec4 color = uTextColor;"
79
-           "     color.a *= getAlpha();"
80
-           "     gl_FragColor = color;"
81
-           "}";
82
-
83
-        StGLVertexShader aVertexShader(StGLProgram::getTitle());
84
-        aVertexShader.init(theCtx, VERTEX_SHADER);
85
-        StGLAutoRelease aTmp1(theCtx, aVertexShader);
86
-
87
-        StGLFragmentShader aFragmentShader(StGLProgram::getTitle());
88
-        aFragmentShader.init(theCtx, FRAGMENT_SHADER,
89
-                             theCtx.arbTexRG ? FRAGMENT_GET_RED : FRAGMENT_GET_ALPHA);
90
-        StGLAutoRelease aTmp2(theCtx, aFragmentShader);
91
-        if(!StGLProgram::create(theCtx)
92
-           .attachShader(theCtx, aVertexShader)
93
-           .attachShader(theCtx, aFragmentShader)
94
-           .link(theCtx)) {
95
-            return false;
96
-        }
97
-
98
-        uniProjMatLoc   = StGLProgram::getUniformLocation(theCtx, "uProjMat");
99
-        uniModelMatLoc  = StGLProgram::getUniformLocation(theCtx, "uModelMat");
100
-        uniTextColorLoc = StGLProgram::getUniformLocation(theCtx, "uTextColor");
101
-        atrVVertexLoc   = StGLProgram::getAttribLocation(theCtx, "vVertex");
102
-        atrVTexCoordLoc = StGLProgram::getAttribLocation(theCtx, "vTexCoord");
103
-
104
-        StGLVarLocation uniTextureLoc = StGLProgram::getUniformLocation(theCtx, "uTexture");
105
-        if(uniTextureLoc.isValid()) {
106
-            StGLProgram::use(theCtx);
107
-            theCtx.core20fwd->glUniform1i(uniTextureLoc, StGLProgram::TEXTURE_SAMPLE_0);
108
-            StGLProgram::unuse(theCtx);
109
-        }
110
-
111
-        return uniProjMatLoc.isValid()
112
-            && uniModelMatLoc.isValid()
113
-            && uniTextColorLoc.isValid()
114
-            && atrVVertexLoc.isValid()
115
-            && atrVTexCoordLoc.isValid()
116
-            && uniTextureLoc.isValid();
117
-    }
118
-
119
-        private:
120
-
121
-    StGLVarLocation uniProjMatLoc;
122
-    StGLVarLocation uniModelMatLoc;
123
-    StGLVarLocation uniTextColorLoc;
124
-
125
-    StGLVarLocation atrVVertexLoc;
126
-    StGLVarLocation atrVTexCoordLoc;
127
-
128
-};
129
-
130
-class StGLTextArea::StBorderProgram : public StGLProgram {
131
-
132
-        public:
133
-
134
-    StBorderProgram()
135
-    : StGLProgram("StGLTextArea, Border Program"),
136
-      uniProjMatLoc(),
137
-      uniModelMatLoc(),
138
-      uniColorLoc(),
139
-      atrVVertexLoc() {
140
-        //
141
-    }
142
-
143
-    StGLVarLocation getVVertexLoc() const {
144
-        return atrVVertexLoc;
145
-    }
146
-
147
-    void setProjMat(StGLContext&      theCtx,
148
-                    const StGLMatrix& theProjMat) {
149
-        theCtx.core20fwd->glUniformMatrix4fv(uniProjMatLoc, 1, GL_FALSE, theProjMat);
150
-    }
151
-
152
-    void setModelMat(StGLContext&      theCtx,
153
-                     const StGLMatrix& theModelMat) {
154
-        theCtx.core20fwd->glUniformMatrix4fv(uniModelMatLoc, 1, GL_FALSE, theModelMat);
155
-    }
156
-
157
-    void setColor(StGLContext&    theCtx,
158
-                  const StGLVec4& theColorVec) {
159
-        theCtx.core20fwd->glUniform4fv(uniColorLoc, 1, theColorVec);
160
-    }
161
-
162
-    virtual bool init(StGLContext& theCtx) {
163
-        const char VERTEX_SHADER[] =
164
-           "uniform mat4 uProjMat; \
165
-            uniform mat4 uModelMat; \
166
-            attribute vec4 vVertex; \
167
-            void main(void) { \
168
-                gl_Position = uProjMat * uModelMat * vVertex; \
169
-            }";
170
-
171
-        const char FRAGMENT_SHADER[] =
172
-           "uniform vec4 uColor; \
173
-            void main(void) { \
174
-                gl_FragColor = uColor; \
175
-            }";
176
-
177
-        StGLVertexShader aVertexShader(StGLProgram::getTitle());
178
-        aVertexShader.init(theCtx, VERTEX_SHADER);
179
-        StGLAutoRelease aTmp1(theCtx, aVertexShader);
180
-
181
-        StGLFragmentShader aFragmentShader(StGLProgram::getTitle());
182
-        aFragmentShader.init(theCtx, FRAGMENT_SHADER);
183
-        StGLAutoRelease aTmp2(theCtx, aFragmentShader);
184
-        if(!StGLProgram::create(theCtx)
185
-           .attachShader(theCtx, aVertexShader)
186
-           .attachShader(theCtx, aFragmentShader)
187
-           .link(theCtx)) {
188
-            return false;
189
-        }
190
-
191
-        uniProjMatLoc  = StGLProgram::getUniformLocation(theCtx, "uProjMat");
192
-        uniModelMatLoc = StGLProgram::getUniformLocation(theCtx, "uModelMat");
193
-        uniColorLoc    = StGLProgram::getUniformLocation(theCtx, "uColor");
194
-        atrVVertexLoc  = StGLProgram::getAttribLocation(theCtx, "vVertex");
195
-        return uniProjMatLoc.isValid() && uniModelMatLoc.isValid() && uniColorLoc.isValid() && atrVVertexLoc.isValid();
196
-    }
197
-
198
-        private:
199
-
200
-    StGLVarLocation uniProjMatLoc;
201
sview-15_11.tar.gz/StGLWidgets/StGLTextBorderProgram.cpp Added
78
 
1
@@ -0,0 +1,76 @@
2
+/**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
+ * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
+ *
6
+ * Distributed under the Boost Software License, Version 1.0.
7
+ * See accompanying file license-boost.txt or copy at
8
+ * http://www.boost.org/LICENSE_1_0.txt
9
+ */
10
+
11
+#include <StGLWidgets/StGLTextBorderProgram.h>
12
+
13
+#include <StGL/StGLContext.h>
14
+#include <StGL/StGLMatrix.h>
15
+#include <StGLCore/StGLCore20.h>
16
+
17
+StGLTextBorderProgram::StGLTextBorderProgram()
18
+: StGLProgram("StGLTextBorderProgram") {
19
+    //
20
+}
21
+
22
+StGLTextBorderProgram::~StGLTextBorderProgram() {
23
+    //
24
+}
25
+
26
+void StGLTextBorderProgram::setProjMat(StGLContext&      theCtx,
27
+                                       const StGLMatrix& theProjMat) {
28
+    theCtx.core20fwd->glUniformMatrix4fv(myUniformProjMat, 1, GL_FALSE, theProjMat);
29
+}
30
+
31
+void StGLTextBorderProgram::setModelMat(StGLContext&      theCtx,
32
+                                        const StGLMatrix& theModelMat) {
33
+    theCtx.core20fwd->glUniformMatrix4fv(myUniformModelMat, 1, GL_FALSE, theModelMat);
34
+}
35
+
36
+void StGLTextBorderProgram::setColor(StGLContext&    theCtx,
37
+                                     const StGLVec4& theColor) {
38
+    theCtx.core20fwd->glUniform4fv(myUniformColor, 1, theColor);
39
+}
40
+
41
+bool StGLTextBorderProgram::init(StGLContext& theCtx) {
42
+    const char VERTEX_SHADER[] =
43
+       "uniform mat4 uProjMat; \
44
+        uniform mat4 uModelMat; \
45
+        attribute vec4 vVertex; \
46
+        void main(void) { \
47
+            gl_Position = uProjMat * uModelMat * vVertex; \
48
+        }";
49
+
50
+    const char FRAGMENT_SHADER[] =
51
+       "uniform vec4 uColor; \
52
+        void main(void) { \
53
+            gl_FragColor = uColor; \
54
+        }";
55
+
56
+    StGLVertexShader aVertexShader(StGLProgram::getTitle());
57
+    aVertexShader.init(theCtx, VERTEX_SHADER);
58
+    StGLAutoRelease aTmp1(theCtx, aVertexShader);
59
+
60
+    StGLFragmentShader aFragmentShader(StGLProgram::getTitle());
61
+    aFragmentShader.init(theCtx, FRAGMENT_SHADER);
62
+    StGLAutoRelease aTmp2(theCtx, aFragmentShader);
63
+    if(!StGLProgram::create(theCtx)
64
+       .attachShader(theCtx, aVertexShader)
65
+       .attachShader(theCtx, aFragmentShader)
66
+       .bindAttribLocation(theCtx, "vVertex", getVVertexLoc())
67
+       .link(theCtx)) {
68
+        return false;
69
+    }
70
+
71
+    myUniformProjMat  = StGLProgram::getUniformLocation(theCtx, "uProjMat");
72
+    myUniformModelMat = StGLProgram::getUniformLocation(theCtx, "uModelMat");
73
+    myUniformColor    = StGLProgram::getUniformLocation(theCtx, "uColor");
74
+    return myUniformProjMat.isValid()
75
+        && myUniformModelMat.isValid()
76
+        && myUniformColor.isValid();
77
+}
78
sview-15_11.tar.gz/StGLWidgets/StGLTextProgram.cpp Added
103
 
1
@@ -0,0 +1,101 @@
2
+/**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
+ * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
+ *
6
+ * Distributed under the Boost Software License, Version 1.0.
7
+ * See accompanying file license-boost.txt or copy at
8
+ * http://www.boost.org/LICENSE_1_0.txt
9
+ */
10
+
11
+#include <StGLWidgets/StGLTextProgram.h>
12
+
13
+#include <StGL/StGLContext.h>
14
+#include <StGL/StGLMatrix.h>
15
+#include <StGLCore/StGLCore20.h>
16
+
17
+StGLTextProgram::StGLTextProgram()
18
+: StGLProgram("StGLTextProgram") {
19
+    //
20
+}
21
+
22
+StGLTextProgram::~StGLTextProgram() {
23
+    //
24
+}
25
+
26
+void StGLTextProgram::setProjMat(StGLContext&      theCtx,
27
+                                 const StGLMatrix& theProjMat) {
28
+    theCtx.core20fwd->glUniformMatrix4fv(myUniformProjMat, 1, GL_FALSE, theProjMat);
29
+}
30
+
31
+void StGLTextProgram::setModelMat(StGLContext&      theCtx,
32
+                                  const StGLMatrix& theModelMat) {
33
+    theCtx.core20fwd->glUniformMatrix4fv(myUniformModelMat, 1, GL_FALSE, theModelMat);
34
+}
35
+
36
+void StGLTextProgram::setColor(StGLContext&    theCtx,
37
+                               const StGLVec4& theColor) {
38
+    theCtx.core20fwd->glUniform4fv(myUniformColor, 1, theColor);
39
+}
40
+
41
+bool StGLTextProgram::init(StGLContext& theCtx) {
42
+    const char VERTEX_SHADER[] =
43
+       "uniform mat4 uProjMat; \
44
+        uniform mat4 uModelMat; \
45
+        attribute vec4 vVertex; \
46
+        attribute vec2 vTexCoord; \
47
+        varying vec2 fTexCoord; \
48
+        void main(void) { \
49
+            fTexCoord = vTexCoord; \
50
+            gl_Position = uProjMat * uModelMat * vVertex; \
51
+        }";
52
+
53
+    const char FRAGMENT_GET_RED[] =
54
+       "float getAlpha(void) { return texture2D(uTexture, fTexCoord).r; }";
55
+
56
+    const char FRAGMENT_GET_ALPHA[] =
57
+       "float getAlpha(void) { return texture2D(uTexture, fTexCoord).a; }";
58
+
59
+    const char FRAGMENT_SHADER[] =
60
+       "uniform sampler2D uTexture;"
61
+       "uniform vec4 uTextColor;"
62
+       "varying vec2 fTexCoord;"
63
+       "float getAlpha(void);"
64
+       "void main(void) {"
65
+       "     vec4 color = uTextColor;"
66
+       "     color.a *= getAlpha();"
67
+       "     gl_FragColor = color;"
68
+       "}";
69
+
70
+    StGLVertexShader aVertexShader(StGLProgram::getTitle());
71
+    aVertexShader.init(theCtx, VERTEX_SHADER);
72
+    StGLAutoRelease aTmp1(theCtx, aVertexShader);
73
+
74
+    StGLFragmentShader aFragmentShader(StGLProgram::getTitle());
75
+    aFragmentShader.init(theCtx, FRAGMENT_SHADER,
76
+                         theCtx.arbTexRG ? FRAGMENT_GET_RED : FRAGMENT_GET_ALPHA);
77
+    StGLAutoRelease aTmp2(theCtx, aFragmentShader);
78
+    if(!StGLProgram::create(theCtx)
79
+       .attachShader(theCtx, aVertexShader)
80
+       .attachShader(theCtx, aFragmentShader)
81
+       .bindAttribLocation(theCtx, "vVertex",   getVVertexLoc())
82
+       .bindAttribLocation(theCtx, "vTexCoord", getVTexCoordLoc())
83
+       .link(theCtx)) {
84
+        return false;
85
+    }
86
+
87
+    myUniformProjMat  = StGLProgram::getUniformLocation(theCtx, "uProjMat");
88
+    myUniformModelMat = StGLProgram::getUniformLocation(theCtx, "uModelMat");
89
+    myUniformColor    = StGLProgram::getUniformLocation(theCtx, "uTextColor");
90
+
91
+    StGLVarLocation aUniformTexture = StGLProgram::getUniformLocation(theCtx, "uTexture");
92
+    if(aUniformTexture.isValid()) {
93
+        StGLProgram::use(theCtx);
94
+        theCtx.core20fwd->glUniform1i(aUniformTexture, StGLProgram::TEXTURE_SAMPLE_0);
95
+        StGLProgram::unuse(theCtx);
96
+    }
97
+
98
+    return myUniformProjMat.isValid()
99
+        && myUniformModelMat.isValid()
100
+        && myUniformColor.isValid()
101
+        && aUniformTexture.isValid();
102
+}
103
sview-15_10.tar.gz/StGLWidgets/StGLTextureButton.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLTextureButton.cpp Changed
16
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
@@ -172,7 +173,7 @@
8
            "    if(uClicked > 10) {\n"
9
            "        v.z = v.z - 0.25;\n"
10
            "    } else {\n"
11
-           "        v.z = v.z + sin(uTime * v.x + uTime) * cos(v.y + uTime) * 0.25;\n"
12
+           "        v.z = v.z + sin(uTime * v.x + uTime) * cos(v.y + uTime) * 0.1;\n"
13
            "    }\n"
14
            "    gl_Position = uProjMat * v;\n"
15
            "}\n";
16
sview-15_10.tar.gz/StGLWidgets/StGLWidget.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLWidget.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLWidgetList.cpp -> sview-15_11.tar.gz/StGLWidgets/StGLWidgetList.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StGLWidgets/StGLWidgets.cbp -> sview-15_11.tar.gz/StGLWidgets/StGLWidgets.cbp Changed
73
 
1
@@ -6,29 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/StGLWidgets" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
7
-               <Option working_dir="../bin/$(TARGET_NAME)" />
8
-               <Option object_output="obj/$(TARGET_NAME)/" />
9
-               <Option type="3" />
10
-               <Option compiler="gcc" />
11
-               <Option createStaticLib="1" />
12
-               <Compiler>
13
-                   <Add option="-O3" />
14
-                   <Add option="-std=c++0x" />
15
-                   <Add option="-Wall" />
16
-                   <Add option="-g" />
17
-                   <Add option="-mmmx" />
18
-                   <Add option="-msse" />
19
-                   <Add option="-DUNICODE" />
20
-                   <Add option="-DST_DEBUG" />
21
-                   <Add option="-DST_HAVE_STCONFIG" />
22
-               </Compiler>
23
-               <Linker>
24
-                   <Add library="opengl32" />
25
-                   <Add library="user32" />
26
-               </Linker>
27
-           </Target>
28
            <Target title="WIN_vc_x86">
29
                <Option output="../bin/$(TARGET_NAME)/StGLWidgets" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="1" extension_auto="1" />
30
                <Option working_dir="../bin/$(TARGET_NAME)" />
31
@@ -51,12 +28,12 @@
32
                    <Add library="user32" />
33
                </Linker>
34
            </Target>
35
-           <Target title="WIN_vc_x86_DEBUG">
36
+           <Target title="WIN_vc_AMD64_DEBUG">
37
                <Option output="../bin/$(TARGET_NAME)/StGLWidgets" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="1" extension_auto="1" />
38
                <Option working_dir="../bin/$(TARGET_NAME)" />
39
                <Option object_output="obj/$(TARGET_NAME)/" />
40
                <Option type="3" />
41
-               <Option compiler="msvc10" />
42
+               <Option compiler="windows_sdk_x86_64" />
43
                <Option createStaticLib="1" />
44
                <Compiler>
45
                    <Add option="/MDd" />
46
@@ -234,14 +211,15 @@
47
        <Unit filename="StGLSwitchTextured.cpp" />
48
        <Unit filename="StGLTable.cpp" />
49
        <Unit filename="StGLTextArea.cpp" />
50
+       <Unit filename="StGLTextBorderProgram.cpp" />
51
+       <Unit filename="StGLTextProgram.cpp" />
52
        <Unit filename="StGLTextureButton.cpp" />
53
        <Unit filename="StGLWidget.cpp" />
54
        <Unit filename="StGLWidgetList.cpp" />
55
        <Unit filename="StGLWidgets.rc">
56
            <Option compilerVar="WINDRES" />
57
-           <Option target="WIN_gcc_x86" />
58
            <Option target="WIN_vc_x86" />
59
-           <Option target="WIN_vc_x86_DEBUG" />
60
+           <Option target="WIN_vc_AMD64_DEBUG" />
61
            <Option target="WIN_vc_AMD64" />
62
        </Unit>
63
        <Unit filename="StSubQueue.cpp" />
64
@@ -275,6 +253,8 @@
65
        <Unit filename="../include/StGLWidgets/StGLSwitchTextured.h" />
66
        <Unit filename="../include/StGLWidgets/StGLTable.h" />
67
        <Unit filename="../include/StGLWidgets/StGLTextArea.h" />
68
+       <Unit filename="../include/StGLWidgets/StGLTextBorderProgram.h" />
69
+       <Unit filename="../include/StGLWidgets/StGLTextProgram.h" />
70
        <Unit filename="../include/StGLWidgets/StGLTextureButton.h" />
71
        <Unit filename="../include/StGLWidgets/StGLWidget.h" />
72
        <Unit filename="../include/StGLWidgets/StGLWidgetList.h" />
73
sview-15_10.tar.gz/StGLWidgets/StGLWidgets.vcxproj -> sview-15_11.tar.gz/StGLWidgets/StGLWidgets.vcxproj Changed
10
 
1
@@ -234,6 +234,8 @@
2
     <ClCompile Include="StGLSwitchTextured.cpp" />
3
     <ClCompile Include="StGLTable.cpp" />
4
     <ClCompile Include="StGLTextArea.cpp" />
5
+    <ClCompile Include="StGLTextBorderProgram.cpp" />
6
+    <ClCompile Include="StGLTextProgram.cpp" />
7
     <ClCompile Include="StGLTextureButton.cpp" />
8
     <ClCompile Include="StGLWidget.cpp" />
9
     <ClCompile Include="StGLWidgetList.cpp" />
10
sview-15_10.tar.gz/StGLWidgets/StGLWidgets.vcxproj.filters -> sview-15_11.tar.gz/StGLWidgets/StGLWidgets.vcxproj.filters Changed
14
 
1
@@ -87,6 +87,12 @@
2
     <ClCompile Include="StGLTextArea.cpp">
3
       <Filter>Source files</Filter>
4
     </ClCompile>
5
+    <ClCompile Include="StGLTextBorderProgram.cpp">
6
+      <Filter>Source files</Filter>
7
+    </ClCompile>
8
+    <ClCompile Include="StGLTextProgram.cpp">
9
+      <Filter>Source files</Filter>
10
+    </ClCompile>
11
     <ClCompile Include="StGLTextureButton.cpp">
12
       <Filter>Source files</Filter>
13
     </ClCompile>
14
sview-15_10.tar.gz/StGLWidgets/StSubQueue.cpp -> sview-15_11.tar.gz/StGLWidgets/StSubQueue.cpp Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2010-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/StImageViewer/StImageLoader.cpp -> sview-15_11.tar.gz/StImageViewer/StImageLoader.cpp Changed
95
 
1
@@ -49,11 +49,12 @@
2
 StImageLoader::StImageLoader(const StImageFile::ImageClass     theImageLib,
3
                              const StHandle<StMsgQueue>&       theMsgQueue,
4
                              const StHandle<StLangMap>&        theLangMap,
5
+                             const StHandle<StPlayList>&       thePlayList,
6
                              const StHandle<StGLTextureQueue>& theTextureQueue,
7
                              const GLint                       theMaxTexDim)
8
 : myMimeList(ST_IMAGES_MIME_STRING),
9
   myLangMap(theLangMap),
10
-  myPlayList(1),
11
+  myPlayList(thePlayList),
12
   myLoadNextEvent(false),
13
   myStFormatByUser(StFormat_AUTO),
14
   myMaxTexDim(theMaxTexDim),
15
@@ -61,7 +62,7 @@
16
   myMsgQueue(theMsgQueue),
17
   myImageLib(theImageLib),
18
   myAction(Action_NONE) {
19
-      myPlayList.setExtensions(myMimeList.getExtensionsList());
20
+      myPlayList->setExtensions(myMimeList.getExtensionsList());
21
       myThread = new StThread(threadFunction, (void* )this, "StImageLoader");
22
 }
23
 
24
@@ -208,6 +209,9 @@
25
         return false;
26
     }
27
 
28
+    // clear active
29
+    myTextureQueue->clear();
30
+
31
     StHandle<StImageInfo> anImgInfo = new StImageInfo();
32
     anImgInfo->Id        = theParams;
33
     anImgInfo->Path      = aFilePath;
34
@@ -358,6 +362,12 @@
35
     }
36
     const double aLoadTimeMSec = aLoadTimer.getElapsedTimeInMilliSec();
37
 
38
+    // copy metadata
39
+    for(size_t aTagIter = 0; aTagIter < anImageFileL->getMetadata().size(); ++aTagIter) {
40
+        const StDictEntry& aTag = anImageFileL->getMetadata().getFromIndex(aTagIter);
41
+        anImgInfo->Info.add(aTag);
42
+    }
43
+
44
     // detect information from file name
45
     bool isAnamorphByName = false;
46
     anImgInfo->StInfoFileName = st::formatFromName(aTitleString, isAnamorphByName);
47
@@ -431,15 +441,22 @@
48
 #endif
49
 
50
     // finally push image data in Texture Queue
51
-    while(myTextureQueue->isFull()) {
52
-        StThread::sleep(10);
53
-    }
54
-
55
     myTextureQueue->setConnectedStream(true);
56
+
57
     if(!anImageR->isNull()) {
58
-        myTextureQueue->push(*anImageL, *anImageR, theParams, StFormat_SeparateFrames, aSrcCubemap, 0.0);
59
-    } else {
60
-        myTextureQueue->push(*anImageL, *anImageR, theParams, aSrcFormatCurr, aSrcCubemap, 0.0);
61
+        aSrcFormatCurr = StFormat_SeparateFrames;
62
+    }
63
+
64
+    {
65
+        StImage anImageRefL, anImageRefR;
66
+        StHandle<StBufferCounter> aRefL = new StImageFileCounter(anImageL);
67
+        anImageRefL.initReference(*anImageL, aRefL);
68
+        if(!anImageR->isNull()) {
69
+            StHandle<StBufferCounter> aRefR = new StImageFileCounter(anImageR);
70
+            anImageRefR.initReference(*anImageR, aRefR);
71
+        }
72
+
73
+        myTextureQueue->push(anImageRefL, anImageRefR, theParams, aSrcFormatCurr, aSrcCubemap, 0.0);
74
     }
75
 
76
     if(!stAreEqual(anImageFileL->getPixelRatio(), 1.0f, 0.001f)) {
77
@@ -639,7 +656,7 @@
78
                 myAction = Action_NONE;
79
                 myLoadNextEvent.reset();
80
                 // save current image (set as current in playlist)
81
-                if(myPlayList.getCurrentFile(aFileToLoad, aFileParams)) {
82
+                if(myPlayList->getCurrentFile(aFileToLoad, aFileParams)) {
83
                     saveImage(aFileToLoad, aFileParams, anImgType);
84
                 }
85
                 break;
86
@@ -660,7 +677,7 @@
87
             default: {
88
                 // load next image (set as current in playlist)
89
                 myLoadNextEvent.reset();
90
-                if(myPlayList.getCurrentFile(aFileToLoad, aFileParams)) {
91
+                if(myPlayList->getCurrentFile(aFileToLoad, aFileParams)) {
92
                     loadImage(aFileToLoad, aFileParams);
93
                 }
94
                 break;
95
sview-15_10.tar.gz/StImageViewer/StImageLoader.h -> sview-15_11.tar.gz/StImageViewer/StImageLoader.h Changed
27
 
1
@@ -73,6 +73,7 @@
2
     ST_LOCAL StImageLoader(const StImageFile::ImageClass     theImageLib,
3
                            const StHandle<StMsgQueue>&       theMsgQueue,
4
                            const StHandle<StLangMap>&        theLangMap,
5
+                           const StHandle<StPlayList>&       thePlayList,
6
                            const StHandle<StGLTextureQueue>& theTextureQueue,
7
                            const GLint                       theMaxTexDim);
8
     ST_LOCAL ~StImageLoader();
9
@@ -119,7 +120,7 @@
10
     }
11
 
12
     ST_LOCAL StPlayList& getPlayList() {
13
-        return myPlayList;
14
+        return *myPlayList;
15
     }
16
 
17
     ST_LOCAL void setStereoFormat(const StFormat theSrcFormat) {
18
@@ -179,7 +180,7 @@
19
     const StMIMEList           myMimeList;
20
     StHandle<StThread>         myThread;        //!< main loop thread
21
     StHandle<StLangMap>        myLangMap;       //!< translations dictionary
22
-    StPlayList                 myPlayList;      //!< play list
23
+    StHandle<StPlayList>       myPlayList;      //!< play list
24
     mutable StMutex            myLock;          //!< lock to access not thread-safe properties
25
     StCondition                myLoadNextEvent;
26
     StFormat                   myStFormatByUser;//!< target source format (auto-detect by default)
27
sview-15_10.tar.gz/StImageViewer/StImageViewer.cbp -> sview-15_11.tar.gz/StImageViewer/StImageViewer.cbp Changed
63
 
1
@@ -6,36 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/libStImageViewer" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
7
-               <Option object_output="obj/$(TARGET_NAME)/" />
8
-               <Option type="3" />
9
-               <Option compiler="gcc" />
10
-               <Option createStaticLib="1" />
11
-               <Compiler>
12
-                   <Add option="-O3" />
13
-                   <Add option="-std=c++0x" />
14
-                   <Add option="-Wall" />
15
-                   <Add option="-g" />
16
-                   <Add option="-shared" />
17
-                   <Add option="-mmmx" />
18
-                   <Add option="-msse" />
19
-                   <Add option="-DUNICODE" />
20
-                   <Add option="-DST_DEBUG" />
21
-                   <Add option="-DST_HAVE_STCONFIG" />
22
-               </Compiler>
23
-               <Linker>
24
-                   <Add library="opengl32" />
25
-                   <Add library="gdi32" />
26
-                   <Add library="Comdlg32" />
27
-                   <Add library="shell32" />
28
-                   <Add library="Wsock32" />
29
-                   <Add library="Version" />
30
-               </Linker>
31
-               <ExtraCommands>
32
-                   <Add before='cmd /c call ..\copy_res.bat $(TARGET_OUTPUT_DIR) $(TARGET_OUTPUT_BASENAME)' />
33
-               </ExtraCommands>
34
-           </Target>
35
            <Target title="WIN_vc_x86">
36
                <Option output="../bin/$(TARGET_NAME)/StImageViewer" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
37
                <Option object_output="obj/$(TARGET_NAME)/" />
38
@@ -68,11 +38,11 @@
39
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;2' />
40
                </ExtraCommands>
41
            </Target>
42
-           <Target title="WIN_vc_x86_DEBUG">
43
+           <Target title="WIN_vc_AMD64_DEBUG">
44
                <Option output="../bin/$(TARGET_NAME)/StImageViewer" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
45
                <Option object_output="obj/$(TARGET_NAME)/" />
46
                <Option type="3" />
47
-               <Option compiler="msvc10" />
48
+               <Option compiler="windows_sdk_x86_64" />
49
                <Option createStaticLib="1" />
50
                <Compiler>
51
                    <Add option="/MDd" />
52
@@ -276,9 +246,8 @@
53
        <Unit filename="StImageViewer.h" />
54
        <Unit filename="StImageViewer.rc">
55
            <Option compilerVar="WINDRES" />
56
-           <Option target="WIN_gcc_x86" />
57
            <Option target="WIN_vc_x86" />
58
-           <Option target="WIN_vc_x86_DEBUG" />
59
+           <Option target="WIN_vc_AMD64_DEBUG" />
60
            <Option target="WIN_vc_AMD64" />
61
        </Unit>
62
        <Unit filename="StImageViewerGUI.cpp" />
63
sview-15_10.tar.gz/StImageViewer/StImageViewer.cpp -> sview-15_11.tar.gz/StImageViewer/StImageViewer.cpp Changed
201
 
1
@@ -29,10 +29,12 @@
2
 #include <StGLWidgets/StGLImageRegion.h>
3
 #include <StGLWidgets/StGLMessageBox.h>
4
 #include <StGLWidgets/StGLMsgStack.h>
5
+#include <StGLWidgets/StGLPlayList.h>
6
 #include <StSettings/StSettings.h>
7
 #include <StSocket/StCheckUpdates.h>
8
 #include <StThreads/StThread.h>
9
 #include <StImage/StImageFile.h>
10
+#include <StCore/StSearchMonitors.h>
11
 
12
 #include "../StOutAnaglyph/StOutAnaglyph.h"
13
 #include "../StOutDual/StOutDual.h"
14
@@ -54,10 +56,10 @@
15
     static const char ST_SETTING_RECENT_L[]    = "recentL";
16
     static const char ST_SETTING_RECENT_R[]    = "recentR";
17
     static const char ST_SETTING_SAVE_RECENT[] = "toSaveRecent";
18
+    static const char ST_SETTING_SHOW_LIST[]   = "showPlaylist";
19
     static const char ST_SETTING_COMPRESS[]    = "toCompress";
20
     static const char ST_SETTING_ESCAPENOQUIT[]= "escNoQuit";
21
     static const char ST_SETTING_FULLSCREENUI[]= "fullScreenUI";
22
-    static const char ST_SETTING_SHOW_TOOLBAR[]= "toShowToolbar";
23
 
24
     static const char ST_SETTING_SCALE_ADJUST[]  = "scaleAdjust";
25
     static const char ST_SETTING_SCALE_FORCE2X[] = "scale2X";
26
@@ -81,6 +83,14 @@
27
     static const char ST_ARGUMENT_FILE_RIGHT[] = "right";
28
     static const char ST_ARGUMENT_FILE_LAST[]  = "last";
29
 
30
+    static const char ST_ARGUMENT_SHOW_MENU[]  = "toShowMenu";
31
+    static const char ST_ARGUMENT_SHOW_TOPBAR[]= "toShowTopbar";
32
+    static const char ST_ARGUMENT_MONITOR[]    = "monitorId";
33
+    static const char ST_ARGUMENT_WINLEFT[]    = "windowLeft";
34
+    static const char ST_ARGUMENT_WINTOP[]     = "windowTop";
35
+    static const char ST_ARGUMENT_WINWIDTH[]   = "windowWidth";
36
+    static const char ST_ARGUMENT_WINHEIGHT[]  = "windowHeight";
37
+
38
 }
39
 
40
 /**
41
@@ -250,6 +260,7 @@
42
                              const StHandle<StOpenInfo>&        theOpenInfo,
43
                              const StString&                    theAppName)
44
 : StApplication(theResMgr, theParentWin, theOpenInfo),
45
+  myPlayList(new StPlayList(1, false)),
46
   myAppName(!theAppName.isEmpty() ? theAppName : ST_DRAWER_PLUGIN_NAME),
47
   myEventLoaded(false),
48
   //
49
@@ -290,9 +301,12 @@
50
     params.checkUpdatesDays = new StInt32Param(7);
51
     params.srcFormat        = new StInt32Param(StFormat_AUTO);
52
     params.srcFormat->signals.onChanged.connect(this, &StImageViewer::doSwitchSrcFormat);
53
+    params.ToShowPlayList   = new StBoolParam(false);
54
+    params.ToShowPlayList->signals.onChanged = stSlot(this, &StImageViewer::doShowPlayList);
55
     params.ToTrackHead   = new StBoolParamNamed(true,  tr(StImageViewerStrings::MENU_VIEW_TRACK_HEAD));
56
     params.ToShowFps     = new StBoolParamNamed(false, tr(StImageViewerStrings::MENU_SHOW_FPS));
57
-    params.ToShowToolbar = new StBoolParamNamed(true, "Show toolbar");
58
+    params.ToShowMenu    = new StBoolParamNamed(true, "Show main menu");
59
+    params.ToShowTopbar  = new StBoolParamNamed(true, "Show top toolbar");
60
     params.IsMobileUI = new StBoolParamNamed(StWindow::isMobile(), "Mobile UI");
61
     params.IsMobileUI->signals.onChanged = stSlot(this, &StImageViewer::doScaleHiDPI);
62
     params.IsVSyncOn  = new StBoolParam(true);
63
@@ -311,6 +325,7 @@
64
     mySettings->loadParam (ST_SETTING_SHOW_FPS,           params.ToShowFps);
65
     mySettings->loadParam (ST_SETTING_MOBILE_UI,          params.IsMobileUI);
66
     mySettings->loadParam (ST_SETTING_VSYNC,              params.IsVSyncOn);
67
+    mySettings->loadParam (ST_SETTING_SHOW_LIST,          params.ToShowPlayList);
68
 
69
     int32_t aSlideShowDelayInt = int32_t(mySlideShowDelay);
70
     mySettings->loadInt32 (ST_SETTING_SLIDESHOW_DELAY,    aSlideShowDelayInt);
71
@@ -445,6 +460,7 @@
72
         mySettings->saveParam (ST_SETTING_SHOW_FPS,  params.ToShowFps);
73
         mySettings->saveParam (ST_SETTING_MOBILE_UI, params.IsMobileUI);
74
         mySettings->saveParam (ST_SETTING_VSYNC,     params.IsVSyncOn);
75
+        mySettings->saveParam (ST_SETTING_SHOW_LIST, params.ToShowPlayList);
76
         if(myToSaveSrcFormat) {
77
             mySettings->saveParam(ST_SETTING_SRCFORMAT, params.srcFormat);
78
         }
79
@@ -497,7 +513,7 @@
80
 
81
     // create the GUI with default values
82
     params.ScaleHiDPI->setValue(myWindow->getScaleFactor());
83
-    myGUI = new StImageViewerGUI(this, myWindow.access(), myLangMap.access(),
84
+    myGUI = new StImageViewerGUI(this, myWindow.access(), myLangMap.access(), myPlayList,
85
                                  myLoader.isNull() ? NULL : myLoader->getTextureQueue());
86
     myGUI->setContext(myContext);
87
 
88
@@ -571,7 +587,7 @@
89
     StString anImgLibStr;
90
     mySettings->loadString(ST_SETTING_IMAGELIB, anImgLibStr);
91
     params.imageLib = StImageFile::imgLibFromString(anImgLibStr);
92
-    myLoader = new StImageLoader(params.imageLib, myMsgQueue, myLangMap,
93
+    myLoader = new StImageLoader(params.imageLib, myMsgQueue, myLangMap, myPlayList,
94
                                  myGUI->myImage->getTextureQueue(), myContext->getMaxTextureSize());
95
     myLoader->signals.onLoaded.connect(this, &StImageViewer::doLoaded);
96
     myLoader->setCompressMemory(myWindow->isMobile());
97
@@ -597,47 +613,92 @@
98
 }
99
 
100
 void StImageViewer::parseArguments(const StArgumentsMap& theArguments) {
101
-    StArgument argFullscreen = theArguments[ST_SETTING_FULLSCREEN];
102
-    StArgument argSlideshow  = theArguments[ST_SETTING_SLIDESHOW];
103
-    StArgument argViewMode   = theArguments[ST_SETTING_VIEWMODE];
104
-    StArgument argSrcFormat  = theArguments[ST_SETTING_SRCFORMAT];
105
-    StArgument argImgLibrary = theArguments[ST_SETTING_IMAGELIB];
106
-    StArgument argToCompress = theArguments[ST_SETTING_COMPRESS];
107
-    StArgument argEscNoQuit  = theArguments[ST_SETTING_ESCAPENOQUIT];
108
-    StArgument argFullScreenUI = theArguments[ST_SETTING_FULLSCREENUI];
109
-    StArgument argToolbar    = theArguments[ST_SETTING_SHOW_TOOLBAR];
110
-    StArgument argSaveRecent = theArguments[ST_SETTING_SAVE_RECENT];
111
-    if(argToCompress.isValid()) {
112
-        myLoader->setCompressMemory(!argToCompress.isValueOff());
113
-    }
114
-    if(argEscNoQuit.isValid()) {
115
-        myEscNoQuit = !argEscNoQuit.isValueOff();
116
-    }
117
-    if(argFullScreenUI.isValid()) {
118
-        myToHideUIFullScr = argFullScreenUI.isValueOff();
119
-    }
120
-    if(argToolbar.isValid()) {
121
-        params.ToShowToolbar->setValue(!argToolbar.isValueOff());
122
-    }
123
-    if(argFullscreen.isValid()) {
124
-        params.isFullscreen->setValue(!argFullscreen.isValueOff());
125
-    }
126
-    if(argSlideshow.isValid() && !argSlideshow.isValueOff()) {
127
+    StArgument anArgSlideshow  = theArguments[ST_SETTING_SLIDESHOW];
128
+    StArgument anArgViewMode   = theArguments[ST_SETTING_VIEWMODE];
129
+    StArgument anArgSrcFormat  = theArguments[ST_SETTING_SRCFORMAT];
130
+    StArgument anArgImgLibrary = theArguments[ST_SETTING_IMAGELIB];
131
+    StArgument anArgToCompress = theArguments[ST_SETTING_COMPRESS];
132
+    StArgument anArgEscNoQuit  = theArguments[ST_SETTING_ESCAPENOQUIT];
133
+    StArgument anArgFullScreenUI = theArguments[ST_SETTING_FULLSCREENUI];
134
+    StArgument anArgShowMenu   = theArguments[ST_ARGUMENT_SHOW_MENU];
135
+    StArgument anArgShowTopbar = theArguments[ST_ARGUMENT_SHOW_TOPBAR];
136
+    StArgument anArgSaveRecent = theArguments[ST_SETTING_SAVE_RECENT];
137
+
138
+    StArgument anArgFullscreen = theArguments[ST_SETTING_FULLSCREEN];
139
+    StArgument anArgMonitor    = theArguments[ST_ARGUMENT_MONITOR];
140
+    StArgument anArgWinLeft    = theArguments[ST_ARGUMENT_WINLEFT];
141
+    StArgument anArgWinTop     = theArguments[ST_ARGUMENT_WINTOP];
142
+    StArgument anArgWinWidth   = theArguments[ST_ARGUMENT_WINWIDTH];
143
+    StArgument anArgWinHeight  = theArguments[ST_ARGUMENT_WINHEIGHT];
144
+    StRect<int32_t> aRect = myWindow->getWindowedPlacement();
145
+    bool toSetRect = false;
146
+    if(anArgMonitor.isValid()) {
147
+        const size_t     aMonId  = (size_t )::atol(anArgMonitor.getValue().toCString());
148
+        const StMonitor& aMonOld = myWindow->getMonitors()[aRect.center()];
149
+        const StMonitor& aMonNew = myWindow->getMonitors()[aMonId];
150
+        if(aMonOld.getId() != aMonNew.getId()) {
151
+            const int aLeft = aRect.left() - aMonOld.getVRect().left();
152
+            const int aTop  = aRect.top()  - aMonOld.getVRect().top();
153
+            aRect.moveLeftTo(aMonNew.getVRect().left() + aLeft);
154
+            aRect.moveTopTo (aMonNew.getVRect().top()  + aTop);
155
+            toSetRect = true;
156
+        }
157
+    }
158
+    if(anArgWinLeft.isValid()) {
159
+        aRect.moveLeftTo(::atol(anArgWinLeft.getValue().toCString()));
160
+        toSetRect = true;
161
+    }
162
+    if(anArgWinTop.isValid()) {
163
+        aRect.moveTopTo(::atol(anArgWinTop.getValue().toCString()));
164
+        toSetRect = true;
165
+    }
166
+    if(anArgWinWidth.isValid()) {
167
+        aRect.right() = aRect.left() + ::atol(anArgWinWidth.getValue().toCString());
168
+        toSetRect = true;
169
+    }
170
+    if(anArgWinHeight.isValid()) {
171
+        aRect.bottom() = aRect.top() + ::atol(anArgWinHeight.getValue().toCString());
172
+        toSetRect = true;
173
+    }
174
+    if(toSetRect) {
175
+        myWindow->setPlacement(aRect, true);
176
+    }
177
+    if(anArgFullscreen.isValid()) {
178
+        params.isFullscreen->setValue(!anArgFullscreen.isValueOff());
179
+    }
180
+
181
+    if(anArgToCompress.isValid()) {
182
+        myLoader->setCompressMemory(!anArgToCompress.isValueOff());
183
+    }
184
+    if(anArgEscNoQuit.isValid()) {
185
+        myEscNoQuit = !anArgEscNoQuit.isValueOff();
186
+    }
187
+    if(anArgFullScreenUI.isValid()) {
188
+        myToHideUIFullScr = anArgFullScreenUI.isValueOff();
189
+    }
190
+    if(anArgShowMenu.isValid()) {
191
+        params.ToShowMenu->setValue(!anArgShowMenu.isValueOff());
192
+    }
193
+    if(anArgShowTopbar.isValid()) {
194
+        params.ToShowTopbar->setValue(!anArgShowTopbar.isValueOff());
195
+    }
196
+    if( anArgSlideshow.isValid()
197
+    && !anArgSlideshow.isValueOff()) {
198
         doSlideShow();
199
     }
200
-    if(argViewMode.isValid()) {
201
sview-15_10.tar.gz/StImageViewer/StImageViewer.h -> sview-15_11.tar.gz/StImageViewer/StImageViewer.h Changed
29
 
1
@@ -131,7 +131,9 @@
2
         StHandle<StInt32Param>   checkUpdatesDays; //!< days count between updates checks
3
         StHandle<StInt32Param>   srcFormat;        //!< source format
4
         StHandle<StBoolParam>    ToTrackHead;      //!< enable/disable head-tracking
5
-        StHandle<StBoolParam>    ToShowToolbar;    //!< show/hide toolbar
6
+        StHandle<StBoolParam>    ToShowMenu;       //!< show main menu
7
+        StHandle<StBoolParam>    ToShowTopbar;     //!< show topbar
8
+        StHandle<StBoolParam>    ToShowPlayList;   //!< display playlist
9
         StHandle<StBoolParam>    ToShowFps;        //!< display FPS meter
10
         StHandle<StBoolParam>    IsMobileUI;       //!< display mobile interface
11
         StHandle<StBoolParam>    IsVSyncOn;        //!< flag to use VSync
12
@@ -158,6 +160,8 @@
13
     ST_LOCAL void doSwitchSrcFormat(const int32_t theSrcFormat);
14
     ST_LOCAL void doSwitchViewMode(const int32_t theMode);
15
     ST_LOCAL void doPanoramaOnOff(const size_t );
16
+    ST_LOCAL void doShowPlayList(const bool theToShow);
17
+    ST_LOCAL void doFileNext();
18
 
19
         public:
20
 
21
@@ -216,6 +220,7 @@
22
     StHandle<StGLContext>      myContext;
23
     StHandle<StSettings>       mySettings;        //!< settings manager for Image Viewer plugin
24
     StHandle<StTranslations>   myLangMap;         //!< translated strings map
25
+    StHandle<StPlayList>       myPlayList;        //!< play list
26
     StHandle<StImageViewerGUI> myGUI;             //!< GUI root widget
27
     StHandle<StImageLoader>    myLoader;          //!< main image loader class
28
     StHandle<StCheckUpdates>   myUpdates;         //!< check updates utility
29
sview-15_10.tar.gz/StImageViewer/StImageViewerGUI.cpp -> sview-15_11.tar.gz/StImageViewer/StImageViewerGUI.cpp Changed
201
 
1
@@ -35,6 +35,7 @@
2
 #include <StGLWidgets/StGLMenuItem.h>
3
 #include <StGLWidgets/StGLMsgStack.h>
4
 #include <StGLWidgets/StGLOpenFile.h>
5
+#include <StGLWidgets/StGLPlayList.h>
6
 #include <StGLWidgets/StGLRangeFieldFloat32.h>
7
 #include <StGLWidgets/StGLScrollArea.h>
8
 #include <StGLWidgets/StGLSwitchTextured.h>
9
@@ -62,32 +63,51 @@
10
     myPlugin->doSaveImageInfo(0);
11
 }
12
 
13
-void StImageViewerGUI::createDesktopUI() {
14
+void StImageViewerGUI::createDesktopUI(const StHandle<StPlayList>& thePlayList) {
15
     if(myPlugin->params.ToShowFps->getValue()) {
16
         myFpsWidget = new StGLFpsLabel(this);
17
     }
18
 
19
     createUpperToolbar();
20
 
21
-    const StMarginsI& aMargins = getRootMargins();
22
+    const StMarginsI& aRootMargins = getRootMargins();
23
     StMarginsI aButtonMargins;
24
     const IconSize anIconSize = scaleIcon(32, aButtonMargins);
25
-    /*myBtnPlayList = new StGLTextureButton(this, -aMargins.right - scale(8 + 8 + 32), -aMargins.bottom - scale(8),
26
-                                          StGLCorner(ST_VCORNER_BOTTOM, ST_HCORNER_RIGHT));
27
-    myBtnPlayList->setTexturePath(iconTexture(stCString("playList"), anIconSize));
28
-    myBtnPlayList->changeMargins() = aButtonMargins;*/
29
+    const int      anIconStep = scale(32);
30
 
31
-    // fullscreen button
32
+    myPanelBottom = new StGLContainer(this, aRootMargins.left, -aRootMargins.bottom, StGLCorner(ST_VCORNER_BOTTOM, ST_HCORNER_LEFT), scale(4096), scale(32));
33
+    int aBottomBarNbRight = 0;
34
+    const int aRight  = -scale(8);
35
+    const int aBottom = -scale(8);
36
     if(myWindow->hasFullscreenMode()) {
37
-        myBtnFull = new StGLTextureButton(this, -aMargins.right - scale(8), -aMargins.bottom - scale(8),
38
-                                          StGLCorner(ST_VCORNER_BOTTOM, ST_HCORNER_RIGHT));
39
-        myBtnFull->signals.onBtnClick.connect(myPlugin->params.isFullscreen.operator->(), &StBoolParam::doReverse);
40
-        myBtnFull->setTexturePath(iconTexture(stCString("fullScreen"), anIconSize));
41
+        myBtnFull = new StGLCheckboxTextured(myPanelBottom, myPlugin->params.isFullscreen,
42
+                                             iconTexture(stCString("actionVideoFullscreenOff"), anIconSize),
43
+                                             iconTexture(stCString("actionVideoFullscreenOn"),  anIconSize),
44
+                                             (aBottomBarNbRight++) * (-anIconStep) + aRight, aBottom,
45
+                                             StGLCorner(ST_VCORNER_TOP, ST_HCORNER_RIGHT));
46
+        myBtnFull->setDrawShadow(true);
47
+        myBtnFull->setFalseOpacity(1.0f);
48
         myBtnFull->changeMargins() = aButtonMargins;
49
     }
50
 
51
+    myBtnList = new StGLCheckboxTextured(myPanelBottom, myPlugin->params.ToShowPlayList,
52
+                                         iconTexture(stCString("actionVideoPlaylistOff"), anIconSize),
53
+                                         iconTexture(stCString("actionVideoPlaylist"),    anIconSize),
54
+                                         (aBottomBarNbRight++) * (-anIconStep) + aRight, aBottom,
55
+                                         StGLCorner(ST_VCORNER_TOP, ST_HCORNER_RIGHT));
56
+    myBtnList->setDrawShadow(true);
57
+    myBtnList->changeMargins() = aButtonMargins;
58
+
59
     myDescr = new StGLDescription(this);
60
 
61
+    myPlayList = new StGLPlayList(this, thePlayList);
62
+    myPlayList->setCorner(StGLCorner(ST_VCORNER_TOP, ST_HCORNER_RIGHT));
63
+    myPlayList->changeFitMargins().top    = scale(110);
64
+    myPlayList->changeFitMargins().bottom = scale(110);
65
+    //myPlayList->changeMargins().bottom    = scale(32);
66
+    myPlayList->setOpacity(myPlugin->params.ToShowPlayList->getValue() ? 1.0f : 0.0f, false);
67
+    myPlayList->signals.onOpenItem = stSlot(myPlugin, &StImageViewer::doFileNext);
68
+
69
     // create Main menu
70
     createMainMenu();
71
 }
72
@@ -387,7 +407,7 @@
73
     StGLMenu* aMenu = new StGLMenu(this, 0, 0, StGLMenu::MENU_VERTICAL);
74
 
75
     const StGLVec3 aBlack(0.0f, 0.0f, 0.0f);
76
-    const StGLVec3 aGreen(0.4f, 0.8f, 0.4f);
77
+    const StGLVec3 aGreen(0.0f, 0.6f, 0.4f);
78
     const StGLVec3 aRed  (1.0f, 0.0f, 0.0f);
79
 
80
     aMenu->addItem(tr(MENU_VIEW_ADJUST_RESET), myPlugin->getAction(StImageViewer::Action_ImageAdjustReset))
81
@@ -799,10 +819,18 @@
82
     return aMenu;
83
 }
84
 
85
-void StImageViewerGUI::createMobileUI() {
86
+void StImageViewerGUI::createMobileUI(const StHandle<StPlayList>& thePlayList) {
87
     createMobileUpperToolbar();
88
     createMobileBottomToolbar();
89
 
90
+    myPlayList = new StGLPlayList(this, thePlayList);
91
+    myPlayList->setCorner(StGLCorner(ST_VCORNER_TOP, ST_HCORNER_RIGHT));
92
+    myPlayList->changeFitMargins().top    = scale(56);
93
+    myPlayList->changeFitMargins().bottom = scale(100);
94
+    //myPlayList->changeMargins().bottom    = scale(56);
95
+    myPlayList->setOpacity(myPlugin->params.ToShowPlayList->getValue() ? 1.0f : 0.0f, false);
96
+    myPlayList->signals.onOpenItem = stSlot(myPlugin, &StImageViewer::doFileNext);
97
+
98
     if(myPlugin->params.ToShowFps->getValue()) {
99
         myFpsWidget = new StGLFpsLabel(this);
100
     }
101
@@ -925,6 +953,14 @@
102
     aBtnZoomOut->setDrawShadow(true);
103
     aBtnZoomOut->setUserData(StImageViewer::Action_StereoParamsBegin + StGLImageRegion::Action_ScaleOut);
104
     aBtnZoomOut->signals.onBtnHold += stSlot(this, &StImageViewerGUI::doAction);
105
+
106
+    myBtnList = new StGLCheckboxTextured(myPanelBottom, myPlugin->params.ToShowPlayList,
107
+                                         iconTexture(stCString("actionVideoPlaylistOff"), anIconSize),
108
+                                         iconTexture(stCString("actionVideoPlaylist"),    anIconSize),
109
+                                         (aBtnIter++) * (-anIconStep), 0,
110
+                                         StGLCorner(ST_VCORNER_TOP, ST_HCORNER_RIGHT));
111
+    myBtnList->setDrawShadow(true);
112
+    myBtnList->changeMargins() = aButtonMargins;
113
 }
114
 
115
 void StImageViewerGUI::doOpenFile(const size_t ) {
116
@@ -935,8 +971,15 @@
117
 
118
     StGLOpenFile* aDialog = new StGLOpenFile(this, tr(DIALOG_OPEN_FILE), tr(BUTTON_CLOSE));
119
     aDialog->setMimeList(myPlugin->myLoader->getMimeList());
120
+#if defined(_WIN32)
121
+    //
122
+#else
123
+    aDialog->addHotItem("/", "Root");
124
+#endif
125
+    aDialog->addHotItem(getResourceManager()->getFolder(StResourceManager::FolderId_SdCard));
126
     aDialog->addHotItem(getResourceManager()->getFolder(StResourceManager::FolderId_Downloads));
127
     aDialog->addHotItem(getResourceManager()->getFolder(StResourceManager::FolderId_Pictures));
128
+    aDialog->addHotItem(getResourceManager()->getFolder(StResourceManager::FolderId_Photos));
129
     aDialog->signals.onFileSelected = stSlot(myPlugin, &StImageViewer::doOpen1FileFromGui);
130
 
131
     if(myPlugin->params.lastFolder.isEmpty()) {
132
@@ -978,11 +1021,13 @@
133
     anItem = aMenu->addItem("Slideshow", myPlugin->getAction(StImageViewer::Action_SlideShow));
134
     anItem->setIcon(stCMenuIcon("actionSlideShow"));
135
     aMenu->stglInit();
136
+    setFocus(aMenu);
137
 }
138
 
139
 StImageViewerGUI::StImageViewerGUI(StImageViewer*  thePlugin,
140
                                    StWindow*       theWindow,
141
                                    StTranslations* theLangMap,
142
+                                   const StHandle<StPlayList>&       thePlayList,
143
                                    const StHandle<StGLTextureQueue>& theTextureQueue)
144
 : StGLRootWidget(thePlugin->myResMgr),
145
   myPlugin(thePlugin),
146
@@ -993,6 +1038,7 @@
147
   myImage(NULL),
148
   myDescr(NULL),
149
   myMsgStack(NULL),
150
+  myPlayList(NULL),
151
   //
152
   myMenuRoot(NULL),
153
   //
154
@@ -1005,7 +1051,7 @@
155
   myBtnSwapLR(NULL),
156
   myBtnPanorama(NULL),
157
   myBtnSrcFrmt(NULL),
158
-  myBtnPlayList(NULL),
159
+  myBtnList(NULL),
160
   myBtnFull(NULL),
161
   //
162
   myFpsWidget(NULL),
163
@@ -1035,9 +1081,9 @@
164
     myImage->params.ViewMode->signals.onChanged += stSlot(myPlugin, &StImageViewer::doSwitchViewMode);
165
 
166
     if(isMobile()) {
167
-        createMobileUI();
168
+        createMobileUI(thePlayList);
169
     } else {
170
-        createDesktopUI();
171
+        createDesktopUI(thePlayList);
172
     }
173
 
174
     myMsgStack = new StGLMsgStack(this, myPlugin->getMessagesQueue());
175
@@ -1080,22 +1126,26 @@
176
 }
177
 
178
 void StImageViewerGUI::setVisibility(const StPointD_t& theCursor,
179
-                                     bool              isMouseActive,
180
                                      bool              toForceHide) {
181
-    const bool toShowToolbar  = !myIsMinimalGUI
182
-                             &&  myPlugin->params.ToShowToolbar->getValue();
183
-    const bool hasUpperPanel  =  toShowToolbar
184
+    const bool toShowPlayList = myPlugin->params.ToShowPlayList->getValue();
185
+    const bool hasMainMenu    =  myPlugin->params.ToShowMenu->getValue()
186
+                             &&  myMenuRoot != NULL;
187
+    const bool hasUpperPanel  = !myIsMinimalGUI
188
+                             &&  myPlugin->params.ToShowTopbar->getValue()
189
                              &&  myPanelUpper  != NULL;
190
-    const bool hasBottomPanel =  toShowToolbar
191
+    const bool hasBottomPanel = !myIsMinimalGUI
192
                              &&  myPanelBottom != NULL;
193
+    const bool isMouseActive  = myWindow->isMouseMoved();
194
 
195
     StHandle<StStereoParams> aParams = myImage->getSource();
196
+    const double aStillTime = myVisibilityTimer.getElapsedTime();
197
     myIsVisibleGUI = isMouseActive
198
         || aParams.isNull()
199
-        || myVisibilityTimer.getElapsedTime() < 2.0
200
+        || aStillTime < 2.0
201
sview-15_10.tar.gz/StImageViewer/StImageViewerGUI.h -> sview-15_11.tar.gz/StImageViewer/StImageViewerGUI.h Changed
63
 
1
@@ -37,6 +37,8 @@
2
 class StGLMsgStack;
3
 class StGLFpsLabel;
4
 class StGLTable;
5
+class StGLPlayList;
6
+class StPlayList;
7
 class StWindow;
8
 
9
 /**
10
@@ -89,6 +91,7 @@
11
     ST_LOCAL StImageViewerGUI(StImageViewer*  thePlugin,
12
                               StWindow*       theWindow,
13
                               StTranslations* theLangMap,
14
+                              const StHandle<StPlayList>&       thePlayList,
15
                               const StHandle<StGLTextureQueue>& theTextureQueue);
16
     ST_LOCAL virtual ~StImageViewerGUI();
17
     ST_LOCAL virtual void stglUpdate(const StPointD_t& pointZo);
18
@@ -96,7 +99,6 @@
19
     ST_LOCAL virtual void stglDraw(unsigned int theView);
20
 
21
     ST_LOCAL void setVisibility(const StPointD_t& theCursor,
22
-                                bool              isMouseActive,
23
                                 bool              toForceHide);
24
 
25
         public:
26
@@ -131,7 +133,7 @@
27
     /**
28
      * Create normal (desktop) interface.
29
      */
30
-    ST_LOCAL void createDesktopUI();
31
+    ST_LOCAL void createDesktopUI(const StHandle<StPlayList>& thePlayList);
32
 
33
     /**
34
      * Create upper tool-bar.
35
@@ -162,7 +164,7 @@
36
     /**
37
      * Create mobile interface.
38
      */
39
-    ST_LOCAL void      createMobileUI();
40
+    ST_LOCAL void      createMobileUI(const StHandle<StPlayList>& thePlayList);
41
 
42
     ST_LOCAL void      createMobileUpperToolbar();
43
     ST_LOCAL void      createMobileBottomToolbar();
44
@@ -201,6 +203,7 @@
45
     StGLImageRegion*    myImage;            //!< the main image
46
     StGLDescription*    myDescr;            //!< description text shown near mouse cursor
47
     StGLMsgStack*       myMsgStack;         //!< messages stack
48
+    StGLPlayList*       myPlayList;
49
 
50
     StGLMenu*           myMenuRoot;         //!< main menu
51
 
52
@@ -213,8 +216,8 @@
53
     StGLTextureButton*  myBtnSwapLR;
54
     StGLCheckboxTextured* myBtnPanorama;
55
     StGLTextureButton*  myBtnSrcFrmt;
56
-    StGLTextureButton*  myBtnPlayList;
57
-    StGLTextureButton*  myBtnFull;
58
+    StGLTextureButton*  myBtnList;
59
+    StGLCheckboxTextured* myBtnFull;
60
     StGLFpsLabel*       myFpsWidget;
61
 
62
     StGLTable*          myHKeysTable;
63
sview-15_10.tar.gz/StImageViewer/lang/chinese/StImageViewer.lng -> sview-15_11.tar.gz/StImageViewer/lang/chinese/StImageViewer.lng Changed
201
 
1
@@ -1,169 +1,169 @@
2
 # Chinese translation file for StImageViewer program
3
 # @author YSC
4
 --------
5
-1000="上一图片"
6
-1001="下一图片"
7
-1002="切换左/右"
8
-1003="还原切换左/右"
9
-1004="立体格式:"
10
-1015="打开另一图片"
11
-1028="显示/隐藏播放列表"
12
-1029="切换\n全屏/窗口模式"
13
-1100="文件"
14
-1101="打开图片->>"
15
-1102="另存为->>"
16
-1103="立体格式->>"
17
-1104="图片信息"
18
-1109="退出"
19
-1110="单一立体文件"
20
-1111="左+右文件"
21
-1130="自动侦测"
22
-1131="单画面"
23
-1132="对眼"
24
-1133="平行配对"
25
-1134="上/下 (右/左)"
26
-1135="上/下 (左/右)"
27
-1136="交错"
28
-1137="分色红/青"
29
-1138="分色绿/红+蓝"
30
-1139="分色黄/蓝"
31
-1142="双流"
32
-1200="查看"
33
-1201="立体输出->>"
34
-1202="全屏"
35
-1203="重置"
36
-1204="切换左/右"
37
-1205="显示比例->>"
38
-1206="光滑过滤->>"
39
-1207="图像调节->>"
40
-1208="表面处理->>"
41
-1210="立体"
42
-1211="左画面"
43
-1212="右画面"
44
-1213="平行配对"
45
-1214="对眼"
46
-1250="源格式"
47
-1251="重启维持"
48
-?1252="Heal anamorphic 1080p/720p"
49
-1260="接近"
50
-1261="线状"
51
-1270="重置默认"
52
-1271="亮度"
53
-1272="饱和度"
54
-1273="伽马"
55
-1280="平面"
56
-1281="球面"
57
-1282="圆柱"
58
-?1283="Cubemap"
59
-?1285="Track orientation"
60
-?1286="Track orientation (poor)"
61
-1400="改变设备->>"
62
-1401="关于插件..."
63
-1402="显示 FPS"
64
-1403="同步"
65
-1500="帮助"
66
-1501="关于..."
67
-1502="更新检查->>"
68
-1503="许可"
69
-1504="语言 (Language)"
70
-1506="用户提示"
71
-1508="关于系统"
72
-1509="界面大小->>"
73
-?1510="Hotkeys"
74
-?1511="Settings"
75
-1520="现在"
76
-1521="每天"
77
-1522="每周"
78
-1523="每年"
79
-1524="绝不"
80
-1590="小"
81
-1591="正常"
82
-1592="大"
83
-1593="强制高解析 2X"
84
-2000="选择图片文件打开"
85
-2001="选择左画面图片打开"
86
-2002="选择右画面图片文件打开"
87
-2003="图像信息"
88
-2004="信息未获得"
89
-2005="文件删除"
90
-2006="确定完全移除吗?"
91
-2007="激活解码器:"
92
-2008="确定将元数据保存到文件吗?"
93
-2009="元数据只能保存到JPEG文件."
94
-2010="选择保存快照位置"
95
-2011="什么也没有保存!"
96
-2012="快照不为空!"
97
-?2013="Assign new Hot Key for action\n<i>{0}</i>"
98
-?2014="Conflicts with: <i>{0}</i>"
99
-3000="sView - Image Viewer"
100
-3001="版本"
101
-3002="Image viewer allows you to open stereoscopic images in formats JPEG, PNG, MPO and a lot of others.\n © {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis program is distributed under GPL3.0"
102
-3003="官网www.sview.ru有新版本软件.\n请升级."
103
-3004="系统信息"
104
-4000="关闭"
105
-4001="取消"
106
-4006="保存"
107
-4007="删除"
108
-?4008="Default"
109
-?4009="Defaults"
110
-?4010="Assign"
111
-5000="[左]"
112
-5001="[右]"
113
-5002="文件名字(s)"
114
-5003="视频大小"
115
-5004="装载时间"
116
-5005="ms"
117
-5006="像素比率"
118
-5007="像素格式"
119
-5008="(不存储在元数据)"
120
-5009="(不匹配的元数据)"
121
-5011="(不存储在元数据中,\n但检测到文件名称)"
122
-5100="JPEG 说明"
123
-5101="JPS 说明"
124
-5200="相机生产商"
125
-5201="相机型号"
126
-5202="用户说明"
127
-5203="图像时间戳"
128
-6000="切换\n全屏/窗口模式"
129
-6001="显示 FPS"
130
-6002="立体格式: 自动侦测"
131
-6003="立体格式: 单画面"
132
-6004="立体格式: 上/下"
133
-6005="立体格式: 对眼"
134
-?6006="Show file info"
135
-?6007="Playlist - Go to the first item"
136
-?6008="Playlist - Go to the last item"
137
-6009="播放上一文件"
138
-6010="播放下一文件"
139
-?6011="Playlist - Start/stop slideshow"
140
-6012="另存为 PNG"
141
-6013="另存为 JPEG"
142
-?6014="Save file metadata"
143
-?6015="Delete the file from file system"
144
-?6016="Reset image adjustment"
145
-?6017="Reset image position"
146
-6018="切换左/右"
147
-?6019="Gamma correction - decrease"
148
-?6020="Gamma correction - increase"
149
-?6021="DX separation - decrease"
150
-?6022="DX separation - increase"
151
-?6023="DY separation - decrease"
152
-?6024="DY separation - increase"
153
-?6025="Angular separation - decrease"
154
-?6026="Angular separation - increase"
155
-?6027="Rotate 90 degrees counterclockwise"
156
-?6028="Rotate 90 degrees clockwise"
157
-?6029="Rotate counterclockwise"
158
-?6030="Rotate clockwise"
159
-?6031="Select next view mode"
160
-?6032="Panning - navigate to the left"
161
-?6033="Panning - navigate to the right"
162
-?6034="Panning - navigate to the top"
163
-?6035="Panning - navigate to the bottom"
164
-?6036="Scale - increment"
165
-?6037="Scale - decrement"
166
-?6038="Y Rotation - left"
167
-?6039="Y Rotation - right"
168
-?6040="X Rotation - up"
169
-?6041="X Rotation - down"
170
-?6042="Enable/disable panorama mode"
171
+1000=上一图片
172
+1001=下一图片
173
+1002=切换左/右
174
+1003=还原切换左/右
175
+1004=立体格式:
176
+1015=打开另一图片
177
+1028=显示/隐藏播放列表
178
+1029=切换\n全屏/窗口模式
179
+1100=文件
180
+1101=打开图片
181
+1102=另存为
182
+1103=立体格式
183
+1104=图片信息
184
+1109=退出
185
+1110=单一立体文件
186
+1111=左+右文件
187
+1130=自动侦测
188
+1131=单画面
189
+1132=对眼
190
+1133=平行配对
191
+1134=上/下 (右/左)
192
+1135=上/下 (左/右)
193
+1136=交错
194
+1137=分色红/青
195
+1138=分色绿/红+蓝
196
+1139=分色黄/蓝
197
+1142=双流
198
+1200=查看
199
+1201=立体输出
200
+1202=全屏
201
sview-15_10.tar.gz/StImageViewer/lang/english/StImageViewer.lng -> sview-15_11.tar.gz/StImageViewer/lang/english/StImageViewer.lng Changed
201
 
1
@@ -1,169 +1,169 @@
2
 # English translation file for StImageViewer program
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Previous image"
6
-1001="Next image"
7
-1002="Swap Left/Right"
8
-1003="UnSwap Left/Right"
9
-1004="Stereoscopic format:"
10
-1015="Open another image"
11
-1028="Show/Hide playlist"
12
-1029="Switch\nfullscreen/windowed"
13
-1100="Media"
14
-1101="Open Image..."
15
-1102="Save Image As..."
16
-1103="Stereoscopic format"
17
-1104="Image info"
18
-1109="Quit"
19
-1110="From One file"
20
-1111="Left+Right files"
21
-1130="Source"
22
-1131="Mono"
23
-1132="Cross-eyed"
24
-1133="Parallel Pair"
25
-1134="Over/Under (R/L)"
26
-1135="Over/Under (L/R)"
27
-1136="Interlaced"
28
-1137="Anaglyph Red/Cyan"
29
-1138="Anaglyph Green/Red+Blue"
30
-1139="Anaglyph Yellow/Blue"
31
-1142="2 Streams"
32
-1200="View"
33
-1201="Stereo Output"
34
-1202="Fullscreen"
35
-1203="Reset"
36
-1204="Swap Left/Right"
37
-1205="Display Ratio"
38
-1206="Smooth Filter"
39
-1207="Image Adjust"
40
-1208="Panorama"
41
-1210="Stereo"
42
-1211="Left View"
43
-1212="Right View"
44
-1213="Parallel Pair"
45
-1214="Cross-eyed"
46
-1250="Source"
47
-1251="Keep on restart"
48
-1252="Heal anamorphic 1080p/720p"
49
-1260="Nearest"
50
-1261="Linear"
51
-1270="Reset to defaults"
52
-1271="Brightness"
53
-1272="Saturation"
54
-1273="Gamma"
55
-1280="Off"
56
-1281="Sphere"
57
-1282="Cylinder"
58
-1283="Cubemap"
59
-1285="Track orientation"
60
-1286="Track orientation (poor)"
61
-1400="Change device"
62
-1401="About Plugin..."
63
-1402="Show FPS"
64
-1403="VSync"
65
-1500="Help"
66
-1501="About..."
67
-1502="Check for updates"
68
-1503="License text"
69
-1504="Language"
70
-1506="User tips"
71
-1508="About system"
72
-1509="Interface Scale"
73
-1510="Hotkeys"
74
-1511="Settings"
75
-1520="Now"
76
-1521="Each day"
77
-1522="Each week"
78
-1523="Each year"
79
-1524="Never"
80
-1590="Small"
81
-1591="Normal"
82
-1592="Big"
83
-1593="Force HiDPI 2X"
84
-2000="Choose the image file to open"
85
-2001="Choose LEFT image file to open"
86
-2002="Choose RIGHT image file to open"
87
-2003="Image Info"
88
-2004="Information is unavailable"
89
-2005="File deletion"
90
-2006="Do you really want to completely remove this file?"
91
-2007="File metadata saving"
92
-2008="Do you really want to save metadata to the file?"
93
-2009="Metadata can be saved only into JPEG files."
94
-2010="Choose location to save snapshot"
95
-2011="Nothing to save!"
96
-2012="Snapshot not available!"
97
-2013="Assign new Hot Key for action\n<i>{0}</i>"
98
-2014="Conflicts with: <i>{0}</i>"
99
-3000="sView - Image Viewer"
100
-3001="version"
101
-3002="Image viewer allows you to open stereoscopic images in formats JPEG, PNG, MPO and a lot of others.\n © {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis program is distributed under GPL3.0"
102
-3003="A new version of sView is available on the official site www.sview.ru.\nPlease update your program."
103
-3004="System Info"
104
-4000="Close"
105
-4001="Cancel"
106
-4006="Save"
107
-4007="Delete"
108
-4008="Default"
109
-4009="Defaults"
110
-4010="Assign"
111
-5000="[left]"
112
-5001="[right]"
113
-5002="File name"
114
-5003="Dimensions"
115
-5004="Load time"
116
-5005="ms"
117
-5006="Pixel ratio"
118
-5007="Color model"
119
-5008="(does not stored in metadata)"
120
-5009="(does not match metadata)"
121
-5011="(does not stored in metadata,\nbut detected from file name)"
122
-5100="JPEG Comment"
123
-5101="JPS Comment"
124
-5200="Camera Maker"
125
-5201="Camera Model"
126
-5202="User Comment"
127
-5203="Image timestamp"
128
-6000="Switch fullscreen/windowed"
129
-6001="Show/hide FPS meter"
130
-6002="Stereo format - Auto"
131
-6003="Stereo format - Mono"
132
-6004="Stereo format - Over/Under"
133
-6005="Stereo format - Side by side"
134
-6006="Show file info"
135
-6007="Playlist - Go to the first item"
136
-6008="Playlist - Go to the last item"
137
-6009="Playlist - Go to the previous item"
138
-6010="Playlist - Go to the next item"
139
-6011="Playlist - Start/stop slideshow"
140
-6012="Save in PNG format"
141
-6013="Save in JPEG format"
142
-6014="Save file metadata"
143
-6015="Delete the file from file system"
144
-6016="Reset image adjustment"
145
-6017="Reset image position"
146
-6018="Swap Left/Right"
147
-6019="Gamma correction - decrease"
148
-6020="Gamma correction - increase"
149
-6021="DX separation - decrease"
150
-6022="DX separation - increase"
151
-6023="DY separation - decrease"
152
-6024="DY separation - increase"
153
-6025="Angular separation - decrease"
154
-6026="Angular separation - increase"
155
-6027="Rotate 90 degrees counterclockwise"
156
-6028="Rotate 90 degrees clockwise"
157
-6029="Rotate counterclockwise"
158
-6030="Rotate clockwise"
159
-6031="Select next view mode"
160
-6032="Panning - navigate to the left"
161
-6033="Panning - navigate to the right"
162
-6034="Panning - navigate to the top"
163
-6035="Panning - navigate to the bottom"
164
-6036="Scale - increment"
165
-6037="Scale - decrement"
166
-6038="Y Rotation - left"
167
-6039="Y Rotation - right"
168
-6040="X Rotation - up"
169
-6041="X Rotation - down"
170
-6042="Enable/disable panorama mode"
171
+1000=Previous image
172
+1001=Next image
173
+1002=Swap Left/Right
174
+1003=UnSwap Left/Right
175
+1004=Stereoscopic format:
176
+1015=Open another image
177
+1028=Show/Hide playlist
178
+1029=Switch\nfullscreen/windowed
179
+1100=Media
180
+1101=Open Image...
181
+1102=Save Image As...
182
+1103=Stereoscopic format
183
+1104=Image info
184
+1109=Quit
185
+1110=From One file
186
+1111=Left+Right files
187
+1130=Source
188
+1131=Mono
189
+1132=Cross-eyed
190
+1133=Parallel Pair
191
+1134=Over/Under (R/L)
192
+1135=Over/Under (L/R)
193
+1136=Interlaced
194
+1137=Anaglyph Red/Cyan
195
+1138=Anaglyph Green/Red+Blue
196
+1139=Anaglyph Yellow/Blue
197
+1142=2 Streams
198
+1200=View
199
+1201=Stereo Output
200
+1202=Fullscreen
201
sview-15_10.tar.gz/StImageViewer/lang/french/StImageViewer.lng -> sview-15_11.tar.gz/StImageViewer/lang/french/StImageViewer.lng Changed
201
 
1
@@ -1,169 +1,169 @@
2
 # French translation file for StImageViewer program
3
 # @author gramoun for Kirill Gavrilov
4
 --------
5
-1000="Image Précédente"
6
-1001="Image Suivante"
7
-1002="Gauche/Droite inversé"
8
-1003="Gauche/Droite normal"
9
-1004="Format entrée:"
10
-1015="Ouvre autre image"
11
-1028="Affiche/Masque playlist"
12
-1029="Bascule\Plein écran/fenêtre"
13
-1100="Média"
14
-1101="Ouvre Image..."
15
-1102="Enregistre Image Sous.."
16
-1103="Format Stéréo d'entrée"
17
-1104="Image info"
18
-1109="Quitter"
19
-1110="Depuis un fichier"
20
-1111="2 Fichiers Gauche+Droit"
21
-1130="Source"
22
-1131="Mono"
23
-1132="Cross-eyed"
24
-1133="Coté/Coté (SbS)"
25
-1134="Dessus/Dessous(D/G)"
26
-1135="Dessus/Dessous(G/D)"
27
-1136="Entrelacé"
28
-1137="Anaglyphe Rouge/Bleu"
29
-1138="Anaglyphe Vert/Magenta"
30
-1139="Anaglyphe Jaune/Bleu"
31
-1142="2 Streams"
32
-1200="Affichage"
33
-1201="Sortie Stéréo"
34
-1202="Plein Ecran"
35
-1203="Réinitialisation"
36
-1204="Inverser Gauche/Droite"
37
-1205="Ratio d'affichage"
38
-1206="Lissage antialiasing"
39
-1207="Réglage de l'image"
40
-1208="Panorama"
41
-1210="Stéréo"
42
-1211="Vue Gauche"
43
-1212="Vue Droite"
44
-1213="Coté/Coté (SbS)"
45
-1214="Cross-eyed"
46
-1250="Source"
47
-1251="Garder après redémarrage"
48
-?1252="Heal anamorphic 1080p/720p"
49
-1260="Plus proche"
50
-1261="Lineaire"
51
-1270="Rétablir par défaut"
52
-1271="Brightness"
53
-1272="Saturation"
54
-1273="Gamma"
55
-1280="Plan"
56
-1281="Sphère"
57
-1282="Cylindre"
58
-1283="Cubemap"
59
-?1285="Track orientation"
60
-?1286="Track orientation (poor)"
61
-1400="Changer la sortie"
62
-1401="A propos du Plugin..."
63
-1402="Voir I/S"
64
-1403="Synchro Vert."
65
-1500="Aide"
66
-1501="A Propos..."
67
-1502="Vérifier nouvelle version"
68
-1503="Texte de la Licence"
69
-1504="Language"
70
-1506="Conseils d'utilisation"
71
-?1508="About system"
72
-?1509="Scale Interface"
73
-1510="Raccourcis"
74
-1511="Paramètres"
75
-1520="Maintenant"
76
-1521="Chaque Jour"
77
-1522="Chaque Mois"
78
-1523="Chaque Année"
79
-1524="Jamais"
80
-1590="Petit"
81
-1591="Normal"
82
-1592="Gros"
83
-1593="Force HiDPI 2X"
84
-2000="Choix du fichier image à ouvrir"
85
-2001="Choix du fichier image Gauche à ouvrir"
86
-2002="Choix du fichier image Droite à ouvrir"
87
-2003="Info de l'image"
88
-2004="L'information est indisponible"
89
-?2005="File deletion"
90
-?2006="Do you really want to completely remove this file?"
91
-?2007="File metadata saving"
92
-?2008="Do you really want to save metadata to the file?"
93
-?2009="Metadata can be saved only into JPEG files."
94
-2010="Emplacement de la capture écran"
95
-2011="Rien à enregistrer!"
96
-2012="Capture non disponible!"
97
-2013="Changement raccourcu clavier pour\n<i>{0}</i>"
98
-?2014="Conflicts with: <i>{0}</i>"
99
-3000="sView - Image Viewer"
100
-3001="version"
101
-3002="Image viewer vous permet d'ouvrir des images stéréoscopiques en formats JPEG, PNG, MPO.\n © {0} Kirill Gavrilov <{1}>\nSite Officiel: {2}\n\nThis program is distributed under GPL3.0"
102
-3003="Une nouvelle version de sView est disponible sur le site officiel www.sview.ru.\nSVP, mettez votre programme à jour."
103
-3004="Informations sur le système"
104
-4000="Fermer"
105
-4001="Annuler"
106
-4006="Enregistre"
107
-4007="Supprimer"
108
-?4008="Default"
109
-?4009="Defaults"
110
-4010="Affecter"
111
-5000="[gauche]"
112
-5001="[droite]"
113
-5002="Nom de fichier"
114
-5003="Résolution"
115
-5004="Temps de démarrage"
116
-5005="ms"
117
-5006="Pixel ratio"
118
-5007="Modèle colorimétrique"
119
-?5008="(does not stored in metadata)"
120
-?5009="(does not match metadata)"
121
-?5011="(does not stored in metadata,\nbut detected from file name)"
122
-5100="JPEG commentaire"
123
-5101="JPS commentaire"
124
-5200="Camera Maker"
125
-5201="Camera Model"
126
-5202="User Comment"
127
-5203="Image timestamp"
128
-6000="Bascule\Plein écran/fenêtre"
129
-6001="Voir I/S"
130
-6002="Format Stéréo d'entrée - Auto-détection"
131
-6003="Format Stéréo d'entrée - Mono"
132
-6004="Format Stéréo d'entrée - Dessus/Dessous"
133
-6005="Format Stéréo d'entrée - Coté/Coté (SbS)"
134
-6006="Afficher les informations sur le fichier"
135
-6007="Playlist - Aller au premier élément"
136
-6008="Playlist - Aller au dernier élément"
137
-6009="Playlist - Aller à l'élément précédent"
138
-6010="Playlist - Aller à l'élément suivant"
139
-6011="Playlist - Lancer / arrêter le diaporama"
140
-6012="Enregistrer au format PNG"
141
-6013="Enregistrer au format JPEG"
142
-6014="Enregistrer les métadonnées d'un fichier"
143
-6015="Supprimer le fichier du système de fichiers"
144
-6016="Réinitialiser réglage de l'image"
145
-6017="Réinitialiser position de l'image"
146
-6018="Inverser Gauche/Droite"
147
-?6019="Gamma correction - decrease"
148
-?6020="Gamma correction - increase"
149
-?6021="DX separation - decrease"
150
-?6022="DX separation - increase"
151
-?6023="DY separation - decrease"
152
-?6024="DY separation - increase"
153
-?6025="Angular separation - decrease"
154
-?6026="Angular separation - increase"
155
-6027="Faire pivoter un objet de 90 degrés vers la gauche"
156
-6028="Faire pivoter un objet de 90 degrés vers la droite"
157
-6029="Sens inverse des aiguilles d’une montre"
158
-6030="Sens des aiguilles d’une montre"
159
-?6031="Select next view mode"
160
-6032="Naviguer vers la gauche"
161
-6033="Naviguer vers la droite"
162
-6034="Naviguer vers le haut"
163
-6035="Naviguer vers le bas"
164
-6036="Zoom"
165
-6037="Dézoomer"
166
-?6038="Y Rotation - left"
167
-?6039="Y Rotation - right"
168
-?6040="X Rotation - up"
169
-?6041="X Rotation - down"
170
-6042="Activer / désactiver le mode panorama"
171
+1000=Image Précédente
172
+1001=Image Suivante
173
+1002=Gauche/Droite inversé
174
+1003=Gauche/Droite normal
175
+1004=Format entrée:
176
+1015=Ouvre autre image
177
+1028=Affiche/Masque playlist
178
+1029=Bascule\Plein écran/fenêtre
179
+1100=Média
180
+1101=Ouvre Image...
181
+1102=Enregistre Image Sous..
182
+1103=Format Stéréo d'entrée
183
+1104=Image info
184
+1109=Quitter
185
+1110=Depuis un fichier
186
+1111=2 Fichiers Gauche+Droit
187
+1130=Source
188
+1131=Mono
189
+1132=Cross-eyed
190
+1133=Coté/Coté (SbS)
191
+1134=Dessus/Dessous(D/G)
192
+1135=Dessus/Dessous(G/D)
193
+1136=Entrelacé
194
+1137=Anaglyphe Rouge/Bleu
195
+1138=Anaglyphe Vert/Magenta
196
+1139=Anaglyphe Jaune/Bleu
197
+1142=2 Streams
198
+1200=Affichage
199
+1201=Sortie Stéréo
200
+1202=Plein Ecran
201
sview-15_10.tar.gz/StImageViewer/lang/german/StImageViewer.lng -> sview-15_11.tar.gz/StImageViewer/lang/german/StImageViewer.lng Changed
201
 
1
@@ -1,169 +1,169 @@
2
 # German translation file for StImageViewer program
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Vorheriges Bild"
6
-1001="Nachstes Bild"
7
-1002="L&R Vertauschen An"
8
-1003="L&R Vertauschen Aus"
9
-1004="Quellformat:"
10
-1015="Öffnen anderen Bild"
11
-1028="Anzeigen/ausblenden Wiedergabeliste"
12
-1029="Vollbildmodus/Fenstermodus"
13
-1100="Medien"
14
-1101="Bild öffnen..."
15
-1102="Bild speichern als..."
16
-1103="Quelle Stereo-Format"
17
-1104="Bildinfo"
18
-1109="Beenden"
19
-1110="Einer Datei"
20
-1111="Zwei Dateien"
21
-1130="Quelle"
22
-1131="Mono"
23
-1132="Schielend"
24
-1133="Parallel Pair"
25
-1134="Over/Under (R/L)"
26
-1135="Over/Under (L/R)"
27
-1136="Interlaced"
28
-1137="Anaglyph Rot/Cyan"
29
-1138="Anaglyph Grün/Rot+Blau"
30
-1139="Anaglyph Gelb/Blau"
31
-1142="2 Streams"
32
-1200="Ansicht"
33
-1201="Stereo-Ausgang"
34
-1202="Vollbild"
35
-1203="Zurückstellen"
36
-1204="L&R Vertauschen"
37
-1205="Seitenverhältnis"
38
-1206="Glatte Filter"
39
-1207="Bildeinstellung"
40
-1208="Panorama"
41
-1210="Stereo"
42
-1211="Linke Bild"
43
-1212="Rechte Bild"
44
-1213="Parallel Pair"
45
-1214="Cross-eyed"
46
-1250="Quelle"
47
-1251="Halten beim Neustart"
48
-?1252="Heal anamorphic 1080p/720p"
49
-1260="Nearest"
50
-1261="Linear"
51
-1270="Auf Standardwerte zurücksetzen"
52
-1271="Helligkeit"
53
-1272="Sättigung"
54
-1273="Gamma"
55
-1280="Aus"
56
-1281="Kugel"
57
-1282="Zylinder"
58
-1283="Cubemap"
59
-?1285="Track orientation"
60
-?1286="Track orientation (poor)"
61
-1400="Gerät ändern"
62
-1401="Über Plugin..."
63
-1402="FPS anzeigen"
64
-1403="VSync"
65
-1500="Hilfe"
66
-1501="Über..."
67
-1502="Nach Updates suchen"
68
-1503="Lizenztext"
69
-1504="Language"
70
-1506="Anwendertipps"
71
-1508="Über System"
72
-1509="Maßstab Benutzeroberfläche"
73
-1510="Hotkeys"
74
-1511="Einstellungen"
75
-1520="jetzt"
76
-1521="täglich"
77
-1522="wöchentlich"
78
-1523="jährlich"
79
-1524="nie"
80
-1590="klein"
81
-1591="normal"
82
-1592="groß"
83
-1593="erzwingen HiDPI 2X"
84
-2000="Wählen die Bilddatei zu öffnen"
85
-2001="Wählen die linke Bilddatei zu öffnen"
86
-2002="Wählen die rechte Bilddatei zu öffnen"
87
-2003="Bildinfo"
88
-2004="Information nicht verfügbar"
89
-2005="Löschen von Dateien"
90
-?2006="Do you really want to completely remove this file?"
91
-?2007="File metadata saving"
92
-?2008="Do you really want to save metadata to the file?"
93
-?2009="Metadata can be saved only into JPEG files."
94
-2010="Wählen einen Speicherort für Schnappschuss"
95
-2011="Nichts zu speichern!"
96
-2012="Schnappschuss ist nicht verfügbar!"
97
-2013="Hotkey ändern\n<i>{0}</i>"
98
-2014="Konflikten: <i>{0}</i>"
99
-3000="sView - Image Viewer"
100
-3001="Version"
101
-?3002="Image viewer allows you to open stereoscopic images in formats JPEG, PNG, MPO and a lot of others.\n © {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis program is distributed under GPL3.0"
102
-?3003="A new version of sView is available on the official site www.sview.ru.\nPlease update your program."
103
-3004="System Info"
104
-4000="Schließen"
105
-4001="Abbrechen"
106
-4006="Speichern"
107
-4007="Löschen"
108
-4008="Default"
109
-4009="Defaults"
110
-4010="Zuweisen"
111
-5000="[linke]"
112
-5001="[rechte]"
113
-5002="Dateiname"
114
-5003="Auflösung"
115
-5004="Ladezeit"
116
-5005="ms"
117
-5006="Pixelseitenverhältnis"
118
-5007="Farbmodell"
119
-5008="(nicht in Metadaten gespeichert)"
120
-5009="(keine Metadaten übereinstimmen)"
121
-5011="(nicht in Metadaten gespeichert,\nsondern von Dateinamen detektiert)"
122
-5100="JPEG Kommentar"
123
-5101="JPS Kommentar"
124
-5200="Kamerahersteller"
125
-5201="Kameramodell"
126
-5202="User Kommentar"
127
-5203="Bild-Zeitstempel"
128
-6000="Vollbildmodus/Fenstermodus"
129
-6001="FPS anzeigen"
130
-6002="Stereo-Format - Autoerkennung"
131
-6003="Stereo-Format - Mono"
132
-6004="Stereo-Format - Over/Under"
133
-6005="Stereo-Format - Side by side"
134
-6006="Datei info"
135
-6007="Wiedergabeliste - Zum ersten Element"
136
-6008="Wiedergabeliste - Zum letzten Element"
137
-6009="Wiedergabeliste - Zum vorherigen Element"
138
-6010="Wiedergabeliste - Zum nächsten Element"
139
-6011="Wiedergabeliste - Diashow starten / stoppen"
140
-6012="Speichern im PNG-Format"
141
-6013="Speichern im JPEG-Format"
142
-6014="Datei-Metadaten speichern"
143
-6015="Die Datei löschen aus dem Dateisystem"
144
-6016="Zurücksetzen Bildeinstellung"
145
-6017="Zurücksetzen Bildposition"
146
-6018="L&R Vertauschen"
147
-6019="Gamma-Korrektur - verringern"
148
-6020="Gamma-Korrektur - erhöhen"
149
-6021="DX Trennung - verringern"
150
-6022="DX Trennung - erhöhen"
151
-6023="DY Trennung - verringern"
152
-6024="DY Trennung - erhöhen"
153
-6025="Winkelabstand - verringern"
154
-6026="Winkelabstand - erhöhen"
155
-6027="Um 90 Grad gegen Uhrzeigersinn drehen"
156
-6028="Um 90 Grad im Uhrzeigersinn drehen"
157
-6029="Drehen gegen den Uhrzeigersinn"
158
-6030="Im Uhrzeigersinn drehen"
159
-?6031="Select next view mode"
160
-6032="Navigieren nach links"
161
-6033="Navigieren nach rechts"
162
-6034="Navigieren nach oben"
163
-6035="Navigieren nach unten"
164
-6036="Zoomen"
165
-6037="Herauszoomen"
166
-6038="Y-Drehung - links"
167
-6039="Y-Drehung - rechts"
168
-6040="X-Drehung - nach oben"
169
-6041="X-Drehung - nach unten"
170
-6042="Aktivieren / Deaktivieren der Panorama-Modus"
171
+1000=Vorheriges Bild
172
+1001=Nachstes Bild
173
+1002=L&R Vertauschen An
174
+1003=L&R Vertauschen Aus
175
+1004=Quellformat:
176
+1015=Öffnen anderen Bild
177
+1028=Anzeigen/ausblenden Wiedergabeliste
178
+1029=Vollbildmodus/Fenstermodus
179
+1100=Medien
180
+1101=Bild öffnen...
181
+1102=Bild speichern als...
182
+1103=Quelle Stereo-Format
183
+1104=Bildinfo
184
+1109=Beenden
185
+1110=Einer Datei
186
+1111=Zwei Dateien
187
+1130=Quelle
188
+1131=Mono
189
+1132=Schielend
190
+1133=Parallel Pair
191
+1134=Over/Under (R/L)
192
+1135=Over/Under (L/R)
193
+1136=Interlaced
194
+1137=Anaglyph Rot/Cyan
195
+1138=Anaglyph Grün/Rot+Blau
196
+1139=Anaglyph Gelb/Blau
197
+1142=2 Streams
198
+1200=Ansicht
199
+1201=Stereo-Ausgang
200
+1202=Vollbild
201
sview-15_10.tar.gz/StImageViewer/lang/korean/StImageViewer.lng -> sview-15_11.tar.gz/StImageViewer/lang/korean/StImageViewer.lng Changed
201
 
1
@@ -2,169 +2,169 @@
2
 # @author Kirill Gavrilov
3
 # @translator Kwon Daesuk <hyntel@clunix.com>
4
 --------
5
-1000="앞 이미지"
6
-1001="다음 이미지"
7
-1002="좌/우 변경"
8
-1003="좌/우 복원"
9
-1004="소스 포맷:"
10
-1015="다른 이미지 열기"
11
-1028="재생 목록 보이기/감추기"
12
-1029="전환\n전체화면/윈도화면"
13
-1100="미디어"
14
-1101="이미지 열기..."
15
-1102="다른 이름으로 저장..."
16
-1103="입력 스테레오 형식"
17
-?1104="Image info"
18
-1109="나가기"
19
-1110="한 파일에서 열기"
20
-1111="좌+우 파일들에서 열기"
21
-1130="자동감지"
22
-1131="모노"
23
-1132="크로스-아이"
24
-1133="패럴렐 페어"
25
-1134="상/하(R/L)"
26
-1135="상/하(L/R)"
27
-?1136="Interlaced"
28
-?1137="Anaglyph Red/Cyan"
29
-?1138="Anaglyph Green/Red+Blue"
30
-?1139="Anaglyph Yellow/Blue"
31
-?1142="2 Streams"
32
-?1200="View"
33
-1201="입체 출력"
34
-1202="전체 화면"
35
-1203="리셋"
36
-1204="좌/우 변경"
37
-1205="화면 비율"
38
-?1206="Smooth Filter"
39
-1207="이미지 보정"
40
-?1208="Panorama"
41
-?1210="Stereo"
42
-?1211="Left View"
43
-?1212="Right View"
44
-1213="패럴렐 페어"
45
-1214="크로스-아이"
46
-?1250="Source"
47
-1251="재시작시 유지"
48
-?1252="Heal anamorphic 1080p/720p"
49
-?1260="Nearest"
50
-?1261="Linear"
51
-1270="기본값으로 리셋"
52
-1271="밝기"
53
-?1272="Saturation"
54
-1273="감마"
55
-?1280="Off"
56
-?1281="Sphere"
57
-?1282="Cylinder"
58
-?1283="Cubemap"
59
-?1285="Track orientation"
60
-?1286="Track orientation (poor)"
61
-1400="장치 변경"
62
-?1401="About Plugin..."
63
-?1402="Show FPS"
64
-?1403="VSync"
65
-1500="도움말"
66
-1501="이 프로그램에 대해..."
67
-1502="업데이트 확인"
68
-1503="라이선스 문서"
69
-1504="언어 (Language)"
70
-1506="사용자 팁"
71
-?1508="About system"
72
-?1509="Interface Scale"
73
-?1510="Hotkeys"
74
-?1511="Settings"
75
-1520="지금"
76
-1521="매일Each day"
77
-1522="매주Each week"
78
-1523="매년Each year"
79
-1524="하지 않음Never"
80
-1590="작게 Small"
81
-1591="보통Normal"
82
-1592="크게 Big"
83
-1593="HiDPI 2X로"
84
-2000="열어볼 이미지 파일 선택"
85
-2001="왼쪽 이미지 선택"
86
-2002="오른쪽 이미지 선택"
87
-2003="Image Info"
88
-2004="Information is unavailable"
89
-2005="File deletion"
90
-2006="Do you really want to completely remove this file?"
91
-2007="File metadata saving"
92
-2008="Do you really want to save metadata to the file?"
93
-2009="Metadata can be saved only into JPEG files."
94
-2010="스냅샷 저장 위치 선택"
95
-2011="저장할 수 없음!"
96
-2012="스냅샷이 없음!"
97
-?2013="Assign new Hot Key for action\n<i>{0}</i>"
98
-?2014="Conflicts with: <i>{0}</i>"
99
-3000="sView - 이미지 뷰어"
100
-3001="version"
101
-3002="이 이미지 뷰어로 JPEG, PNG, MPO 외 다양한 양식의 스테레오 이미지를 볼 수 있습니다.\n © {0} Kirill Gavrilov <{1}>\n 공식 사이트: {2}\n\n이 프로그램은 GPL3.0 하에 배포됩니다."
102
-3003="sView 최신 버전은 공식 사이트 www.sview.ru에서 구할 수 있습니다.\n프로그램을 업데이트하세요."
103
-?3004="System Info"
104
-4000="닫기"
105
-?4001="Cancel"
106
-?4006="Save"
107
-?4007="Delete"
108
-?4008="Default"
109
-?4009="Defaults"
110
-?4010="Assign"
111
-?5000="[left]"
112
-?5001="[right]"
113
-?5002="File name"
114
-?5003="Dimensions"
115
-?5004="Load time"
116
-?5005="ms"
117
-?5006="Pixel ratio"
118
-?5007="Color model"
119
-?5008="(does not stored in metadata)"
120
-?5009="(does not match metadata)"
121
-?5011="(does not stored in metadata,\nbut detected from file name)"
122
-?5100="JPEG Comment"
123
-?5101="JPS Comment"
124
-?5200="Camera Maker"
125
-?5201="Camera Model"
126
-?5202="User Comment"
127
-?5203="Image timestamp"
128
-6000="전환 전체화면/윈도화면"
129
-?6001="Show/hide FPS meter"
130
-6002="입력 스테레오 형식: 자동감지"
131
-6003="입력 스테레오 형식: 모노"
132
-6004="입력 스테레오 형식: 상/하"
133
-6005="입력 스테레오 형식: 크로스-아이"
134
-?6006="Show file info"
135
-?6007="Playlist - Go to the first item"
136
-?6008="Playlist - Go to the last item"
137
-?6009="Playlist - Go to the previous item"
138
-?6010="Playlist - Go to the next item"
139
-?6011="Playlist - Start/stop slideshow"
140
-6012="다른 이름으로 저장 PNG"
141
-6013="다른 이름으로 저장 JPEG"
142
-?6014="Save file metadata"
143
-?6015="Delete the file from file system"
144
-?6016="Reset image adjustment"
145
-?6017="Reset image position"
146
-6018="좌/우 변경"
147
-?6019="Gamma correction - decrease"
148
-?6020="Gamma correction - increase"
149
-?6021="DX separation - decrease"
150
-?6022="DX separation - increase"
151
-?6023="DY separation - decrease"
152
-?6024="DY separation - increase"
153
-?6025="Angular separation - decrease"
154
-?6026="Angular separation - increase"
155
-?6027="Rotate 90 degrees counterclockwise"
156
-?6028="Rotate 90 degrees clockwise"
157
-?6029="Rotate counterclockwise"
158
-?6030="Rotate clockwise"
159
-?6031="Select next view mode"
160
-?6032="Panning - navigate to the left"
161
-?6033="Panning - navigate to the right"
162
-?6034="Panning - navigate to the top"
163
-?6035="Panning - navigate to the bottom"
164
-?6036="Scale - increment"
165
-?6037="Scale - decrement"
166
-?6038="Y Rotation - left"
167
-?6039="Y Rotation - right"
168
-?6040="X Rotation - up"
169
-?6041="X Rotation - down"
170
-?6042="Enable/disable panorama mode"
171
+1000=앞 이미지
172
+1001=다음 이미지
173
+1002=좌/우 변경
174
+1003=좌/우 복원
175
+1004=소스 포맷:
176
+1015=다른 이미지 열기
177
+1028=재생 목록 보이기/감추기
178
+1029=전환\n전체화면/윈도화면
179
+1100=미디어
180
+1101=이미지 열기...
181
+1102=다른 이름으로 저장...
182
+1103=입력 스테레오 형식
183
+?1104=Image info
184
+1109=나가기
185
+1110=한 파일에서 열기
186
+1111=좌+우 파일들에서 열기
187
+1130=자동감지
188
+1131=모노
189
+1132=크로스-아이
190
+1133=패럴렐 페어
191
+1134=상/하(R/L)
192
+1135=상/하(L/R)
193
+?1136=Interlaced
194
+?1137=Anaglyph Red/Cyan
195
+?1138=Anaglyph Green/Red+Blue
196
+?1139=Anaglyph Yellow/Blue
197
+?1142=2 Streams
198
+?1200=View
199
+1201=입체 출력
200
+1202=전체 화면
201
sview-15_10.tar.gz/StImageViewer/lang/russian/StImageViewer.lng -> sview-15_11.tar.gz/StImageViewer/lang/russian/StImageViewer.lng Changed
201
 
1
@@ -1,169 +1,169 @@
2
 # Russian translation file for StImageViewer program
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Предыдущая картинка"
6
-1001="Следующая картинка"
7
-1002="Поменять ракурсы местами"
8
-1003="Отключить реверс ракурсов"
9
-1004="Исходный стереоформат:"
10
-1015="Открыть изображение"
11
-1028="Отобразить/Скрыть\nсписок файлов"
12
-1029="Оконный/Полноэкранный\nрежим просмотра"
13
-1100="Медиа"
14
-1101="Открыть изображение..."
15
-1102="Сохранить как..."
16
-1103="Исходный стереоформат"
17
-1104="Информация о файле"
18
-1109="Выход"
19
-1110="Из одного файла"
20
-1111="Левый+Правый файлы"
21
-1130="Исходный"
22
-1131="Моно"
23
-1132="Перекрёстная пара"
24
-1133="Параллельная пара"
25
-1134="Вертикальная пара (П/Л)"
26
-1135="Вертикальная пара (Л/П)"
27
-1136="Чересстрочный"
28
-1137="Анаглиф (Красно-Голубой)"
29
-1138="Анаглиф (Пурпурный)"
30
-1139="Анаглиф (Жёлтый)"
31
-1142="2 потока"
32
-1200="Вид"
33
-1201="Вывод стерео"
34
-1202="Полный экран"
35
-1203="Сбросить"
36
-1204="Реверс ракурсов"
37
-1205="Соотношение сторон"
38
-1206="Сглаживание текстур"
39
-1207="Цветокоррекция"
40
-1208="Панорама"
41
-1210="Стерео"
42
-1211="Левый ракурс"
43
-1212="Правый ракурс"
44
-1213="Параллельная пара"
45
-1214="Перекрёстная пара"
46
-1250="Исходное"
47
-1251="Запомнить"
48
-?1252="Heal anamorphic 1080p/720p"
49
-1260="Nearest"
50
-1261="Linear"
51
-1270="Сбросить настройки"
52
-1271="Яркость"
53
-1272="Насыщенность"
54
-1273="Гамма"
55
-1280="Плоскость"
56
-1281="Сфера"
57
-1282="Цилиндр"
58
-1283="Куб"
59
-1285="Отслеживать ориентацию"
60
-1286="Отслеживать ориентацию (poor)"
61
-1400="Выбрать устройство"
62
-1401="О модуле..."
63
-1402="Отображать FPS"
64
-1403="Верт. синхронизация"
65
-1500="Помощь"
66
-1501="О программе..."
67
-1502="Проверить обновления"
68
-1503="Открыть лицензию"
69
-1504="Language"
70
-1506="Подсказки"
71
-1508="О системе"
72
-1509="Масштаб. интерфейса"
73
-1510="Горячие клавиши"
74
-1511="Настройки"
75
-1520="Сейчас"
76
-1521="Каждый день"
77
-1522="Каждую неделю"
78
-1523="Каждый год"
79
-1524="Никогда"
80
-1590="Мелко"
81
-1591="Нормально"
82
-1592="Крупно"
83
-1593="Форсировать HiDPI 2X"
84
-2000="Выберите картинку"
85
-2001="Выберите файл с ЛЕВЫМ ракурсом"
86
-2002="Выберите файл с ПРАВЫМ ракурсом"
87
-2003="Информация о файле"
88
-2004="Информация не доступна"
89
-2005="Удаление файла"
90
-2006="Вы действительно хотите\n<b>удалить файл</b> минуя корзину?"
91
-2007="Сохранение метаданных"
92
-2008="Вы действительно хотите\nсохранить метаданные в файл?"
93
-2009="Сохранение метаданных доступно только для файлов JPEG."
94
-2010="Выберите путь для сохранения картинки"
95
-2011="Ничего не открыто!"
96
-2012="Изображение недоступно для сохранения!"
97
-2013="Назначить новую комбинацию для\n<i>{0}</i>"
98
-2014="Конфликтует с: <i>{0}</i>"
99
-3000="sView - программа для просмотра изображений"
100
-3001="версия"
101
-3002="Программа отображает стереоскопические изображения в форматах JPEG, PNG, MPO.\n © {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}\n\nПрограмма распространяется на условиях GPL3.0"
102
-3003="Доступно обновление программы.\nВы можете загрузить новую версию с официального сайта www.sview.ru."
103
-3004="Информация о системе"
104
-4000="Закрыть"
105
-4001="Отменить"
106
-4006="Сохранить"
107
-4007="Удалить"
108
-4008="По умолчанию"
109
-4009="Сбросить всё"
110
-4010="Установить"
111
-5000="[левый]"
112
-5001="[правый]"
113
-5002="Имя файла"
114
-5003="Разрешение"
115
-5004="Время загрузки"
116
-5005="мс"
117
-5006="Пропорции пикселя"
118
-5007="Color model"
119
-5008="(информация отсутствует в метаданных)"
120
-5009="(не соответствует метаданным)"
121
-5011="(информация отсутствует в метаданных,\nно была определена по имени файла)"
122
-5100="JPEG комментарий"
123
-5101="JPS комментарий"
124
-5200="Производитель камеры"
125
-5201="Модель камеры"
126
-5202="Комментарий"
127
-5203="Дата создания"
128
-6000="Активирование полноэкранного режима"
129
-6001="Отображение FPS"
130
-6002="Стереоформат - Автоопределение"
131
-6003="Стереоформат - Моно"
132
-6004="Стереоформат - Вертикальная пара"
133
-6005="Стереоформат - Перекрёстная пара"
134
-6006="Информация о файле"
135
-6007="Список файлов - Перейти к первому элементу"
136
-6008="Список файлов - Перейти к последнему элементу"
137
-6009="Список файлов - Перейти к предыдущему элементу"
138
-6010="Список файлов - Перейти к следующему элементу"
139
-6011="Список файлов - Запустить/остановить слайдшоу"
140
-6012="Сохранить в PNG формате"
141
-6013="Сохранить в JPEG формате"
142
-6014="Сохранить в файл метаданные со стереоформатом"
143
-6015="Удалить файл из файловой системы"
144
-6016="Сбросить настройки цвета"
145
-6017="Сбросить позицию картинки"
146
-6018="Реверс ракурсов"
147
-6019="Гамма коррекция - понизить коэффициент"
148
-6020="Гамма коррекция - повысить коэффициент"
149
-6021="DX разделение ракурсов - уменьшить"
150
-6022="DX разделение ракурсов - увеличить"
151
-6023="DY разделение ракурсов - уменьшить"
152
-6024="DY разделение ракурсов - увеличить"
153
-6025="Угловое разделение ракурсов - уменьшить"
154
-6026="Угловое разделение ракурсов - увеличить"
155
-6027="Поворот на 90 градусов против часовой стрелки"
156
-6028="Поворот на 90 градусов по часовой стрелке"
157
-6029="Поворот против часовой стрелки"
158
-6030="Поворот по часовой стрелке"
159
-6031="Выбрать следующий режим"
160
-6032="Паннинг - движение налево"
161
-6033="Паннинг - движение направо"
162
-6034="Паннинг - движение наверх"
163
-6035="Паннинг - движение вниз"
164
-6036="Масштабирование - увеличить"
165
-6037="Масштабирование - уменьшить"
166
-6038="Y наклон - налево"
167
-6039="Y наклон - направо"
168
-6040="X наклон - наверх"
169
-6041="X наклон - вниз"
170
-6042="Включить/выключить панорамный режим"
171
+1000=Предыдущая картинка
172
+1001=Следующая картинка
173
+1002=Поменять ракурсы местами
174
+1003=Отключить реверс ракурсов
175
+1004=Исходный стереоформат:
176
+1015=Открыть изображение
177
+1028=Отобразить/Скрыть\nсписок файлов
178
+1029=Оконный/Полноэкранный\nрежим просмотра
179
+1100=Медиа
180
+1101=Открыть изображение...
181
+1102=Сохранить как...
182
+1103=Исходный стереоформат
183
+1104=Информация о файле
184
+1109=Выход
185
+1110=Из одного файла
186
+1111=Левый+Правый файлы
187
+1130=Исходный
188
+1131=Моно
189
+1132=Перекрёстная пара
190
+1133=Параллельная пара
191
+1134=Вертикальная пара (П/Л)
192
+1135=Вертикальная пара (Л/П)
193
+1136=Чересстрочный
194
+1137=Анаглиф (Красно-Голубой)
195
+1138=Анаглиф (Пурпурный)
196
+1139=Анаглиф (Жёлтый)
197
+1142=2 потока
198
+1200=Вид
199
+1201=Вывод стерео
200
+1202=Полный экран
201
sview-15_10.tar.gz/StMonitorsDump/StMonitorsDump.cbp -> sview-15_11.tar.gz/StMonitorsDump/StMonitorsDump.cbp Changed
49
 
1
@@ -6,32 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/StMonitorsDump" prefix_auto="1" extension_auto="1" />
7
-               <Option working_dir="../bin/$(TARGET_NAME)/" />
8
-               <Option object_output="obj/$(TARGET_NAME)/" />
9
-               <Option type="1" />
10
-               <Option compiler="gcc" />
11
-               <Compiler>
12
-                   <Add option="-O3" />
13
-                   <Add option="-std=c++0x" />
14
-                   <Add option="-Wall" />
15
-                   <Add option="-g" />
16
-                   <Add option="-mmmx" />
17
-                   <Add option="-msse" />
18
-                   <Add option="-DUNICODE" />
19
-                   <Add option="-D_WIN32_WINNT=0x0500" />
20
-                   <Add option="-DST_DEBUG" />
21
-                   <Add option="-DST_HAVE_STCONFIG" />
22
-               </Compiler>
23
-               <Linker>
24
-                   <Add library="gdi32" />
25
-                   <Add library="user32" />
26
-                   <Add library="kernel32" />
27
-                   <Add library="Version" />
28
-                   <Add library="nvapi" />
29
-               </Linker>
30
-           </Target>
31
            <Target title="WIN_vc_x86">
32
                <Option output="../bin/$(TARGET_NAME)/StMonitorsDump" prefix_auto="1" extension_auto="1" />
33
                <Option working_dir="../bin/$(TARGET_NAME)/" />
34
@@ -62,12 +36,12 @@
35
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /manifest &quot;..\dpiAware.manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;1' />
36
                </ExtraCommands>
37
            </Target>
38
-           <Target title="WIN_vc_x86_DEBUG">
39
+           <Target title="WIN_vc_AMD64_DEBUG">
40
                <Option output="../bin/$(TARGET_NAME)/StMonitorsDump" prefix_auto="1" extension_auto="1" />
41
                <Option working_dir="../bin/$(TARGET_NAME)/" />
42
                <Option object_output="obj/$(TARGET_NAME)/" />
43
                <Option type="1" />
44
-               <Option compiler="msvc10" />
45
+               <Option compiler="windows_sdk_x86_64" />
46
                <Compiler>
47
                    <Add option="/MDd" />
48
                    <Add option="/Od" />
49
sview-15_10.tar.gz/StMoviePlayer/StMoviePlayer.cbp -> sview-15_11.tar.gz/StMoviePlayer/StMoviePlayer.cbp Changed
100
 
1
@@ -6,40 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/libStMoviePlayer" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
7
-               <Option object_output="obj/$(TARGET_NAME)/" />
8
-               <Option type="3" />
9
-               <Option compiler="gcc" />
10
-               <Option parameters="--in=StMoviePlayer" />
11
-               <Option host_application="./sView" />
12
-               <Option run_host_application_in_terminal="0" />
13
-               <Option createStaticLib="1" />
14
-               <Compiler>
15
-                   <Add option="-O3" />
16
-                   <Add option="-std=c++0x" />
17
-                   <Add option="-Wall" />
18
-                   <Add option="-g" />
19
-                   <Add option="-shared" />
20
-                   <Add option="-mmmx" />
21
-                   <Add option="-msse" />
22
-                   <Add option="-DUNICODE" />
23
-                   <Add option="-DST_DEBUG" />
24
-                   <Add option="-DST_HAVE_STCONFIG" />
25
-               </Compiler>
26
-               <Linker>
27
-                   <Add library="opengl32" />
28
-                   <Add library="OpenAL32" />
29
-                   <Add library="gdi32" />
30
-                   <Add library="Comdlg32" />
31
-                   <Add library="shell32" />
32
-                   <Add library="Wsock32" />
33
-                   <Add library="Version" />
34
-               </Linker>
35
-               <ExtraCommands>
36
-                   <Add before='cmd /c call ..\copy_res.bat $(TARGET_OUTPUT_DIR) $(TARGET_OUTPUT_BASENAME)' />
37
-               </ExtraCommands>
38
-           </Target>
39
            <Target title="WIN_vc_x86">
40
                <Option output="../bin/$(TARGET_NAME)/StMoviePlayer" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
41
                <Option working_dir="../bin/$(TARGET_NAME)/" />
42
@@ -70,6 +36,7 @@
43
                    <Add library="Advapi32" />
44
                    <Add library="Comdlg32" />
45
                    <Add library="shell32" />
46
+                   <Add library="Ole32" />
47
                    <Add library="Wsock32" />
48
                </Linker>
49
                <ExtraCommands>
50
@@ -77,12 +44,12 @@
51
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;2' />
52
                </ExtraCommands>
53
            </Target>
54
-           <Target title="WIN_vc_x86_DEBUG">
55
+           <Target title="WIN_vc_AMD64_DEBUG">
56
                <Option output="../bin/$(TARGET_NAME)/StMoviePlayer" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
57
                <Option working_dir="../bin/$(TARGET_NAME)/" />
58
                <Option object_output="obj/$(TARGET_NAME)/" />
59
                <Option type="3" />
60
-               <Option compiler="msvc10" />
61
+               <Option compiler="windows_sdk_x86_64" />
62
                <Option parameters="--in=StMoviePlayer" />
63
                <Option host_application="./sView" />
64
                <Option run_host_application_in_terminal="0" />
65
@@ -111,6 +78,7 @@
66
                    <Add library="Advapi32" />
67
                    <Add library="Comdlg32" />
68
                    <Add library="shell32" />
69
+                   <Add library="Ole32" />
70
                    <Add library="Wsock32" />
71
                    <Add library="Version" />
72
                </Linker>
73
@@ -149,6 +117,7 @@
74
                    <Add library="Advapi32" />
75
                    <Add library="Comdlg32" />
76
                    <Add library="shell32" />
77
+                   <Add library="Ole32" />
78
                    <Add library="Wsock32" />
79
                </Linker>
80
                <ExtraCommands>
81
@@ -310,9 +279,8 @@
82
        <Unit filename="StMoviePlayer.h" />
83
        <Unit filename="StMoviePlayer.rc">
84
            <Option compilerVar="WINDRES" />
85
-           <Option target="WIN_gcc_x86" />
86
            <Option target="WIN_vc_x86" />
87
-           <Option target="WIN_vc_x86_DEBUG" />
88
+           <Option target="WIN_vc_AMD64_DEBUG" />
89
            <Option target="WIN_vc_AMD64" />
90
        </Unit>
91
        <Unit filename="StMoviePlayerGUI.cpp" />
92
@@ -339,6 +307,7 @@
93
        <Unit filename="StVideo/StSubtitlesASS.h" />
94
        <Unit filename="StVideo/StVideo.cpp" />
95
        <Unit filename="StVideo/StVideo.h" />
96
+       <Unit filename="StVideo/StVideoDxva2.cpp" />
97
        <Unit filename="StVideo/StVideoQueue.cpp" />
98
        <Unit filename="StVideo/StVideoQueue.h" />
99
        <Unit filename="StVideo/StVideoTimer.cpp" />
100
sview-15_10.tar.gz/StMoviePlayer/StMoviePlayer.cpp -> sview-15_11.tar.gz/StMoviePlayer/StMoviePlayer.cpp Changed
201
 
1
@@ -28,6 +28,7 @@
2
 #include <StSocket/StCheckUpdates.h>
3
 #include <StSettings/StSettings.h>
4
 #include <StStrings/StStringStream.h>
5
+#include <StCore/StSearchMonitors.h>
6
 
7
 #include <StGL/StGLContext.h>
8
 #include <StGLCore/StGLCore20.h>
9
@@ -98,6 +99,7 @@
10
     static const char ST_SETTING_WEBUI_ON[]      = "webuiOn";
11
     static const char ST_SETTING_WEBUI_PORT[]    = "webuiPort";
12
     static const char ST_SETTING_WEBUI_ERRORS[]  = "webuiShowErrors";
13
+    static const char ST_SETTING_WEBUI_CMDPORT[] = "webuiCmdPort";
14
 
15
     static const char ST_ARGUMENT_FILE_LEFT[]  = "left";
16
     static const char ST_ARGUMENT_FILE_RIGHT[] = "right";
17
@@ -105,6 +107,30 @@
18
     static const char ST_ARGUMENT_FILE_PAUSE[] = "pause";
19
     static const char ST_ARGUMENT_FILE_PAUSED[]= "paused";
20
     static const char ST_ARGUMENT_BENCHMARK[]  = "benchmark";
21
+    static const char ST_ARGUMENT_SHOW_MENU[]  = "toShowMenu";
22
+    static const char ST_ARGUMENT_SHOW_TOPBAR[]= "toShowTopbar";
23
+    static const char ST_ARGUMENT_MONITOR[]    = "monitorId";
24
+    static const char ST_ARGUMENT_WINLEFT[]    = "windowLeft";
25
+    static const char ST_ARGUMENT_WINTOP[]     = "windowTop";
26
+    static const char ST_ARGUMENT_WINWIDTH[]   = "windowWidth";
27
+    static const char ST_ARGUMENT_WINHEIGHT[]  = "windowHeight";
28
+
29
+#ifdef _WIN32
30
+    inline void stFromLocaleOrUtf8(StString&   theStrResult,
31
+                                   const char* theStrInput) {
32
+        int aWideSize = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, theStrInput, -1, NULL, 0);
33
+        if(aWideSize == 0) {
34
+            theStrResult.fromLocale(theStrInput);
35
+            return;
36
+        }
37
+
38
+        wchar_t* aWideBuffer = new wchar_t[aWideSize + 1];
39
+        MultiByteToWideChar(CP_UTF8, 0, theStrInput, -1, aWideBuffer, aWideSize);
40
+        aWideBuffer[aWideSize] = L'\0';
41
+        theStrResult.fromUnicode(aWideBuffer);
42
+        delete[] aWideBuffer;
43
+    }
44
+#endif
45
 
46
 }
47
 
48
@@ -115,40 +141,54 @@
49
 
50
 void StALDeviceParam::initList() {
51
     myValue = 0;
52
-    myDevicesList.clear();
53
+    myDevicesLoc.clear();
54
+    myDevicesUtf.clear();
55
     StString aName;
56
     if(alcIsExtensionPresent(NULL, "ALC_ENUMERATE_ALL_EXT") != AL_TRUE) {
57
-        // ansient OpenAL implementations supports only single device (like from apples)
58
+        // ancient OpenAL implementations (like from apples) support only single device
59
         const ALchar* aDefDevice = alcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER);
60
     #ifdef _WIN32
61
-        aName.fromLocale(aDefDevice);
62
+        stFromLocaleOrUtf8(aName, aDefDevice);
63
     #else
64
         aName.fromUnicode(aDefDevice);
65
     #endif
66
-        myDevicesList.add(aName);
67
+        myDevicesUtf.add(aName);
68
+        myDevicesLoc.push_back(std::string(aDefDevice));
69
         return;
70
     }
71
 
72
+    const StString THE_ALSOFT_SUFFIX(" on OpenAL Soft");
73
     const ALchar* aDevicesNames = alcGetString(NULL, ALC_ALL_DEVICES_SPECIFIER);
74
-    while(aDevicesNames && *aDevicesNames) {
75
+    while(aDevicesNames != NULL
76
+      && *aDevicesNames != '\0') {
77
+        std::string aCName(aDevicesNames);
78
     #ifdef _WIN32
79
-        aName.fromLocale(aDevicesNames);
80
+        stFromLocaleOrUtf8(aName, aDevicesNames);
81
     #else
82
         aName.fromUnicode(aDevicesNames);
83
     #endif
84
-        myDevicesList.add(aName);
85
-        aDevicesNames += strlen(aDevicesNames) + 1;
86
+        // cut-off redundant suffixes - the names are too long
87
+        if(aName.isEndsWithIgnoreCase(THE_ALSOFT_SUFFIX)) {
88
+            size_t anEnd = aName.getLength() - THE_ALSOFT_SUFFIX.getLength();
89
+            aName = aName.subString(0, anEnd);
90
+        }
91
+
92
+        myDevicesUtf.add(aName);
93
+        myDevicesLoc.push_back(aCName);
94
+        aDevicesNames += aCName.length() + 1;
95
     }
96
-    if(myDevicesList.isEmpty()) {
97
-        myDevicesList.add("None"); // append dummy device
98
+    if(myDevicesUtf.isEmpty()) {
99
+        // append dummy device
100
+        myDevicesUtf.add("None");
101
+        myDevicesLoc.push_back("");
102
     }
103
 }
104
 
105
 StALDeviceParam::~StALDeviceParam() {}
106
 
107
 int32_t StALDeviceParam::getValueFromName(const StString& theName) {
108
-    for(size_t anId = 0; anId < myDevicesList.size(); ++anId) {
109
-        if(myDevicesList[anId] == theName) {
110
+    for(size_t anId = 0; anId < myDevicesUtf.size(); ++anId) {
111
+        if(myDevicesUtf[anId] == theName) {
112
             return int32_t(anId);
113
         }
114
     }
115
@@ -160,12 +200,22 @@
116
     return myValue >= 0;
117
 }
118
 
119
-StString StALDeviceParam::getTitle() const {
120
-    if(myDevicesList.isEmpty()) {
121
+StString StALDeviceParam::getUtfTitle() const {
122
+    if(myDevicesUtf.isEmpty()) {
123
         return StString();
124
     }
125
+
126
     int32_t anActive = getValue();
127
-    return myDevicesList[(anActive >= 0 && size_t(anActive) < myDevicesList.size()) ? size_t(anActive) : 0];
128
+    return myDevicesUtf[(anActive >= 0 && size_t(anActive) < myDevicesUtf.size()) ? size_t(anActive) : 0];
129
+}
130
+
131
+std::string StALDeviceParam::getCTitle() const {
132
+    if(myDevicesUtf.isEmpty()) {
133
+        return std::string();
134
+    }
135
+
136
+    int32_t anActive = getValue();
137
+    return myDevicesLoc[(anActive >= 0 && size_t(anActive) < myDevicesUtf.size()) ? size_t(anActive) : 0];
138
 }
139
 
140
 /**
141
@@ -485,6 +535,8 @@
142
     params.ToShowPlayList->signals.onChanged = stSlot(this, &StMoviePlayer::doShowPlayList);
143
     params.ToTrackHead = new StBoolParamNamed(true,  tr(MENU_VIEW_TRACK_HEAD));
144
     params.ToShowFps   = new StBoolParamNamed(false, tr(MENU_FPS_METER));
145
+    params.ToShowMenu  = new StBoolParamNamed(true, "Show main menu");
146
+    params.ToShowTopbar= new StBoolParamNamed(true, "Show top toolbar");
147
     params.IsMobileUI  = new StBoolParamNamed(StWindow::isMobile(), "Mobile UI");
148
     params.IsMobileUI->signals.onChanged = stSlot(this, &StMoviePlayer::doScaleHiDPI);
149
     params.IsVSyncOn   = new StBoolParam(true);
150
@@ -496,6 +548,7 @@
151
     params.StartWebUI->changeValues().add(tr(MENU_MEDIA_WEBUI_ONCE));
152
     params.StartWebUI->changeValues().add(tr(MENU_MEDIA_WEBUI_ON));
153
     params.ToPrintWebErrors = new StBoolParam(true);
154
+    params.IsLocalWebUI     = new StBoolParam(false);
155
     params.WebUIPort        = new StInt32Param(8080);
156
     params.audioStream = new StInt32Param(-1);
157
     params.audioStream->signals.onChanged = stSlot(this, &StMoviePlayer::doSwitchAudioStream);
158
@@ -735,7 +788,7 @@
159
         mySettings->saveParam (ST_SETTING_SUBTITLES_PARSER,   params.SubtitlesParser);
160
         mySettings->saveParam (ST_SETTING_SEARCH_SUBS,        params.ToSearchSubs);
161
         mySettings->saveInt32 (ST_SETTING_FPSTARGET,          params.TargetFps);
162
-        mySettings->saveString(ST_SETTING_OPENAL_DEVICE,      params.alDevice->getTitle());
163
+        mySettings->saveString(ST_SETTING_OPENAL_DEVICE,      params.alDevice->getUtfTitle());
164
         mySettings->saveInt32 (ST_SETTING_UPDATES_LAST_CHECK, myLastUpdateDay);
165
         mySettings->saveParam (ST_SETTING_UPDATES_INTERVAL,   params.checkUpdatesDays);
166
         mySettings->saveParam (ST_SETTING_SRCFORMAT,          params.srcFormat);
167
@@ -752,7 +805,9 @@
168
         mySettings->saveParam (ST_SETTING_GPU_DECODING,       params.UseGpu);
169
 
170
         mySettings->saveParam (ST_SETTING_WEBUI_ON,           params.StartWebUI);
171
-        mySettings->saveParam (ST_SETTING_WEBUI_PORT,         params.WebUIPort);
172
+        if(!params.IsLocalWebUI->getValue()) {
173
+            mySettings->saveParam (ST_SETTING_WEBUI_PORT,     params.WebUIPort);
174
+        }
175
         mySettings->saveParam (ST_SETTING_WEBUI_ERRORS,       params.ToPrintWebErrors);
176
         mySettings->saveParam (ST_SETTING_SAVE_IMG_TYPE,      params.SnapshotImgType);
177
         mySettings->saveParam (ST_SETTING_EXPERIMENTAL,       params.ToShowExtra);
178
@@ -896,7 +951,14 @@
179
     stMemZero(&aCallbacks, sizeof(aCallbacks));
180
     aCallbacks.begin_request = StMoviePlayer::beginRequestHandler;
181
     const StString aPort = params.WebUIPort->getValue();
182
-    const char* anOptions[] = { "listening_ports", aPort.toCString(), NULL };
183
+
184
+    StString aControlList = "+0.0.0.0/0";
185
+    if(params.IsLocalWebUI->getValue()) {
186
+        aControlList = "-0.0.0.0/0,+127.0.0.0/16";
187
+    }
188
+    const char* anOptions[] = { "listening_ports",     aPort.toCString(),
189
+                                "access_control_list", aControlList.toCString(),
190
+                                NULL };
191
     myWebCtx = mg_start(&aCallbacks, this, anOptions);
192
     if(myWebCtx == NULL
193
     && params.ToPrintWebErrors->getValue()) {
194
@@ -940,6 +1002,17 @@
195
 
196
     // load hot-keys
197
     if(!isReset) {
198
+    #ifdef ST_HAVE_MONGOOSE
199
+        // handle this argument in advance
200
+        if(!myOpenFileInfo.isNull()) {
201
sview-15_10.tar.gz/StMoviePlayer/StMoviePlayer.h -> sview-15_11.tar.gz/StMoviePlayer/StMoviePlayer.h Changed
65
 
1
@@ -29,6 +29,8 @@
2
 
3
 #include <StGLWidgets/StGLImageRegion.h>
4
 
5
+#include <vector>
6
+
7
 // forward declarations
8
 class StCheckUpdates;
9
 class StFileNode;
10
@@ -56,9 +58,9 @@
11
     ST_LOCAL StALDeviceParam();
12
 
13
     /**
14
-     * Desctructor.
15
+     * Destructor.
16
      */
17
-    ST_LOCAL ~StALDeviceParam();
18
+    ST_LOCAL virtual ~StALDeviceParam();
19
 
20
     ST_LOCAL void initList();
21
 
22
@@ -69,18 +71,24 @@
23
     /**
24
      * Returns title for active AL device.
25
      */
26
-    ST_LOCAL StString getTitle() const;
27
+    ST_LOCAL StString getUtfTitle() const;
28
+
29
+    /**
30
+     * Returns title for active AL device.
31
+     */
32
+    ST_LOCAL std::string getCTitle() const;
33
 
34
     /**
35
      * Return list of available translations.
36
      */
37
     ST_LOCAL const StArrayList<StString>& getList() const {
38
-        return myDevicesList;
39
+        return myDevicesUtf;
40
     }
41
 
42
         private:
43
 
44
-    StArrayList<StString> myDevicesList;
45
+    std::vector<std::string> myDevicesLoc;
46
+    StArrayList<StString>    myDevicesUtf;
47
 
48
 };
49
 
50
@@ -217,11 +225,14 @@
51
         StHandle<StBoolParam>     ToTrackHead;      //!< enable/disable head-tracking
52
         StHandle<StBoolParam>     ToShowPlayList;   //!< display playlist
53
         StHandle<StBoolParam>     ToShowFps;        //!< display FPS meter
54
+        StHandle<StBoolParam>     ToShowMenu;       //!< show main menu
55
+        StHandle<StBoolParam>     ToShowTopbar;     //!< show topbar
56
         StHandle<StBoolParam>     IsMobileUI;       //!< display mobile interface
57
         StHandle<StBoolParam>     ToLimitFps;       //!< limit CPU usage or not
58
         StHandle<StBoolParam>     IsVSyncOn;        //!< flag to use VSync
59
         StHandle<StEnumParam>     StartWebUI;       //!< to start Web UI or not
60
         StHandle<StBoolParam>     ToPrintWebErrors; //!< print Web UI starting errors
61
+        StHandle<StBoolParam>     IsLocalWebUI;     //!< restrict remote access to 127.0.0.0
62
         StHandle<StInt32Param>    WebUIPort;        //!< port to start Web UI
63
         StHandle<StInt32Param>    audioStream;      //!< active Audio stream
64
         StHandle<StInt32Param>    subtitlesStream;  //!< active Subtitles stream
65
sview-15_10.tar.gz/StMoviePlayer/StMoviePlayer.vcxproj -> sview-15_11.tar.gz/StMoviePlayer/StMoviePlayer.vcxproj Changed
45
 
1
@@ -96,7 +96,7 @@
2
       <PreprocessorDefinitions>ST_HAVE_STCONFIG;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
3
     </ResourceCompile>
4
     <Link>
5
-      <AdditionalDependencies>opengl32.lib;OpenAL32.lib;user32.lib;gdi32.lib;Advapi32.lib;Comdlg32.lib;Shell32.lib;avutil.lib;avformat.lib;avcodec.lib;swscale.lib;freetype.lib;libwebp.lib;StGLWidgets.lib;StShared.lib;StCore.lib;StOutAnaglyph.lib;StOutDual.lib;StOutIZ3D.lib;StOutInterlace.lib;StOutPageFlip.lib;StOutDistorted.lib;%(AdditionalDependencies)</AdditionalDependencies>
6
+      <AdditionalDependencies>opengl32.lib;OpenAL32.lib;user32.lib;gdi32.lib;Advapi32.lib;Comdlg32.lib;Shell32.lib;Ole32.lib;avutil.lib;avformat.lib;avcodec.lib;swscale.lib;freetype.lib;libwebp.lib;StGLWidgets.lib;StShared.lib;StCore.lib;StOutAnaglyph.lib;StOutDual.lib;StOutIZ3D.lib;StOutInterlace.lib;StOutPageFlip.lib;StOutDistorted.lib;%(AdditionalDependencies)</AdditionalDependencies>
7
       <SuppressStartupBanner>true</SuppressStartupBanner>
8
       <AdditionalLibraryDirectories>..\3rdparty\lib\WIN_vc_x86;..\lib\WIN_vc_x86;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
9
       <SubSystem>Windows</SubSystem>
10
@@ -130,7 +130,7 @@
11
       <PreprocessorDefinitions>ST_HAVE_STCONFIG;_CRT_SECURE_NO_WARNINGS;_DEBUG;ST_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
12
     </ResourceCompile>
13
     <Link>
14
-      <AdditionalDependencies>opengl32.lib;OpenAL32.lib;user32.lib;gdi32.lib;Advapi32.lib;Comdlg32.lib;Shell32.lib;avutil.lib;avformat.lib;avcodec.lib;swscale.lib;freetype.lib;libwebp.lib;StGLWidgets.lib;StShared.lib;StCore.lib;StOutAnaglyph.lib;StOutDual.lib;StOutIZ3D.lib;StOutInterlace.lib;StOutPageFlip.lib;StOutDistorted.lib;%(AdditionalDependencies)</AdditionalDependencies>
15
+      <AdditionalDependencies>opengl32.lib;OpenAL32.lib;user32.lib;gdi32.lib;Advapi32.lib;Comdlg32.lib;Shell32.lib;Ole32.lib;avutil.lib;avformat.lib;avcodec.lib;swscale.lib;freetype.lib;libwebp.lib;StGLWidgets.lib;StShared.lib;StCore.lib;StOutAnaglyph.lib;StOutDual.lib;StOutIZ3D.lib;StOutInterlace.lib;StOutPageFlip.lib;StOutDistorted.lib;%(AdditionalDependencies)</AdditionalDependencies>
16
       <SuppressStartupBanner>true</SuppressStartupBanner>
17
       <AdditionalLibraryDirectories>..\3rdparty\lib\WIN_vc_x86_DEBUG;..\lib\WIN_vc_x86_DEBUG;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
18
       <GenerateDebugInformation>true</GenerateDebugInformation>
19
@@ -164,7 +164,7 @@
20
       <PreprocessorDefinitions>ST_HAVE_STCONFIG;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
21
     </ResourceCompile>
22
     <Link>
23
-      <AdditionalDependencies>opengl32.lib;OpenAL32.lib;user32.lib;gdi32.lib;Advapi32.lib;Comdlg32.lib;Shell32.lib;avutil.lib;avformat.lib;avcodec.lib;swscale.lib;freetype.lib;libwebp.lib;StGLWidgets.lib;StShared.lib;StCore.lib;StOutAnaglyph.lib;StOutDual.lib;StOutIZ3D.lib;StOutInterlace.lib;StOutPageFlip.lib;StOutDistorted.lib;%(AdditionalDependencies)</AdditionalDependencies>
24
+      <AdditionalDependencies>opengl32.lib;OpenAL32.lib;user32.lib;gdi32.lib;Advapi32.lib;Comdlg32.lib;Shell32.lib;Ole32.lib;avutil.lib;avformat.lib;avcodec.lib;swscale.lib;freetype.lib;libwebp.lib;StGLWidgets.lib;StShared.lib;StCore.lib;StOutAnaglyph.lib;StOutDual.lib;StOutIZ3D.lib;StOutInterlace.lib;StOutPageFlip.lib;StOutDistorted.lib;%(AdditionalDependencies)</AdditionalDependencies>
25
       <SuppressStartupBanner>true</SuppressStartupBanner>
26
       <AdditionalLibraryDirectories>..\3rdparty\lib\WIN_vc_AMD64;..\lib\WIN_vc_AMD64;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
27
       <SubSystem>Windows</SubSystem>
28
@@ -198,7 +198,7 @@
29
       <PreprocessorDefinitions>ST_HAVE_STCONFIG;_CRT_SECURE_NO_WARNINGS;_DEBUG;ST_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
30
     </ResourceCompile>
31
     <Link>
32
-      <AdditionalDependencies>opengl32.lib;OpenAL32.lib;user32.lib;gdi32.lib;Advapi32.lib;Comdlg32.lib;Shell32.lib;avutil.lib;avformat.lib;avcodec.lib;swscale.lib;freetype.lib;libwebp.lib;StGLWidgets.lib;StShared.lib;StCore.lib;StOutAnaglyph.lib;StOutDual.lib;StOutIZ3D.lib;StOutInterlace.lib;StOutPageFlip.lib;StOutDistorted.lib;%(AdditionalDependencies)</AdditionalDependencies>
33
+      <AdditionalDependencies>opengl32.lib;OpenAL32.lib;user32.lib;gdi32.lib;Advapi32.lib;Comdlg32.lib;Shell32.lib;Ole32.lib;avutil.lib;avformat.lib;avcodec.lib;swscale.lib;freetype.lib;libwebp.lib;StGLWidgets.lib;StShared.lib;StCore.lib;StOutAnaglyph.lib;StOutDual.lib;StOutIZ3D.lib;StOutInterlace.lib;StOutPageFlip.lib;StOutDistorted.lib;%(AdditionalDependencies)</AdditionalDependencies>
34
       <SuppressStartupBanner>true</SuppressStartupBanner>
35
       <AdditionalLibraryDirectories>..\3rdparty\lib\WIN_vc_AMD64_DEBUG;..\lib\WIN_vc_AMD64_DEBUG;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
36
       <GenerateDebugInformation>true</GenerateDebugInformation>
37
@@ -214,6 +214,7 @@
38
     <ClCompile Include="StVideo\StSubtitleQueue.cpp" />
39
     <ClCompile Include="StVideo\StSubtitlesASS.cpp" />
40
     <ClCompile Include="StVideo\StVideo.cpp" />
41
+    <ClCompile Include="StVideo\StVideoDxva2.cpp" />
42
     <ClCompile Include="StVideo\StVideoQueue.cpp" />
43
     <ClCompile Include="StVideo\StVideoTimer.cpp" />
44
     <ClCompile Include="stMongoose.c" />
45
sview-15_10.tar.gz/StMoviePlayer/StMoviePlayer.vcxproj.filters -> sview-15_11.tar.gz/StMoviePlayer/StMoviePlayer.vcxproj.filters Changed
11
 
1
@@ -30,6 +30,9 @@
2
     <ClCompile Include="StVideo\StVideo.cpp">
3
       <Filter>Source files</Filter>
4
     </ClCompile>
5
+    <ClCompile Include="StVideo\StVideoDxva2.cpp">
6
+      <Filter>Source files</Filter>
7
+    </ClCompile>
8
     <ClCompile Include="StVideo\StVideoQueue.cpp">
9
       <Filter>Source files</Filter>
10
     </ClCompile>
11
sview-15_10.tar.gz/StMoviePlayer/StMoviePlayerGUI.cpp -> sview-15_11.tar.gz/StMoviePlayer/StMoviePlayerGUI.cpp Changed
201
 
1
@@ -70,9 +70,9 @@
2
     static const int DISPL_X_REGION_UPPER  = 32;
3
     static const int DISPL_X_REGION_BOTTOM = 52;
4
 
5
-    static const StGLVec3 aBlack(0.0f, 0.0f, 0.0f);
6
-    static const StGLVec3 aGreen(0.4f, 0.8f, 0.4f);
7
-    static const StGLVec3 aRed  (1.0f, 0.0f, 0.0f);
8
+    static const StGLVec3 aBlack (0.0f, 0.0f, 0.0f);
9
+    static const StGLVec3 aGreen (0.0f, 0.6f, 0.4f);
10
+    static const StGLVec3 aRed   (1.0f, 0.0f, 0.0f);
11
 
12
 }
13
 
14
@@ -150,10 +150,10 @@
15
     myBtnInfo->changeMargins() = aButtonMargins;
16
 
17
     StGLTextureButton* aSrcBtn = new StGLTextureButton(myPanelUpper, aLeft + (aBtnIter++) * anIconStep, aTop,
18
-                                                       StGLCorner(ST_VCORNER_TOP, ST_HCORNER_LEFT), StFormat_NB);
19
+                                                       StGLCorner(ST_VCORNER_TOP, ST_HCORNER_LEFT), StFormat_NB + 1);
20
     aSrcBtn->changeMargins() = aButtonMargins;
21
     aSrcBtn->signals.onBtnClick += stSlot(this, &StMoviePlayerGUI::doDisplayStereoFormatCombo);
22
-    const StString aSrcTextures[StFormat_NB] = {
23
+    const StString aSrcTextures[StFormat_NB + 1] = {
24
         iconTexture(stCString("menuMono"),           anIconSize),
25
         iconTexture(stCString("menuSbsLR"),          anIconSize),
26
         iconTexture(stCString("menuSbsRL"),          anIconSize),
27
@@ -166,9 +166,10 @@
28
         iconTexture(stCString("menuRedCyanLR"),      anIconSize),
29
         iconTexture(stCString("menuGreenMagentaLR"), anIconSize),
30
         iconTexture(stCString("menuYellowBlueLR"),   anIconSize),
31
-        iconTexture(stCString("menuTiledLR"),        anIconSize)
32
+        iconTexture(stCString("menuTiledLR"),        anIconSize),
33
+        iconTexture(stCString("menuAuto"),           anIconSize)
34
     };
35
-    aSrcBtn->setTexturePath(aSrcTextures, StFormat_NB);
36
+    aSrcBtn->setTexturePath(aSrcTextures, StFormat_NB + 1);
37
     aSrcBtn->setDrawShadow(true);
38
     myBtnSrcFrmt = aSrcBtn;
39
 
40
@@ -374,7 +375,11 @@
41
 #endif
42
 
43
 #ifdef ST_HAVE_MONGOOSE
44
-    aMenuMedia->addItem(tr(MENU_MEDIA_WEBUI) + ":" + myPlugin->params.WebUIPort->getValue(), aMenuWebUI);
45
+    StString aWebUiItem = tr(MENU_MEDIA_WEBUI) + ":" + myPlugin->params.WebUIPort->getValue();
46
+    if(myPlugin->params.IsLocalWebUI->getValue()) {
47
+        aWebUiItem += " [CMD]";
48
+    }
49
+    aMenuMedia->addItem(aWebUiItem, aMenuWebUI);
50
 #endif
51
     aMenuMedia->addItem(tr(MENU_MEDIA_QUIT), myPlugin->getAction(StMoviePlayer::Action_Quit));
52
     return aMenuMedia;
53
@@ -515,6 +520,10 @@
54
 StGLMenu* StMoviePlayerGUI::createWebUIMenu() {
55
     StGLMenu* aMenu = new StGLMenu(this, 0, 0, StGLMenu::MENU_VERTICAL);
56
     for(size_t anIter = 0; anIter < myPlugin->params.StartWebUI->getValues().size(); ++anIter) {
57
+        if(myPlugin->params.IsLocalWebUI->getValue()
58
+        && anIter == StMoviePlayer::WEBUI_AUTO) {
59
+            continue;
60
+        }
61
         aMenu->addItem(myPlugin->params.StartWebUI->getValues()[anIter], myPlugin->params.StartWebUI, (int32_t )anIter);
62
     }
63
     aMenu->addItem(tr(MENU_MEDIA_WEBUI_SHOW_ERRORS), myPlugin->params.ToPrintWebErrors);
64
@@ -1187,10 +1196,10 @@
65
     myBtnOpen->changeMargins() = aButtonMargins;
66
 
67
     StGLTextureButton* aSrcBtn = new StGLTextureButton(myPanelUpper, (aBtnIter++) * myIconStep, 0,
68
-                                                       StGLCorner(ST_VCORNER_TOP, ST_HCORNER_LEFT), StFormat_NB);
69
+                                                       StGLCorner(ST_VCORNER_TOP, ST_HCORNER_LEFT), StFormat_NB + 1);
70
     aSrcBtn->changeMargins() = aButtonMargins;
71
     aSrcBtn->signals.onBtnClick += stSlot(this, &StMoviePlayerGUI::doDisplayStereoFormatCombo);
72
-    const StString aSrcTextures[StFormat_NB] = {
73
+    const StString aSrcTextures[StFormat_NB + 1] = {
74
         iconTexture(stCString("menuMono"),           anIconSize),
75
         iconTexture(stCString("menuSbsLR"),          anIconSize),
76
         iconTexture(stCString("menuSbsRL"),          anIconSize),
77
@@ -1203,9 +1212,10 @@
78
         iconTexture(stCString("menuRedCyanLR"),      anIconSize),
79
         iconTexture(stCString("menuGreenMagentaLR"), anIconSize),
80
         iconTexture(stCString("menuYellowBlueLR"),   anIconSize),
81
-        iconTexture(stCString("menuTiledLR"),        anIconSize)
82
+        iconTexture(stCString("menuTiledLR"),        anIconSize),
83
+        iconTexture(stCString("menuAuto"),           anIconSize)
84
     };
85
-    aSrcBtn->setTexturePath(aSrcTextures, StFormat_NB);
86
+    aSrcBtn->setTexturePath(aSrcTextures, StFormat_NB + 1);
87
     aSrcBtn->setDrawShadow(true);
88
     myBtnSrcFrmt = aSrcBtn;
89
 
90
@@ -1304,6 +1314,12 @@
91
 
92
     StGLOpenFile* aDialog = new StGLOpenFile(this, tr(DIALOG_OPEN_FILE), tr(BUTTON_CLOSE));
93
     aDialog->setMimeList(myPlugin->myVideo->getMimeListVideo());
94
+#if defined(_WIN32)
95
+    //
96
+#else
97
+    aDialog->addHotItem("/", "Root");
98
+#endif
99
+    aDialog->addHotItem(getResourceManager()->getFolder(StResourceManager::FolderId_SdCard));
100
     aDialog->addHotItem(getResourceManager()->getFolder(StResourceManager::FolderId_Downloads));
101
     aDialog->addHotItem(getResourceManager()->getFolder(StResourceManager::FolderId_Videos));
102
     aDialog->addHotItem(getResourceManager()->getFolder(StResourceManager::FolderId_Music));
103
@@ -1368,6 +1384,7 @@
104
     anItem->setIcon(stCMenuIcon("actionSettings"));
105
     anItem->signals.onItemClick += stSlot(this, &StMoviePlayerGUI::doMobileSettings);
106
     aMenu->stglInit();
107
+    setFocus(aMenu);
108
 }
109
 
110
 StMoviePlayerGUI::StMoviePlayerGUI(StMoviePlayer*  thePlugin,
111
@@ -1467,8 +1484,7 @@
112
     //
113
 }
114
 
115
-void StMoviePlayerGUI::stglUpdate(const StPointD_t& thePointZo,
116
-                                  bool              theIsMouseMoved) {
117
+void StMoviePlayerGUI::stglUpdate(const StPointD_t& thePointZo) {
118
     if(mySeekBar != NULL
119
     && myPanelBottom != NULL
120
     && myTimeBox->wasResized()) {
121
@@ -1482,7 +1498,7 @@
122
         myBtnSubs->getTrackedValue()->setValue(myPlugin->params.subtitlesStream->getValue() != -1);
123
     }
124
 
125
-    setVisibility(thePointZo, theIsMouseMoved);
126
+    setVisibility(thePointZo);
127
     StGLRootWidget::stglUpdate(thePointZo);
128
     if(myVolumeBar != NULL) {
129
         char aBuff[128];
130
@@ -1635,21 +1651,28 @@
131
 
132
 }
133
 
134
-void StMoviePlayerGUI::setVisibility(const StPointD_t& theCursor,
135
-                                     bool              theIsMouseMoved) {
136
+void StMoviePlayerGUI::setVisibility(const StPointD_t& theCursor) {
137
     const bool toShowPlayList = myPlugin->params.ToShowPlayList->getValue();
138
+    const bool hasMainMenu    = myPlugin->params.ToShowMenu->getValue()
139
+                             && myMenuRoot != NULL;
140
+    const bool hasUpperPanel  = myPlugin->params.ToShowTopbar->getValue()
141
+                             && myPanelUpper != NULL;
142
+
143
     const int  aRootSizeY     = getRectPx().height();
144
     const bool hasVideo       = myPlugin->myVideo->hasVideoStream();
145
+    const bool isMouseActive  = myWindow->isMouseMoved();
146
+    const double aStillTime   = myVisibilityTimer.getElapsedTime();
147
     StHandle<StStereoParams> aParams = myImage->getSource();
148
-    myIsVisibleGUI = theIsMouseMoved
149
+    myIsVisibleGUI = !hasVideo
150
+        || isMouseActive
151
         || aParams.isNull()
152
-        || myVisibilityTimer.getElapsedTime() < 2.0
153
-        || (myPanelUpper  != NULL && myPanelUpper ->isPointIn(theCursor))
154
+        || aStillTime < 2.0
155
+        || (hasUpperPanel && myPanelUpper->isPointIn(theCursor))
156
         || (myPanelBottom != NULL && int(aRootSizeY * theCursor.y()) > (aRootSizeY - 2 * myPanelBottom->getRectPx().height())
157
                                   && theCursor.y() < 1.0)
158
         || (mySeekBar     != NULL && mySeekBar    ->isPointIn(theCursor))
159
         || (myPlayList    != NULL && toShowPlayList && myPlayList->isPointIn(theCursor))
160
-        || (myMenuRoot    != NULL && myMenuRoot->isActive());
161
+        || (hasMainMenu           && myMenuRoot->isActive());
162
     if(!myIsVisibleGUI
163
      && myBtnPlay != NULL
164
      && myBtnPlay->getFaceId() == 0
165
@@ -1658,19 +1681,19 @@
166
         myIsVisibleGUI = true;
167
     }
168
     const float anOpacity = (float )myVisLerp.perform(myIsVisibleGUI, false);
169
-    if(theIsMouseMoved) {
170
+    if(isMouseActive) {
171
         myVisibilityTimer.restart();
172
     }
173
 
174
     if(myMenuRoot != NULL) {
175
-        myMenuRoot->setOpacity(anOpacity, false);
176
+        myMenuRoot->setOpacity(hasMainMenu ? anOpacity : 0.0f, false);
177
+    }
178
+    if(myPanelUpper != NULL) {
179
+        myPanelUpper->setOpacity(hasUpperPanel ? anOpacity : 0.0f, true);
180
     }
181
     if(mySeekBar != NULL) {
182
         mySeekBar->setOpacity(anOpacity, false);
183
     }
184
-    if(myPanelUpper != NULL) {
185
-        myPanelUpper->setOpacity(anOpacity, true);
186
-    }
187
     if(myPanelBottom != NULL) {
188
         myPanelBottom->setOpacity(anOpacity, true);
189
     }
190
@@ -1680,23 +1703,46 @@
191
         myPlayList->setOpacity(anOpacity, true);
192
     }
193
 
194
+    const StPlayList::CurrentPosition aCurrPos = myPlugin->myVideo->getPlayList().getCurrentPosition();
195
+    if(myBtnPrev != NULL) {
196
+        myBtnPrev->setOpacityScale(aCurrPos == StPlayList::CurrentPosition_Middle
197
+                                || aCurrPos == StPlayList::CurrentPosition_Last ? 1.0f : 0.5f);
198
+    }
199
+    if(myBtnNext != NULL) {
200
+        myBtnNext->setOpacityScale(aCurrPos == StPlayList::CurrentPosition_Middle
201
sview-15_10.tar.gz/StMoviePlayer/StMoviePlayerGUI.h -> sview-15_11.tar.gz/StMoviePlayer/StMoviePlayerGUI.h Changed
14
 
1
@@ -111,10 +111,8 @@
2
     ST_LOCAL virtual void stglDraw(unsigned int theView);
3
 
4
     using StGLRootWidget::stglUpdate;
5
-    ST_LOCAL void stglUpdate(const StPointD_t& thePointZo,
6
-                             bool              theIsMouseMoved);
7
-    ST_LOCAL void setVisibility(const StPointD_t& theCursor,
8
-                                bool              theIsMouseMoved);
9
+    ST_LOCAL void stglUpdate(const StPointD_t& thePointZo);
10
+    ST_LOCAL void setVisibility(const StPointD_t& theCursor);
11
 
12
         public:
13
 
14
sview-15_10.tar.gz/StMoviePlayer/StVideo/StALContext.cpp -> sview-15_11.tar.gz/StMoviePlayer/StVideo/StALContext.cpp Changed
23
 
1
@@ -58,18 +58,12 @@
2
     return extList;
3
 }
4
 
5
-bool StALContext::create(const StString& theDeviceName) {
6
-    if(theDeviceName.isEmpty()) {
7
+bool StALContext::create(const std::string& theDeviceName) {
8
+    if(theDeviceName.empty()) {
9
         // open default device
10
         hDevice = alcOpenDevice(NULL);
11
     } else {
12
-    #if defined(_WIN32)
13
-        char aBuffer[ST_MAX_PATH];
14
-        theDeviceName.toLocale(aBuffer, ST_MAX_PATH);
15
-        hDevice = alcOpenDevice(aBuffer);
16
-    #else
17
-        hDevice = alcOpenDevice(theDeviceName.toCString());
18
-    #endif
19
+        hDevice = alcOpenDevice(theDeviceName.c_str());
20
     }
21
     if(hDevice == NULL) {
22
         return false;
23
sview-15_10.tar.gz/StMoviePlayer/StVideo/StALContext.h -> sview-15_11.tar.gz/StMoviePlayer/StVideo/StALContext.h Changed
17
 
1
@@ -1,5 +1,5 @@
2
 /**
3
- * Copyright © 2009-2013 Kirill Gavrilov <kirill@sview.ru>
4
+ * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * StMoviePlayer program is free software: you can redistribute it and/or modify
7
  * it under the terms of the GNU General Public License as published by
8
@@ -66,7 +66,7 @@
9
     /**
10
      * Creates the AL device with specified name.
11
      */
12
-    ST_CPPEXPORT bool create(const StString& theDeviceName = StString());
13
+    ST_CPPEXPORT bool create(const std::string& theDeviceName);
14
 
15
     /**
16
      * Release the AL device.
17
sview-15_10.tar.gz/StMoviePlayer/StVideo/StAVPacketQueue.cpp -> sview-15_11.tar.gz/StMoviePlayer/StVideo/StAVPacketQueue.cpp Changed
43
 
1
@@ -110,10 +110,7 @@
2
 #if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 0, 0))
3
     myGetBuffInit    = myCodecCtx->get_buffer2;
4
 #endif
5
-#if(LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(54, 2, 100))
6
-    myIsAttachedPic = myStream != NULL
7
-                  && (myStream->disposition & AV_DISPOSITION_ATTACHED_PIC) != 0;
8
-#endif
9
+    myIsAttachedPic = stAV::isAttachedPicture(myStream);
10
     return true;
11
 }
12
 
13
@@ -138,7 +135,8 @@
14
     myIsAttachedPic = false;
15
 }
16
 
17
-void StAVPacketQueue::fillCodecInfo(AVCodec* theCodec) {
18
+void StAVPacketQueue::fillCodecInfo(const AVCodec*  theCodec,
19
+                                    const StString& theDescExtra) {
20
     StMutexAuto aLock(myMutexInfo);
21
     if(theCodec == NULL) {
22
         myCodecName.clear();
23
@@ -146,7 +144,7 @@
24
         myCodecStr.clear();
25
     } else {
26
         myCodecName = theCodec->name;
27
-        myCodecDesc = theCodec->long_name;
28
+        myCodecDesc = theCodec->long_name + theDescExtra;
29
         myCodecStr  = StString("[") + myCodecName + stCString("] ") + myCodecDesc;
30
     }
31
 }
32
@@ -247,6 +245,10 @@
33
             myIsPlaying = false;
34
             break;
35
         }
36
+        case ST_PLAYEVENT_NEXT:
37
+        case ST_PLAYEVENT_NONE: {
38
+            break;
39
+        }
40
     }
41
     myPlayEvent = theEventId;
42
     myEventMutex.unlock();
43
sview-15_10.tar.gz/StMoviePlayer/StVideo/StAVPacketQueue.h -> sview-15_11.tar.gz/StMoviePlayer/StVideo/StAVPacketQueue.h Changed
11
 
1
@@ -171,7 +171,8 @@
2
     /**
3
      * Update codec description.
4
      */
5
-    ST_LOCAL void fillCodecInfo(AVCodec* theCodec);
6
+    ST_LOCAL void fillCodecInfo(const AVCodec*  theCodec,
7
+                                const StString& theDescExtra = "");
8
 
9
     /**
10
      * Get codec description.
11
sview-15_10.tar.gz/StMoviePlayer/StVideo/StAudioQueue.cpp -> sview-15_11.tar.gz/StMoviePlayer/StVideo/StAudioQueue.cpp Changed
46
 
1
@@ -135,9 +135,14 @@
2
 }
3
 
4
 bool StAudioQueue::stalInit() {
5
-    StHandle<StString> aDevName = myAlDeviceName;
6
-    if(!myAlCtx.create(*aDevName)) {
7
-        if(!myAlCtx.create()) {
8
+    std::string aDevName;
9
+    {
10
+        StMutexAuto aLock(mySwitchMutex);
11
+        aDevName = myAlDeviceName;
12
+    }
13
+    if(!myAlCtx.create(aDevName)) {
14
+        if(aDevName.empty()
15
+        || !myAlCtx.create("")) {
16
             // retry with default device
17
             return false;
18
         }
19
@@ -236,7 +241,7 @@
20
     return SV_THREAD_RETURN 0;
21
 }
22
 
23
-StAudioQueue::StAudioQueue(const StString& theAlDeviceName)
24
+StAudioQueue::StAudioQueue(const std::string& theAlDeviceName)
25
 : StAVPacketQueue(512),
26
   myPlaybackTimer(false),
27
   myDowntimeEvent(true),
28
@@ -248,7 +253,7 @@
29
   myIsAlValid(ST_AL_INIT_NA),
30
   myToSwitchDev(false),
31
   myIsDisconnected(false),
32
-  myAlDeviceName(new StString(theAlDeviceName)),
33
+  myAlDeviceName(theAlDeviceName),
34
   myAlFormat(AL_FORMAT_STEREO16),
35
   myPrevFormat(AL_FORMAT_STEREO16),
36
   myPrevFrequency(0),
37
@@ -871,7 +876,7 @@
38
         return true;
39
     }
40
 
41
-    myAlDeviceName = new StString();
42
+    myAlDeviceName.clear();
43
     stalDeinit(); // release OpenAL context
44
     myIsAlValid = (stalInit() ? ST_AL_INIT_OK : ST_AL_INIT_KO);
45
     myIsDisconnected = true;
46
sview-15_10.tar.gz/StMoviePlayer/StVideo/StAudioQueue.h -> sview-15_11.tar.gz/StMoviePlayer/StVideo/StAudioQueue.h Changed
37
 
1
@@ -46,7 +46,7 @@
2
 
3
         public: //! @name public API
4
 
5
-    ST_LOCAL StAudioQueue(const StString& theAlDeviceName);
6
+    ST_LOCAL StAudioQueue(const std::string& theAlDeviceName);
7
     ST_LOCAL virtual ~StAudioQueue();
8
 
9
     ST_LOCAL bool isInDowntime() {
10
@@ -107,8 +107,9 @@
11
     /**
12
      * Switch audio device.
13
      */
14
-    ST_LOCAL void switchAudioDevice(const StString& theAlDeviceName) {
15
-        myAlDeviceName = new StString(theAlDeviceName);
16
+    ST_LOCAL void switchAudioDevice(const std::string& theAlDeviceName) {
17
+        StMutexAuto aLock(mySwitchMutex);
18
+        myAlDeviceName = theAlDeviceName;
19
         myToSwitchDev  = true;
20
     }
21
 
22
@@ -277,12 +278,13 @@
23
     StPCMBuffer        myBufferOut;     //!< output  PCM audio buffer
24
     StTimer            myLimitTimer;
25
     volatile IState_t  myIsAlValid;     //!< OpenAL initialization state
26
+    StMutex            mySwitchMutex;   //!< switch audio device lock
27
     volatile bool      myToSwitchDev;   //!< switch audio device flag
28
     volatile bool      myIsDisconnected;//!< audio device disconnection flag
29
 
30
         private: //! @name OpenAL items
31
 
32
-    StHandle<StString> myAlDeviceName;  //!< Output audio device name for OpenAL context initialization
33
+    std::string        myAlDeviceName;  //!< Output audio device name for OpenAL context initialization
34
     StALContext        myAlCtx;         //!< OpenAL context
35
     ALuint             myAlBuffers[NUM_AL_SOURCES][NUM_AL_BUFFERS]; //!< audio buffers
36
     ALuint             myAlSources[NUM_AL_SOURCES];                 //!< audio sources
37
sview-15_10.tar.gz/StMoviePlayer/StVideo/StVideo.cpp -> sview-15_11.tar.gz/StMoviePlayer/StVideo/StVideo.cpp Changed
67
 
1
@@ -37,7 +37,7 @@
2
 
3
 const char* StVideo::ST_VIDEOS_MIME_STRING = ST_VIDEO_PLUGIN_MIME_CHAR;
4
 
5
-StVideo::StVideo(const StString&                   theALDeviceName,
6
+StVideo::StVideo(const std::string&                theALDeviceName,
7
                  const StHandle<StTranslations>&   theLangMap,
8
                  const StHandle<StPlayList>&       thePlayList,
9
                  const StHandle<StGLTextureQueue>& theTextureQueue,
10
@@ -334,7 +334,8 @@
11
                     myFileInfoTmp->Info.add(StArgument(tr(INFO_DURATION),
12
                         StFormatTime::formatSeconds(theInfo.Duration)));
13
                 }
14
-            } else if(!myVideoSlave->isInitialized()) {
15
+            } else if(!myVideoSlave->isInitialized()
16
+                   && !stAV::isAttachedPicture(aStream)) {
17
                 myVideoSlave->init(aFormatCtx, aStreamId, "");
18
                 if(myVideoSlave->isInitialized()) {
19
                     mySlaveCtx    = aFormatCtx;
20
@@ -665,11 +666,9 @@
21
                            const bool       toSeekBack) {
22
     const int aFlags = toSeekBack ? AVSEEK_FLAG_BACKWARD : 0;
23
     AVStream* aStream = theFormatCtx->streams[theStreamId];
24
-#if(LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(54, 2, 100))
25
-    if((aStream->disposition & AV_DISPOSITION_ATTACHED_PIC) != 0) {
26
+    if(stAV::isAttachedPicture(aStream)) {
27
         return false;
28
     }
29
-#endif
30
 
31
     int64_t aSeekTarget = stAV::secondsToUnits(aStream, theSeekPts + stAV::unitsToSeconds(aStream, aStream->start_time));
32
     bool isSeekDone = av_seek_frame(theFormatCtx, theStreamId, aSeekTarget, aFlags) >= 0;
33
@@ -704,10 +703,11 @@
34
     const bool toUseGpu      = params.UseGpu->getValue();
35
     const bool toDecodeSlave = myVideoMaster->getStereoFormatByUser() == StFormat_AUTO
36
                             && mySlaveStream >= 0;
37
+    // keep failed flag
38
+    const bool isGpuFailed   = myVideoMaster->isGpuFailed()
39
+                           || (myVideoSlave->isInitialized() && myVideoSlave->isGpuFailed());
40
     if(toUseGpu      != myVideoMaster->toUseGpu()
41
     || toDecodeSlave != myVideoSlave->isInitialized()) {
42
-        myVideoMaster->setUseGpu(toUseGpu);
43
-        myVideoSlave ->setUseGpu(toUseGpu);
44
         doFlush();
45
         if(myVideoMaster->isInitialized()) {
46
             const StString   aFileNameMaster = myVideoMaster->getFileName();
47
@@ -728,6 +728,9 @@
48
             if(myVideoSlave->isInitialized()) {
49
                 myVideoSlave->deinit();
50
             }
51
+
52
+            myVideoMaster->setUseGpu(toUseGpu, isGpuFailed);
53
+            myVideoSlave ->setUseGpu(toUseGpu, isGpuFailed);
54
             myVideoMaster->init(aCtxMaster, aStreamIdMaster, aFileNameMaster);
55
             myVideoMaster->setSlave(NULL);
56
             if(toDecodeSlave) {
57
@@ -738,6 +741,9 @@
58
             if(toDecodeSlave) {
59
                 myVideoSlave->pushStart();
60
             }
61
+        } else {
62
+            myVideoMaster->setUseGpu(toUseGpu);
63
+            myVideoSlave ->setUseGpu(toUseGpu);
64
         }
65
     }
66
 }
67
sview-15_10.tar.gz/StMoviePlayer/StVideo/StVideo.h -> sview-15_11.tar.gz/StMoviePlayer/StVideo/StVideo.h Changed
26
 
1
@@ -1,5 +1,5 @@
2
 /**
3
- * Copyright © 2007-2014 Kirill Gavrilov <kirill@sview.ru>
4
+ * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * StMoviePlayer program is free software: you can redistribute it and/or modify
7
  * it under the terms of the GNU General Public License as published by
8
@@ -105,7 +105,7 @@
9
     /**
10
      * Main constructor.
11
      */
12
-    ST_LOCAL StVideo(const StString&                   theALDeviceName,
13
+    ST_LOCAL StVideo(const std::string&                theALDeviceName,
14
                      const StHandle<StTranslations>&   theLangMap,
15
                      const StHandle<StPlayList>&       thePlayList,
16
                      const StHandle<StGLTextureQueue>& theTextureQueue,
17
@@ -188,7 +188,7 @@
18
     /**
19
      * Switch audio device.
20
      */
21
-    ST_LOCAL void switchAudioDevice(const StString& theAlDeviceName) {
22
+    ST_LOCAL void switchAudioDevice(const std::string& theAlDeviceName) {
23
         myAudio->switchAudioDevice(theAlDeviceName);
24
     }
25
 
26
sview-15_11.tar.gz/StMoviePlayer/StVideo/StVideoDxva2.cpp Added
201
 
1
@@ -0,0 +1,701 @@
2
+/**
3
+ * Copyright © 2015 Kirill Gavrilov <kirill@sview.ru>
4
+ *
5
+ * StMoviePlayer program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * StMoviePlayer program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
+ * See the GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public
16
+ * License along with this program.
17
+ * If not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+
20
+#include "StVideoQueue.h"
21
+
22
+#if defined(_WIN32)
23
+
24
+#include <StAV/StAVPacket.h>
25
+#include <StAV/StAVFrame.h>
26
+#include <StAV/StAVBufferPool.h>
27
+#include <StLibrary.h>
28
+
29
+#include <vector>
30
+
31
+#ifdef _MSC_VER
32
+    // nonstandard extension used : nameless struct/union
33
+    #pragma warning(disable : 4201)
34
+#endif
35
+
36
+#include <d3d9.h>
37
+#include <dxva2api.h>
38
+
39
+#ifdef _MSC_VER
40
+    #pragma warning(default : 4201)
41
+#endif
42
+
43
+extern "C" {
44
+
45
+  #include <libavcodec/dxva2.h>
46
+  #include <libavutil/buffer.h>
47
+  #include <libavutil/imgutils.h>
48
+
49
+};
50
+
51
+// define all the GUIDs used directly here,
52
+// to avoid problems with inconsistent dxva2api.h versions in mingw-w64 and different MSVC version
53
+#include <initguid.h>
54
+
55
+DEFINE_GUID(IID_IDirectXVideoDecoderService, 0xfc51a551,0xd5e7,0x11d9,0xaf,0x55,0x00,0x05,0x4e,0x43,0xff,0x02);
56
+
57
+DEFINE_GUID(DXVA2_ModeMPEG2_VLD,      0xee27417f, 0x5e28,0x4e65,0xbe,0xea,0x1d,0x26,0xb5,0x08,0xad,0xc9);
58
+DEFINE_GUID(DXVA2_ModeMPEG2and1_VLD,  0x86695f12, 0x340e,0x4f04,0x9f,0xd3,0x92,0x53,0xdd,0x32,0x74,0x60);
59
+DEFINE_GUID(DXVA2_ModeH264_E,         0x1b81be68, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
60
+DEFINE_GUID(DXVA2_ModeH264_F,         0x1b81be69, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
61
+DEFINE_GUID(DXVADDI_Intel_ModeH264_E, 0x604F8E68, 0x4951,0x4C54,0x88,0xFE,0xAB,0xD2,0x5C,0x15,0xB3,0xD6);
62
+DEFINE_GUID(DXVA2_ModeVC1_D,          0x1b81beA3, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
63
+DEFINE_GUID(DXVA2_ModeVC1_D2010,      0x1b81beA4, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
64
+DEFINE_GUID(DXVA2_ModeHEVC_VLD_Main,  0x5b11d51b, 0x2f4c,0x4452,0xbc,0xc3,0x09,0xf2,0xa1,0x16,0x0c,0xc0);
65
+DEFINE_GUID(DXVA2_NoEncrypt,          0x1b81beD0, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
66
+DEFINE_GUID(GUID_NULL,                0x00000000, 0x0000,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
67
+
68
+struct StDxva2Mode {
69
+    const GUID* guid;
70
+    AVCodecID   codec;
71
+
72
+    StDxva2Mode(const GUID&     theGuid,
73
+                const AVCodecID theCodec)
74
+    : guid(&theGuid),
75
+      codec(theCodec) {}
76
+};
77
+
78
+struct StDxva2SurfaceInfo {
79
+    int      used;
80
+    uint64_t age;
81
+};
82
+
83
+/**
84
+ * DXVA2 HWAccel context.
85
+ */
86
+class StDxva2Context : public StHWAccelContext {
87
+
88
+        public:
89
+
90
+    /**
91
+     * Empty constructor.
92
+     */
93
+    StDxva2Context()
94
+    : myDeviceHandle(INVALID_HANDLE_VALUE),
95
+      myD3d9(NULL),
96
+      myD3d9Device(NULL),
97
+      myD3d9DevMgr(NULL),
98
+      myDecoderService(NULL),
99
+      myDxvaDecoder(NULL),
100
+      myDecoderGuid(GUID_NULL),
101
+      myD3dSurfaces(NULL),
102
+      mySurfInfos(NULL),
103
+      myNbSurfaces(0),
104
+      mySurfaceAge(0),
105
+      myFrameTmp(NULL) {
106
+        myD3dLib  .loadSimple("d3d9.dll");
107
+        myDxva2Lib.loadSimple("dxva2.dll");
108
+    }
109
+
110
+    /**
111
+     * Destructor.
112
+     */
113
+    virtual ~StDxva2Context() {
114
+        release();
115
+    }
116
+
117
+    /**
118
+     * Release context.
119
+     */
120
+    void release();
121
+
122
+    /**
123
+     * Return true if DXVA2 has been successfully initialized.
124
+     */
125
+    virtual bool isValid() const { return myDeviceHandle != INVALID_HANDLE_VALUE; }
126
+
127
+    /**
128
+     * Create context.
129
+     */
130
+    virtual bool create(StVideoQueue& theVideo);
131
+
132
+    /**
133
+     * Destroy decoder.
134
+     */
135
+    virtual void decoderDestroy() {
136
+        myPoolsTmp[0].release();
137
+        myPoolsTmp[1].release();
138
+        myPoolsTmp[2].release();
139
+
140
+        if(myD3dSurfaces != NULL) {
141
+            for(uint32_t aSurfIter = 0; aSurfIter < myNbSurfaces; ++aSurfIter) {
142
+                if(myD3dSurfaces[aSurfIter] != NULL) {
143
+                    myD3dSurfaces[aSurfIter]->Release();
144
+                }
145
+            }
146
+        }
147
+        av_freep(&myD3dSurfaces);
148
+        av_freep(&mySurfInfos);
149
+        myNbSurfaces = 0;
150
+        mySurfaceAge = 0;
151
+
152
+        if(myDxvaDecoder != NULL) {
153
+            myDxvaDecoder->Release();
154
+            myDxvaDecoder = NULL;
155
+        }
156
+    }
157
+
158
+    /**
159
+     * Create decoder.
160
+     */
161
+    virtual bool decoderCreate(StVideoQueue&   theVideo,
162
+                               AVCodecContext* theCodecCtx);
163
+
164
+    /**
165
+     * AVFrame initialization callback.
166
+     */
167
+    virtual int getFrameBuffer(StVideoQueue& theVideo,
168
+                               AVFrame*      theFrame);
169
+
170
+    /**
171
+     * Fetch decoded results into specified frame.
172
+     */
173
+    virtual bool retrieveFrame(StVideoQueue& theVideo,
174
+                               AVFrame*      theFrame);
175
+
176
+        private:
177
+
178
+    struct StDxva2SurfaceWrapper {
179
+        StDxva2Context*       ctx;
180
+        LPDIRECT3DSURFACE9    surface;
181
+        IDirectXVideoDecoder* decoder;
182
+    };
183
+
184
+    /**
185
+     * Buffer release callback.
186
+     */
187
+    static void stReleaseBufferDxva2(void*    theOpaque,
188
+                                     uint8_t* theData) {
189
+        (void )theData;
190
+        StDxva2SurfaceWrapper* aWrapper = (StDxva2SurfaceWrapper* )theOpaque;
191
+        StDxva2Context*        aDxvaCtx = aWrapper->ctx;
192
+        for(uint32_t aSurfIter = 0; aSurfIter < aDxvaCtx->myNbSurfaces; ++aSurfIter) {
193
+            if(aDxvaCtx->myD3dSurfaces[aSurfIter] == aWrapper->surface) {
194
+                aDxvaCtx->mySurfInfos[aSurfIter].used = 0;
195
+                break;
196
+            }
197
+        }
198
+        aWrapper->surface->Release();
199
+        aWrapper->decoder->Release();
200
+        av_free(aWrapper);
201
sview-15_10.tar.gz/StMoviePlayer/StVideo/StVideoQueue.cpp -> sview-15_11.tar.gz/StMoviePlayer/StVideo/StVideoQueue.cpp Changed
201
 
1
@@ -38,36 +38,18 @@
2
     }
3
 #endif
4
 
5
-#ifdef ST_AV_OLDSYNC
6
+#if(LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55, 0, 0))
7
     /**
8
-     * These are called whenever we allocate a frame
9
-     * buffer. We use this to store the global_pts in
10
-     * a frame at the time it is allocated.
11
+     * Release the frame buffer (old API).
12
      */
13
-    static int ourGetBuffer(AVCodecContext* theCodecCtx,
14
-                            AVFrame*        theFrame) {
15
-        StVideoQueue* aVideoQueue = (StVideoQueue* )theCodecCtx->opaque;
16
-        const int aResult = avcodec_default_get_buffer(theCodecCtx, theFrame);
17
-    #ifdef ST_USE64PTR
18
-        theFrame->opaque = (void* )aVideoQueue->getVideoPktPts();
19
-    #else
20
-        int64_t* aPts = new int64_t();
21
-        *aPts = aVideoQueue->getVideoPktPts();
22
-        theFrame->opaque = aPts;
23
-    #endif
24
-        return aResult;
25
-    }
26
-
27
-    static void ourReleaseBuffer(AVCodecContext* theCodecCtx,
28
-                                 AVFrame*        theFrame) {
29
+    static void stReleaseFrameBuffer(AVCodecContext* theCodecCtx,
30
+                                     AVFrame*        theFrame) {
31
+    #if defined(ST_AV_OLDSYNC) && !ST_USE64PTR
32
         if(theFrame != NULL) {
33
-        #ifdef ST_USE64PTR
34
-            theFrame->opaque = (void* )stAV::NOPTS_VALUE;
35
-        #else
36
             delete (int64_t* )theFrame->opaque;
37
             theFrame->opaque = NULL;
38
-        #endif
39
         }
40
+    #endif
41
         avcodec_default_release_buffer(theCodecCtx, theFrame);
42
     }
43
 #endif
44
@@ -81,23 +63,103 @@
45
         return SV_THREAD_RETURN 0;
46
     }
47
 
48
-};
49
+}
50
+
51
+AVPixelFormat StVideoQueue::getFrameFormat(const AVPixelFormat* theFormats) {
52
+    if(!myUseGpu || myIsGpuFailed) {
53
+        return avcodec_default_get_format(myCodecCtx, theFormats);
54
+    }
55
+
56
+    for(const AVPixelFormat* aFormatIter = theFormats; *aFormatIter != -1; ++aFormatIter) {
57
+        /*const AVPixFmtDescriptor* aDesc = av_pix_fmt_desc_get(*aFormatIter);
58
+        if(!(aDesc->flags & AV_PIX_FMT_FLAG_HWACCEL)) {
59
+            return *aFormatIter;
60
+        }*/
61
+
62
+    #if defined(_WIN32)
63
+        if(*aFormatIter == stAV::PIX_FMT::DXVA2_VLD) {
64
+            if(!hwaccelInit()) {
65
+                myIsGpuFailed = true;
66
+                return avcodec_default_get_format(myCodecCtx, theFormats);
67
+            }
68
+            return *aFormatIter;
69
+        }
70
+    #endif
71
+    }
72
+
73
+    return *theFormats;
74
+}
75
+
76
+int StVideoQueue::getFrameBuffer(AVFrame* theFrame,
77
+                                 int      theFlags) {
78
+    int aResult = 0;
79
+#if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 0, 0))
80
+    bool isDone = false;
81
+    #if defined(_WIN32)
82
+        if(theFrame->format == stAV::PIX_FMT::DXVA2_VLD) {
83
+            if(!myHWAccelCtx.isNull()) {
84
+                aResult = myHWAccelCtx->getFrameBuffer(*this, theFrame);
85
+            } else {
86
+                aResult = -1;
87
+            }
88
+            isDone  = true;
89
+        }
90
+    #endif
91
+        if(!isDone) {
92
+            aResult = avcodec_default_get_buffer2(myCodecCtx, theFrame, theFlags);
93
+        }
94
+
95
+    #ifdef ST_AV_OLDSYNC
96
+    #ifdef ST_USE64PTR
97
+        theFrame->opaque = (void* )myVideoPktPts;
98
+    #else
99
+        AVFrameSideData* aSideDataSync = av_frame_new_side_data(theFrame, (AVFrameSideDataType )1000, sizeof(myVideoPktPts));
100
+        if(aSideDataSync != NULL) {
101
+            memcpy(aSideDataSync->data, &myVideoPktPts, sizeof(myVideoPktPts));
102
+        }
103
+    #endif
104
+    #endif
105
+#else
106
+    aResult = avcodec_default_get_buffer(myCodecCtx, theFrame);
107
+    #ifdef ST_AV_OLDSYNC
108
+    #ifdef ST_USE64PTR
109
+        theFrame->opaque = (void* )myVideoPktPts;
110
+    #else
111
+        int64_t* aPts = new int64_t();
112
+        *aPts = myVideoPktPts;
113
+        theFrame->opaque = aPts;
114
+    #endif
115
+    #endif
116
+#endif
117
+    return aResult;
118
+}
119
+
120
+#if !defined(_WIN32)
121
+bool StVideoQueue::hwaccelInit() { return false; }
122
+#endif
123
+
124
+inline AVCodecID stFindCodecId(const char* theName) {
125
+    AVCodec* aCodec = avcodec_find_decoder_by_name(theName);
126
+    return aCodec != NULL ? aCodec->id : AV_CODEC_ID_NONE;
127
+}
128
 
129
 StVideoQueue::StVideoQueue(const StHandle<StGLTextureQueue>& theTextureQueue,
130
                            const StHandle<StVideoQueue>&     theMaster)
131
 : StAVPacketQueue(512),
132
+  CodecIdH264 (stFindCodecId("h264")),
133
+  CodecIdHEVC (stFindCodecId("hevc")),
134
+  CodecIdMPEG2(stFindCodecId("mpeg2video")),
135
+  CodecIdWMV3 (stFindCodecId("wmv3")),
136
+  CodecIdVC1  (stFindCodecId("vc1")),
137
   myDowntimeState(true),
138
   myTextureQueue(theTextureQueue),
139
   myHasDataState(false),
140
   myMaster(theMaster),
141
-#if defined(_WIN32)
142
-  myCodecDxva264(avcodec_find_decoder_by_name("h264_dxva2")),
143
-  myCodecDxvaWmv(avcodec_find_decoder_by_name("wmv3_dxva2")),
144
-  myCodecDxvaVc1(avcodec_find_decoder_by_name("vc1_dxva2")),
145
-#elif defined(__APPLE__)
146
+#if defined(__APPLE__)
147
   myCodecVda(avcodec_find_decoder_by_name("h264_vda")),
148
 #endif
149
   myUseGpu(false),
150
+  myIsGpuFailed(false),
151
   //
152
   myToRgbCtx(NULL),
153
   myToRgbPixFmt(stAV::PIX_FMT::NONE),
154
@@ -118,12 +180,16 @@
155
   myStFormatByUser(StFormat_AUTO),
156
   myStFormatByName(StFormat_AUTO),
157
   myStFormatInStream(StFormat_AUTO) {
158
-
159
 #ifdef ST_USE64PTR
160
     myFrame.Frame->opaque = (void* )stAV::NOPTS_VALUE;
161
 #else
162
     myFrame.Frame->opaque = NULL;
163
 #endif
164
+
165
+#if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101))
166
+    myFrameBufRef = new StAVFrameCounter();
167
+#endif
168
+
169
     myThread = new StThread(threadFunction, (void* )this, theMaster.isNull() ? "StVideoQueueM" : "StVideoQueueS");
170
 }
171
 
172
@@ -137,6 +203,7 @@
173
     myThread.nullify();
174
 
175
     deinit();
176
+    myHWAccelCtx.nullify();
177
 }
178
 
179
 namespace {
180
@@ -173,31 +240,33 @@
181
         {StFormat_AUTO, NULL}
182
     };
183
 
184
-};
185
+}
186
+
187
+bool StVideoQueue::initCodec(AVCodec*   theCodec,
188
+                             const bool theToUseGpu) {
189
+    // close previous codec
190
+    if(myCodec != NULL) {
191
+        avcodec_close(myCodecCtx);
192
+        fillCodecInfo(NULL);
193
+    }
194
+    myCodec = NULL;
195
 
196
-bool StVideoQueue::initCodec(AVCodec* theCodec) {
197
     // configure the codec
198
     myCodecCtx->codec_id = theCodec->id;
199
-    //myCodecCtx->debug_mv = debug_mv;
200
-    //myCodecCtx->debug = debug;
201
sview-15_10.tar.gz/StMoviePlayer/StVideo/StVideoQueue.h -> sview-15_11.tar.gz/StMoviePlayer/StVideo/StVideoQueue.h Changed
196
 
1
@@ -22,12 +22,59 @@
2
 #include <StGLStereo/StGLTextureQueue.h>
3
 
4
 #include "StAVPacketQueue.h"
5
-#include <StAV/StAVFrame.h>
6
+#include <StAV/StAVImage.h>
7
 
8
 // forward declarations
9
 class StVideoQueue;
10
 class StThread;
11
 
12
+/**
13
+ * Interface defining HWAccel context.
14
+ */
15
+class StHWAccelContext {
16
+
17
+        public:
18
+
19
+    /**
20
+     * Initialize the context.
21
+     */
22
+    virtual bool create(StVideoQueue& theVideo) = 0;
23
+
24
+    /**
25
+     * Destructor.
26
+     */
27
+    virtual ~StHWAccelContext() {}
28
+
29
+    /**
30
+     * Return true if context has been successfully initialized.
31
+     */
32
+    virtual bool isValid() const = 0;
33
+
34
+    /**
35
+     * Create decoder.
36
+     */
37
+    virtual bool decoderCreate(StVideoQueue&   theVideo,
38
+                               AVCodecContext* theCodecCtx) = 0;
39
+
40
+    /**
41
+     * Release decoder.
42
+     */
43
+    virtual void decoderDestroy() = 0;
44
+
45
+    /**
46
+     * AVFrame initialization callback.
47
+     */
48
+    virtual int getFrameBuffer(StVideoQueue& theVideo,
49
+                               AVFrame*      theFrame) = 0;
50
+
51
+    /**
52
+     * Fetch decoded results into specified frame.
53
+     */
54
+    virtual bool retrieveFrame(StVideoQueue& theVideo,
55
+                               AVFrame*      theFrame) = 0;
56
+
57
+};
58
+
59
 // define StHandle template specialization
60
 ST_DEFINE_HANDLE(StVideoQueue, StAVPacketQueue);
61
 
62
@@ -44,6 +91,14 @@
63
 
64
         public:
65
 
66
+    AVCodecID CodecIdH264;
67
+    AVCodecID CodecIdHEVC;
68
+    AVCodecID CodecIdMPEG2;
69
+    AVCodecID CodecIdWMV3;
70
+    AVCodecID CodecIdVC1;
71
+
72
+        public:
73
+
74
     /**
75
      * @return true if GPU usage is enabled
76
      */
77
@@ -52,10 +107,19 @@
78
     }
79
 
80
     /**
81
+     * Return true if GPU usage has been requested but failed (e.g. decoder should be reinitialized).
82
+     */
83
+    ST_LOCAL bool isGpuFailed() const {
84
+        return myIsGpuFailed;
85
+    }
86
+
87
+    /**
88
      * Setup GPU usage. Requires re-initialization to take effect!
89
      */
90
-    ST_LOCAL void setUseGpu(const bool theToUseGpu) {
91
-        myUseGpu = theToUseGpu;
92
+    ST_LOCAL void setUseGpu(const bool theToUseGpu,
93
+                            const bool theIsGpuFailed = false) {
94
+        myUseGpu      = theToUseGpu;
95
+        myIsGpuFailed = theIsGpuFailed;
96
     }
97
 
98
     ST_LOCAL bool isInDowntime() {
99
@@ -79,10 +143,6 @@
100
         myHasDataState.reset();
101
     }
102
 
103
-    ST_LOCAL int64_t getVideoPktPts() const {
104
-        return myVideoPktPts;
105
-    }
106
-
107
     ST_LOCAL void setAClock(const double thePts) {
108
         myAudioClockMutex.lock();
109
         myAudioClock = thePts;
110
@@ -212,9 +272,58 @@
111
         private:
112
 
113
     /**
114
+     * Select frame format from the list.
115
+     */
116
+    ST_LOCAL static AVPixelFormat stGetFrameFormat(AVCodecContext*      theCodecCtx,
117
+                                                   const AVPixelFormat* theFormats) {
118
+        StVideoQueue* aVideoQueue = (StVideoQueue* )theCodecCtx->opaque;
119
+        return aVideoQueue->getFrameFormat(theFormats);
120
+    }
121
+
122
+    /**
123
+     * Frame buffer allocation callback (deprecated form).
124
+     */
125
+    ST_LOCAL static int stGetFrameBuffer1(AVCodecContext* theCodecCtx,
126
+                                          AVFrame*        theFrame) {
127
+        StVideoQueue* aVideoQueue = (StVideoQueue* )theCodecCtx->opaque;
128
+        return aVideoQueue->getFrameBuffer(theFrame, 0);
129
+    }
130
+
131
+    /**
132
+     * Frame buffer allocation callback (wrapper).
133
+     */
134
+    ST_LOCAL static int stGetFrameBuffer2(AVCodecContext* theCodecCtx,
135
+                                          AVFrame*        theFrame,
136
+                                          int             theFlags) {
137
+        StVideoQueue* aVideoQueue = (StVideoQueue* )theCodecCtx->opaque;
138
+        return aVideoQueue->getFrameBuffer(theFrame, theFlags);
139
+    }
140
+
141
+        private:
142
+
143
+    /**
144
      * Initialize codec context.
145
      */
146
-    ST_LOCAL bool initCodec(AVCodec* theCodec);
147
+    ST_LOCAL bool initCodec(AVCodec*   theCodec,
148
+                            const bool theToUseGpu);
149
+
150
+    /**
151
+     * Select frame format from the list.
152
+     */
153
+    ST_LOCAL AVPixelFormat getFrameFormat(const AVPixelFormat* theFormats);
154
+
155
+    /**
156
+     * Frame buffer allocation callback.
157
+     */
158
+    ST_LOCAL int getFrameBuffer(AVFrame* theFrame,
159
+                                int      theFlags);
160
+
161
+    /**
162
+     * Initialize hardware accelerated decoder.
163
+     */
164
+    ST_LOCAL bool hwaccelInit();
165
+
166
+private:
167
 
168
     /**
169
      * Initialize adapter over AVframe or perform to RGB conversion.
170
@@ -238,14 +347,12 @@
171
     StHandle<StVideoQueue>     myMaster;          //!< handle to Master decoding thread
172
     StHandle<StVideoQueue>     mySlave;           //!< handle to Slave  decoding thread
173
 
174
-#if defined(_WIN32)
175
-    AVCodec*                   myCodecDxva264;    //!< DXVA2 codec (decoding on GPU in Windows)
176
-    AVCodec*                   myCodecDxvaWmv;    //!< DXVA2 codec (decoding on GPU in Windows)
177
-    AVCodec*                   myCodecDxvaVc1;    //!< DXVA2 codec (decoding on GPU in Windows)
178
-#elif defined(__APPLE__)
179
+    StHandle<StHWAccelContext> myHWAccelCtx;
180
+#if defined(__APPLE__)
181
     AVCodec*                   myCodecVda;        //!< VDA codec (decoding on GPU in OS X)
182
 #endif
183
     bool                       myUseGpu;          //!< activate decoding on GPU when possible
184
+    bool                       myIsGpuFailed;     //!< flag indicating that GPU decoder can not handle input data
185
 
186
     StAVFrame                  myFrameRGB;        //!< frame, converted to RGB (soft)
187
     StImagePlane               myDataRGB;         //!< RGB buffer data (for swscale)
188
@@ -254,6 +361,7 @@
189
     bool                       myToRgbIsBroken;   //!< indicates broke swscale context - to RGB conversion is impossible
190
 
191
     StAVFrame                  myFrame;           //!< original decoded video frame
192
+    StHandle<StAVFrameCounter> myFrameBufRef;
193
     StImage                    myDataAdp;         //!< buffer data adaptor
194
     AVDiscard                  myAvDiscard;       //!< discard parameter (to skip or not frames)
195
 
196
sview-15_10.tar.gz/StMoviePlayer/lang/chinese/StMoviePlayer.lng -> sview-15_11.tar.gz/StMoviePlayer/lang/chinese/StMoviePlayer.lng Changed
201
 
1
@@ -1,246 +1,246 @@
2
 # Chinese translation file for StMoviePlayer program
3
 # @author YSC
4
 --------
5
-1002="切换 左/右"
6
-1003="还原切换 左/右"
7
-1004="立体格式:"
8
-1015="打开另一视频"
9
-1020="播放/暂停"
10
-1021="显示/隐藏\n播放列表"
11
-1022="播放上一文件"
12
-1023="播放下一文件"
13
-1029="切换\n全屏/窗口模式"
14
-1100="文件"
15
-1101="打开视频->>"
16
-1102="保存快照->>"
17
-1103="立体格式->>"
18
-1170="文件信息"
19
-1104="音频设备->>"
20
-1105="随机播放"
21
-1106="近期播放记录->>"
22
-1107="通过GPU视频解码"
23
-1108="界面设计->>"
24
-1109="退出"
25
-1110="单一立体文件"
26
-1111="左右分离视频文件"
27
-1130="自动识别"
28
-1131="单画面"
29
-1132="左|右(右|左)"
30
-1133="平行配对"
31
-1134="上/下(右/左)"
32
-1135="上/下(左/右)"
33
-1136="交错"
34
-1137="立体红/青"
35
-1138="立体绿/红+蓝"
36
-1139="立体黄/蓝"
37
-1140="帧连续"
38
-1141="2x720p 平铺于 1080p"
39
-1142="2 视频流"
40
-1160="清除播放历史"
41
-1180="关闭"
42
-1181="应用一次"
43
-1182="每次应用"
44
-1185="显示错误"
45
-?1186="界面设计can not be started on {0} port!"
46
-1200="视频"
47
-1201="立体输出->>"
48
-1202="全屏"
49
-1203="重置"
50
-1204="切换左/右"
51
-1205="显示比例->>"
52
-1206="平滑过滤->>"
53
-1207="图像校正->>"
54
-1208="表面处理->>"
55
-1210="立体"
56
-1211="左画面"
57
-1212="右画面"
58
-1213="平行配对"
59
-1214="对眼"
60
-1250="源格式"
61
-1251="重启维持"
62
-?1252="Heal anamorphic 1080p/720p"
63
-1260="接近"
64
-1261="线性"
65
-1262="混纺交织"
66
-1270="重置默认"
67
-1271="亮度"
68
-1272="饱和度"
69
-1273="伽马"
70
-1280="平面"
71
-1281="球面"
72
-1282="圆筒"
73
-?1283="Cubemap"
74
-?1285="Track orientation"
75
-?1286="Track orientation (poor)"
76
-1300="音频"
77
-1301="无"
78
-1302="音/视频 延迟"
79
-1303="从文件加载"
80
-1320="音/视频 同步"
81
-1321="音频提前于视频输入正值,否则负值。"
82
-1322="音频延迟:"
83
-1323="秒(s)"
84
-1350="字幕"
85
-1351="无"
86
-1353="从文件加载"
87
-1354="字体大小"
88
-1355="视差"
89
-1356="文本解析"
90
-?1357="Placement"
91
-?1358="Top"
92
-?1359="Bottom"
93
-?1360="Plain text"
94
-?1361="Lite HTML"
95
-1400="改变设备->>"
96
-1401="关于插件…"
97
-1402="FPS控制->>"
98
-1420="同时"
99
-1421="显示表"
100
-1422="减少CPU的使用"
101
-1500="帮助"
102
-1501="关于..."
103
-1502="检查更新->>"
104
-1503="许可证文本"
105
-1504="语言 (Language)"
106
-1505="阻止休眠->>"
107
-1506="用户提示"
108
-1507="实验特性"
109
-1508="关于系统"
110
-1509="界面尺寸->>"
111
-?1510="Hotkeys"
112
-?1511="Settings"
113
-1520="现在"
114
-1521="每天"
115
-1522="每周"
116
-1523="每年"
117
-1524="绝不"
118
-1550="绝不"
119
-1551="总是"
120
-1552="回放期间"
121
-1553="全屏时"
122
-1590="小"
123
-1591="正常"
124
-1592="大"
125
-1593="强制高解析 2X"
126
-2000="选择视频文件打开"
127
-2001="选择左视频文件打开"
128
-2002="选择右视频文件打开"
129
-2003="文件信息"
130
-2004="文件信息未获得"
131
-2005="文件删除"
132
-2006="确定完全移除吗?"
133
-2007="激活解码器:"
134
-2010="选择保存快照位置"
135
-2011="什么也没有保存!"
136
-2012="快照不为空!"
137
-?2013="Assign new Hot Key for action\n<i>{0}</i>"
138
-?2014="Conflicts with: <i>{0}</i>"
139
-3000="sView - Movie Player"
140
-3001="版本"
141
-?3002="Movie player allows you to play stereoscopic video.\n © {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis program is distributed under GPL3.0"
142
-?3003="A new version of sView is available on the official site www.sview.ru.\nPlease update your program."
143
-3004="系统信息"
144
-4000="关闭"
145
-4001="取消"
146
-4005="重置"
147
-4006="保存"
148
-4007="删除"
149
-?4008="Default"
150
-?4009="Defaults"
151
-?4010="Assign"
152
-5000="[左]"
153
-5001="[右]"
154
-5002="文件名字(s)"
155
-5003="视频大小"
156
-5004="装载时间"
157
-5005="ms"
158
-5006="像素比率"
159
-5007="像素格式"
160
-5008="(不存储在元数据)"
161
-5009="(不匹配的元数据)"
162
-5010="持续时间"
163
-5011="(不存储在元数据中,\n但检测到文件名称)"
164
-5300="标题"
165
-5301="作曲家"
166
-5302="艺术家"
167
-5303="专辑"
168
-5304="相册"
169
-5305="盘"
170
-5306="NB 盘"
171
-5307="流派"
172
-5308="评论"
173
-5309="注释"
174
-5310="描述"
175
-5311="出版商"
176
-5312="版权"
177
-5313="编码器"
178
-5314="工程师"
179
-5315="源"
180
-5316="创建时间"
181
-5317="数据"
182
-5318="年"
183
-5319="语言"
184
-5320="跟踪"
185
-5321="NB 轨道"
186
-5322="音轨增益"
187
-5323="轨道峰"
188
-5324="专辑增益"
189
-5325="专辑峰"
190
-6000="退出"
191
-6001="切换\n全屏/窗口模式"
192
-6002="显示 FPS"
193
-6003="立体格式: 自动侦测"
194
-6004="立体格式: 单画面"
195
-6005="立体格式: 上/下"
196
-6006="立体格式: 对眼"
197
-?6007="Show file info"
198
-?6008="Playlist - Go to the first item"
199
-?6009="Playlist - Go to the last item"
200
-6010="播放上一文件"
201
sview-15_10.tar.gz/StMoviePlayer/lang/czech/StMoviePlayer.lng -> sview-15_11.tar.gz/StMoviePlayer/lang/czech/StMoviePlayer.lng Changed
10
 
1
@@ -213,7 +213,7 @@
2
 ?6023=Audio volume up
3
 ?6024=Previous audio track
4
 ?6025=Next audio track
5
-?6026=Next subtitles track
6
+?6026=Previous subtitles track
7
 ?6027=Next subtitles track
8
 ?6028=Copy displayed subtitles text
9
 ?6029=Open URL from clipboard
10
sview-15_10.tar.gz/StMoviePlayer/lang/english/StMoviePlayer.lng -> sview-15_11.tar.gz/StMoviePlayer/lang/english/StMoviePlayer.lng Changed
201
 
1
@@ -1,246 +1,246 @@
2
 # English translation file for StMoviePlayer program
3
 # @author Kirill Gavrilov
4
 --------
5
-1002="Swap Left/Right"
6
-1003="UnSwap Left/Right"
7
-1004="Stereoscopic format:"
8
-1015="Open another movie"
9
-1020="Play/Pause"
10
-1021="Show/Hide playlist"
11
-1022="Play Previous File"
12
-1023="Play Next File"
13
-1029="Switch\nfullscreen/windowed"
14
-1100="Media"
15
-1101="Open Movie..."
16
-1102="Save Snapshot..."
17
-1103="Stereoscopic format"
18
-1170="File info"
19
-1104="Audio Device"
20
-1105="Shuffle"
21
-1106="Recent files"
22
-1107="Video decoding on GPU"
23
-1108="Web UI"
24
-1109="Quit"
25
-1110="From One file"
26
-1111="Left+Right files"
27
-1130="Source"
28
-1131="Mono"
29
-1132="Cross-eyed"
30
-1133="Parallel Pair"
31
-1134="Over/Under (R/L)"
32
-1135="Over/Under (L/R)"
33
-1136="Interlaced"
34
-1137="Anaglyph Red/Cyan"
35
-1138="Anaglyph Green/Red+Blue"
36
-1139="Anaglyph Yellow/Blue"
37
-1140="Frame-sequential"
38
-1141="2x720p in 1080p tiled"
39
-1142="2 Streams"
40
-1160="Clear history"
41
-1180="Turn Off"
42
-1181="Launch once"
43
-1182="Launch every time"
44
-1185="Show errors"
45
-1186="Web UI can not be started on {0} port!"
46
-1200="View"
47
-1201="Stereo Output"
48
-1202="Fullscreen"
49
-1203="Reset"
50
-1204="Swap Left/Right"
51
-1205="Display Ratio"
52
-1206="Smooth Filter"
53
-1207="Image Adjust"
54
-1208="Panorama"
55
-1210="Stereo"
56
-1211="Left View"
57
-1212="Right View"
58
-1213="Parallel Pair"
59
-1214="Cross-eyed"
60
-1250="Source"
61
-1251="Keep on restart"
62
-1252="Heal anamorphic 1080p/720p"
63
-1260="Nearest"
64
-1261="Linear"
65
-1262="Blend Deinterlace"
66
-1270="Reset to defaults"
67
-1271="Brightness"
68
-1272="Saturation"
69
-1273="Gamma"
70
-1280="Plane"
71
-1281="Sphere"
72
-1282="Cylinder"
73
-1283="Cubemap"
74
-1285="Track orientation"
75
-1286="Track orientation (poor)"
76
-1300="Audio"
77
-1301="None"
78
-1302="Audio/Video delay"
79
-1303="Attach from file"
80
-1320="Audio/Video synchronization"
81
-1321="Enter positive value if audio appears earlier than video and negative otherwise."
82
-1322="Audio delay:"
83
-1323="second(s)"
84
-1350="Subtitles"
85
-1351="None"
86
-1353="Attach from file"
87
-1354="Font Size"
88
-1355="Parallax"
89
-1356="Text parser"
90
-1357="Placement"
91
-1358="Top"
92
-1359="Bottom"
93
-1360="Plain text"
94
-1361="Lite HTML"
95
-1400="Change device"
96
-1401="About Plugin..."
97
-1402="FPS Control"
98
-1420="VSync"
99
-1421="Show Meter"
100
-1422="Reduce CPU usage"
101
-1500="Help"
102
-1501="About..."
103
-1502="Check for updates"
104
-1503="License text"
105
-1504="Language"
106
-1505="Block sleeping"
107
-1506="User tips"
108
-1507="Experimental features"
109
-1508="About system"
110
-1509="Interface Scale"
111
-1510="Hotkeys"
112
-1511="Settings"
113
-1520="Now"
114
-1521="Each day"
115
-1522="Each week"
116
-1523="Each year"
117
-1524="Never"
118
-1550="Never"
119
-1551="Always"
120
-1552="During Playback"
121
-1553="When in Full-screen"
122
-1590="Small"
123
-1591="Normal"
124
-1592="Big"
125
-1593="Force HiDPI 2X"
126
-2000="Choose the video file to open"
127
-2001="Choose LEFT video file to open"
128
-2002="Choose RIGHT video file to open"
129
-2003="File Info"
130
-2004="File information is unavailable"
131
-2005="File deletion"
132
-2006="Do you really want to completely remove this file?"
133
-2007="Active decoders:"
134
-2010="Choose location to save snapshot"
135
-2011="Nothing to save!"
136
-2012="Snapshot not available!"
137
-2013="Assign new Hot Key for action\n<i>{0}</i>"
138
-2014="Conflicts with: <i>{0}</i>"
139
-3000="sView - Movie Player"
140
-3001="version"
141
-3002="Movie player allows you to play stereoscopic video.\n © {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis program is distributed under GPL3.0"
142
-3003="A new version of sView is available on the official site www.sview.ru.\nPlease update your program."
143
-3004="System Info"
144
-4000="Close"
145
-4001="Cancel"
146
-4005="Reset"
147
-4006="Save"
148
-4007="Delete"
149
-4008="Default"
150
-4009="Defaults"
151
-4010="Assign"
152
-5000="[left]"
153
-5001="[right]"
154
-5002="File name(s)"
155
-5003="Video dimensions"
156
-5004="Load time"
157
-5005="ms"
158
-5006="Pixel ratio"
159
-5007="Pixel format"
160
-5008="(does not stored in metadata)"
161
-5009="(does not match metadata)"
162
-5010="Duration"
163
-5011="(does not stored in metadata,\nbut detected from file name)"
164
-5300="Title"
165
-5301="Composer"
166
-5302="Artist"
167
-5303="Album artist"
168
-5304="Album"
169
-5305="Disc"
170
-5306="Nb. of discs"
171
-5307="Genre"
172
-5308="Comment"
173
-5309="Notes"
174
-5310="Description"
175
-5311="Publisher"
176
-5312="Copyright"
177
-5313="Encoder"
178
-5314="Engineer"
179
-5315="Source"
180
-5316="Creation time"
181
-5317="Date"
182
-5318="Year"
183
-5319="Language"
184
-5320="Track"
185
-5321="Nb. of tracks"
186
-5322="Track gain"
187
-5323="Track peak"
188
-5324="Album gain"
189
-5325="Album peak"
190
-6000="Quit program"
191
-6001="Switch fullscreen/windowed"
192
-6002="Show/hide FPS meter"
193
-6003="Stereo format - Auto"
194
-6004="Stereo format - Mono"
195
-6005="Stereo format - Over/Under"
196
-6006="Stereo format - Side by side"
197
-6007="Show file info"
198
-6008="Playlist - Go to the first item"
199
-6009="Playlist - Go to the last item"
200
-6010="Playlist - Go to the previous item"
201
sview-15_10.tar.gz/StMoviePlayer/lang/french/StMoviePlayer.lng -> sview-15_11.tar.gz/StMoviePlayer/lang/french/StMoviePlayer.lng Changed
201
 
1
@@ -1,246 +1,246 @@
2
 # French translation file for StMoviePlayer program
3
 # @author gramoun for Kirill Gavrilov
4
 --------
5
-1002="Gauche/Droite inversé"
6
-1003="Gauche/Droite normal"
7
-1004="Format entrée:"
8
-1015="Ouvre autre vidéo"
9
-1020="Lecture/Pause"
10
-1021="Affiche/Masque playlist"
11
-1022="Fichier Précédent"
12
-1023="Fichier Suivant"
13
-1029="Bascule\Plein écran/fenêtre"
14
-1100="Média"
15
-1101="Ouvre Video..."
16
-1102="Enregistre Capture..."
17
-1103="Format Stéréo d'entrée"
18
-1170="File info"
19
-1104="Audio Device"
20
-1105="Aléatorie"
21
-1106="Médias récents"
22
-1107="Video decoding on GPU"
23
-1108="Web UI"
24
-1109="Quitter"
25
-1110="Depuis un fichier"
26
-1111="2 Fichiers Gauche+Droit"
27
-1130="Source"
28
-1131="Mono"
29
-1132="Cross-eyed"
30
-1133="Coté/Coté (SbS)"
31
-1134="Dessus/Dessous(D/G)"
32
-1135="Dessus/Dessous(G/D)"
33
-1136="Entrelacé"
34
-1137="Anaglyphe Rouge/Bleu"
35
-1138="Anaglyphe Vert/Magenta"
36
-1139="Anaglyphe Jaune/Bleu"
37
-1140="Frame-sequential"
38
-1141="2x720p in 1080p tiled"
39
-1142="2 Streams"
40
-1160="Effacer l'historique"
41
-1180="Arrêter"
42
-1181="Lancez une fois"
43
-1182="Lancer à chaque fois"
44
-1185="Afficher les erreurs"
45
-?1186="Web UI can not be started on {0} port!"
46
-1200="Affichage"
47
-1201="Sortie Stéréo"
48
-1202="Plein Ecran"
49
-1203="Réinitialisation"
50
-1204="Inverser Gauche/Droite"
51
-1205="Ratio d'affichage"
52
-1206="Lissage antialiasing"
53
-1207="Réglage de l'image"
54
-1208="Panorama"
55
-1210="Stéréo"
56
-1211="Vue Gauche"
57
-1212="Vue Droite"
58
-1213="Coté/Coté (SbS)"
59
-1214="Cross-eyed"
60
-1250="Source"
61
-1251="Garder après redémarrage"
62
-?1252="Heal anamorphic 1080p/720p"
63
-1260="Plus proche"
64
-1261="Lineaire"
65
-1262="Blend Deinterlace"
66
-1270="Rétablir par défaut"
67
-1271="Brightness"
68
-1272="Saturation"
69
-1273="Gamma"
70
-1280="Plan"
71
-1281="Sphère"
72
-1282="Cylindre"
73
-1283="Cubemap"
74
-?1285="Track orientation"
75
-?1286="Track orientation (poor)"
76
-1300="Audio"
77
-1301="Aucun"
78
-1302="Audio/Video delay"
79
-1303="Attacher un fichier"
80
-1320="Audio/Video synchronization"
81
-?1321="Enter positive value if audio appears earlier than video and negative otherwise."
82
-1322="Audio delay:"
83
-1323="second(s)"
84
-1350="Subtitles"
85
-1351="Aucun"
86
-1353="Attacher un fichier"
87
-1354="Taille De Police"
88
-1355="Parallaxe"
89
-?1356="Text parser"
90
-1357="Placement"
91
-1358="En haut"
92
-1359="Au fond"
93
-?1360="Plain text"
94
-?1361="Lite HTML"
95
-1400="Changer la sortie"
96
-1401="A propos du Plugin..."
97
-1402="Contrôle de I/S"
98
-1420="Synchro Vert."
99
-1421="Voir I/S"
100
-1422="Réduire l'utilisation de CPU"
101
-1500="Aide"
102
-1501="A Propos..."
103
-1502="Vérifier nouvelle version"
104
-1503="Texte de la Licence"
105
-1504="Language"
106
-1505="Empêcher le sommeil"
107
-1506="Conseils d'utilisation"
108
-?1507="Experimental features"
109
-?1508="About system"
110
-?1509="Scale Interface"
111
-1510="Raccourcis"
112
-1511="Paramètres"
113
-1520="Maintenant"
114
-1521="Chaque Jour"
115
-1522="Chaque Mois"
116
-1523="Chaque Année"
117
-1524="Jamais"
118
-1550="Jamais"
119
-1551="Always"
120
-1552="During Playback"
121
-1553="When in Full-screen"
122
-1590="Petit"
123
-1591="Normal"
124
-1592="Gros"
125
-1593="Force HiDPI 2X"
126
-2000="Choix du fichier vidéo à ouvrir"
127
-2001="Choix du fichier vidéo Gauche à ouvrir"
128
-2002="Choix du fichier vidéo Droite à ouvrir"
129
-?2003="File Info"
130
-2004="L'information est indisponible"
131
-?2005="File deletion"
132
-?2006="Do you really want to completely remove this file?"
133
-?2007="Active decoders:"
134
-2010="Emplacement de la capture écran"
135
-2011="Rien à enregistrer!"
136
-2012="Capture non disponible!"
137
-2013="Changement raccourcu clavier pour\n<i>{0}</i>"
138
-?2014="Conflicts with: <i>{0}</i>"
139
-3000="sView - Movie Player"
140
-3001="version"
141
-3002="Movie Player vous permet d'ouvrir des vidéo stéréoscopiques.\n © {0} Kirill Gavrilov <{1}>\nSite Officiel: {2}\n\nThis program is distributed under GPL3.0"
142
-3003="Une nouvelle version de sView est disponible sur le site officiel www.sview.ru.\nSVP, mettez votre programme à jour."
143
-3004="System Info"
144
-4000="Fermer"
145
-4001="Annuler"
146
-4005="Réinitialiser"
147
-4006="Enregistre"
148
-4007="Supprimer"
149
-?4008="Default"
150
-?4009="Defaults"
151
-4010="Affecter"
152
-5000="[gauche]"
153
-5001="[droite]"
154
-5002="Nom de fichier(s)"
155
-5003="Résolution vidéo"
156
-5004="Temps de démarrage"
157
-5005="ms"
158
-5006="Pixel ratio"
159
-5007="Pixel format"
160
-?5008="(does not stored in metadata)"
161
-?5009="(does not match metadata)"
162
-5010="Durée"
163
-?5011="(does not stored in metadata,\nbut detected from file name)"
164
-5300="Titre"
165
-5301="Compositeur"
166
-5302="Artiste"
167
-5303="Artiste de l'album"
168
-5304="Album"
169
-5305="Disque"
170
-5306="Nb. de disques"
171
-5307="Genre"
172
-5308="Commentaire"
173
-5309="Remarques"
174
-5310="Description"
175
-5311="Éditeur"
176
-5312="Copyright"
177
-5313="Encoder"
178
-5314="Ingénieur"
179
-5315="Source"
180
-5316="Temps de création"
181
-5317="Date"
182
-5318="Année"
183
-5319="Langue"
184
-5320="Track"
185
-5321="Nb. of tracks"
186
-5322="Track gain"
187
-5323="Track peak"
188
-5324="Album gain"
189
-5325="Album peak"
190
-6000="Quit program"
191
-6001="Bascule\Plein écran/fenêtre"
192
-6002="Voir I/S"
193
-6003="Format Stéréo d'entrée - Auto-détection"
194
-6004="Format Stéréo d'entrée - Mono"
195
-6005="Format Stéréo d'entrée - Dessus/Dessous"
196
-6006="Format Stéréo d'entrée - Coté/Coté (SbS)"
197
-6007="Afficher les informations sur le fichier"
198
-6008="Playlist - Aller au premier élément"
199
-6009="Playlist - Aller au dernier élément"
200
-6010="Playlist - Aller à l'élément précédent"
201
sview-15_10.tar.gz/StMoviePlayer/lang/german/StMoviePlayer.lng -> sview-15_11.tar.gz/StMoviePlayer/lang/german/StMoviePlayer.lng Changed
201
 
1
@@ -1,246 +1,246 @@
2
 # German translation file for StMoviePlayer program
3
 # @author Kirill Gavrilov
4
 --------
5
-1002="L&R Vertauschen An"
6
-1003="L&R Vertauschen Aus"
7
-1004="Quellformat:"
8
-1015="Öffnen anderen Film"
9
-1020="Wiedergabe/Pause"
10
-1021="Anzeigen/ausblenden Wiedergabeliste"
11
-1022="Vorheriges Stück"
12
-1023="Nachfolgendes Stück"
13
-1029="Vollbildmodus/Fenstermodus"
14
-1100="Medien"
15
-1101="Film öffnen..."
16
-1102="Videoschnappschuss speichern..."
17
-1103="Quelle Stereo-Format"
18
-1170="Datei-Info"
19
-1104="Audiogerät"
20
-1105="Zufällig"
21
-1106="Zuletzt geöffnete Medien öffnen"
22
-1107="GPU-basierter Video-Dekodierung"
23
-1108="Web UI"
24
-1109="Beenden"
25
-1110="Einer Datei"
26
-1111="Zwei Dateien"
27
-1130="Quelle"
28
-1131="Mono"
29
-1132="Schielend"
30
-1133="Parallel Pair"
31
-1134="Over/Under (R/L)"
32
-1135="Over/Under (L/R)"
33
-1136="Interlaced"
34
-1137="Anaglyph Rot/Cyan"
35
-1138="Anaglyph Grün/Rot+Blau"
36
-1139="Anaglyph Gelb/Blau"
37
-1140="Rahmen-sequentielle"
38
-1141="2x720p in 1080p tiled"
39
-1142="2 Streams"
40
-1160="Verlauf löschen"
41
-1180="Ausschalten"
42
-1181="Starten einmal"
43
-1182="Starten jedesmal"
44
-1185="Fehler anzeigen"
45
-?1186="Web UI can not be started on {0} port!"
46
-1200="Ansicht"
47
-1201="Stereo-Ausgang"
48
-1202="Vollbild"
49
-1203="Zurückstellen"
50
-1204="L&R Vertauschen"
51
-1205="Seitenverhältnis"
52
-1206="Glatte Filter"
53
-1207="Bildeinstellung"
54
-1208="Panorama"
55
-1210="Stereo"
56
-1211="Linke Bild"
57
-1212="Rechte Bild"
58
-1213="Parallel Pair"
59
-1214="Cross-eyed"
60
-1250="Quelle"
61
-1251="Halten beim Neustart"
62
-?1252="Heal anamorphic 1080p/720p"
63
-1260="Nearest"
64
-1261="Linear"
65
-1262="Blend Deinterlace"
66
-1270="Auf Standardwerte zurücksetzen"
67
-1271="Helligkeit"
68
-1272="Sättigung"
69
-1273="Gamma"
70
-1280="Fläche"
71
-1281="Kugel"
72
-1282="Zylinder"
73
-1283="Cubemap"
74
-?1285="Track orientation"
75
-?1286="Track orientation (poor)"
76
-1300="Audio"
77
-1301="keiner"
78
-1302="Audio/Video Verzögerung"
79
-1303="Bringen aus der Datei"
80
-1320="Audio/Video Synchronisierung"
81
-1321="Enter positive value if audio appears earlier than video and negative otherwise."
82
-1322="Audioverzögerung:"
83
-1323="Sek."
84
-1350="Untertitel"
85
-1351="keiner"
86
-1353="Bringen aus der Datei"
87
-1354="Schriftgröße"
88
-1355="Parallax"
89
-1356="Text parser"
90
-1357="Platzierungen"
91
-1358="Top"
92
-1359="Boden"
93
-1360="Plain text"
94
-1361="Lite HTML"
95
-1400="Gerät ändern"
96
-1401="Über Plugin..."
97
-1402="FPS Kontrolle"
98
-1420="VSync"
99
-1421="Zeige Meter"
100
-1422="Reduce CPU usage"
101
-1500="Hilfe"
102
-1501="Über..."
103
-1502="Nach Updates suchen"
104
-1503="Lizenztext"
105
-1504="Language"
106
-1505="Blockieren Schlaf"
107
-1506="Anwendertipps"
108
-1507="Experimentelle Funktionen"
109
-1508="Über System"
110
-1509="Maßstab Benutzeroberfläche"
111
-1510="Hotkeys"
112
-1511="Einstellungen"
113
-1520="jetzt"
114
-1521="täglich"
115
-1522="wöchentlich"
116
-1523="jährlich"
117
-1524="nie"
118
-1550="nie"
119
-1551="immer"
120
-1552="während der Wiedergabe"
121
-1553="wenn in Vollbild"
122
-1590="klein"
123
-1591="normal"
124
-1592="groß"
125
-1593="erzwingen HiDPI 2X"
126
-2000="Wählen die Videodatei zu öffnen"
127
-2001="Wählen die linke Videodatei zu öffnen"
128
-2002="Wählen die rechte Videodatei zu öffnen"
129
-2003="Datei-Info"
130
-2004="Information nicht verfügbar"
131
-2005="Löschen von Dateien"
132
-?2006="Do you really want to completely remove this file?"
133
-?2007="Active decoders:"
134
-2010="Wählen einen Speicherort für Videoschnappschuss"
135
-2011="Nichts zu speichern!"
136
-2012="Schnappschuss ist nicht verfügbar!"
137
-2013="Hotkey ändern\n<i>{0}</i>"
138
-2014="Konflikten: <i>{0}</i>"
139
-3000="sView - Movie Player"
140
-3001="Version"
141
-?3002="Movie player allows you to play stereoscopic video.\n © {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis program is distributed under GPL3.0"
142
-?3003="A new version of sView is available on the official site www.sview.ru.\nPlease update your program."
143
-3004="System Info"
144
-4000="Schließen"
145
-4001="Abbrechen"
146
-4005="Rücksetzen"
147
-4006="Speichern"
148
-4007="Löschen"
149
-4008="Default"
150
-4009="Defaults"
151
-4010="Zuweisen"
152
-5000="[linke]"
153
-5001="[rechte]"
154
-5002="Dateiname(n)"
155
-5003="Video dimensions"
156
-5004="Ladezeit"
157
-5005="ms"
158
-5006="Pixelseitenverhältnis"
159
-5007="Pixel format"
160
-5008="(nicht in Metadaten gespeichert)"
161
-5009="(keine Metadaten übereinstimmen)"
162
-5010="Dauer"
163
-5011="(nicht in Metadaten gespeichert,\nsondern von Dateinamen detektiert)"
164
-5300="Titel"
165
-5301="Composer"
166
-5302="Artist"
167
-5303="Album artist"
168
-5304="Album"
169
-5305="Disc"
170
-5306="Nb. of discs"
171
-5307="Genre"
172
-5308="Kommentar"
173
-5309="Notes"
174
-5310="Beschreibung"
175
-5311="Publisher"
176
-5312="Copyright"
177
-5313="Encoder"
178
-5314="Engineer"
179
-5315="Source"
180
-5316="Creation time"
181
-5317="Datum"
182
-5318="Jahr"
183
-5319="Sprache"
184
-5320="Track"
185
-5321="Nb. of tracks"
186
-5322="Track gain"
187
-5323="Track peak"
188
-5324="Album gain"
189
-5325="Album peak"
190
-6000="Beenden"
191
-6001="Vollbildmodus/Fenstermodus"
192
-6002="FPS anzeigen"
193
-6003="Stereo-Format - Autoerkennung"
194
-6004="Stereo-Format - Mono"
195
-6005="Stereo-Format - Over/Under"
196
-6006="Stereo-Format - Side by side"
197
-6007="Datei info"
198
-6008="Wiedergabeliste - Zum ersten Element"
199
-6009="Wiedergabeliste - Zum letzten Element"
200
-6010="Wiedergabeliste - Zum vorherigen Element"
201
sview-15_10.tar.gz/StMoviePlayer/lang/korean/StMoviePlayer.lng -> sview-15_11.tar.gz/StMoviePlayer/lang/korean/StMoviePlayer.lng Changed
201
 
1
@@ -2,246 +2,246 @@
2
 # @author Kirill Gavrilov
3
 # @translator Kwon Daesuk <hyntel@clunix.com>
4
 --------
5
-1002="좌/우 교체"
6
-1003="좌/우 복원"
7
-1004="소스 형식:"
8
-1015="다른 영상 열기"
9
-1020="재생/멈춤"
10
-1021="재생 목록 보이기/감추기"
11
-1022="앞 파일 재생"
12
-1023="다음 파일 재생"
13
-1029="전환\n전체화면/윈도우화면"
14
-1100="미디어"
15
-1101="파일 열기..."
16
-1102="스냅샷 저장..."
17
-1103="소스 스테레오 형식"
18
-?1170="File info"
19
-1104="오디오 장치"
20
-1105="셔플"
21
-1106="최근 파일"
22
-1107="GPU 비디오 디코딩"
23
-1108="웹 UI"
24
-1109="종료"
25
-1110="파일 하나에서 재생"
26
-1111="좌+우 각 파일에서 재생"
27
-1130="자동감지"
28
-1131="단일영상"
29
-1132="크로스-아이"
30
-1133="패럴렐 페어"
31
-1134="상/하 (R/L)"
32
-1135="상/하 (L/R)"
33
-1136="인터레이스"
34
-?1137="red/cyan"
35
-?1138="green/red+blue"
36
-?1139="yellow/blue"
37
-1140="순차 프레임"
38
-1141="2x720p in 1080p tiled"
39
-1142="2 스트림"
40
-1160="재생 기록 소거"
41
-1180="끄기"
42
-1181="한번만 실행"
43
-1182="매번 실행"
44
-1185="오류 보이기"
45
-1186="웹 UI {0} 포트에서 시작 불가!"
46
-1200="보기"
47
-1201="입체 출력"
48
-1202="전체 화면"
49
-1203="리셋"
50
-1204="좌/우 교체"
51
-1205="화면 비율"
52
-1206="Smooth 필터"
53
-1207="이미지 수정"
54
-?1208="Panorama"
55
-1210="Stereo"
56
-1211="왼쪽 View"
57
-1212="오른쪽 View"
58
-1213="패럴렐 페어"
59
-1214="크로스 아이"
60
-?1250="Source"
61
-1251="재시작시 유지"
62
-?1252="Heal anamorphic 1080p/720p"
63
-?1260="Nearest"
64
-?1261="Linear"
65
-?1262="Blend Deinterlace"
66
-1270="초기값 리셋"
67
-1271="밝기"
68
-?1272="Saturation"
69
-1273="감마"
70
-?1280="Plane"
71
-?1281="Sphere"
72
-?1282="Cylinder"
73
-?1283="Cubemap"
74
-?1285="Track orientation"
75
-?1286="Track orientation (poor)"
76
-?1300="Audio"
77
-1301="없음"
78
-1302="오디오/비디오 지연시간"
79
-1303="파일에서 불러오기"
80
-1320="오디오/비디오 동기화"
81
-1321="오디오가 화면보다 먼저 들리면 +값을, 반대이면 -값을 넣으시오"
82
-1322="오디오 지연:"
83
-1323="초(s)"
84
-1350="자막"
85
-1351="없음"
86
-1353="파일에서 불러오기"
87
-1354="폰트 크기"
88
-?1355="Parallax"
89
-?1356="Text parser"
90
-?1357="Placement"
91
-?1358="Top"
92
-?1359="Bottom"
93
-?1360="Plain text"
94
-?1361="Lite HTML"
95
-1400="장치 변경"
96
-?1401="About Plugin..."
97
-?1402="FPS 제어"
98
-?1420="VSync"
99
-?1421="Show Meter"
100
-1422="CPU 부하 감소"
101
-1500="도움말"
102
-1501="이 프로그램에 대해..."
103
-1502="업데이트 확인"
104
-1503="라이선스 문서"
105
-1504="언어 (Language)"
106
-1505="블록 슬리핑"
107
-1506="사용자 팁"
108
-1507="실험적 기능"
109
-1508="시스템에 대해"
110
-?1509="Interface Scale"
111
-?1510="Hotkeys"
112
-?1511="Settings"
113
-1520="지금"
114
-1521="매일"
115
-1522="매주"
116
-1523="매년"
117
-1524="하지않음"
118
-1550="하지않음"
119
-1551="항상"
120
-1552="재생중"
121
-1553="전체화면중"
122
-1590="작게"
123
-1591="보통"
124
-1592="크게"
125
-1593="HiDPI 2X 로"
126
-2000="재생할 비디오 파일을 선택하시오"
127
-2001="좌안 비디오 파일을 선택하시오"
128
-2002="우안 비디오 파일을 선택하시오"
129
-?2003="File Info"
130
-?2004="File information is unavailable"
131
-?2005="File deletion"
132
-?2006="Do you really want to completely remove this file?"
133
-?2007="Active decoders:"
134
-2010="스냅샷을 저장할 위치를 선택하시오"
135
-2011="저장할 수 없음!"
136
-2012="스냅샷 없음!"
137
-?2013="Assign new Hot Key for action\n<i>{0}</i>"
138
-?2014="Conflicts with: <i>{0}</i>"
139
-3000="sView - 3D 동영상 플레이어"
140
-3001="version"
141
-3002="이 동영상 플레이어는 스테레오스코픽 동영상을 재생할 수 있습니다.\n © {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\n이 프로그램은 GPL3.0 하에 배포됩니다."
142
-3003="sView 새 버전은 www.sview.ru 에서 얻으실 수 있습니다.\n 프로그램을 업데이트 하세요."
143
-?3004="System Info"
144
-4000="닫기"
145
-?4001="Cancel"
146
-4005="리셋"
147
-?4006="Save"
148
-?4007="Delete"
149
-?4008="Default"
150
-?4009="Defaults"
151
-?4010="Assign"
152
-?5000="[left]"
153
-?5001="[right]"
154
-?5002="File name(s)"
155
-?5003="Video dimensions"
156
-?5004="Load time"
157
-?5005="ms"
158
-?5006="Pixel ratio"
159
-?5007="Pixel format"
160
-?5008="(does not stored in metadata)"
161
-?5009="(does not match metadata)"
162
-?5010="Duration"
163
-?5011="(does not stored in metadata,\nbut detected from file name)"
164
-?5300="Title"
165
-?5301="Composer"
166
-?5302="Artist"
167
-?5303="Album artist"
168
-?5304="Album"
169
-?5305="Disc"
170
-?5306="Nb. of discs"
171
-?5307="Genre"
172
-?5308="Comment"
173
-?5309="Notes"
174
-?5310="Description"
175
-?5311="Publisher"
176
-?5312="Copyright"
177
-?5313="Encoder"
178
-?5314="Engineer"
179
-?5315="Source"
180
-?5316="Creation time"
181
-?5317="Date"
182
-?5318="Year"
183
-?5319="Language"
184
-?5320="Track"
185
-?5321="Nb. of tracks"
186
-?5322="Track gain"
187
-?5323="Track peak"
188
-?5324="Album gain"
189
-?5325="Album peak"
190
-6000="나가기"
191
-6001="전환 전체화면/윈도화면"
192
-?6002="Show/hide FPS meter"
193
-6003="입력 스테레오 형식: 자동감지"
194
-6004="입력 스테레오 형식: 모노"
195
-6005="입력 스테레오 형식: 상/하"
196
-6006="입력 스테레오 형식: 크로스-아이"
197
-?6007="Show file info"
198
-?6008="Playlist - Go to the first item"
199
-?6009="Playlist - Go to the last item"
200
-6010="앞 파일 재생"
201
sview-15_10.tar.gz/StMoviePlayer/lang/russian/StMoviePlayer.lng -> sview-15_11.tar.gz/StMoviePlayer/lang/russian/StMoviePlayer.lng Changed
201
 
1
@@ -1,247 +1,247 @@
2
 # Russian translation file for StMoviePlayer program
3
 # @author Kirill Gavrilov
4
 --------
5
-1002="Поменять ракурсы местами"
6
-1003="Отключить реверс ракурсов"
7
-1004="Исходный стереоформат:"
8
-1015="Открыть видеофайл"
9
-1020="Пауза/Воспроизведение"
10
-1021="Отобразить/Скрыть\nсписок файлов"
11
-1022="Предыдущий файл"
12
-1023="Следующий файл"
13
-1029="Оконный/Полноэкранный\nрежим просмотра"
14
-1100="Медиа"
15
-1101="Открыть видео..."
16
-1102="Сохранить кадр..."
17
-1103="Исходный стереоформат"
18
-1170="Информация о файле"
19
-1104="Аудио устройство"
20
-1105="Случайный порядок"
21
-1106="Последние файлы"
22
-1107="Декодирование видео на GPU"
23
-1108="Web UI"
24
-1109="Выход"
25
-1110="Из одного файла"
26
-1111="Левый+Правый файлы"
27
-1130="Исходный"
28
-1131="Моно"
29
-1132="Перекрёстная пара"
30
-1133="Параллельная пара"
31
-1134="Вертикальная пара (П/Л)"
32
-1135="Вертикальная пара (Л/П)"
33
-1136="Чересстрочный"
34
-1137="Анаглиф (Красно-Голубой)"
35
-1138="Анаглиф (Пурпурный)"
36
-1139="Анаглиф (Жёлтый)"
37
-1140="Чередование кадров"
38
-1141="2x720p in 1080p tiled"
39
-1142="2 потока"
40
-1160="Очистить историю"
41
-1180="Отключить"
42
-1181="Запустить один раз"
43
-1182="Запускать при старте"
44
-1185="Показывать ошибки"
45
-1186="Web-интерфейс не может быть запущен на порте {0}!"
46
-1200="Вид"
47
-1201="Вывод стерео"
48
-1202="Полный экран"
49
-1203="Сбросить"
50
-1204="Реверс ракурсов"
51
-1205="Соотношение сторон"
52
-1206="Сглаживание текстур"
53
-1207="Цветокоррекция"
54
-1208="Панорама"
55
-1210="Стерео"
56
-1211="Левый ракурс"
57
-1212="Правый ракурс"
58
-1213="Параллельная пара"
59
-1214="Перекрёстная пара"
60
-1140="Чередование кадров"
61
-1250="Исходное"
62
-1251="Запомнить"
63
-?1252="Heal anamorphic 1080p/720p"
64
-1260="Без сглаживания"
65
-1261="Линейное"
66
-1262="Blend Deinterlace"
67
-1270="Сбросить настройки"
68
-1271="Яркость"
69
-1272="Насыщенность"
70
-1273="Гамма"
71
-1280="Плоскость"
72
-1281="Сфера"
73
-1282="Цилиндр
74
-1283="Куб"
75
-1285="Отслеживать ориентацию"
76
-1286="Отслеживать ориентацию (poor)"
77
-1300="Аудио"
78
-1301="Без звука"
79
-1302="Задержка звука"
80
-1303="Добавить дорожку из файла"
81
-1320="Синхронизация видео со звуком"
82
-1321="Введите положительное значение, если звук опережает видео, и отрицательное в противном случае."
83
-1322="Задержка звука:"
84
-1323="секунд"
85
-1350="Субтитры"
86
-1351="Без титров"
87
-1353="Добавить файл"
88
-1400="Выбрать устройство"
89
-1401="О модуле..."
90
-1402="FPS Control"
91
-1420="Верт. синхронизация"
92
-1421="Отображать FPS"
93
-1422="Ограничить использование CPU"
94
-1500="Помощь"
95
-1501="О программе..."
96
-1502="Проверить обновления"
97
-1503="Открыть лицензию"
98
-1504="Language"
99
-1505="Блокировать спящий режим"
100
-1506="Подсказки"
101
-1507="Экспериментальные функции"
102
-1508="О системе"
103
-1509="Масштаб. интерфейса"
104
-1510="Горячие клавиши"
105
-1511="Настройки"
106
-1520="Сейчас"
107
-1521="Каждый день"
108
-1522="Каждую неделю"
109
-1523="Каждый год"
110
-1524="Никогда"
111
-1550="Никогда"
112
-1551="Всегда"
113
-1552="Во время воспроизведения"
114
-1553="В полноэкранном режиме"
115
-1354="Размер текста"
116
-1355="Параллакс"
117
-1356="Text parser"
118
-1357="Положение"
119
-1358="Сверху"
120
-1359="Снизу"
121
-1360="Plain text"
122
-1361="Lite HTML"
123
-1590="Мелко"
124
-1591="Нормально"
125
-1592="Крупно"
126
-1593="Форсировать HiDPI 2X"
127
-2000="Выберите видеофайл"
128
-2001="Выберите видеофайл с ЛЕВЫМ ракурсом"
129
-2002="Выберите видеофайл с ПРАВЫМ ракурсом"
130
-2003="Информация о файле"
131
-2004="Информация о файле недоступна"
132
-2005="Удаление файла"
133
-2006="Вы действительно хотите\n<b>удалить файл</b> минуя корзину?"
134
-2007="Активные декодеры:"
135
-2010="Выберите путь для сохранения картинки"
136
-2011="Ничего не открыто!"
137
-2012="Изображение недоступно для сохранения!"
138
-2013="Назначить новую комбинацию для\n<i>{0}</i>"
139
-2014="Конфликтует с: <i>{0}</i>"
140
-3000="sView - программа для воспроизведения видео"
141
-3001="версия"
142
-3002="Программа воспроизводит стереоскопическое видео.\n © {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}\n\nПрограмма распространяется на условиях GPL3.0"
143
-3003="Доступно обновление программы.\nВы можете загрузить новую версию с официального сайта www.sview.ru."
144
-3004="Информация о системе"
145
-4000="Закрыть"
146
-4001="Отменить"
147
-4005="Сбросить"
148
-4006="Сохранить"
149
-4007="Удалить"
150
-4008="По умолчанию"
151
-4009="Сбросить всё"
152
-4010="Установить"
153
-5000="[левый]"
154
-5001="[правый]"
155
-5002="Имена файлов"
156
-5003="Разрешение видео"
157
-5004="Время загрузки"
158
-5005="мс"
159
-5006="Пропорции пикселя"
160
-5007="Пиксельный формат"
161
-5008="(информация отсутствует в метаданных)"
162
-5009="(не соответствует метаданным)"
163
-5010="Продолжительность"
164
-5011="(информация отсутствует в метаданных,\nно была определена по имени файла)"
165
-5300="Заголовок"
166
-5301="Композитор"
167
-5302="Artist"
168
-5303="Album artist"
169
-5304="Альбом"
170
-5305="Диск"
171
-5306="Количество дисков"
172
-5307="Жанр"
173
-5308="Комментарий"
174
-5309="Примечания"
175
-5310="Описание"
176
-5311="Publisher"
177
-5312="Copyright"
178
-5313="Encoder"
179
-5314="Engineer"
180
-5315="Источник"
181
-5316="Дата создания"
182
-5317="Дата"
183
-5318="Год"
184
-5319="Язык"
185
-5320="Track"
186
-5321="Nb. of tracks"
187
-5322="Track gain"
188
-5323="Track peak"
189
-5324="Album gain"
190
-5325="Album peak"
191
-6000="Выход из программы"
192
-6001="Активирование полноэкранного режима"
193
-6002="Отображение FPS"
194
-6003="Стереоформат - Автоопределение"
195
-6004="Стереоформат - Моно"
196
-6005="Стереоформат - Вертикальная пара"
197
-6006="Стереоформат - Перекрёстная пара"
198
-6007="Информация о файле"
199
-6008="Список файлов - Перейти к первому элементу"
200
-6009="Список файлов - Перейти к последнему элементу"
201
sview-15_10.tar.gz/StOutAnaglyph/StOutAnaglyph.cbp -> sview-15_11.tar.gz/StOutAnaglyph/StOutAnaglyph.cbp Changed
59
 
1
@@ -6,33 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/StOutAnaglyph" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
7
-               <Option object_output="obj/$(TARGET_NAME)/" />
8
-               <Option type="3" />
9
-               <Option compiler="gcc" />
10
-               <Option createStaticLib="1" />
11
-               <Compiler>
12
-                   <Add option="-O3" />
13
-                   <Add option="-std=c++0x" />
14
-                   <Add option="-Wall" />
15
-                   <Add option="-g" />
16
-                   <Add option="-shared" />
17
-                   <Add option="-mmmx" />
18
-                   <Add option="-msse" />
19
-                   <Add option="-DUNICODE" />
20
-                   <Add option="-DST_DEBUG" />
21
-                   <Add option="-DST_HAVE_STCONFIG" />
22
-               </Compiler>
23
-               <Linker>
24
-                   <Add library="opengl32" />
25
-                   <Add library="gdi32" />
26
-                   <Add library="Version" />
27
-               </Linker>
28
-               <ExtraCommands>
29
-                   <Add before='cmd /c call ..\copy_res.bat $(TARGET_OUTPUT_DIR) $(TARGET_OUTPUT_BASENAME)' />
30
-               </ExtraCommands>
31
-           </Target>
32
            <Target title="WIN_vc_x86">
33
                <Option output="../bin/$(TARGET_NAME)/StOutAnaglyph" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
34
                <Option object_output="obj/$(TARGET_NAME)/" />
35
@@ -64,11 +37,11 @@
36
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;2' />
37
                </ExtraCommands>
38
            </Target>
39
-           <Target title="WIN_vc_x86_DEBUG">
40
+           <Target title="WIN_vc_AMD64_DEBUG">
41
                <Option output="../bin/$(TARGET_NAME)/StOutAnaglyph" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
42
                <Option object_output="obj/$(TARGET_NAME)/" />
43
                <Option type="3" />
44
-               <Option compiler="msvc10" />
45
+               <Option compiler="windows_sdk_x86_64" />
46
                <Option createStaticLib="1" />
47
                <Compiler>
48
                    <Add option="/MDd" />
49
@@ -254,8 +227,7 @@
50
            <Option compilerVar="WINDRES" />
51
            <Option target="WIN_vc_x86" />
52
            <Option target="WIN_vc_AMD64" />
53
-           <Option target="WIN_gcc_x86" />
54
-           <Option target="WIN_vc_x86_DEBUG" />
55
+           <Option target="WIN_vc_AMD64_DEBUG" />
56
        </Unit>
57
        <Unit filename="lang/chinese/language.lng">
58
            <Option target="&lt;{~None~}&gt;" />
59
sview-15_10.tar.gz/StOutAnaglyph/StOutAnaglyph.cpp -> sview-15_11.tar.gz/StOutAnaglyph/StOutAnaglyph.cpp Changed
36
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutAnaglyph, class providing stereoscopic output in Anaglyph format using StCore toolkit.
4
  * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutAnaglyph library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutAnaglyph library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include "StOutAnaglyph.h"
25
@@ -201,7 +192,9 @@
26
 }
27
 
28
 void StOutAnaglyph::beforeClose() {
29
-    mySettings->saveInt32Rect(ST_SETTING_WINDOWPOS, StWindow::getWindowedPlacement());
30
+    if(isMovable() && myWasUsed) {
31
+        mySettings->saveInt32Rect(ST_SETTING_WINDOWPOS, StWindow::getWindowedPlacement());
32
+    }
33
     mySettings->saveParam(ST_SETTING_GLASSES,   params.Glasses);
34
     mySettings->saveParam(ST_SETTING_REDCYAN,   params.RedCyan);
35
     mySettings->saveParam(ST_SETTING_AMBERBLUE, params.AmberBlue);
36
sview-15_10.tar.gz/StOutAnaglyph/StOutAnaglyph.h -> sview-15_11.tar.gz/StOutAnaglyph/StOutAnaglyph.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutAnaglyph, class providing stereoscopic output in Anaglyph format using StCore toolkit.
4
  * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutAnaglyph library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutAnaglyph library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StOutAnaglyph_h_
25
sview-15_10.tar.gz/StOutAnaglyph/lang/chinese/StOutAnaglyph.lng -> sview-15_11.tar.gz/StOutAnaglyph/lang/chinese/StOutAnaglyph.lng Changed
39
 
1
@@ -1,20 +1,20 @@
2
 # Chinese translation file for StOutAnaglyph library
3
 # @author YSC
4
 --------
5
-1000="分色眼镜"
6
-1001="滤色简单眼镜. 通用"
7
-1010="眼镜类型"
8
-1011="红-青"
9
-1012="黄-蓝"
10
-1013="绿-洋红"
11
-1102="红-青 滤镜"
12
-1120="单画面"
13
-1121="调节"
14
-1122="变灰"
15
-1123="黑"
16
-1103="黄-蓝 滤镜"
17
-1130="单画面"
18
-1131="Dubios"
19
-2000="sView - 分色输出模块"
20
-2001="版本"
21
-?2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
22
+1000=分色眼镜
23
+1001=滤色简单眼镜. 通用
24
+1010=眼镜类型
25
+1011=红-青
26
+1012=黄-蓝
27
+1013=绿-洋红
28
+1102=红-青 滤镜
29
+1120=单画面
30
+1121=调节
31
+1122=变灰
32
+1123=黑
33
+1103=黄-蓝 滤镜
34
+1130=单画面
35
+1131=Dubios
36
+2000=sView - 分色输出模块
37
+2001=版本
38
+?2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
39
sview-15_10.tar.gz/StOutAnaglyph/lang/czech/StOutAnaglyph.lng -> sview-15_11.tar.gz/StOutAnaglyph/lang/czech/StOutAnaglyph.lng Changed
7
 
1
@@ -18,4 +18,4 @@
2
 1131=Dubios
3
 2000=sView - modul pro výstup anaglyf
4
 2001=verze
5
-2002=© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}\n\nБиблиотека распространяется на условиях LGPL3.0
6
+2002=© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}
7
sview-15_10.tar.gz/StOutAnaglyph/lang/english/StOutAnaglyph.lng -> sview-15_11.tar.gz/StOutAnaglyph/lang/english/StOutAnaglyph.lng Changed
39
 
1
@@ -1,20 +1,20 @@
2
 # English translation file for StOutAnaglyph library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Anaglyph glasses"
6
-1001="Simple glasses with color-filters. Commonly used"
7
-1010="Glasses type"
8
-1011="Red-Cyan (R+GB)"
9
-1012="Yellow-Blue (RG+B)"
10
-1013="Green-Magenta (G+RB)"
11
-1102="Red-Cyan filter"
12
-1120="Simple"
13
-1121="Optimized"
14
-1122="Grayed"
15
-1123="Dark"
16
-1103="Yellow-Blue filter"
17
-1130="Simple"
18
-1131="Dubios"
19
-2000="sView - Anaglyph Output module"
20
-2001="version"
21
-2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
22
+1000=Anaglyph glasses
23
+1001=Simple glasses with color-filters. Commonly used
24
+1010=Glasses type
25
+1011=Red-Cyan (R+GB)
26
+1012=Yellow-Blue (RG+B)
27
+1013=Green-Magenta (G+RB)
28
+1102=Red-Cyan filter
29
+1120=Simple
30
+1121=Optimized
31
+1122=Grayed
32
+1123=Dark
33
+1103=Yellow-Blue filter
34
+1130=Simple
35
+1131=Dubios
36
+2000=sView - Anaglyph Output module
37
+2001=version
38
+2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
39
sview-15_10.tar.gz/StOutAnaglyph/lang/french/StOutAnaglyph.lng -> sview-15_11.tar.gz/StOutAnaglyph/lang/french/StOutAnaglyph.lng Changed
39
 
1
@@ -1,20 +1,20 @@
2
 # French translation file for StOutAnaglyph library
3
 # @author gramoun for Kirill Gavrilov
4
 --------
5
-1000="Lunettes Anaglyphes"
6
-1001="Simples Lunettes avec filtre couleur. Couramment utilisées"
7
-1010="Type de verre"
8
-1011="Rouge-Bleue (R+B)"
9
-1012="Jaune-Bleue (RV+B)"
10
-1013="Vert-Magenta (V+RB)"
11
-1102="Filtre Rouge-Bleu"
12
-1120="Simple"
13
-1121="Optimisé"
14
-1122="Gris"
15
-1123="Foncé"
16
-1103="Filtre Jaune-Bleue"
17
-1130="Simple"
18
-1131="Dubios"
19
-2000="sView - Anaglyph Output module"
20
-2001="version"
21
-2002="© {0} Kirill Gavrilov <{1}>\nSite Officiel: {2}\n\nThis library is distributed under LGPL3.0"
22
+1000=Lunettes Anaglyphes
23
+1001=Simples Lunettes avec filtre couleur. Couramment utilisées
24
+1010=Type de verre
25
+1011=Rouge-Bleue (R+B)
26
+1012=Jaune-Bleue (RV+B)
27
+1013=Vert-Magenta (V+RB)
28
+1102=Filtre Rouge-Bleu
29
+1120=Simple
30
+1121=Optimisé
31
+1122=Gris
32
+1123=Foncé
33
+1103=Filtre Jaune-Bleue
34
+1130=Simple
35
+1131=Dubios
36
+2000=sView - Anaglyph Output module
37
+2001=version
38
+2002=© {0} Kirill Gavrilov <{1}>\nSite Officiel: {2}
39
sview-15_10.tar.gz/StOutAnaglyph/lang/german/StOutAnaglyph.lng -> sview-15_11.tar.gz/StOutAnaglyph/lang/german/StOutAnaglyph.lng Changed
39
 
1
@@ -1,20 +1,20 @@
2
 # German translation file for StOutAnaglyph library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Anaglyphenbrillen"
6
-1001="Simple glasses with color-filters. Commonly used"
7
-1010="Brillenartiger"
8
-1011="Rot-Cyan (R+GB)"
9
-1012="Gelb-Blau (RG+B)"
10
-1013="Green-Magenta (G+RB)"
11
-1102="Rot-Cyan Filter"
12
-1120="Einfach"
13
-1121="Optimiert"
14
-1122="Grayed"
15
-1123="Dunkel"
16
-1103="Gelb-Blau Filter"
17
-1130="Einfach"
18
-1131="Dubios"
19
-2000="sView - Anaglyph Ausgangsmodul"
20
-2001="Version"
21
-2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
22
+1000=Anaglyphenbrillen
23
+1001=Simple glasses with color-filters. Commonly used
24
+1010=Brillenartiger
25
+1011=Rot-Cyan (R+GB)
26
+1012=Gelb-Blau (RG+B)
27
+1013=Green-Magenta (G+RB)
28
+1102=Rot-Cyan Filter
29
+1120=Einfach
30
+1121=Optimiert
31
+1122=Grayed
32
+1123=Dunkel
33
+1103=Gelb-Blau Filter
34
+1130=Einfach
35
+1131=Dubios
36
+2000=sView - Anaglyph Ausgangsmodul
37
+2001=Version
38
+2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
39
sview-15_10.tar.gz/StOutAnaglyph/lang/korean/StOutAnaglyph.lng -> sview-15_11.tar.gz/StOutAnaglyph/lang/korean/StOutAnaglyph.lng Changed
39
 
1
@@ -1,20 +1,20 @@
2
 # English translation file for StOutAnaglyph library
3
 # @author Kirill Gavrilov
4
 --------
5
-?1000="Anaglyph glasses"
6
-?1001="Simple glasses with color-filters. Commonly used"
7
-?1010="Glasses type"
8
-?1011="Red-Cyan (R+GB)"
9
-?1012="Yellow-Blue (RG+B)"
10
-?1013="Green-Magenta (G+RB)"
11
-?1102="Red-Cyan filter"
12
-?1120="Simple"
13
-?1121="Optimized"
14
-?1122="Grayed"
15
-?1123="Dark"
16
-?1103="Yellow-Blue filter"
17
-?1130="Simple"
18
-?1131="Dubios"
19
-?2000="sView - Anaglyph Output module"
20
-?2001="version"
21
-?2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
22
+?1000=Anaglyph glasses
23
+?1001=Simple glasses with color-filters. Commonly used
24
+?1010=Glasses type
25
+?1011=Red-Cyan (R+GB)
26
+?1012=Yellow-Blue (RG+B)
27
+?1013=Green-Magenta (G+RB)
28
+?1102=Red-Cyan filter
29
+?1120=Simple
30
+?1121=Optimized
31
+?1122=Grayed
32
+?1123=Dark
33
+?1103=Yellow-Blue filter
34
+?1130=Simple
35
+?1131=Dubios
36
+?2000=sView - Anaglyph Output module
37
+?2001=version
38
+?2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
39
sview-15_10.tar.gz/StOutAnaglyph/lang/russian/StOutAnaglyph.lng -> sview-15_11.tar.gz/StOutAnaglyph/lang/russian/StOutAnaglyph.lng Changed
39
 
1
@@ -1,20 +1,20 @@
2
 # Russian translation file for StOutAnaglyph library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Анаглифные очки"
6
-1001="Очки с цветовыми фильтрами"
7
-1010="Тип очков"
8
-1011="Красно-голубые"
9
-1012="Жёлто-Синие"
10
-1013="Зелёно-Пурпурные"
11
-1102="Красно-голубой фильтр"
12
-1120="Простой"
13
-1121="Оптимизированный"
14
-1122="Серый"
15
-1123="Тёмный"
16
-1103="Жёлто-Синий фильтр"
17
-1130="Простой"
18
-1131="Dubios"
19
-2000="sView - модуль вывода для Анаглифных очков"
20
-2001="версия"
21
-2002="© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}\n\nБиблиотека распространяется на условиях LGPL3.0"
22
+1000=Анаглифные очки
23
+1001=Очки с цветовыми фильтрами
24
+1010=Тип очков
25
+1011=Красно-голубые
26
+1012=Жёлто-Синие
27
+1013=Зелёно-Пурпурные
28
+1102=Красно-голубой фильтр
29
+1120=Простой
30
+1121=Оптимизированный
31
+1122=Серый
32
+1123=Тёмный
33
+1103=Жёлто-Синий фильтр
34
+1130=Простой
35
+1131=Dubios
36
+2000=sView - модуль вывода для Анаглифных очков
37
+2001=версия
38
+2002=© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}
39
sview-15_10.tar.gz/StOutAnaglyph/shaders/fAnaglyphGray.shf -> sview-15_11.tar.gz/StOutAnaglyph/shaders/fAnaglyphGray.shf Changed
24
 
1
@@ -2,19 +2,9 @@
2
  * Gray Anaglyph fragment shader.
3
  * Copyright © 2007-2011 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutAnaglyph library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutAnaglyph library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 /**
24
sview-15_10.tar.gz/StOutAnaglyph/shaders/fAnaglyphGreen.shf -> sview-15_11.tar.gz/StOutAnaglyph/shaders/fAnaglyphGreen.shf Changed
24
 
1
@@ -2,19 +2,9 @@
2
  * Simple Green-Magenta Anaglyphs fragment shader.
3
  * Copyright © 2010 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutAnaglyph library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutAnaglyph library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 uniform sampler2D texL, texR;
24
sview-15_10.tar.gz/StOutAnaglyph/shaders/fAnaglyphOptim.shf -> sview-15_11.tar.gz/StOutAnaglyph/shaders/fAnaglyphOptim.shf Changed
24
 
1
@@ -2,19 +2,9 @@
2
  * Optimized Anaglyphs (StereoVision) fragment shader.
3
  * Copyright © 2007-2010 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutAnaglyph library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutAnaglyph library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 // http://research.csc.ncsu.edu/stereographics/LS.pdf
24
sview-15_10.tar.gz/StOutAnaglyph/shaders/fAnaglyphSimple.shf -> sview-15_11.tar.gz/StOutAnaglyph/shaders/fAnaglyphSimple.shf Changed
24
 
1
@@ -2,19 +2,9 @@
2
  * Simple Anaglyphs fragment shader.
3
  * Copyright © 2007-2010 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutAnaglyph library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutAnaglyph library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 uniform sampler2D texL, texR;
24
sview-15_10.tar.gz/StOutAnaglyph/shaders/fAnaglyphTrue.shf -> sview-15_11.tar.gz/StOutAnaglyph/shaders/fAnaglyphTrue.shf Changed
24
 
1
@@ -2,19 +2,9 @@
2
  * True (dark) Anaglyph fragment shader.
3
  * Copyright © 2007-2010 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutAnaglyph library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutAnaglyph library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 /**
24
sview-15_10.tar.gz/StOutAnaglyph/shaders/fAnaglyphYellow.shf -> sview-15_11.tar.gz/StOutAnaglyph/shaders/fAnaglyphYellow.shf Changed
24
 
1
@@ -2,19 +2,9 @@
2
  * Simple Yellow Anaglyphs fragment shader.
3
  * Copyright © 2007-2010 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutAnaglyph library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutAnaglyph library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 uniform sampler2D texL, texR;
24
sview-15_10.tar.gz/StOutAnaglyph/shaders/fAnaglyphYellowDubois.shf -> sview-15_11.tar.gz/StOutAnaglyph/shaders/fAnaglyphYellowDubois.shf Changed
24
 
1
@@ -2,19 +2,9 @@
2
  * Dubois amber blue anaglyph fragment shader.
3
  * Copyright © 2012 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutAnaglyph library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutAnaglyph library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 /**
24
sview-15_10.tar.gz/StOutAnaglyph/shaders/vAnaglyph.shv -> sview-15_11.tar.gz/StOutAnaglyph/shaders/vAnaglyph.shv Changed
24
 
1
@@ -1,19 +1,9 @@
2
 /**
3
  * Copyright © 2009-2010 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutAnaglyph library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutAnaglyph library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 // per-vertex input
24
sview-15_10.tar.gz/StOutDistorted/StOutDistorted.cbp -> sview-15_11.tar.gz/StOutDistorted/StOutDistorted.cbp Changed
60
 
1
@@ -6,33 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/libStOutDistorted" prefix_auto="1" extension_auto="1" />
7
-               <Option object_output="obj/$(TARGET_NAME)/" />
8
-               <Option type="3" />
9
-               <Option compiler="gcc" />
10
-               <Option createStaticLib="1" />
11
-               <Compiler>
12
-                   <Add option="-O3" />
13
-                   <Add option="-std=c++0x" />
14
-                   <Add option="-Wall" />
15
-                   <Add option="-g" />
16
-                   <Add option="-shared" />
17
-                   <Add option="-mmmx" />
18
-                   <Add option="-msse" />
19
-                   <Add option="-DUNICODE" />
20
-                   <Add option="-DST_DEBUG" />
21
-                   <Add option="-DST_HAVE_STCONFIG" />
22
-               </Compiler>
23
-               <Linker>
24
-                   <Add library="opengl32" />
25
-                   <Add library="gdi32" />
26
-                   <Add library="Version" />
27
-               </Linker>
28
-               <ExtraCommands>
29
-                   <Add before='cmd /c call ..\copy_res.bat $(TARGET_OUTPUT_DIR) $(TARGET_OUTPUT_BASENAME)' />
30
-               </ExtraCommands>
31
-           </Target>
32
            <Target title="WIN_vc_x86">
33
                <Option output="../bin/$(TARGET_NAME)/StOutDistorted" prefix_auto="1" extension_auto="1" />
34
                <Option object_output="obj/$(TARGET_NAME)/" />
35
@@ -64,11 +37,11 @@
36
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;2' />
37
                </ExtraCommands>
38
            </Target>
39
-           <Target title="WIN_vc_x86_DEBUG">
40
+           <Target title="WIN_vc_AMD64_DEBUG">
41
                <Option output="../bin/$(TARGET_NAME)/StOutDistorted" prefix_auto="1" extension_auto="1" />
42
                <Option object_output="obj/$(TARGET_NAME)/" />
43
                <Option type="3" />
44
-               <Option compiler="msvc10" />
45
+               <Option compiler="windows_sdk_x86_64" />
46
                <Option createStaticLib="1" />
47
                <Compiler>
48
                    <Add option="/MDd" />
49
@@ -249,9 +222,8 @@
50
        <Unit filename="StOutDistorted.cpp" />
51
        <Unit filename="StOutDistorted.h" />
52
        <Unit filename="StOutDistorted.rc">
53
-           <Option target="WIN_gcc_x86" />
54
            <Option target="WIN_vc_x86" />
55
-           <Option target="WIN_vc_x86_DEBUG" />
56
+           <Option target="WIN_vc_AMD64_DEBUG" />
57
            <Option target="WIN_vc_AMD64" />
58
        </Unit>
59
        <Unit filename="lang/chinese/language.lng">
60
sview-15_10.tar.gz/StOutDistorted/StOutDistorted.cpp -> sview-15_11.tar.gz/StOutDistorted/StOutDistorted.cpp Changed
201
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutDistorted, class providing stereoscopic output in anamorph side by side format using StCore toolkit.
4
  * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutDual library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutDual library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include "StOutDistorted.h"
25
@@ -22,6 +13,7 @@
26
 #include <StGL/StGLEnums.h>
27
 #include <StGL/StGLProgram.h>
28
 #include <StGL/StGLFrameBuffer.h>
29
+#include <StGL/StGLArbFbo.h>
30
 #include <StGLCore/StGLCore20.h>
31
 #include <StSettings/StSettings.h>
32
 #include <StSettings/StTranslations.h>
33
@@ -33,25 +25,10 @@
34
 #ifdef ST_HAVE_LIBOVR
35
 
36
 #include <OVR.h>
37
-//#include <OVR_CAPI_GL.h> // broken SDK
38
-#include <../Src/OVR_CAPI_GL.h>
39
+#include <OVR_CAPI_GL.h>
40
 
41
 #ifdef _MSC_VER
42
-    #ifdef _DEBUG
43
-        #if defined(_WIN64) || defined(__WIN64__)
44
-            #pragma comment(lib, "libovr64d.lib")
45
-        #else
46
-            #pragma comment(lib, "libovrd.lib")
47
-        #endif
48
-    #else
49
-        #if defined(_WIN64) || defined(__WIN64__)
50
-            #pragma comment(lib, "libovr64.lib")
51
-        #else
52
-            #pragma comment(lib, "libovr.lib")
53
-        #endif
54
-    #endif
55
-    #pragma comment(lib, "Winmm.lib")
56
-    #pragma comment(lib, "Ws2_32.lib") // requires Windows Vista+
57
+    #pragma comment(lib, "LibOVR.lib")
58
 #endif
59
 
60
 #endif
61
@@ -63,7 +40,6 @@
62
     static const char ST_SETTING_DEVICE_ID[] = "deviceId";
63
     static const char ST_SETTING_WINDOWPOS[] = "windowPos";
64
     static const char ST_SETTING_LAYOUT[]    = "layout";
65
-    static const char ST_SETTING_ANAMORPH[]  = "anamorph";
66
     static const char ST_SETTING_MONOCLONE[] = "monoClone";
67
     static const char ST_SETTING_MARGINS[]   = "margins";
68
     static const char ST_SETTING_WARP_COEF[] = "warpCoef";
69
@@ -80,6 +56,8 @@
70
         STTR_PARAMETER_LAYOUT     = 1110,
71
         STTR_PARAMETER_LAYOUT_SBS        = 1111,
72
         STTR_PARAMETER_LAYOUT_OVERUNDER  = 1112,
73
+        STTR_PARAMETER_LAYOUT_SBS_ANAMORPH = 1113,
74
+        STTR_PARAMETER_LAYOUT_OVERUNDER_ANAMORPH = 1114,
75
         STTR_PARAMETER_DISTORTION = 1120,
76
         STTR_PARAMETER_DISTORTION_OFF    = 1121,
77
         STTR_PARAMETER_MONOCLONE         = 1123,
78
@@ -312,7 +290,6 @@
79
 void StOutDistorted::getOptions(StParamsList& theList) const {
80
     if(myDevice != DEVICE_OCULUS) {
81
         theList.add(params.Layout);
82
-        theList.add(params.Anamorph);
83
     }
84
     theList.add(params.MonoClone);
85
 }
86
@@ -332,16 +309,23 @@
87
   myChromAb(0.996f, -0.004f, 1.014f, 0.0f),
88
   //myChromAb(1.0f, 0.0f, 1.0f, 0.0f),
89
   myOvrHmd(NULL),
90
+  myOvrSizeX(0),
91
+  myOvrSizeY(0),
92
+#ifdef ST_HAVE_LIBOVR
93
+  myOvrSwapTexture(NULL),
94
+  myOvrMirrorTexture(NULL),
95
+  myOvrMirrorFbo(0),
96
+#endif
97
   myToReduceGui(false),
98
   myToShowCursor(true),
99
   myToCompressMem(myInstancesNb.increment() > 1),
100
   myIsBroken(false),
101
-  myIsStereoOn(false) {
102
-
103
+  myIsStereoOn(false),
104
+  myIsHdmiPack(false) {
105
 #ifdef ST_HAVE_LIBOVR
106
-    ovr_Initialize();
107
+    myOvrSwapFbo[0] = 0;
108
+    myOvrSwapFbo[1] = 0;
109
 #endif
110
-
111
     const StSearchMonitors& aMonitors = StWindow::getMonitors();
112
     StTranslations aLangMap(getResourceManager(), ST_OUT_PLUGIN_NAME);
113
 
114
@@ -354,21 +338,40 @@
115
             + aDescr.format("2013-2015", "kirill@sview.ru", "www.sview.ru");
116
 
117
     // detect connected displays
118
-    int aSupportLevel = ST_DEVICE_SUPPORT_NONE;
119
+    int aSupportOculus   = ST_DEVICE_SUPPORT_NONE;
120
+    int aSupportParallel = ST_DEVICE_SUPPORT_NONE;
121
+    bool isHdmiPack = false;
122
     for(size_t aMonIter = 0; aMonIter < aMonitors.size(); ++aMonIter) {
123
         const StMonitor& aMon = aMonitors[aMonIter];
124
         if(aMon.getPnPId().isStartsWith(stCString("OVR"))) {
125
             // Oculus Rift
126
-            aSupportLevel = ST_DEVICE_SUPPORT_HIGHT;
127
+            aSupportOculus = ST_DEVICE_SUPPORT_HIGHT;
128
             break;
129
+        } else if(aMon.getVRect().width()  == 1920
130
+               && aMon.getVRect().height() == 2205) {
131
+            aSupportParallel = ST_DEVICE_SUPPORT_HIGHT;
132
+            isHdmiPack = true;
133
+        } else if(aMon.getVRect().width()  == 1280
134
+               && aMon.getVRect().height() == 1470) {
135
+            aSupportParallel = ST_DEVICE_SUPPORT_HIGHT;
136
+            isHdmiPack = true;
137
         }
138
     }
139
 
140
+#ifdef ST_HAVE_LIBOVR
141
+    const ovrResult anOvrRes = ovr_Initialize(NULL);
142
+    if(!OVR_SUCCESS(anOvrRes)) {
143
+        ST_ERROR_LOG("StOutDistorted, OVR initialization has failed!");
144
+    } else {
145
+        aSupportOculus = ST_DEVICE_SUPPORT_HIGHT;
146
+    }
147
+#endif
148
+
149
     // devices list
150
     StHandle<StOutDevice> aDevDistorted = new StOutDevice();
151
     aDevDistorted->PluginId = ST_OUT_PLUGIN_NAME;
152
     aDevDistorted->DeviceId = "Distorted";
153
-    aDevDistorted->Priority = ST_DEVICE_SUPPORT_NONE;
154
+    aDevDistorted->Priority = aSupportParallel;
155
     aDevDistorted->Name     = aLangMap.changeValueId(STTR_DISTORTED_NAME, "TV (parallel pair)");
156
     aDevDistorted->Desc     = aLangMap.changeValueId(STTR_DISTORTED_DESC, "Distorted Output");
157
     myDevices.add(aDevDistorted);
158
@@ -376,7 +379,7 @@
159
     StHandle<StOutDevice> aDevOculus = new StOutDevice();
160
     aDevOculus->PluginId = ST_OUT_PLUGIN_NAME;
161
     aDevOculus->DeviceId = "Oculus";
162
-    aDevOculus->Priority = aSupportLevel;
163
+    aDevOculus->Priority = aSupportOculus;
164
     aDevOculus->Name     = aLangMap.changeValueId(STTR_OCULUS_NAME, "Oculus Rift");
165
     aDevOculus->Desc     = aLangMap.changeValueId(STTR_OCULUS_DESC, "Distorted Output");
166
     myDevices.add(aDevOculus);
167
@@ -388,16 +391,16 @@
168
     }
169
 
170
     // Distortion parameters
171
-    params.Anamorph = new StBoolParamNamed(false, "Anamorph");
172
-    mySettings->loadParam(ST_SETTING_ANAMORPH, params.Anamorph);
173
     params.MonoClone = new StBoolParamNamed(false, aLangMap.changeValueId(STTR_PARAMETER_MONOCLONE, "Show Mono in Stereo"));
174
     mySettings->loadParam(ST_SETTING_MONOCLONE, params.MonoClone);
175
 
176
     // Layout option
177
-    StHandle<StEnumParam> aLayoutParam = new StEnumParam(LAYOUT_SIDE_BY_SIDE,
178
+    StHandle<StEnumParam> aLayoutParam = new StEnumParam(isHdmiPack ? LAYOUT_OVER_UNDER : LAYOUT_SIDE_BY_SIDE_ANAMORPH,
179
                                                          aLangMap.changeValueId(STTR_PARAMETER_LAYOUT, "Layout"));
180
-    aLayoutParam->changeValues().add(aLangMap.changeValueId(STTR_PARAMETER_LAYOUT_SBS,       "Side-by-Side"));
181
-    aLayoutParam->changeValues().add(aLangMap.changeValueId(STTR_PARAMETER_LAYOUT_OVERUNDER, "Top-and-Bottom"));
182
+    aLayoutParam->changeValues().add(aLangMap.changeValueId(STTR_PARAMETER_LAYOUT_SBS_ANAMORPH,       "Side-by-Side (Anamorph)"));
183
+    aLayoutParam->changeValues().add(aLangMap.changeValueId(STTR_PARAMETER_LAYOUT_OVERUNDER_ANAMORPH, "Top-and-Bottom (Anamorph)"));
184
+    aLayoutParam->changeValues().add(aLangMap.changeValueId(STTR_PARAMETER_LAYOUT_SBS,                "Side-by-Side"));
185
+    aLayoutParam->changeValues().add(aLangMap.changeValueId(STTR_PARAMETER_LAYOUT_OVERUNDER,          "Top-and-Bottom") + (isHdmiPack ? " [HDMI]" : ""));
186
     params.Layout = aLayoutParam;
187
     mySettings->loadParam(ST_SETTING_LAYOUT, params.Layout);
188
 
189
@@ -409,6 +412,7 @@
190
         }
191
         StWindow::setPlacement(aRect, true);
192
     }
193
+    checkHdmiPack();
194
     StWindow::setTitle("sView - Distorted Renderer");
195
 
196
     StRectI_t aMargins;
197
@@ -428,6 +432,30 @@
198
 
199
 void StOutDistorted::releaseResources() {
200
     if(!myContext.isNull()) {
201
sview-15_10.tar.gz/StOutDistorted/StOutDistorted.h -> sview-15_11.tar.gz/StOutDistorted/StOutDistorted.h Changed
110
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutDistorted, class providing stereoscopic output in anamorph side by side format using StCore toolkit.
4
  * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutDual library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutDual library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StOutDistorted_h_
25
@@ -29,8 +20,9 @@
26
 class StGLFrameBuffer;
27
 class StGLTexture;
28
 
29
-struct ovrHmdDesc_;
30
-typedef const ovrHmdDesc_* ovrHmd;
31
+typedef struct ovrHmdStruct* ovrSession;
32
+typedef union ovrGLTexture_s ovrGLTexture;
33
+typedef struct ovrSwapTextureSet_ ovrSwapTextureSet;
34
 
35
 /**
36
  * This class implements stereoscopic rendering on displays
37
@@ -124,6 +116,16 @@
38
      */
39
     ST_CPPEXPORT virtual void showCursor(const bool theToShow);
40
 
41
+    /**
42
+     * Return true if device has orientation sensor.
43
+     */
44
+    ST_CPPEXPORT virtual bool hasOrientationSensor() const;
45
+
46
+    /**
47
+     * Get head orientation.
48
+     */
49
+    ST_CPPEXPORT virtual StQuaternion<double> getDeviceOrientation() const;
50
+
51
     ST_CPPEXPORT virtual GLfloat getLensDist() const;
52
 
53
     /**
54
@@ -134,6 +136,11 @@
55
         private:
56
 
57
     /**
58
+     * Detect frame pack HMDI mode.
59
+     */
60
+    ST_LOCAL void checkHdmiPack();
61
+
62
+    /**
63
      * Release GL resources before window closing.
64
      */
65
     ST_LOCAL void releaseResources();
66
@@ -160,14 +167,15 @@
67
     };
68
 
69
     enum Layout {
70
-        LAYOUT_SIDE_BY_SIDE = 0, //!< anamorph side by side
71
-        LAYOUT_OVER_UNDER   = 1, //!< anamorph over under
72
+        LAYOUT_SIDE_BY_SIDE_ANAMORPH = 0, //!< anamorph  side by side
73
+        LAYOUT_OVER_UNDER_ANAMORPH   = 1, //!< anamorph  over under
74
+        LAYOUT_SIDE_BY_SIDE          = 2, //!< full-size side by side
75
+        LAYOUT_OVER_UNDER            = 3, //!< full-size over under
76
     };
77
 
78
     struct {
79
 
80
         StHandle<StInt32Param> Layout;   //!< pair layout
81
-        StHandle<StBoolParam>  Anamorph; //!< anamorph filter
82
         StHandle<StBoolParam>  MonoClone;//!< display mono in stereo
83
 
84
     } params;
85
@@ -195,13 +203,23 @@
86
 
87
     StMarginsI                myBarMargins;      //!< GUI margins
88
 
89
-    ovrHmd                    myOvrHmd;
90
+    ovrSession                myOvrHmd;
91
+    int                       myOvrSizeX;
92
+    int                       myOvrSizeY;
93
+    StQuaternion<double>      myOvrOrient;
94
+#ifdef ST_HAVE_LIBOVR
95
+    ovrSwapTextureSet*        myOvrSwapTexture;
96
+    GLuint                    myOvrSwapFbo[2];
97
+    ovrGLTexture*             myOvrMirrorTexture;
98
+    GLuint                    myOvrMirrorFbo;
99
+#endif
100
 
101
     bool                      myToReduceGui;     //!< scale down GUI
102
     bool                      myToShowCursor;    //!< cursor visibility flag
103
     bool                      myToCompressMem;   //!< reduce memory usage
104
     bool                      myIsBroken;        //!< special flag for broke state - when FBO can not be allocated
105
     bool                      myIsStereoOn;
106
+    bool                      myIsHdmiPack;      //!< "frame packed" mode in HDMI 1.4a
107
 
108
 };
109
 
110
sview-15_10.tar.gz/StOutDistorted/lang/chinese/StOutDistorted.lng -> sview-15_11.tar.gz/StOutDistorted/lang/chinese/StOutDistorted.lng Changed
33
 
1
@@ -1,16 +1,18 @@
2
 # Chinese translation file for StOutDistorted library
3
 # @author YSC
4
 --------
5
-1000="TV (平行配对)"
6
-1001="扭曲输出"
7
-1002="眼镜裂隙"
8
-1003="桶变形"
9
-1110="配线"
10
-1111="左右并列"
11
-1112="上和下"
12
-1120="扭曲"
13
-1121="无"
14
-1123="单画面"
15
-2000="sView -变形输出模块"
16
-2001="版本"
17
-?2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
18
+1000=TV (平行配对)
19
+1001=扭曲输出
20
+1002=眼镜裂隙
21
+1003=桶变形
22
+1110=配线
23
+1111=左右并列
24
+1112=上和下
25
+1113=左右并列 (Anamorph)
26
+1114=上和下 (Anamorph)
27
+1120=扭曲
28
+1121=无
29
+1123=单画面
30
+2000=sView -变形输出模块
31
+2001=版本
32
+?2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
33
sview-15_10.tar.gz/StOutDistorted/lang/czech/StOutDistorted.lng -> sview-15_11.tar.gz/StOutDistorted/lang/czech/StOutDistorted.lng Changed
14
 
1
@@ -9,9 +9,11 @@
2
 1110=Uspořádání dvojice
3
 1111=Vedle sebe
4
 1112=Dvojice Nad/pod
5
+1113=Vedle sebe (Anamorph)
6
+1114=Dvojice Nad/pod (Anamorph)
7
 1120=Filtr
8
 1121=Žádný
9
 1123=Zobrazit mono ve stereu
10
 2000=sView - Modul deformace výstupu
11
 2001=verze
12
-2002=© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}\n\nБиблиотека распространяется на условиях LGPL3.0
13
+2002=© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}
14
sview-15_10.tar.gz/StOutDistorted/lang/english/StOutDistorted.lng -> sview-15_11.tar.gz/StOutDistorted/lang/english/StOutDistorted.lng Changed
33
 
1
@@ -1,16 +1,18 @@
2
 # English translation file for StOutDistorted library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="TV (parallel pair)"
6
-1001="Distorted Output"
7
-1002="Oculus Rift"
8
-1003="Barrel distortion"
9
-1110="Layout"
10
-1111="Side-by-Side"
11
-1112="Top-and-Bottom"
12
-1120="Distortion"
13
-1121="None"
14
-1123="Show Mono in Stereo"
15
-2000="sView - Distorted Output module"
16
-2001="version"
17
-2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
18
+1000=TV (parallel pair)
19
+1001=Distorted Output
20
+1002=Oculus Rift
21
+1003=Barrel distortion
22
+1110=Layout
23
+1111=Side-by-Side
24
+1112=Top-and-Bottom
25
+1113=Side-by-Side (Anamorph)
26
+1114=Top-and-Bottom (Anamorph)
27
+1120=Distortion
28
+1121=None
29
+1123=Show Mono in Stereo
30
+2000=sView - Distorted Output module
31
+2001=version
32
+2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
33
sview-15_10.tar.gz/StOutDistorted/lang/french/StOutDistorted.lng -> sview-15_11.tar.gz/StOutDistorted/lang/french/StOutDistorted.lng Changed
33
 
1
@@ -1,16 +1,18 @@
2
 # French translation file for StOutDistorted library
3
 # @author gramoun for Kirill Gavrilov
4
 --------
5
-1000="TV (parallel pair)"
6
-1001="Distorted Output"
7
-1002="Oculus Rift"
8
-1003="Barrel distortion"
9
-1110="Layout"
10
-1111="Side-by-Side"
11
-1112="Top-and-Bottom"
12
-1120="Distortion"
13
-1121="None"
14
-1123="Show Mono in Stereo"
15
-2000="sView - Distorted Output module"
16
-2001="version"
17
-2002="© {0} Kirill Gavrilov <{1}>\nSite Officiel: {2}\n\nThis library is distributed under LGPL3.0"
18
+1000=TV (parallel pair)
19
+1001=Distorted Output
20
+1002=Oculus Rift
21
+1003=Barrel distortion
22
+1110=Layout
23
+1111=Side-by-Side
24
+1112=Top-and-Bottom
25
+1113=Side-by-Side (Anamorph)
26
+1114=Top-and-Bottom (Anamorph)
27
+1120=Distortion
28
+1121=None
29
+1123=Show Mono in Stereo
30
+2000=sView - Distorted Output module
31
+2001=version
32
+2002=© {0} Kirill Gavrilov <{1}>\nSite Officiel: {2}
33
sview-15_10.tar.gz/StOutDistorted/lang/german/StOutDistorted.lng -> sview-15_11.tar.gz/StOutDistorted/lang/german/StOutDistorted.lng Changed
33
 
1
@@ -1,16 +1,18 @@
2
 # German translation file for StOutDistorted library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="TV (parallel pair)"
6
-1001="Distorted Output"
7
-1002="Oculus Rift"
8
-1003="Barrel distortion"
9
-1110="Layout"
10
-1111="Side-by-Side"
11
-1112="Top-and-Bottom"
12
-1120="Verzerrung"
13
-1121="keiner"
14
-1123="Show Mono in Stereo"
15
-2000="sView - Distorted Ausgangsmodul"
16
-2001="Version"
17
-?2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
18
+1000=TV (parallel pair)
19
+1001=Distorted Output
20
+1002=Oculus Rift
21
+1003=Barrel distortion
22
+1110=Layout
23
+1111=Side-by-Side
24
+1112=Top-and-Bottom
25
+1113=Side-by-Side (Anamorph)
26
+1114=Top-and-Bottom (Anamorph)
27
+1120=Verzerrung
28
+1121=keiner
29
+1123=Show Mono in Stereo
30
+2000=sView - Distorted Ausgangsmodul
31
+2001=Version
32
+?2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
33
sview-15_10.tar.gz/StOutDistorted/lang/korean/StOutDistorted.lng -> sview-15_11.tar.gz/StOutDistorted/lang/korean/StOutDistorted.lng Changed
33
 
1
@@ -1,16 +1,18 @@
2
 # English translation file for StOutDistorted library
3
 # @author Kirill Gavrilov
4
 --------
5
-?1000="TV (parallel pair)"
6
-?1001="Distorted Output"
7
-?1002="Oculus Rift"
8
-?1003="Barrel distortion"
9
-?1110="Layout"
10
-?1111="Side-by-Side"
11
-?1112="Top-and-Bottom"
12
-?1120="Distortion"
13
-?1121="None"
14
-?1123="Show Mono in Stereo"
15
-?2000="sView - Distorted Output module"
16
-?2001="version"
17
-?2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
18
+?1000=TV (parallel pair)
19
+?1001=Distorted Output
20
+?1002=Oculus Rift
21
+?1003=Barrel distortion
22
+?1110=Layout
23
+?1111=Side-by-Side
24
+?1112=Top-and-Bottom
25
+?1113=Side-by-Side (Anamorph)
26
+?1114=Top-and-Bottom (Anamorph)
27
+?1120=Distortion
28
+?1121=None
29
+?1123=Show Mono in Stereo
30
+?2000=sView - Distorted Output module
31
+?2001=version
32
+?2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
33
sview-15_10.tar.gz/StOutDistorted/lang/russian/StOutDistorted.lng -> sview-15_11.tar.gz/StOutDistorted/lang/russian/StOutDistorted.lng Changed
33
 
1
@@ -1,16 +1,18 @@
2
 # Russian translation file for StOutDistorted library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="TV (параллельная пара)"
6
-1001="Distorted Output"
7
-1002="Oculus Rift"
8
-1003="Barrel distortion"
9
-1110="Расположение пары"
10
-1111="Горизонтальная пара"
11
-1112="Вертикальная пара"
12
-1120="Фильтр"
13
-1121="None"
14
-1123="Отображать моно в стерео"
15
-2000="sView - Distorted Output module"
16
-2001="версия"
17
-2002="© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}\n\nБиблиотека распространяется на условиях LGPL3.0"
18
+1000=TV (параллельная пара)
19
+1001=Distorted Output
20
+1002=Oculus Rift
21
+1003=Barrel distortion
22
+1110=Расположение пары
23
+1111=Горизонтальная пара
24
+1112=Вертикальная пара
25
+1113=Анаморфная горизонтальная пара
26
+1114=Анаморфная вертикальная пара
27
+1120=Фильтр
28
+1121=None
29
+1123=Отображать моно в стерео
30
+2000=sView - Distorted Output module
31
+2001=версия
32
+2002=© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}
33
sview-15_10.tar.gz/StOutDual/StOutDual.cbp -> sview-15_11.tar.gz/StOutDual/StOutDual.cbp Changed
59
 
1
@@ -6,33 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/libStOutDual" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
7
-               <Option object_output="obj/$(TARGET_NAME)/" />
8
-               <Option type="3" />
9
-               <Option compiler="gcc" />
10
-               <Option createStaticLib="1" />
11
-               <Compiler>
12
-                   <Add option="-O3" />
13
-                   <Add option="-std=c++0x" />
14
-                   <Add option="-Wall" />
15
-                   <Add option="-g" />
16
-                   <Add option="-shared" />
17
-                   <Add option="-mmmx" />
18
-                   <Add option="-msse" />
19
-                   <Add option="-DUNICODE" />
20
-                   <Add option="-DST_DEBUG" />
21
-                   <Add option="-DST_HAVE_STCONFIG" />
22
-               </Compiler>
23
-               <Linker>
24
-                   <Add library="opengl32" />
25
-                   <Add library="gdi32" />
26
-                   <Add library="Version" />
27
-               </Linker>
28
-               <ExtraCommands>
29
-                   <Add before='cmd /c call ..\copy_res.bat $(TARGET_OUTPUT_DIR) $(TARGET_OUTPUT_BASENAME)' />
30
-               </ExtraCommands>
31
-           </Target>
32
            <Target title="WIN_vc_x86">
33
                <Option output="../bin/$(TARGET_NAME)/StOutDual" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
34
                <Option object_output="obj/$(TARGET_NAME)/" />
35
@@ -64,11 +37,11 @@
36
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;2' />
37
                </ExtraCommands>
38
            </Target>
39
-           <Target title="WIN_vc_x86_DEBUG">
40
+           <Target title="WIN_vc_AMD64_DEBUG">
41
                <Option output="../bin/$(TARGET_NAME)/StOutDual" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
42
                <Option object_output="obj/$(TARGET_NAME)/" />
43
                <Option type="3" />
44
-               <Option compiler="msvc10" />
45
+               <Option compiler="windows_sdk_x86_64" />
46
                <Option createStaticLib="1" />
47
                <Compiler>
48
                    <Add option="/MDd" />
49
@@ -252,8 +225,7 @@
50
            <Option compilerVar="WINDRES" />
51
            <Option target="WIN_vc_x86" />
52
            <Option target="WIN_vc_AMD64" />
53
-           <Option target="WIN_gcc_x86" />
54
-           <Option target="WIN_vc_x86_DEBUG" />
55
+           <Option target="WIN_vc_AMD64_DEBUG" />
56
        </Unit>
57
        <Unit filename="lang/chinese/language.lng">
58
            <Option target="&lt;{~None~}&gt;" />
59
sview-15_10.tar.gz/StOutDual/StOutDual.cpp -> sview-15_11.tar.gz/StOutDual/StOutDual.cpp Changed
36
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutDual, class providing stereoscopic output for Dual Input hardware using StCore toolkit.
4
  * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutDual library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutDual library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include "StOutDual.h"
25
@@ -292,7 +283,9 @@
26
 }
27
 
28
 void StOutDual::beforeClose() {
29
-    mySettings->saveInt32Rect(ST_SETTING_WINDOWPOS, StWindow::getWindowedPlacement());
30
+    if(isMovable() && myWasUsed) {
31
+        mySettings->saveInt32Rect(ST_SETTING_WINDOWPOS, StWindow::getWindowedPlacement());
32
+    }
33
     mySettings->saveParam(ST_SETTING_SLAVE_ID,  params.SlaveMonId);
34
     mySettings->saveParam(ST_SETTING_MONOCLONE, params.MonoClone);
35
     mySettings->saveInt32(ST_SETTING_DEVICE_ID, myDevice);
36
sview-15_10.tar.gz/StOutDual/StOutDual.h -> sview-15_11.tar.gz/StOutDual/StOutDual.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutDual, class providing stereoscopic output for Dual Input hardware using StCore toolkit.
4
  * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutDual library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutDual library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StOutDual_h_
25
sview-15_10.tar.gz/StOutDual/lang/chinese/StOutDual.lng -> sview-15_11.tar.gz/StOutDual/lang/chinese/StOutDual.lng Changed
23
 
1
@@ -1,12 +1,12 @@
2
 # Chinese translation file for StOutDual library
3
 # @author YSC
4
 --------
5
-1000="双输出"
6
-1001="双输出设备: some HMD,镜面立体显示器, 双投影"
7
-1002="镜面输出"
8
-1003="手工镜面立体显示器 (X-向镜面)"
9
-1102="从显示器(第二个)"
10
-1103="单画面"
11
-2000="sView - 双输出模式"
12
-2001="版本"
13
-?2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
14
+1000=双输出
15
+1001=双输出设备: some HMD,镜面立体显示器, 双投影
16
+1002=镜面输出
17
+1003=手工镜面立体显示器 (X-向镜面)
18
+1102=从显示器(第二个)
19
+1103=单画面
20
+2000=sView - 双输出模式
21
+2001=版本
22
+?2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
23
sview-15_10.tar.gz/StOutDual/lang/czech/StOutDual.lng -> sview-15_11.tar.gz/StOutDual/lang/czech/StOutDual.lng Changed
7
 
1
@@ -10,4 +10,4 @@
2
 1103=Zobrazovat mono ve stereu
3
 2000=sView - modul výstupu na zrcadlové a duální systémy
4
 2001=verze
5
-2002=© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}\n\nБиблиотека распространяется на условиях LGPL3.0
6
+2002=© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}
7
sview-15_10.tar.gz/StOutDual/lang/english/StOutDual.lng -> sview-15_11.tar.gz/StOutDual/lang/english/StOutDual.lng Changed
23
 
1
@@ -1,12 +1,12 @@
2
 # English translation file for StOutDual library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Dual Output"
6
-1001="Stereo-device with dual input: some HMD, Mirrored Stereo monitors, Dual-Projectors"
7
-1002="Mirror Output"
8
-1003="Hand-make Mirrored Stereo monitors (mirror in X-direction)"
9
-1102="Slave Monitor"
10
-1103="Show Mono in Stereo"
11
-2000="sView - Dual Output module"
12
-2001="version"
13
-2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
14
+1000=Dual Output
15
+1001=Stereo-device with dual input: some HMD, Mirrored Stereo monitors, Dual-Projectors
16
+1002=Mirror Output
17
+1003=Hand-make Mirrored Stereo monitors (mirror in X-direction)
18
+1102=Slave Monitor
19
+1103=Show Mono in Stereo
20
+2000=sView - Dual Output module
21
+2001=version
22
+2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
23
sview-15_10.tar.gz/StOutDual/lang/french/StOutDual.lng -> sview-15_11.tar.gz/StOutDual/lang/french/StOutDual.lng Changed
23
 
1
@@ -1,12 +1,12 @@
2
 # French translation file for StOutDual library
3
 # @author gramoun for Kirill Gavrilov
4
 --------
5
-1000="Double-Sortie"
6
-1001="Sortie Stereo avec double affichage: HMD, moniteurs à miroir stéréo, Double Projecteurs"
7
-1002="Sortie Miroir"
8
-1003="moniteurs à miroir stéréo manuel(mirroir dans X-directions)"
9
-1102="Slave Monitor"
10
-1103="Show Mono in Stereo"
11
-2000="sView - Dual Output module"
12
-2001="version"
13
-2002="© {0} Kirill Gavrilov <{1}>\nSite Officiel: {2}\n\nThis library is distributed under LGPL3.0"
14
+1000=Double-Sortie
15
+1001=Sortie Stereo avec double affichage: HMD, moniteurs à miroir stéréo, Double Projecteurs
16
+1002=Sortie Miroir
17
+1003=moniteurs à miroir stéréo manuel(mirroir dans X-directions)
18
+1102=Slave Monitor
19
+1103=Show Mono in Stereo
20
+2000=sView - Dual Output module
21
+2001=version
22
+2002=© {0} Kirill Gavrilov <{1}>\nSite Officiel: {2}
23
sview-15_10.tar.gz/StOutDual/lang/german/StOutDual.lng -> sview-15_11.tar.gz/StOutDual/lang/german/StOutDual.lng Changed
23
 
1
@@ -1,12 +1,12 @@
2
 # German translation file for StOutDual library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Doppelausgang"
6
-1001="Stereo-device with dual input: some HMD, Mirrored Stereo monitors, Dual-Projectors"
7
-1002="Mirror Output"
8
-1003="Hand-make Mirrored Stereo monitors (mirror in X-direction)"
9
-1102="Slave Monitor"
10
-1103="Show Mono in Stereo"
11
-2000="sView - Dual Ausgangsmodul"
12
-2001="Version"
13
-2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
14
+1000=Doppelausgang
15
+1001=Stereo-device with dual input: some HMD, Mirrored Stereo monitors, Dual-Projectors
16
+1002=Mirror Output
17
+1003=Hand-make Mirrored Stereo monitors (mirror in X-direction)
18
+1102=Slave Monitor
19
+1103=Show Mono in Stereo
20
+2000=sView - Dual Ausgangsmodul
21
+2001=Version
22
+2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
23
sview-15_10.tar.gz/StOutDual/lang/korean/StOutDual.lng -> sview-15_11.tar.gz/StOutDual/lang/korean/StOutDual.lng Changed
23
 
1
@@ -1,12 +1,12 @@
2
 # English translation file for StOutDual library
3
 # @author Kirill Gavrilov
4
 --------
5
-?1000="Dual Output"
6
-?1001="Stereo-device with dual input: some HMD, Mirrored Stereo monitors, Dual-Projectors"
7
-?1002="Mirror Output"
8
-?1003="Hand-make Mirrored Stereo monitors (mirror in X-direction)"
9
-?1102="Slave Monitor"
10
-?1103="Show Mono in Stereo"
11
-?2000="sView - Dual Output module"
12
-?2001="version"
13
-?2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
14
+?1000=Dual Output
15
+?1001=Stereo-device with dual input: some HMD, Mirrored Stereo monitors, Dual-Projectors
16
+?1002=Mirror Output
17
+?1003=Hand-make Mirrored Stereo monitors (mirror in X-direction)
18
+?1102=Slave Monitor
19
+?1103=Show Mono in Stereo
20
+?2000=sView - Dual Output module
21
+?2001=version
22
+?2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
23
sview-15_10.tar.gz/StOutDual/lang/russian/StOutDual.lng -> sview-15_11.tar.gz/StOutDual/lang/russian/StOutDual.lng Changed
23
 
1
@@ -1,12 +1,12 @@
2
 # Russian translation file for StOutDual library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Двойной вывод"
6
-1001="Профессиональные HMD, зеркальные мониторы, многопроекторные системы"
7
-1002="Зеркальный вывод"
8
-1003="Самодельные зеркальные системы"
9
-1102="Второй монитор"
10
-1103="Отображать моно в стерео"
11
-2000="sView - модуль вывода на Зеркальные стереосистемы"
12
-2001="версия"
13
-2002="© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}\n\nБиблиотека распространяется на условиях LGPL3.0"
14
+1000=Двойной вывод
15
+1001=Профессиональные HMD, зеркальные мониторы, многопроекторные системы
16
+1002=Зеркальный вывод
17
+1003=Самодельные зеркальные системы
18
+1102=Второй монитор
19
+1103=Отображать моно в стерео
20
+2000=sView - модуль вывода на Зеркальные стереосистемы
21
+2001=версия
22
+2002=© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}
23
sview-15_10.tar.gz/StOutIZ3D/StOutIZ3D.cbp -> sview-15_11.tar.gz/StOutIZ3D/StOutIZ3D.cbp Changed
59
 
1
@@ -6,33 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/libStOutIZ3D" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
7
-               <Option object_output="obj/$(TARGET_NAME)/" />
8
-               <Option type="3" />
9
-               <Option compiler="gcc" />
10
-               <Option createStaticLib="1" />
11
-               <Compiler>
12
-                   <Add option="-O3" />
13
-                   <Add option="-std=c++0x" />
14
-                   <Add option="-Wall" />
15
-                   <Add option="-g" />
16
-                   <Add option="-shared" />
17
-                   <Add option="-mmmx" />
18
-                   <Add option="-msse" />
19
-                   <Add option="-DUNICODE" />
20
-                   <Add option="-DST_DEBUG" />
21
-                   <Add option="-DST_HAVE_STCONFIG" />
22
-               </Compiler>
23
-               <Linker>
24
-                   <Add library="opengl32" />
25
-                   <Add library="gdi32" />
26
-                   <Add library="Version" />
27
-               </Linker>
28
-               <ExtraCommands>
29
-                   <Add before='cmd /c call ..\copy_res.bat $(TARGET_OUTPUT_DIR) $(TARGET_OUTPUT_BASENAME)' />
30
-               </ExtraCommands>
31
-           </Target>
32
            <Target title="WIN_vc_x86">
33
                <Option output="../bin/$(TARGET_NAME)/StOutIZ3D" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
34
                <Option object_output="obj/$(TARGET_NAME)/" />
35
@@ -64,11 +37,11 @@
36
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;2' />
37
                </ExtraCommands>
38
            </Target>
39
-           <Target title="WIN_vc_x86_DEBUG">
40
+           <Target title="WIN_vc_AMD64_DEBUG">
41
                <Option output="../bin/$(TARGET_NAME)/StOutIZ3D" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
42
                <Option object_output="obj/$(TARGET_NAME)/" />
43
                <Option type="3" />
44
-               <Option compiler="msvc10" />
45
+               <Option compiler="windows_sdk_x86_64" />
46
                <Option createStaticLib="1" />
47
                <Compiler>
48
                    <Add option="/MDd" />
49
@@ -257,8 +230,7 @@
50
            <Option compilerVar="WINDRES" />
51
            <Option target="WIN_vc_x86" />
52
            <Option target="WIN_vc_AMD64" />
53
-           <Option target="WIN_gcc_x86" />
54
-           <Option target="WIN_vc_x86_DEBUG" />
55
+           <Option target="WIN_vc_AMD64_DEBUG" />
56
        </Unit>
57
        <Unit filename="StOutIZ3DShaders.cpp" />
58
        <Unit filename="StOutIZ3DShaders.h" />
59
sview-15_10.tar.gz/StOutIZ3D/StOutIZ3D.cpp -> sview-15_11.tar.gz/StOutIZ3D/StOutIZ3D.cpp Changed
36
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutInterlace, class providing stereoscopic output for iZ3D monitors using StCore toolkit.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutIZ3D library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutIZ3D library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include "StOutIZ3D.h"
25
@@ -194,7 +185,9 @@
26
 }
27
 
28
 void StOutIZ3D::beforeClose() {
29
-    mySettings->saveInt32Rect(ST_SETTING_WINDOWPOS, StWindow::getWindowedPlacement());
30
+    if(isMovable() && myWasUsed) {
31
+        mySettings->saveInt32Rect(ST_SETTING_WINDOWPOS, StWindow::getWindowedPlacement());
32
+    }
33
     mySettings->saveParam(ST_SETTING_TABLE, params.Glasses);
34
     mySettings->flush();
35
 }
36
sview-15_10.tar.gz/StOutIZ3D/StOutIZ3D.h -> sview-15_11.tar.gz/StOutIZ3D/StOutIZ3D.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutInterlace, class providing stereoscopic output for iZ3D monitors using StCore toolkit.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutIZ3D library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutIZ3D library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StOutIZ3D_h_
25
sview-15_10.tar.gz/StOutIZ3D/StOutIZ3DShaders.cpp -> sview-15_11.tar.gz/StOutIZ3D/StOutIZ3DShaders.cpp Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutInterlace, class providing stereoscopic output for iZ3D monitors using StCore toolkit.
4
  * Copyright © 2009-2012 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutIZ3D library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutIZ3D library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include "StOutIZ3DShaders.h"
25
sview-15_10.tar.gz/StOutIZ3D/StOutIZ3DShaders.h -> sview-15_11.tar.gz/StOutIZ3D/StOutIZ3DShaders.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutInterlace, class providing stereoscopic output for iZ3D monitors using StCore toolkit.
4
  * Copyright © 2009-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutIZ3D library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutIZ3D library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StOutIZ3DShaders_h_
25
sview-15_10.tar.gz/StOutIZ3D/lang/chinese/StOutIZ3D.lng -> sview-15_11.tar.gz/StOutIZ3D/lang/chinese/StOutIZ3D.lng Changed
23
 
1
@@ -1,12 +1,12 @@
2
 # Chinese translation file for StOutIZ3D library
3
 # @author YSC
4
 --------
5
-1000="IZ3D 显示"
6
-1001="IZ3D 显示"
7
-1102="iZ3D 眼镜"
8
-1120="传统"
9
-1121="现代"
10
-1122="传统 (快)"
11
-2000="sView - iZ3D 输出模式"
12
-2001="版本"
13
-?2002="© {0} Kirill Gavrilov <{1}>\n© 2007-2009 iZ3D LLC\nOfficial site: {2}\nSite iZ3D LLC: www.iz3d.com\n\nThis library is distributed under LGPL3.0"
14
+1000=IZ3D 显示
15
+1001=IZ3D 显示
16
+1102=iZ3D 眼镜
17
+1120=传统
18
+1121=现代
19
+1122=传统 (快)
20
+2000=sView - iZ3D 输出模式
21
+2001=版本
22
+?2002=© {0} Kirill Gavrilov <{1}>\n© 2007-2009 iZ3D LLC\nOfficial site: {2}\nSite iZ3D LLC: www.iz3d.com
23
sview-15_10.tar.gz/StOutIZ3D/lang/czech/StOutIZ3D.lng -> sview-15_11.tar.gz/StOutIZ3D/lang/czech/StOutIZ3D.lng Changed
7
 
1
@@ -10,4 +10,4 @@
2
 1122=Klasické (rychlé)
3
 2000=sView - Modul stereovýstupu pro monitor iZ3D
4
 2001=версия
5
-2002=© {0} Гаврилов Кирилл <{1}>\n© 2007-2009 iZ3D LLC\nОфициальный сайт: {2}\nСайт iZ3D LLC: www.iz3d.com\n\nБиблиотека распространяется на условиях LGPL3.0
6
+2002=© {0} Гаврилов Кирилл <{1}>\n© 2007-2009 iZ3D LLC\nОфициальный сайт: {2}\nСайт iZ3D LLC: www.iz3d.com
7
sview-15_10.tar.gz/StOutIZ3D/lang/english/StOutIZ3D.lng -> sview-15_11.tar.gz/StOutIZ3D/lang/english/StOutIZ3D.lng Changed
23
 
1
@@ -1,12 +1,12 @@
2
 # English translation file for StOutIZ3D library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="IZ3D Display"
6
-1001="IZ3D Display"
7
-1102="iZ3D glasses"
8
-1120="Classic"
9
-1121="Modern"
10
-1122="Classic (fast)"
11
-2000="sView - iZ3D Output module"
12
-2001="version"
13
-2002="© {0} Kirill Gavrilov <{1}>\n© 2007-2009 iZ3D LLC\nOfficial site: {2}\nSite iZ3D LLC: www.iz3d.com\n\nThis library is distributed under LGPL3.0"
14
+1000=IZ3D Display
15
+1001=IZ3D Display
16
+1102=iZ3D glasses
17
+1120=Classic
18
+1121=Modern
19
+1122=Classic (fast)
20
+2000=sView - iZ3D Output module
21
+2001=version
22
+2002=© {0} Kirill Gavrilov <{1}>\n© 2007-2009 iZ3D LLC\nOfficial site: {2}\nSite iZ3D LLC: www.iz3d.com
23
sview-15_10.tar.gz/StOutIZ3D/lang/french/StOutIZ3D.lng -> sview-15_11.tar.gz/StOutIZ3D/lang/french/StOutIZ3D.lng Changed
23
 
1
@@ -1,12 +1,12 @@
2
 # French translation file for StOutIZ3D library
3
 # @author gramoun for Kirill Gavrilov
4
 --------
5
-1000="Affichage IZ3D"
6
-1001="Affichage IZ3D"
7
-1102="Lunettes iZ3D"
8
-1120="Classique"
9
-1121="Moderne"
10
-1122="Classice (rapide)"
11
-2000="sView - iZ3D Output module"
12
-2001="version"
13
-?2002="© {0} Kirill Gavrilov <{1}>\n© 2007-2009 iZ3D LLC\nOfficial site: {2}\nSite iZ3D LLC: www.iz3d.com\n\nThis library is distributed under LGPL3.0"
14
+1000=Affichage IZ3D
15
+1001=Affichage IZ3D
16
+1102=Lunettes iZ3D
17
+1120=Classique
18
+1121=Moderne
19
+1122=Classice (rapide)
20
+2000=sView - iZ3D Output module
21
+2001=version
22
+?2002=© {0} Kirill Gavrilov <{1}>\n© 2007-2009 iZ3D LLC\nOfficial site: {2}\nSite iZ3D LLC: www.iz3d.com
23
sview-15_10.tar.gz/StOutIZ3D/lang/german/StOutIZ3D.lng -> sview-15_11.tar.gz/StOutIZ3D/lang/german/StOutIZ3D.lng Changed
23
 
1
@@ -1,12 +1,12 @@
2
 # German translation file for StOutIZ3D library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="IZ3D Bildschirmen"
6
-1001="IZ3D Bildschirmen"
7
-1102="iZ3D Brillen"
8
-1120="Klassisch"
9
-1121="Modern"
10
-1122="Klassisch (schnell)"
11
-2000="sView - iZ3D Ausgangsmodul"
12
-2001="Version"
13
-?2002="© {0} Kirill Gavrilov <{1}>\n© 2007-2009 iZ3D LLC\nOfficial site: {2}\nSite iZ3D LLC: www.iz3d.com\n\nThis library is distributed under LGPL3.0"
14
+1000=IZ3D Bildschirmen
15
+1001=IZ3D Bildschirmen
16
+1102=iZ3D Brillen
17
+1120=Klassisch
18
+1121=Modern
19
+1122=Klassisch (schnell)
20
+2000=sView - iZ3D Ausgangsmodul
21
+2001=Version
22
+?2002=© {0} Kirill Gavrilov <{1}>\n© 2007-2009 iZ3D LLC\nOfficial site: {2}\nSite iZ3D LLC: www.iz3d.com
23
sview-15_10.tar.gz/StOutIZ3D/lang/korean/StOutIZ3D.lng -> sview-15_11.tar.gz/StOutIZ3D/lang/korean/StOutIZ3D.lng Changed
23
 
1
@@ -1,12 +1,12 @@
2
 # English translation file for StOutIZ3D library
3
 # @author Kirill Gavrilov
4
 --------
5
-?1000="IZ3D Display"
6
-?1001="IZ3D Display"
7
-?1102="iZ3D glasses"
8
-?1120="Classic"
9
-?1121="Modern"
10
-?1122="Classic (fast)"
11
-?2000="sView - iZ3D Output module"
12
-?2001="version"
13
-?2002="© {0} Kirill Gavrilov <{1}>\n© 2007-2009 iZ3D LLC\nOfficial site: {2}\nSite iZ3D LLC: www.iz3d.com\n\nThis library is distributed under LGPL3.0"
14
+?1000=IZ3D Display
15
+?1001=IZ3D Display
16
+?1102=iZ3D glasses
17
+?1120=Classic
18
+?1121=Modern
19
+?1122=Classic (fast)
20
+?2000=sView - iZ3D Output module
21
+?2001=version
22
+?2002=© {0} Kirill Gavrilov <{1}>\n© 2007-2009 iZ3D LLC\nOfficial site: {2}\nSite iZ3D LLC: www.iz3d.com
23
sview-15_10.tar.gz/StOutIZ3D/lang/russian/StOutIZ3D.lng -> sview-15_11.tar.gz/StOutIZ3D/lang/russian/StOutIZ3D.lng Changed
23
 
1
@@ -1,12 +1,12 @@
2
 # Russian translation file for StOutIZ3D library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Монитор IZ3D"
6
-1001="Монитор IZ3D"
7
-1102="Модель очков"
8
-1120="Классика"
9
-1121="Современные"
10
-1122="Классика (быстрый)"
11
-2000="sView - модуль стереовывода на мониторы iZ3D"
12
-2001="версия"
13
-2002="© {0} Гаврилов Кирилл <{1}>\n© 2007-2009 iZ3D LLC\nОфициальный сайт: {2}\nСайт iZ3D LLC: www.iz3d.com\n\nБиблиотека распространяется на условиях LGPL3.0"
14
+1000=Монитор IZ3D
15
+1001=Монитор IZ3D
16
+1102=Модель очков
17
+1120=Классика
18
+1121=Современные
19
+1122=Классика (быстрый)
20
+2000=sView - модуль стереовывода на мониторы iZ3D
21
+2001=версия
22
+2002=© {0} Гаврилов Кирилл <{1}>\n© 2007-2009 iZ3D LLC\nОфициальный сайт: {2}\nСайт iZ3D LLC: www.iz3d.com
23
sview-15_10.tar.gz/StOutIZ3D/shaders/fIZ3DBackClassic.shf -> sview-15_11.tar.gz/StOutIZ3D/shaders/fIZ3DBackClassic.shf Changed
24
 
1
@@ -3,19 +3,9 @@
2
  * Copyright © 2007-2008 iZ3D LLC
3
  * Copyright © 2007-2010 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutIZ3D library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutIZ3D library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 // it is always better to store variables in vectors
24
sview-15_10.tar.gz/StOutIZ3D/shaders/fIZ3DBackTable.shf -> sview-15_11.tar.gz/StOutIZ3D/shaders/fIZ3DBackTable.shf Changed
24
 
1
@@ -3,19 +3,9 @@
2
  * Copyright © 2007-2009 iZ3D LLC
3
  * Copyright © 2007-2010 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutIZ3D library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutIZ3D library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 uniform sampler2D texL, texR, textT;
24
sview-15_10.tar.gz/StOutIZ3D/shaders/fIZ3DFrontClassic.shf -> sview-15_11.tar.gz/StOutIZ3D/shaders/fIZ3DFrontClassic.shf Changed
24
 
1
@@ -3,19 +3,9 @@
2
  * Copyright © 2007-2008 iZ3D LLC
3
  * Copyright © 2007-2010 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutIZ3D library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutIZ3D library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 vec4 vecOne   = vec4(    1.0,     1.0,     1.0,     1.0);
24
sview-15_10.tar.gz/StOutIZ3D/shaders/fIZ3DFrontTable.shf -> sview-15_11.tar.gz/StOutIZ3D/shaders/fIZ3DFrontTable.shf Changed
24
 
1
@@ -3,19 +3,9 @@
2
  * Copyright © 2007-2009 iZ3D LLC
3
  * Copyright © 2007-2010 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutIZ3D library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutIZ3D library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 uniform sampler2D texL, texR, textT;
24
sview-15_10.tar.gz/StOutIZ3D/shaders/vIZ3D.shv -> sview-15_11.tar.gz/StOutIZ3D/shaders/vIZ3D.shv Changed
24
 
1
@@ -1,19 +1,9 @@
2
 /**
3
  * Copyright © 2009-2010 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutIZ3D library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutIZ3D library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 // per-vertex input
24
sview-15_10.tar.gz/StOutInterlace/StOutInterlace.cbp -> sview-15_11.tar.gz/StOutInterlace/StOutInterlace.cbp Changed
59
 
1
@@ -6,33 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/libStOutInterlace" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
7
-               <Option object_output="obj/$(TARGET_NAME)/" />
8
-               <Option type="3" />
9
-               <Option compiler="gcc" />
10
-               <Option createStaticLib="1" />
11
-               <Compiler>
12
-                   <Add option="-O3" />
13
-                   <Add option="-std=c++0x" />
14
-                   <Add option="-Wall" />
15
-                   <Add option="-g" />
16
-                   <Add option="-shared" />
17
-                   <Add option="-mmmx" />
18
-                   <Add option="-msse" />
19
-                   <Add option="-DUNICODE" />
20
-                   <Add option="-DST_DEBUG" />
21
-                   <Add option="-DST_HAVE_STCONFIG" />
22
-               </Compiler>
23
-               <Linker>
24
-                   <Add library="opengl32" />
25
-                   <Add library="gdi32" />
26
-                   <Add library="Version" />
27
-               </Linker>
28
-               <ExtraCommands>
29
-                   <Add before='cmd /c call ..\copy_res.bat $(TARGET_OUTPUT_DIR) $(TARGET_OUTPUT_BASENAME)' />
30
-               </ExtraCommands>
31
-           </Target>
32
            <Target title="WIN_vc_x86">
33
                <Option output="../bin/$(TARGET_NAME)/StOutInterlace" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
34
                <Option object_output="obj/$(TARGET_NAME)/" />
35
@@ -64,11 +37,11 @@
36
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;2' />
37
                </ExtraCommands>
38
            </Target>
39
-           <Target title="WIN_vc_x86_DEBUG">
40
+           <Target title="WIN_vc_AMD64_DEBUG">
41
                <Option output="../bin/$(TARGET_NAME)/StOutInterlace" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
42
                <Option object_output="obj/$(TARGET_NAME)/" />
43
                <Option type="3" />
44
-               <Option compiler="msvc10" />
45
+               <Option compiler="windows_sdk_x86_64" />
46
                <Option createStaticLib="1" />
47
                <Compiler>
48
                    <Add option="/MDd" />
49
@@ -252,8 +225,7 @@
50
            <Option compilerVar="WINDRES" />
51
            <Option target="WIN_vc_x86" />
52
            <Option target="WIN_vc_AMD64" />
53
-           <Option target="WIN_gcc_x86" />
54
-           <Option target="WIN_vc_x86_DEBUG" />
55
+           <Option target="WIN_vc_AMD64_DEBUG" />
56
        </Unit>
57
        <Unit filename="lang/chinese/language.lng">
58
            <Option target="&lt;{~None~}&gt;" />
59
sview-15_10.tar.gz/StOutInterlace/StOutInterlace.cpp -> sview-15_11.tar.gz/StOutInterlace/StOutInterlace.cpp Changed
36
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutInterlace, class providing stereoscopic output in row interlaced format using StCore toolkit.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutInterlace library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutInterlace library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include "StOutInterlace.h"
25
@@ -377,7 +368,9 @@
26
 }
27
 
28
 void StOutInterlace::beforeClose() {
29
-    mySettings->saveInt32Rect(ST_SETTING_WINDOWPOS, StWindow::getWindowedPlacement());
30
+    if(isMovable() && myWasUsed) {
31
+        mySettings->saveInt32Rect(ST_SETTING_WINDOWPOS, StWindow::getWindowedPlacement());
32
+    }
33
     mySettings->saveParam(ST_SETTING_BIND_MONITOR, params.BindToMon);
34
     mySettings->saveParam(ST_SETTING_REVERSE,      params.ToReverse);
35
     mySettings->saveInt32(ST_SETTING_DEVICE_ID,    myDevice);
36
sview-15_10.tar.gz/StOutInterlace/StOutInterlace.h -> sview-15_11.tar.gz/StOutInterlace/StOutInterlace.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutInterlace, class providing stereoscopic output in row interlaced format using StCore toolkit.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutInterlace library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutInterlace library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StOutInterlace_h_
25
sview-15_10.tar.gz/StOutInterlace/lang/chinese/StOutInterlace.lng -> sview-15_11.tar.gz/StOutInterlace/lang/chinese/StOutInterlace.lng Changed
31
 
1
@@ -1,16 +1,16 @@
2
 # Chinese translation file for StOutInterlace library
3
 # @author YSC
4
 --------
5
-1000="水平交错"
6
-1001="水平交错显示: Zalman, 现代,..."
7
-1002="垂直交错"
8
-1003="垂直交错显示"
9
-1006="DLP TV (棋盘式)"
10
-1007="DLP TV (棋盘式)"
11
-1008="交错ED显示器"
12
-1009="空间交错模式"
13
-1102="次序颠倒"
14
-1103="强制支持显示器"
15
-2000="sView - 交错输出模块"
16
-2001="版本"
17
-?2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
18
+1000=水平交错
19
+1001=水平交错显示: Zalman, 现代,...
20
+1002=垂直交错
21
+1003=垂直交错显示
22
+1006=DLP TV (棋盘式)
23
+1007=DLP TV (棋盘式)
24
+1008=交错ED显示器
25
+1009=空间交错模式
26
+1102=次序颠倒
27
+1103=强制支持显示器
28
+2000=sView - 交错输出模块
29
+2001=版本
30
+?2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
31
sview-15_10.tar.gz/StOutInterlace/lang/czech/StOutInterlace.lng -> sview-15_11.tar.gz/StOutInterlace/lang/czech/StOutInterlace.lng Changed
7
 
1
@@ -14,4 +14,4 @@
2
 1103=Provázat s monitorem
3
 2000=sView - modul prokládaného zobrazování
4
 2001=verze
5
-2002=© {0} Гаврилов Кирилл <{1}>\noficiální strana: {2}\n\nБиблиотека распространяется на условиях LGPL3.0
6
+2002=© {0} Гаврилов Кирилл <{1}>\noficiální strana: {2}
7
sview-15_10.tar.gz/StOutInterlace/lang/english/StOutInterlace.lng -> sview-15_11.tar.gz/StOutInterlace/lang/english/StOutInterlace.lng Changed
31
 
1
@@ -1,16 +1,16 @@
2
 # English translation file for StOutInterlace library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Row Interlaced"
6
-1001="Row interlaced displays: Zalman, Hyundai,..."
7
-1002="Column Interlaced"
8
-1003="Column interlaced displays"
9
-1006="DLP TV (chessboard)"
10
-1007="DLP TV (chessboard)"
11
-1008="Interlaced ED"
12
-1009="EDimensional in interlaced mode"
13
-1102="Reverse Order"
14
-1103="Bind to supported monitor"
15
-2000="sView - Interlaced Output module"
16
-2001="version"
17
-2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
18
+1000=Row Interlaced
19
+1001=Row interlaced displays: Zalman, Hyundai,...
20
+1002=Column Interlaced
21
+1003=Column interlaced displays
22
+1006=DLP TV (chessboard)
23
+1007=DLP TV (chessboard)
24
+1008=Interlaced ED
25
+1009=EDimensional in interlaced mode
26
+1102=Reverse Order
27
+1103=Bind to supported monitor
28
+2000=sView - Interlaced Output module
29
+2001=version
30
+2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
31
sview-15_10.tar.gz/StOutInterlace/lang/french/StOutInterlace.lng -> sview-15_11.tar.gz/StOutInterlace/lang/french/StOutInterlace.lng Changed
31
 
1
@@ -1,16 +1,16 @@
2
 # French translation file for StOutInterlace library
3
 # @author gramoun for Kirill Gavrilov
4
 --------
5
-1000="Lignes entrelacées"
6
-1001="Ecrans entrelacés par lignes: Zalman, Hyundai,..."
7
-1002="Colonnes entrelacées"
8
-1003="Ecrans entrelacés par colonnes"
9
-1006="DLP TV (échiquier)"
10
-1007="DLP TV (échiquier)"
11
-1008="Interlaced ED"
12
-1009="EDimensional en mode entrelacé"
13
-1102="Inverser l'ordre"
14
-1103="Lier à écran supporté"
15
-2000="sView - Interlaced Output module"
16
-2001="version"
17
-2002="© {0} Kirill Gavrilov <{1}>\nSite Officiel: {2}\n\nThis library is distributed under LGPL3.0"
18
+1000=Lignes entrelacées
19
+1001=Ecrans entrelacés par lignes: Zalman, Hyundai,...
20
+1002=Colonnes entrelacées
21
+1003=Ecrans entrelacés par colonnes
22
+1006=DLP TV (échiquier)
23
+1007=DLP TV (échiquier)
24
+1008=Interlaced ED
25
+1009=EDimensional en mode entrelacé
26
+1102=Inverser l'ordre
27
+1103=Lier à écran supporté
28
+2000=sView - Interlaced Output module
29
+2001=version
30
+2002=© {0} Kirill Gavrilov <{1}>\nSite Officiel: {2}
31
sview-15_10.tar.gz/StOutInterlace/lang/german/StOutInterlace.lng -> sview-15_11.tar.gz/StOutInterlace/lang/german/StOutInterlace.lng Changed
31
 
1
@@ -1,16 +1,16 @@
2
 # German translation file for StOutInterlace library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Horizontal Interlaced"
6
-1001="Row interlaced displays: Zalman, Hyundai,..."
7
-1002="Vertikal Interlaced"
8
-1003="Column interlaced displays"
9
-1006="DLP TV (chessboard)"
10
-1007="DLP TV (chessboard)"
11
-1008="Interlaced ED"
12
-1009="EDimensional in interlaced mode"
13
-1102="Umgekehrte Reihenfolge"
14
-1103="Bind to supported monitor"
15
-2000="sView - Interlaced Ausgangsmodul"
16
-2001="Version"
17
-?2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
18
+1000=Horizontal Interlaced
19
+1001=Row interlaced displays: Zalman, Hyundai,...
20
+1002=Vertikal Interlaced
21
+1003=Column interlaced displays
22
+1006=DLP TV (chessboard)
23
+1007=DLP TV (chessboard)
24
+1008=Interlaced ED
25
+1009=EDimensional in interlaced mode
26
+1102=Umgekehrte Reihenfolge
27
+1103=Bind to supported monitor
28
+2000=sView - Interlaced Ausgangsmodul
29
+2001=Version
30
+?2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
31
sview-15_10.tar.gz/StOutInterlace/lang/korean/StOutInterlace.lng -> sview-15_11.tar.gz/StOutInterlace/lang/korean/StOutInterlace.lng Changed
31
 
1
@@ -1,16 +1,16 @@
2
 # English translation file for StOutInterlace library
3
 # @author Kirill Gavrilov
4
 --------
5
-?1000="Row Interlaced"
6
-?1001="Row interlaced displays: Zalman, Hyundai,..."
7
-?1002="Column Interlaced"
8
-?1003="Column interlaced displays"
9
-?1006="DLP TV (chessboard)"
10
-?1007="DLP TV (chessboard)"
11
-?1008="Interlaced ED"
12
-?1009="EDimensional in interlaced mode"
13
-?1102="Reverse Order"
14
-?1103="Bind to supported monitor"
15
-?2000="sView - Interlaced Output module"
16
-?2001="version"
17
-?2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
18
+?1000=Row Interlaced
19
+?1001=Row interlaced displays: Zalman, Hyundai,...
20
+?1002=Column Interlaced
21
+?1003=Column interlaced displays
22
+?1006=DLP TV (chessboard)
23
+?1007=DLP TV (chessboard)
24
+?1008=Interlaced ED
25
+?1009=EDimensional in interlaced mode
26
+?1102=Reverse Order
27
+?1103=Bind to supported monitor
28
+?2000=sView - Interlaced Output module
29
+?2001=version
30
+?2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
31
sview-15_10.tar.gz/StOutInterlace/lang/russian/StOutInterlace.lng -> sview-15_11.tar.gz/StOutInterlace/lang/russian/StOutInterlace.lng Changed
31
 
1
@@ -1,16 +1,16 @@
2
 # Russian translation file for StOutInterlace library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Чересстрочный вывод"
6
-1001="Чересстрочные мониторы: Zalman, Hyundai,..."
7
-1002="Column Interlaced"
8
-1003="Column interlaced displays"
9
-1006="DLP ТВ (шахматная доска)"
10
-1007="DLP ТВ (шахматная доска)"
11
-1008="Чересстрочный ED"
12
-1009="EDimensional в чересстрочном режиме"
13
-1102="Реверсировать порядок"
14
-1103="Bind to supported monitor"
15
-2000="sView - модуль Чересстрочного стереовывода"
16
-2001="версия"
17
-2002="© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}\n\nБиблиотека распространяется на условиях LGPL3.0"
18
+1000=Чересстрочный вывод
19
+1001=Чересстрочные мониторы: Zalman, Hyundai,...
20
+1002=Column Interlaced
21
+1003=Column interlaced displays
22
+1006=DLP ТВ (шахматная доска)
23
+1007=DLP ТВ (шахматная доска)
24
+1008=Чересстрочный ED
25
+1009=EDimensional в чересстрочном режиме
26
+1102=Реверсировать порядок
27
+1103=Bind to supported monitor
28
+2000=sView - модуль Чересстрочного стереовывода
29
+2001=версия
30
+2002=© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}
31
sview-15_10.tar.gz/StOutInterlace/shaders/fEDinterlace.shf -> sview-15_11.tar.gz/StOutInterlace/shaders/fEDinterlace.shf Changed
24
 
1
@@ -2,19 +2,9 @@
2
  * EDimensional interlace activation fragment shader.
3
  * Copyright © 2009 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutInterlace library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutInterlace library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 uniform int vpSizeY;
24
sview-15_10.tar.gz/StOutInterlace/shaders/fEDoff.shf -> sview-15_11.tar.gz/StOutInterlace/shaders/fEDoff.shf Changed
24
 
1
@@ -2,19 +2,9 @@
2
  * EDimensional disactivation fragment shader.
3
  * Copyright © 2009 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutInterlace library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutInterlace library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 uniform int vpSizeY;
24
sview-15_10.tar.gz/StOutInterlace/shaders/vED.shv -> sview-15_11.tar.gz/StOutInterlace/shaders/vED.shv Changed
24
 
1
@@ -1,19 +1,9 @@
2
 /**
3
  * Copyright © 2009 Kirill Gavrilov <kirill@sview.ru>
4
  *
5
- * StOutInterlace library is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Lesser General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * StOutInterlace library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
- * See the GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General Public
16
- * License along with this library.
17
- * If not, see <http://www.gnu.org/licenses/>.
18
+ * Distributed under the Boost Software License, Version 1.0.
19
+ * See accompanying file license-boost.txt or copy at
20
+ * http://www.boost.org/LICENSE_1_0.txt
21
  */
22
 
23
 void main(void) {
24
sview-15_10.tar.gz/StOutPageFlip/StDXAqbsControl.cpp -> sview-15_11.tar.gz/StOutPageFlip/StDXAqbsControl.cpp Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2011 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #if(defined(_WIN32) || defined(__WIN32__))
25
sview-15_10.tar.gz/StOutPageFlip/StDXAqbsControl.h -> sview-15_11.tar.gz/StOutPageFlip/StDXAqbsControl.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2011 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StDXAqbsControl_h_
25
sview-15_10.tar.gz/StOutPageFlip/StDXInfo.h -> sview-15_11.tar.gz/StOutPageFlip/StDXInfo.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2011 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StDXInfo_h_
25
sview-15_10.tar.gz/StOutPageFlip/StDXManager.cpp -> sview-15_11.tar.gz/StOutPageFlip/StDXManager.cpp Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifdef _WIN32
25
sview-15_10.tar.gz/StOutPageFlip/StDXManager.h -> sview-15_11.tar.gz/StOutPageFlip/StDXManager.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StDXManager_h_
25
sview-15_10.tar.gz/StOutPageFlip/StDXNVSurface.cpp -> sview-15_11.tar.gz/StOutPageFlip/StDXNVSurface.cpp Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #if defined(_WIN32)
25
sview-15_10.tar.gz/StOutPageFlip/StDXNVSurface.h -> sview-15_11.tar.gz/StOutPageFlip/StDXNVSurface.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StDXNVSurface_h_
25
sview-15_10.tar.gz/StOutPageFlip/StDXNVWindow.cpp -> sview-15_11.tar.gz/StOutPageFlip/StDXNVWindow.cpp Changed
105
 
1
@@ -1,19 +1,10 @@
2
 /**
3
- * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
4
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
5
+ * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
6
  *
7
- * StOutPageFlip library is free software: you can redistribute it and/or modify
8
- * it under the terms of the GNU Lesser General Public License as published by
9
- * the Free Software Foundation, either version 3 of the License, or
10
- * (at your option) any later version.
11
- *
12
- * StOutPageFlip library is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
- * See the GNU General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU Lesser General Public
18
- * License along with this library.
19
- * If not, see <http://www.gnu.org/licenses/>.
20
+ * Distributed under the Boost Software License, Version 1.0.
21
+ * See accompanying file license-boost.txt or copy at
22
+ * http://www.boost.org/LICENSE_1_0.txt
23
  */
24
 
25
 #ifdef _WIN32
26
@@ -50,7 +41,10 @@
27
   myEventQuit  (false),
28
   myEventShow  (false),
29
   myEventHide  (false),
30
-  myEventUpdate(false) {
31
+  myEventUpdate(false),
32
+  myEventCursorShow(false),
33
+  myEventCursorHide(false),
34
+  myToHideCursor(false) {
35
     stMemZero(myMouseState, sizeof(myMouseState));
36
     stMemZero(&myWinMsg,    sizeof(myWinMsg));
37
     stMemZero(myKeysMap,    sizeof(myKeysMap));
38
@@ -194,6 +188,19 @@
39
     return true;
40
 }
41
 
42
+void StDXNVWindow::showCursor(bool theToShow) {
43
+    if(myToHideCursor != theToShow) {
44
+        return;
45
+    }
46
+
47
+    if(theToShow) {
48
+        myEventCursorShow.set();
49
+    } else {
50
+        myEventCursorHide.set();
51
+    }
52
+    myToHideCursor = !theToShow;
53
+}
54
+
55
 void StDXNVWindow::dxShow() {
56
     POINT aCursorPos = {};
57
     ::GetCursorPos(&aCursorPos); // backup cursor position
58
@@ -364,17 +371,22 @@
59
         StDXMsg_Show,
60
         StDXMsg_Hide,
61
         StDXMsg_Update,
62
-        StDXMsg_WINDOW
63
+        StDXMsg_CursorShow,
64
+        StDXMsg_CursorHide,
65
+        StDXMsg_WINDOW,
66
+        StDXMsg_NB = StDXMsg_WINDOW
67
     };
68
-    HANDLE aWaitEvents[4] = {};
69
-    aWaitEvents[StDXMsg_Quit]   = myEventQuit  .getHandle();
70
-    aWaitEvents[StDXMsg_Show]   = myEventShow  .getHandle();
71
-    aWaitEvents[StDXMsg_Hide]   = myEventHide  .getHandle();
72
-    aWaitEvents[StDXMsg_Update] = myEventUpdate.getHandle();
73
+    HANDLE aWaitEvents[StDXMsg_NB] = {};
74
+    aWaitEvents[StDXMsg_Quit]       = myEventQuit  .getHandle();
75
+    aWaitEvents[StDXMsg_Show]       = myEventShow  .getHandle();
76
+    aWaitEvents[StDXMsg_Hide]       = myEventHide  .getHandle();
77
+    aWaitEvents[StDXMsg_Update]     = myEventUpdate.getHandle();
78
+    aWaitEvents[StDXMsg_CursorShow] = myEventCursorShow.getHandle();
79
+    aWaitEvents[StDXMsg_CursorHide] = myEventCursorHide.getHandle();
80
 
81
     myEventReady.set();
82
     for(;;) {
83
-        switch(::MsgWaitForMultipleObjects(4, aWaitEvents, FALSE, INFINITE, QS_ALLINPUT)) {
84
+        switch(::MsgWaitForMultipleObjects(StDXMsg_NB, aWaitEvents, FALSE, INFINITE, QS_ALLINPUT)) {
85
             case WAIT_OBJECT_0 + StDXMsg_Quit: {
86
                 ST_DEBUG_LOG_AT("releaseDXWindow() [message thread]");
87
                 if(myIsThreadedDx) {
88
@@ -412,6 +424,16 @@
89
                 }
90
                 break;
91
             }
92
+            case WAIT_OBJECT_0 + StDXMsg_CursorShow: {
93
+                ::ShowCursor(TRUE);
94
+                myEventCursorShow.reset();
95
+                break;
96
+            }
97
+            case WAIT_OBJECT_0 + StDXMsg_CursorHide: {
98
+                ::ShowCursor(FALSE);
99
+                myEventCursorHide.reset();
100
+                break;
101
+            }
102
             case WAIT_OBJECT_0 + StDXMsg_WINDOW: {
103
                 // a windows message has arrived
104
                 peekMessages();
105
sview-15_10.tar.gz/StOutPageFlip/StDXNVWindow.h -> sview-15_11.tar.gz/StOutPageFlip/StDXNVWindow.h Changed
48
 
1
@@ -1,19 +1,10 @@
2
 /**
3
- * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
4
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
5
+ * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
6
  *
7
- * StOutPageFlip library is free software: you can redistribute it and/or modify
8
- * it under the terms of the GNU Lesser General Public License as published by
9
- * the Free Software Foundation, either version 3 of the License, or
10
- * (at your option) any later version.
11
- *
12
- * StOutPageFlip library is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
- * See the GNU General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU Lesser General Public
18
- * License along with this library.
19
- * If not, see <http://www.gnu.org/licenses/>.
20
+ * Distributed under the Boost Software License, Version 1.0.
21
+ * See accompanying file license-boost.txt or copy at
22
+ * http://www.boost.org/LICENSE_1_0.txt
23
  */
24
 
25
 #ifdef _WIN32
26
@@ -53,6 +44,11 @@
27
     ~StDXNVWindow();
28
 
29
     /**
30
+     * Post message to hide the cursor.
31
+     */
32
+    void showCursor(bool theToShow);
33
+
34
+    /**
35
      * Specify if WGL <-> D3D interoperation extension should be used.
36
      */
37
     bool toUseWglDxInterop() const {
38
@@ -289,6 +285,9 @@
39
     StCondition             myEventShow;
40
     StCondition             myEventHide;
41
     StCondition             myEventUpdate;
42
+    StCondition             myEventCursorShow; //!< event to show cursor
43
+    StCondition             myEventCursorHide; //!< event to hide cursor
44
+    bool                    myToHideCursor;
45
 
46
 };
47
 
48
sview-15_10.tar.gz/StOutPageFlip/StGLColoredLine.cpp -> sview-15_11.tar.gz/StOutPageFlip/StGLColoredLine.cpp Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2010-2012 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include "StGLColoredLine.h"
25
sview-15_10.tar.gz/StOutPageFlip/StGLColoredLine.h -> sview-15_11.tar.gz/StOutPageFlip/StGLColoredLine.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2010-2012 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StGLColoredLine_h_
25
sview-15_10.tar.gz/StOutPageFlip/StGLControlED.cpp -> sview-15_11.tar.gz/StOutPageFlip/StGLControlED.cpp Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2010-2012 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include "StGLControlED.h"
25
sview-15_10.tar.gz/StOutPageFlip/StGLControlED.h -> sview-15_11.tar.gz/StOutPageFlip/StGLControlED.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2010-2012 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StGLControlED_h_
25
sview-15_10.tar.gz/StOutPageFlip/StGLDeviceControl.h -> sview-15_11.tar.gz/StOutPageFlip/StGLDeviceControl.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2010-2012 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StGLDeviceControl_h_
25
sview-15_10.tar.gz/StOutPageFlip/StOutPageFlip.cbp -> sview-15_11.tar.gz/StOutPageFlip/StOutPageFlip.cbp Changed
66
 
1
@@ -6,39 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/libStOutPageFlip" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
7
-               <Option object_output="obj/$(TARGET_NAME)/" />
8
-               <Option type="3" />
9
-               <Option compiler="gcc" />
10
-               <Option createStaticLib="1" />
11
-               <Compiler>
12
-                   <Add option="-O3" />
13
-                   <Add option="-std=c++0x" />
14
-                   <Add option="-Wall" />
15
-                   <Add option="-g" />
16
-                   <Add option="-shared" />
17
-                   <Add option="-mmmx" />
18
-                   <Add option="-msse" />
19
-                   <Add option="-fcheck-new" />
20
-                   <Add option="-fno-strict-aliasing" />
21
-                   <Add option="-Wno-comment" />
22
-                   <Add option="-Wno-unknown-pragmas" />
23
-                   <Add option="-DUNICODE" />
24
-                   <Add option="-DST_DEBUG" />
25
-                   <Add option="-DST_HAVE_STCONFIG" />
26
-               </Compiler>
27
-               <Linker>
28
-                   <Add library="opengl32" />
29
-                   <Add library="gdi32" />
30
-                   <Add library="Version" />
31
-                   <Add library="D3D9" />
32
-                   <Add library="nvapi" />
33
-               </Linker>
34
-               <ExtraCommands>
35
-                   <Add before='cmd /c call ..\copy_res.bat $(TARGET_OUTPUT_DIR) $(TARGET_OUTPUT_BASENAME)' />
36
-               </ExtraCommands>
37
-           </Target>
38
            <Target title="WIN_vc_x86">
39
                <Option output="../bin/$(TARGET_NAME)/StOutPageFlip" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
40
                <Option object_output="obj/$(TARGET_NAME)/" />
41
@@ -72,11 +39,11 @@
42
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;2' />
43
                </ExtraCommands>
44
            </Target>
45
-           <Target title="WIN_vc_x86_DEBUG">
46
+           <Target title="WIN_vc_AMD64_DEBUG">
47
                <Option output="../bin/$(TARGET_NAME)/StOutPageFlip" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
48
                <Option object_output="obj/$(TARGET_NAME)/" />
49
                <Option type="3" />
50
-               <Option compiler="msvc10" />
51
+               <Option compiler="windows_sdk_x86_64" />
52
                <Option createStaticLib="1" />
53
                <Compiler>
54
                    <Add option="/MDd" />
55
@@ -280,9 +247,8 @@
56
        <Unit filename="StOutPageFlip.h" />
57
        <Unit filename="StOutPageFlip.rc">
58
            <Option compilerVar="WINDRES" />
59
-           <Option target="WIN_gcc_x86" />
60
            <Option target="WIN_vc_x86" />
61
-           <Option target="WIN_vc_x86_DEBUG" />
62
+           <Option target="WIN_vc_AMD64_DEBUG" />
63
            <Option target="WIN_vc_AMD64" />
64
        </Unit>
65
        <Unit filename="StOutPageFlipExt.cpp" />
66
sview-15_10.tar.gz/StOutPageFlip/StOutPageFlip.cpp -> sview-15_11.tar.gz/StOutPageFlip/StOutPageFlip.cpp Changed
52
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include "StOutPageFlip.h"
25
@@ -582,7 +573,9 @@
26
 }
27
 
28
 void StOutPageFlip::beforeClose() {
29
-    mySettings->saveInt32Rect(ST_SETTING_WINDOWPOS, StWindow::getWindowedPlacement());
30
+    if(isMovable() && myWasUsed) {
31
+        mySettings->saveInt32Rect(ST_SETTING_WINDOWPOS, StWindow::getWindowedPlacement());
32
+    }
33
     mySettings->saveInt32(ST_SETTING_DEVICE_ID,  myDevice);
34
     mySettings->saveParam(ST_SETTING_ADVANCED,   params.ToShowExtra);
35
     if(myWasUsed) {
36
@@ -797,6 +790,15 @@
37
 #endif
38
 }
39
 
40
+void StOutPageFlip::showCursor(const bool theToShow) {
41
+    StWindow::showCursor(theToShow);
42
+#ifdef _WIN32
43
+    if(!myOutD3d.DxWindow.isNull()) {
44
+        myOutD3d.DxWindow->showCursor(theToShow);
45
+    }
46
+#endif
47
+}
48
+
49
 bool StOutPageFlip::create() {
50
     StWindow::show();
51
 
52
sview-15_10.tar.gz/StOutPageFlip/StOutPageFlip.h -> sview-15_11.tar.gz/StOutPageFlip/StOutPageFlip.h Changed
38
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StOutPageFlip_h_
25
@@ -128,6 +119,12 @@
26
      */
27
     ST_CPPEXPORT virtual void stglDraw();
28
 
29
+    /**
30
+     * Show/Hide mouse cursor.
31
+     * @param theToShow true to show cursor
32
+     */
33
+    ST_CPPEXPORT virtual void showCursor(const bool theToShow);
34
+
35
         protected:
36
 
37
     ST_LOCAL void setupDevice();
38
sview-15_10.tar.gz/StOutPageFlip/StOutPageFlipExt.cpp -> sview-15_11.tar.gz/StOutPageFlip/StOutPageFlipExt.cpp Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2007-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include "StOutPageFlipExt.h"
25
sview-15_10.tar.gz/StOutPageFlip/StOutPageFlipExt.h -> sview-15_11.tar.gz/StOutPageFlip/StOutPageFlipExt.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2007-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StOutPageFlipExt_h_
25
sview-15_10.tar.gz/StOutPageFlip/StOutPageFlipStrings.h -> sview-15_11.tar.gz/StOutPageFlip/StOutPageFlipStrings.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2007-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StOutPageFlipStrings_h_
25
sview-15_10.tar.gz/StOutPageFlip/StQuadBufferCheck.ObjC.mm -> sview-15_11.tar.gz/StOutPageFlip/StQuadBufferCheck.ObjC.mm Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2011 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #if (defined(__APPLE__))
25
sview-15_10.tar.gz/StOutPageFlip/StQuadBufferCheck.cpp -> sview-15_11.tar.gz/StOutPageFlip/StQuadBufferCheck.cpp Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2009-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #include "StQuadBufferCheck.h"
25
sview-15_10.tar.gz/StOutPageFlip/StQuadBufferCheck.h -> sview-15_11.tar.gz/StOutPageFlip/StQuadBufferCheck.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2009-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StQuadBufferCheck_h_
25
sview-15_10.tar.gz/StOutPageFlip/StVuzixSDK.h -> sview-15_11.tar.gz/StOutPageFlip/StVuzixSDK.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StOutPageFlip, class providing stereoscopic output for Shutter Glasses displays using StCore toolkit.
4
  * Copyright © 2009 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StOutPageFlip library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StOutPageFlip library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StVuzixSDK_h_
25
sview-15_10.tar.gz/StOutPageFlip/lang/chinese/StOutPageFlip.lng -> sview-15_11.tar.gz/StOutPageFlip/lang/chinese/StOutPageFlip.lng Changed
49
 
1
@@ -1,25 +1,25 @@
2
 # Chinese translation file for StOutPageFlip library
3
 # @author YSC
4
 --------
5
-1000="快门眼镜"
6
-1001="快门眼镜"
7
-1002="Vuzix HMD"
8
-1003="Vuzix HMD"
9
-1102="缓冲类型"
10
-1103="眼镜控制编码"
11
-1120="OpenGL 跟踪"
12
-1122="OpenGL硬件"
13
-1123="Direct3D (全屏)"
14
-1124="Direct3D (未获得)"
15
-1125="Direct3D AMD (全屏)"
16
-1126="Direct3D AMD (未获得)"
17
-1127="Direct3D NVIDIA (全屏)"
18
-1128="Direct3D NVIDIA (失效)"
19
-1130="无编码"
20
-1131="蓝线同步"
21
-1132="白线同步"
22
-1134="空间自动开/关"
23
-2000="sView - 快门输出模式"
24
-2001="版本"
25
-?2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
26
-?3001="OpenGL Hardware QuadBuffer is unavailable!\n\nYou can try another Quad Buffer type\n(including OpenGL emulated in Extra section)."
27
+1000=快门眼镜
28
+1001=快门眼镜
29
+1002=Vuzix HMD
30
+1003=Vuzix HMD
31
+1102=缓冲类型
32
+1103=眼镜控制编码
33
+1120=OpenGL 跟踪
34
+1122=OpenGL硬件
35
+1123=Direct3D (全屏)
36
+1124=Direct3D (未获得)
37
+1125=Direct3D AMD (全屏)
38
+1126=Direct3D AMD (未获得)
39
+1127=Direct3D NVIDIA (全屏)
40
+1128=Direct3D NVIDIA (失效)
41
+1130=无编码
42
+1131=蓝线同步
43
+1132=白线同步
44
+1134=空间自动开/关
45
+2000=sView - 快门输出模式
46
+2001=版本
47
+?2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
48
+?3001=OpenGL Hardware QuadBuffer is unavailable!\n\nYou can try another Quad Buffer type\n(including OpenGL emulated in Extra section).
49
sview-15_10.tar.gz/StOutPageFlip/lang/czech/StOutPageFlip.lng -> sview-15_11.tar.gz/StOutPageFlip/lang/czech/StOutPageFlip.lng Changed
8
 
1
@@ -22,5 +22,5 @@
2
 1134=eDimensional auto on/off
3
 2000=sView - modul stereovýstupu pro aktivní závěrkové brýle
4
 2001=версия
5
-2002=© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}\n\nБиблиотека распространяется на условиях LGPL3.0
6
+2002=© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}
7
 3001=OpenGL Hardware QuadBuffer není dostupný!
8
sview-15_10.tar.gz/StOutPageFlip/lang/english/StOutPageFlip.lng -> sview-15_11.tar.gz/StOutPageFlip/lang/english/StOutPageFlip.lng Changed
49
 
1
@@ -1,25 +1,25 @@
2
 # English translation file for StOutPageFlip library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Shutter glasses"
6
-1001="Shutter glasses"
7
-1002="Vuzix HMD"
8
-1003="Vuzix HMD"
9
-1102="Quad Buffer type"
10
-1103="Glasses control codes"
11
-1120="OpenGL Emulated"
12
-1122="OpenGL Hardware"
13
-1123="Direct3D (Fullscreen)"
14
-1124="Direct3D (Unavailable)"
15
-1125="Direct3D AMD (Fullscreen)"
16
-1126="Direct3D AMD (Unavailable)"
17
-1127="Direct3D NVIDIA (Fullscreen)"
18
-1128="Direct3D NVIDIA (Disabled)"
19
-1130="No codes"
20
-1131="Blue line sync"
21
-1132="White line sync"
22
-1134="eDimensional auto on/off"
23
-2000="sView - PageFlip Output module"
24
-2001="version"
25
-2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
26
-3001="OpenGL Hardware QuadBuffer is unavailable!\n\nYou can try another Quad Buffer type\n(including OpenGL emulated in Extra section)."
27
+1000=Shutter glasses
28
+1001=Shutter glasses
29
+1002=Vuzix HMD
30
+1003=Vuzix HMD
31
+1102=Quad Buffer type
32
+1103=Glasses control codes
33
+1120=OpenGL Emulated
34
+1122=OpenGL Hardware
35
+1123=Direct3D (Fullscreen)
36
+1124=Direct3D (Unavailable)
37
+1125=Direct3D AMD (Fullscreen)
38
+1126=Direct3D AMD (Unavailable)
39
+1127=Direct3D NVIDIA (Fullscreen)
40
+1128=Direct3D NVIDIA (Disabled)
41
+1130=No codes
42
+1131=Blue line sync
43
+1132=White line sync
44
+1134=eDimensional auto on/off
45
+2000=sView - PageFlip Output module
46
+2001=version
47
+2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
48
+3001=OpenGL Hardware QuadBuffer is unavailable!\n\nYou can try another Quad Buffer type\n(including OpenGL emulated in Extra section).
49
sview-15_10.tar.gz/StOutPageFlip/lang/french/StOutPageFlip.lng -> sview-15_11.tar.gz/StOutPageFlip/lang/french/StOutPageFlip.lng Changed
49
 
1
@@ -1,25 +1,25 @@
2
 # French translation file for StOutPageFlip library
3
 # @author gramoun for Kirill Gavrilov
4
 --------
5
-1000="Lunettes Actives"
6
-1001="Lunettes Actives"
7
-1002="Vuzix HMD"
8
-1003="Vuzix HMD"
9
-1102="Quad Buffer type"
10
-1103="Codes de controle des lunettes"
11
-1120="OpenGL Emulé"
12
-1122="OpenGL Matériel"
13
-1123="Direct3D (Fullscreen)"
14
-1124="Direct3D (Unavailable)"
15
-1125="Direct3D AMD (Fullscreen)"
16
-1126="Direct3D AMD (Unavailable)"
17
-1127="Direct3D NVIDIA (Fullscreen)"
18
-1128="Direct3D NVIDIA (Disabled)"
19
-1130="Sans"
20
-1131="Synchro ligne bleue"
21
-1132="Synchro ligne blanche"
22
-1134="eDimensional auto Marche/Arrêt"
23
-2000="sView - PageFlip Output module"
24
-2001="version"
25
-2002="© {0} Kirill Gavrilov <{1}>\nOfficiel site: {2}\n\nThis library is distributed under LGPL3.0"
26
-?3001="OpenGL Hardware QuadBuffer is unavailable!\n\nYou can try another Quad Buffer type\n(including OpenGL emulated in Extra section)."
27
+1000=Lunettes Actives
28
+1001=Lunettes Actives
29
+1002=Vuzix HMD
30
+1003=Vuzix HMD
31
+1102=Quad Buffer type
32
+1103=Codes de controle des lunettes
33
+1120=OpenGL Emulé
34
+1122=OpenGL Matériel
35
+1123=Direct3D (Fullscreen)
36
+1124=Direct3D (Unavailable)
37
+1125=Direct3D AMD (Fullscreen)
38
+1126=Direct3D AMD (Unavailable)
39
+1127=Direct3D NVIDIA (Fullscreen)
40
+1128=Direct3D NVIDIA (Disabled)
41
+1130=Sans
42
+1131=Synchro ligne bleue
43
+1132=Synchro ligne blanche
44
+1134=eDimensional auto Marche/Arrêt
45
+2000=sView - PageFlip Output module
46
+2001=version
47
+2002=© {0} Kirill Gavrilov <{1}>\nOfficiel site: {2}
48
+?3001=OpenGL Hardware QuadBuffer is unavailable!\n\nYou can try another Quad Buffer type\n(including OpenGL emulated in Extra section).
49
sview-15_10.tar.gz/StOutPageFlip/lang/german/StOutPageFlip.lng -> sview-15_11.tar.gz/StOutPageFlip/lang/german/StOutPageFlip.lng Changed
49
 
1
@@ -1,25 +1,25 @@
2
 # German translation file for StOutPageFlip library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Shutterbrille"
6
-1001="Shutterbrille"
7
-1002="Vuzix HMD"
8
-1003="Vuzix HMD"
9
-1102="Quad Buffer Typ"
10
-1103="Brille Kontrollcodes"
11
-1120="OpenGL emulierte"
12
-1122="OpenGL hardware"
13
-1123="Direct3D (Vollbild)"
14
-1124="Direct3D (nicht verfügbar)"
15
-1125="Direct3D AMD (Vollbild)"
16
-1126="Direct3D AMD (nicht verfügbar)"
17
-1127="Direct3D NVIDIA (Vollbild)"
18
-1128="Direct3D NVIDIA (behindert)"
19
-1130="keine Codes"
20
-1131="blau Linie sync"
21
-1132="weiß Linie sync"
22
-1134="eDimensional auto on/off"
23
-2000="sView - PageFlip Ausgangsmodul"
24
-2001="Version"
25
-?2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
26
-3001="OpenGL Hardware QuadBuffer nicht verfügbar!\n\nSie können eine andere Quad Buffer versuchen\n(einschließlich OpenGL emulierte in extra Sektion)."
27
+1000=Shutterbrille
28
+1001=Shutterbrille
29
+1002=Vuzix HMD
30
+1003=Vuzix HMD
31
+1102=Quad Buffer Typ
32
+1103=Brille Kontrollcodes
33
+1120=OpenGL emulierte
34
+1122=OpenGL hardware
35
+1123=Direct3D (Vollbild)
36
+1124=Direct3D (nicht verfügbar)
37
+1125=Direct3D AMD (Vollbild)
38
+1126=Direct3D AMD (nicht verfügbar)
39
+1127=Direct3D NVIDIA (Vollbild)
40
+1128=Direct3D NVIDIA (behindert)
41
+1130=keine Codes
42
+1131=blau Linie sync
43
+1132=weiß Linie sync
44
+1134=eDimensional auto on/off
45
+2000=sView - PageFlip Ausgangsmodul
46
+2001=Version
47
+?2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
48
+3001=OpenGL Hardware QuadBuffer nicht verfügbar!\n\nSie können eine andere Quad Buffer versuchen\n(einschließlich OpenGL emulierte in extra Sektion).
49
sview-15_10.tar.gz/StOutPageFlip/lang/korean/StOutPageFlip.lng -> sview-15_11.tar.gz/StOutPageFlip/lang/korean/StOutPageFlip.lng Changed
49
 
1
@@ -1,25 +1,25 @@
2
 # English translation file for StOutPageFlip library
3
 # @author Kirill Gavrilov
4
 --------
5
-?1000="Shutter glasses"
6
-?1001="Shutter glasses"
7
-?1002="Vuzix HMD"
8
-?1003="Vuzix HMD"
9
-?1102="Quad Buffer type"
10
-?1103="Glasses control codes"
11
-?1120="OpenGL Emulated"
12
-?1122="OpenGL Hardware"
13
-?1123="Direct3D (Fullscreen)"
14
-?1124="Direct3D (Unavailable)"
15
-?1125="Direct3D AMD (Fullscreen)"
16
-?1126="Direct3D AMD (Unavailable)"
17
-?1127="Direct3D NVIDIA (Fullscreen)"
18
-?1128="Direct3D NVIDIA (Disabled)"
19
-?1130="No codes"
20
-?1131="Blue line sync"
21
-?1132="White line sync"
22
-?1134="eDimensional auto on/off"
23
-?2000="sView - PageFlip Output module"
24
-?2001="version"
25
-?2002="© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}\n\nThis library is distributed under LGPL3.0"
26
-?3001="OpenGL Hardware QuadBuffer is unavailable!\n\nYou can try another Quad Buffer type\n(including OpenGL emulated in Extra section)."
27
+?1000=Shutter glasses
28
+?1001=Shutter glasses
29
+?1002=Vuzix HMD
30
+?1003=Vuzix HMD
31
+?1102=Quad Buffer type
32
+?1103=Glasses control codes
33
+?1120=OpenGL Emulated
34
+?1122=OpenGL Hardware
35
+?1123=Direct3D (Fullscreen)
36
+?1124=Direct3D (Unavailable)
37
+?1125=Direct3D AMD (Fullscreen)
38
+?1126=Direct3D AMD (Unavailable)
39
+?1127=Direct3D NVIDIA (Fullscreen)
40
+?1128=Direct3D NVIDIA (Disabled)
41
+?1130=No codes
42
+?1131=Blue line sync
43
+?1132=White line sync
44
+?1134=eDimensional auto on/off
45
+?2000=sView - PageFlip Output module
46
+?2001=version
47
+?2002=© {0} Kirill Gavrilov <{1}>\nOfficial site: {2}
48
+?3001=OpenGL Hardware QuadBuffer is unavailable!\n\nYou can try another Quad Buffer type\n(including OpenGL emulated in Extra section).
49
sview-15_10.tar.gz/StOutPageFlip/lang/russian/StOutPageFlip.lng -> sview-15_11.tar.gz/StOutPageFlip/lang/russian/StOutPageFlip.lng Changed
49
 
1
@@ -1,25 +1,25 @@
2
 # Russian translation file for StOutPageFlip library
3
 # @author Kirill Gavrilov
4
 --------
5
-1000="Затворные очки"
6
-1001="Затворные очки"
7
-1002="Vuzix HMD"
8
-1003="Vuzix HMD"
9
-1102="Тип Квадробуфера"
10
-1103="Управление очками"
11
-1120="OpenGL эмуляция"
12
-1122="OpenGL аппаратный"
13
-1123="Direct3D (Fullscreen)"
14
-1124="Direct3D (Unavailable)"
15
-1125="Direct3D AMD (Fullscreen)"
16
-1126="Direct3D AMD (Unavailable)"
17
-1127="Direct3D NVIDIA (Fullscreen)"
18
-1128="Direct3D NVIDIA (Disabled)"
19
-1130="Без контроля"
20
-1131="Голубая линия"
21
-1132="Белая линия"
22
-1134="eDimensional авто вкл/выкл"
23
-2000="sView - модуль стереовывода для завторных очков"
24
-2001="версия"
25
-2002="© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}\n\nБиблиотека распространяется на условиях LGPL3.0"
26
-3001="OpenGL Hardware QuadBuffer не доступен!\n\nМожно попробовать другой тип квадробуфера в меню\n(включая эмулированный OpenGL в расширенном режиме)."
27
+1000=Затворные очки
28
+1001=Затворные очки
29
+1002=Vuzix HMD
30
+1003=Vuzix HMD
31
+1102=Тип Квадробуфера
32
+1103=Управление очками
33
+1120=OpenGL эмуляция
34
+1122=OpenGL аппаратный
35
+1123=Direct3D (Fullscreen)
36
+1124=Direct3D (Unavailable)
37
+1125=Direct3D AMD (Fullscreen)
38
+1126=Direct3D AMD (Unavailable)
39
+1127=Direct3D NVIDIA (Fullscreen)
40
+1128=Direct3D NVIDIA (Disabled)
41
+1130=Без контроля
42
+1131=Голубая линия
43
+1132=Белая линия
44
+1134=eDimensional авто вкл/выкл
45
+2000=sView - модуль стереовывода для завторных очков
46
+2001=версия
47
+2002=© {0} Гаврилов Кирилл <{1}>\nОфициальный сайт: {2}
48
+3001=OpenGL Hardware QuadBuffer не доступен!\n\nМожно попробовать другой тип квадробуфера в меню\n(включая эмулированный OpenGL в расширенном режиме).
49
sview-15_10.tar.gz/StShared/StAVFrame.cpp -> sview-15_11.tar.gz/StShared/StAVFrame.cpp Changed
71
 
1
@@ -1,5 +1,5 @@
2
 /**
3
- * Copyright © 2013-2014 Kirill Gavrilov <kirill@sview.ru>
4
+ * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
  * See accompanying file license-boost.txt or copy at
8
@@ -8,6 +8,8 @@
9
 
10
 #include <StAV/StAVFrame.h>
11
 
12
+#include <StAV/StAVImage.h>
13
+
14
 StAVFrame::StAVFrame()
15
 #if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101))
16
 : Frame(av_frame_alloc())
17
@@ -49,3 +51,53 @@
18
     thePixFmt = theCodecCtx->pix_fmt;
19
 #endif
20
 }
21
+
22
+StAVFrameCounter::StAVFrameCounter()
23
+: myFrame(NULL),
24
+  myIsProxy(false) {
25
+#if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101))
26
+    myFrame = av_frame_alloc();
27
+#endif
28
+}
29
+
30
+StAVFrameCounter::~StAVFrameCounter() {
31
+#if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101))
32
+    av_frame_free(&myFrame);
33
+#endif
34
+}
35
+
36
+void StAVFrameCounter::createReference(StHandle<StBufferCounter>& theOther) const {
37
+#if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101))
38
+    StHandle<StAVFrameCounter> anAvRef = StHandle<StAVFrameCounter>::downcast(theOther);
39
+    if(anAvRef.isNull()) {
40
+        anAvRef = new StAVFrameCounter();
41
+        theOther = anAvRef;
42
+    }
43
+
44
+    av_frame_unref(anAvRef->myFrame);
45
+    if(myIsProxy) {
46
+        // just steal the reference
47
+        av_frame_move_ref(anAvRef->myFrame, myFrame);
48
+    } else {
49
+        av_frame_ref(anAvRef->myFrame, myFrame);
50
+    }
51
+#else
52
+    theOther.nullify();
53
+#endif
54
+}
55
+
56
+void StAVFrameCounter::releaseReference() {
57
+#if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101))
58
+    av_frame_unref(myFrame);
59
+#endif
60
+}
61
+
62
+void StAVFrameCounter::moveReferenceFrom(AVFrame* theFrame) {
63
+    myIsProxy = true;
64
+#if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101))
65
+    av_frame_unref(myFrame);
66
+    av_frame_move_ref(myFrame, theFrame);
67
+#else
68
+    (void )theFrame;
69
+#endif
70
+}
71
sview-15_10.tar.gz/StShared/StAVImage.cpp -> sview-15_11.tar.gz/StShared/StAVImage.cpp Changed
201
 
1
@@ -1,5 +1,5 @@
2
 /**
3
- * Copyright © 2011-2014 Kirill Gavrilov <kirill@sview.ru>
4
+ * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
  * See accompanying file license-boost.txt or copy at
8
@@ -22,24 +22,13 @@
9
 : myImageFormat(NULL),
10
   myFormatCtx(NULL),
11
   myCodecCtx(NULL),
12
-  myCodec(NULL),
13
-  myFrame(NULL) {
14
+  myCodec(NULL) {
15
     StAVImage::init();
16
     myImageFormat = av_find_input_format("image2");
17
-#if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101))
18
-    myFrame = av_frame_alloc();
19
-#else
20
-    myFrame = avcodec_alloc_frame();
21
-#endif
22
 }
23
 
24
 StAVImage::~StAVImage() {
25
     close();
26
-#if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101))
27
-    av_frame_free(&myFrame);
28
-#else
29
-    av_free(myFrame);
30
-#endif
31
 }
32
 
33
 int StAVImage::getAVPixelFormat(const StImage& theImage) {
34
@@ -180,6 +169,12 @@
35
 }
36
 
37
 void StAVImage::close() {
38
+    myMetadata.clear();
39
+    closeAvCtx();
40
+}
41
+
42
+void StAVImage::closeAvCtx() {
43
+    myFrame.reset();
44
     if(myCodec != NULL && myCodecCtx != NULL) {
45
         avcodec_close(myCodecCtx); // close VIDEO codec
46
     }
47
@@ -208,6 +203,7 @@
48
     StImage::nullify();
49
     setState();
50
     close();
51
+    myMetadata.clear();
52
 
53
     switch(theImageType) {
54
         case ST_TYPE_PNG:
55
@@ -221,6 +217,15 @@
56
             myCodec = avcodec_find_decoder_by_name("mjpeg");
57
             break;
58
         }
59
+        case ST_TYPE_EXR: {
60
+            myCodec = avcodec_find_decoder_by_name("exr");
61
+            break;
62
+        }
63
+        case ST_TYPE_WEBP:
64
+        case ST_TYPE_WEBPLL: {
65
+            myCodec = avcodec_find_decoder_by_name("webp");
66
+            break;
67
+        }
68
         default: {
69
             break;
70
         }
71
@@ -326,9 +331,9 @@
72
     // decode one frame
73
     int isFrameFinished = 0;
74
 #if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 23, 0))
75
-    avcodec_decode_video2(myCodecCtx, myFrame, &isFrameFinished, anAvPkt.getAVpkt());
76
+    avcodec_decode_video2(myCodecCtx, myFrame.Frame, &isFrameFinished, anAvPkt.getAVpkt());
77
 #else
78
-    avcodec_decode_video(myCodecCtx, myFrame, &isFrameFinished,
79
+    avcodec_decode_video(myCodecCtx, myFrame.Frame, &isFrameFinished,
80
                          theDataPtr, theDataSize);
81
 #endif
82
 
83
@@ -362,7 +367,7 @@
84
 
85
 #ifdef ST_AV_NEWSTEREO
86
     // currently it is unlikelly... but maybe in future?
87
-    AVFrameSideData* aSideData = av_frame_get_side_data(myFrame, AV_FRAME_DATA_STEREO3D);
88
+    AVFrameSideData* aSideData = av_frame_get_side_data(myFrame.Frame, AV_FRAME_DATA_STEREO3D);
89
     if(aSideData != NULL) {
90
         AVStereo3D* aStereo = (AVStereo3D* )aSideData->data;
91
         mySrcFormat = stAV::stereo3dAvToSt(aStereo->type);
92
@@ -374,37 +379,70 @@
93
     }
94
 #endif
95
 
96
+    // it is unlikely that there would be any metadata from format...
97
+    // but lets try
98
+    if(myFormatCtx != NULL) {
99
+        for(stAV::meta::Tag* aTag = stAV::meta::findTag(myFormatCtx->metadata, "", NULL, stAV::meta::SEARCH_IGNORE_SUFFIX);
100
+            aTag != NULL;
101
+            aTag = stAV::meta::findTag(myFormatCtx->metadata, "", aTag, stAV::meta::SEARCH_IGNORE_SUFFIX)) {
102
+            myMetadata.add(StDictEntry(aTag->key, aTag->value));
103
+        }
104
+        for(stAV::meta::Tag* aTag = stAV::meta::findTag(myFormatCtx->streams[0]->metadata, "", NULL, stAV::meta::SEARCH_IGNORE_SUFFIX);
105
+            aTag != NULL;
106
+            aTag = stAV::meta::findTag(myFormatCtx->streams[0]->metadata, "", aTag, stAV::meta::SEARCH_IGNORE_SUFFIX)) {
107
+            myMetadata.add(StDictEntry(aTag->key, aTag->value));
108
+        }
109
+    }
110
+
111
+    // collect metadata from the frame
112
+    stAV::meta::Dict* aFrameMetadata = stAV::meta::getFrameMetadata(myFrame.Frame);
113
+    for(stAV::meta::Tag* aTag = stAV::meta::findTag(aFrameMetadata, "", NULL, stAV::meta::SEARCH_IGNORE_SUFFIX);
114
+        aTag != NULL;
115
+        aTag = stAV::meta::findTag(aFrameMetadata, "", aTag, stAV::meta::SEARCH_IGNORE_SUFFIX)) {
116
+        myMetadata.add(StDictEntry(aTag->key, aTag->value));
117
+    }
118
+
119
     stAV::dimYUV aDimsYUV;
120
     if(myCodecCtx->pix_fmt == stAV::PIX_FMT::RGB24) {
121
         setColorModel(StImage::ImgColor_RGB);
122
-        changePlane(0).initWrapper(StImagePlane::ImgRGB, myFrame->data[0],
123
+        changePlane(0).initWrapper(StImagePlane::ImgRGB, myFrame.getPlane(0),
124
                                    myCodecCtx->width, myCodecCtx->height,
125
-                                   myFrame->linesize[0]);
126
+                                   myFrame.getLineSize(0));
127
     } else if(myCodecCtx->pix_fmt == stAV::PIX_FMT::BGR24) {
128
         setColorModel(StImage::ImgColor_RGB);
129
-        changePlane(0).initWrapper(StImagePlane::ImgBGR, myFrame->data[0],
130
+        changePlane(0).initWrapper(StImagePlane::ImgBGR, myFrame.getPlane(0),
131
                                    myCodecCtx->width, myCodecCtx->height,
132
-                                   myFrame->linesize[0]);
133
+                                   myFrame.getLineSize(0));
134
     } else if(myCodecCtx->pix_fmt == stAV::PIX_FMT::RGBA32) {
135
         setColorModel(StImage::ImgColor_RGBA);
136
-        changePlane(0).initWrapper(StImagePlane::ImgRGBA, myFrame->data[0],
137
+        changePlane(0).initWrapper(StImagePlane::ImgRGBA, myFrame.getPlane(0),
138
                                    myCodecCtx->width, myCodecCtx->height,
139
-                                   myFrame->linesize[0]);
140
+                                   myFrame.getLineSize(0));
141
     } else if(myCodecCtx->pix_fmt == stAV::PIX_FMT::BGRA32) {
142
         setColorModel(StImage::ImgColor_RGBA);
143
-        changePlane(0).initWrapper(StImagePlane::ImgBGRA, myFrame->data[0],
144
+        changePlane(0).initWrapper(StImagePlane::ImgBGRA, myFrame.getPlane(0),
145
                                    myCodecCtx->width, myCodecCtx->height,
146
-                                   myFrame->linesize[0]);
147
+                                   myFrame.getLineSize(0));
148
     } else if(myCodecCtx->pix_fmt == stAV::PIX_FMT::GRAY8) {
149
         setColorModel(StImage::ImgColor_GRAY);
150
-        changePlane(0).initWrapper(StImagePlane::ImgGray, myFrame->data[0],
151
+        changePlane(0).initWrapper(StImagePlane::ImgGray, myFrame.getPlane(0),
152
                                    myCodecCtx->width, myCodecCtx->height,
153
-                                   myFrame->linesize[0]);
154
+                                   myFrame.getLineSize(0));
155
     } else if(myCodecCtx->pix_fmt == stAV::PIX_FMT::GRAY16) {
156
         setColorModel(StImage::ImgColor_GRAY);
157
-        changePlane(0).initWrapper(StImagePlane::ImgGray16, myFrame->data[0],
158
+        changePlane(0).initWrapper(StImagePlane::ImgGray16, myFrame.getPlane(0),
159
                                    myCodecCtx->width, myCodecCtx->height,
160
-                                   myFrame->linesize[0]);
161
+                                   myFrame.getLineSize(0));
162
+    } else if(myCodecCtx->pix_fmt == stAV::PIX_FMT::RGB48) {
163
+        setColorModel(StImage::ImgColor_RGB);
164
+        changePlane(0).initWrapper(StImagePlane::ImgRGB48, myFrame.getPlane(0),
165
+                                   myCodecCtx->width, myCodecCtx->height,
166
+                                   myFrame.getLineSize(0));
167
+    } else if(myCodecCtx->pix_fmt == stAV::PIX_FMT::RGBA64) {
168
+        setColorModel(StImage::ImgColor_RGBA);
169
+        changePlane(0).initWrapper(StImagePlane::ImgRGBA64, myFrame.getPlane(0),
170
+                                   myCodecCtx->width, myCodecCtx->height,
171
+                                   myFrame.getLineSize(0));
172
     } else if(stAV::isFormatYUVPlanar(myCodecCtx, aDimsYUV)) {
173
     #if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 29, 0))
174
         if(myCodecCtx->color_range == AVCOL_RANGE_JPEG) {
175
@@ -424,12 +462,12 @@
176
             aPlaneFrmt = StImagePlane::ImgGray16;
177
         }
178
 
179
-        changePlane(0).initWrapper(aPlaneFrmt, myFrame->data[0],
180
-                                   size_t(aDimsYUV.widthY), size_t(aDimsYUV.heightY), myFrame->linesize[0]);
181
-        changePlane(1).initWrapper(aPlaneFrmt, myFrame->data[1],
182
-                                   size_t(aDimsYUV.widthU), size_t(aDimsYUV.heightU), myFrame->linesize[1]);
183
-        changePlane(2).initWrapper(aPlaneFrmt, myFrame->data[2],
184
-                                   size_t(aDimsYUV.widthV), size_t(aDimsYUV.heightV), myFrame->linesize[2]);
185
+        changePlane(0).initWrapper(aPlaneFrmt, myFrame.getPlane(0),
186
+                                   size_t(aDimsYUV.widthY), size_t(aDimsYUV.heightY), myFrame.getLineSize(0));
187
+        changePlane(1).initWrapper(aPlaneFrmt, myFrame.getPlane(1),
188
+                                   size_t(aDimsYUV.widthU), size_t(aDimsYUV.heightU), myFrame.getLineSize(1));
189
+        changePlane(2).initWrapper(aPlaneFrmt, myFrame.getPlane(2),
190
+                                   size_t(aDimsYUV.widthV), size_t(aDimsYUV.heightV), myFrame.getLineSize(2));
191
     } else {
192
         ///ST_DEBUG_LOG("StAVImage, perform conversion from Pixel format '" + avcodec_get_pix_fmt_name(myCodecCtx->pix_fmt) + "' to RGB");
193
         // initialize software scaler/converter
194
@@ -453,9 +491,11 @@
195
         rgbLinesize[0] = (int )changePlane(0).getSizeRowBytes();
196
 
197
         sws_scale(pToRgbCtx,
198
-                  myFrame->data, myFrame->linesize,
199
+                  myFrame.Frame->data, myFrame.Frame->linesize,
200
                   0, myCodecCtx->height,
201
sview-15_10.tar.gz/StShared/StCondition.cpp -> sview-15_11.tar.gz/StShared/StCondition.cpp Changed
110
 
1
@@ -1,5 +1,5 @@
2
 /**
3
- * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
4
+ * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
  * See accompanying file license-boost.txt or copy at
8
@@ -16,7 +16,27 @@
9
 #endif
10
 
11
 #include <StThreads/StCondition.h>
12
-#include <StThreads/StTimer.h> // for ST_HAVE_MONOTONIC_CLOCK
13
+#include <StThreads/StTimer.h>
14
+
15
+namespace {
16
+
17
+#ifndef _WIN32
18
+    /**
19
+     * clock_gettime() wrapper.
20
+     */
21
+    inline void stGetRealTime(struct timespec& theTime) {
22
+    #if defined(__APPLE__)
23
+        struct timeval aTime;
24
+        gettimeofday(&aTime, NULL);
25
+        theTime.tv_sec  = aTime.tv_sec;
26
+        theTime.tv_nsec = aTime.tv_usec * 1000;
27
+    #else
28
+        clock_gettime(CLOCK_REALTIME, &theTime);
29
+    #endif
30
+    }
31
+#endif
32
+
33
+}
34
 
35
 StCondition::StCondition()
36
 #ifdef _WIN32
37
@@ -93,18 +113,17 @@
38
     bool isSignalled = true;
39
     pthread_mutex_lock(&myMutex);
40
     if(!myFlag) {
41
-        StTimer::stTimeCounter_t aNow;
42
-        struct timespec          aTimeout;
43
-        StTimer::fillCounter(aNow);
44
-        size_t aSeconds      = (theTimeMilliseconds / 1000);
45
-        size_t aMicroseconds = (theTimeMilliseconds - aSeconds * 1000) * 1000;
46
-    #if defined(ST_HAVE_MONOTONIC_CLOCK)
47
-        aTimeout.tv_sec  = aNow.tv_sec         + (time_t )aSeconds;
48
-        aTimeout.tv_nsec = aNow.tv_nsec        + (long   )aMicroseconds * 1000;
49
-    #else
50
-        aTimeout.tv_sec  = aNow.tv_sec         + (time_t )aSeconds;
51
-        aTimeout.tv_nsec = aNow.tv_usec * 1000 + (long   )aMicroseconds * 1000;
52
-    #endif
53
+        struct timespec aNow;
54
+        struct timespec aTimeout;
55
+        stGetRealTime(aNow);
56
+        aTimeout.tv_sec  = (theTimeMilliseconds / 1000);
57
+        aTimeout.tv_nsec = (theTimeMilliseconds - aTimeout.tv_sec * 1000) * 1000000;
58
+        if(aTimeout.tv_nsec > 1000000000) {
59
+            aTimeout.tv_sec  += 1;
60
+            aTimeout.tv_nsec -= 1000000000;
61
+        }
62
+        aTimeout.tv_sec  += aNow.tv_sec;
63
+        aTimeout.tv_nsec += aNow.tv_nsec;
64
         isSignalled = (pthread_cond_timedwait(&myCond, &myMutex, &aTimeout) != ETIMEDOUT);
65
     }
66
     pthread_mutex_unlock(&myMutex);
67
@@ -119,17 +138,11 @@
68
     bool isSignalled = true;
69
     pthread_mutex_lock(&myMutex);
70
     if(!myFlag) {
71
-        StTimer::stTimeCounter_t aNow;
72
-        struct timespec          aTimeout;
73
-        StTimer::fillCounter(aNow);
74
-        // TODO (Kirill Gavrilov) which values must be here and need we this block here?
75
-    #if defined(ST_HAVE_MONOTONIC_CLOCK)
76
-        aTimeout.tv_sec  = aNow.tv_sec;
77
-        aTimeout.tv_nsec = aNow.tv_nsec        + 100;
78
-    #else
79
+        struct timespec aNow;
80
+        struct timespec aTimeout;
81
+        stGetRealTime(aNow);
82
         aTimeout.tv_sec  = aNow.tv_sec;
83
-        aTimeout.tv_nsec = aNow.tv_usec * 1000 + 100;
84
-    #endif
85
+        aTimeout.tv_nsec = aNow.tv_nsec + 100;
86
         isSignalled = (pthread_cond_timedwait(&myCond, &myMutex, &aTimeout) != ETIMEDOUT);
87
     }
88
     pthread_mutex_unlock(&myMutex);
89
@@ -146,16 +159,11 @@
90
     pthread_mutex_lock(&myMutex);
91
     bool wasSignalled = myFlag;
92
     if(!myFlag) {
93
-        StTimer::stTimeCounter_t aNow;
94
-        struct timespec          aTimeout;
95
-        StTimer::fillCounter(aNow);
96
-    #if defined(ST_HAVE_MONOTONIC_CLOCK)
97
-        aTimeout.tv_sec  = aNow.tv_sec;
98
-        aTimeout.tv_nsec = aNow.tv_nsec        + 100;
99
-    #else
100
+        struct timespec aNow;
101
+        struct timespec aTimeout;
102
+        stGetRealTime(aNow);
103
         aTimeout.tv_sec  = aNow.tv_sec;
104
-        aTimeout.tv_nsec = aNow.tv_usec * 1000 + 100;
105
-    #endif
106
+        aTimeout.tv_nsec = aNow.tv_nsec + 100;
107
         wasSignalled = (pthread_cond_timedwait(&myCond, &myMutex, &aTimeout) != ETIMEDOUT);
108
     }
109
     myFlag = false;
110
sview-15_10.tar.gz/StShared/StFileNode2.cpp -> sview-15_11.tar.gz/StShared/StFileNode2.cpp Changed
10
 
1
@@ -112,7 +112,7 @@
2
     }
3
     return false;
4
 #elif defined(__ANDROID__)
5
-    bool ST_NOT_IMPLEMENTED_FOR_ANDROID = true;
6
+    //bool ST_NOT_IMPLEMENTED_FOR_ANDROID = true;
7
     return false;
8
 #elif defined(__linux__)
9
     if(!StMessageBox::initGlobals()) {
10
sview-15_10.tar.gz/StShared/StGLTexture.cpp -> sview-15_11.tar.gz/StShared/StGLTexture.cpp Changed
87
 
1
@@ -45,6 +45,13 @@
2
             theInternalFormat = GL_RGBA8;
3
         #endif
4
             return true;
5
+        case StImagePlane::ImgRGBA64:
6
+        #if defined(GL_ES_VERSION_2_0)
7
+            theInternalFormat = GL_RGBA;
8
+        #else
9
+            theInternalFormat = GL_RGBA16;
10
+        #endif
11
+            return true;
12
         case StImagePlane::ImgRGB:
13
         case StImagePlane::ImgBGR:
14
         case StImagePlane::ImgRGB32:
15
@@ -55,6 +62,13 @@
16
             theInternalFormat = GL_RGB8;
17
         #endif
18
             return true;
19
+        case StImagePlane::ImgRGB48:
20
+        #if defined(GL_ES_VERSION_2_0)
21
+            theInternalFormat = GL_RGB;
22
+        #else
23
+            theInternalFormat = GL_RGB16;
24
+        #endif
25
+            return true;
26
         case StImagePlane::ImgGrayF:
27
         #if defined(GL_ES_VERSION_2_0)
28
             theInternalFormat = GL_ALPHA;
29
@@ -124,12 +138,22 @@
30
             return true;
31
         #endif
32
         }
33
+        case StImagePlane::ImgRGB48: {
34
+            thePixelFormat = GL_RGB;
35
+            theDataType    = GL_UNSIGNED_SHORT;
36
+            return true;
37
+        }
38
         case StImagePlane::ImgRGBA:
39
         case StImagePlane::ImgRGB32: {
40
             thePixelFormat = GL_RGBA;
41
             theDataType = GL_UNSIGNED_BYTE;
42
             return true;
43
         }
44
+        case StImagePlane::ImgRGBA64: {
45
+            thePixelFormat = GL_RGBA;
46
+            theDataType    = GL_UNSIGNED_SHORT;
47
+            return true;
48
+        }
49
         case StImagePlane::ImgBGRA:
50
         case StImagePlane::ImgBGR32: {
51
         #if defined(GL_ES_VERSION_2_0)
52
@@ -441,14 +465,10 @@
53
 
54
     GLint anInternalFormat = myTextFormat;
55
 #if defined(GL_ES_VERSION_2_0)
56
-    // sized formats are not supported here
57
-    if(anInternalFormat == GL_RGBA8) {
58
-        anInternalFormat = GL_RGBA;
59
-    } else if(anInternalFormat == GL_RGB8) {
60
-        anInternalFormat = GL_RGB;
61
-    } else if(anInternalFormat == GL_ALPHA8) {
62
-        anInternalFormat = GL_ALPHA;
63
-    }
64
+    //if(!theCtx.isGlGreaterEqual(3, 0)) {
65
+        // sized formats are not supported here
66
+        anInternalFormat = theDataFormat;
67
+    //}
68
 #endif
69
 
70
     if(myTarget == GL_TEXTURE_CUBE_MAP) {
71
@@ -473,13 +493,13 @@
72
     GLenum anErr = theCtx.core20fwd->glGetError();
73
     if(anErr != GL_NO_ERROR) {
74
         ST_ERROR_LOG("Creation texture with size (" + mySizeX + " x "+ mySizeY
75
-                   + " @" + formatInternalFormat(anInternalFormat) + " with data " + formatInternalFormat(theDataFormat) + ") FAILED: " + theCtx.stglErrorToString(anErr) + "!");
76
+                   + " @" + formatInternalFormat(myTextFormat) + " with data " + formatInternalFormat(theDataFormat) + ") FAILED: " + theCtx.stglErrorToString(anErr) + "!");
77
         release(theCtx);
78
         return false;
79
     }
80
 #ifdef ST_DEBUG_TEXTURES
81
     ST_DEBUG_LOG("Created StGLTexture " + mySizeX + " x "+ mySizeY
82
-               + " (format " + formatInternalFormat(anInternalFormat) + ')');
83
+               + " (format " + formatInternalFormat(myTextFormat) + ')');
84
 #endif
85
 
86
 #else
87
sview-15_10.tar.gz/StShared/StGLTextureData.cpp -> sview-15_11.tar.gz/StShared/StGLTextureData.cpp Changed
201
 
1
@@ -30,6 +30,7 @@
2
 }
3
 
4
 void StGLTextureData::reset() {
5
+    myDataPair.nullify();
6
     myDataL.nullify();
7
     myDataR.nullify();
8
     if(myDataPtr != NULL) {
9
@@ -325,6 +326,28 @@
10
     return thePlane.getSizeX() / theCoeffX == thePlane.getSizeY() / theCoeffY;
11
 }
12
 
13
+void StGLTextureData::copyProps(const StImage& theDataL,
14
+                                const StImage& theDataR) {
15
+    myDataPair.setColorModel(theDataL.getColorModel());
16
+    myDataPair.setColorScale(theDataL.getColorScale());
17
+    myDataPair.setPixelRatio(theDataL.getPixelRatio());
18
+    myDataL.setColorModel(theDataL.getColorModel());
19
+    myDataL.setColorScale(theDataL.getColorScale());
20
+    myDataL.setPixelRatio(theDataL.getPixelRatio());
21
+    myDataR.setColorModel(theDataR.isNull() ? theDataL.getColorModel() : theDataR.getColorModel());
22
+    myDataR.setColorScale(theDataR.isNull() ? theDataL.getColorScale() : theDataR.getColorScale());
23
+    myDataR.setPixelRatio(theDataR.isNull() ? theDataL.getPixelRatio() : theDataR.getPixelRatio());
24
+}
25
+
26
+inline bool canCopyReference(const StImage& theData) {
27
+    if(theData.isNull()) {
28
+        return true;
29
+    }
30
+
31
+    return !theData.getBufferCounter().isNull()
32
+        &&  theData.isTopDown();
33
+}
34
+
35
 void StGLTextureData::updateData(const StImage&                  theDataL,
36
                                  const StImage&                  theDataR,
37
                                  const StHandle<StStereoParams>& theStParams,
38
@@ -335,27 +358,138 @@
39
     myStParams  = theStParams;
40
     myPts       = thePts;
41
     mySrcFormat = theFormat != StFormat_AUTO ? theFormat : StFormat_Mono;
42
-    myCubemapFormat = theCubemap;
43
 
44
     // reset fill texture state
45
     myFillRows = myFillFromRow = 0;
46
 
47
+    if(canCopyReference(theDataL)
48
+    && canCopyReference(theDataR)) {
49
+        bool toCopy = false;
50
+        switch(mySrcFormat) {
51
+            case StFormat_SideBySide_LR:
52
+            case StFormat_SideBySide_RL: {
53
+                reset();
54
+                copyProps(theDataL, theDataR);
55
+                StImage& aDataL = (mySrcFormat == StFormat_SideBySide_LR)
56
+                                ? myDataL : myDataR;
57
+                StImage& aDataR = (mySrcFormat == StFormat_SideBySide_LR)
58
+                                ? myDataR : myDataL;
59
+                myDataPair.initReference(theDataL);
60
+                for(size_t aPlaneId = 0; aPlaneId < 4; ++aPlaneId) {
61
+                    const StImagePlane& aFromPlane = myDataPair.getPlane(aPlaneId);
62
+                    if(aFromPlane.isNull()) {
63
+                        continue;
64
+                    }
65
+                    const size_t aSizeX = aFromPlane.getSizeX() / 2;
66
+                    aDataL.changePlane(aPlaneId).initWrapper(aFromPlane.getFormat(),
67
+                                                             aFromPlane.accessData(0, 0),
68
+                                                             aSizeX, aFromPlane.getSizeY(),
69
+                                                             aFromPlane.getSizeRowBytes());
70
+                    aDataR.changePlane(aPlaneId).initWrapper(aFromPlane.getFormat(),
71
+                                                             aFromPlane.accessData(0, aSizeX),
72
+                                                             aSizeX, aFromPlane.getSizeY(),
73
+                                                             aFromPlane.getSizeRowBytes());
74
+                }
75
+                break;
76
+            }
77
+            case StFormat_TopBottom_LR:
78
+            case StFormat_TopBottom_RL: {
79
+                reset();
80
+                copyProps(theDataL, theDataR);
81
+                StImage& aDataL = (mySrcFormat == StFormat_TopBottom_LR)
82
+                                ? myDataL : myDataR;
83
+                StImage& aDataR = (mySrcFormat == StFormat_TopBottom_LR)
84
+                                ? myDataR : myDataL;
85
+                myDataPair.initReference(theDataL);
86
+                for(size_t aPlaneId = 0; aPlaneId < 4; ++aPlaneId) {
87
+                    const StImagePlane& aFromPlane = myDataPair.getPlane(aPlaneId);
88
+                    if(aFromPlane.isNull()) {
89
+                        continue;
90
+                    }
91
+                    const size_t aSizeY = aFromPlane.getSizeY() / 2;
92
+                    aDataL.changePlane(aPlaneId).initWrapper(aFromPlane.getFormat(),
93
+                                                             aFromPlane.accessData(0, 0),
94
+                                                             aFromPlane.getSizeX(), aSizeY,
95
+                                                             aFromPlane.getSizeRowBytes());
96
+                    aDataR.changePlane(aPlaneId).initWrapper(aFromPlane.getFormat(),
97
+                                                             aFromPlane.accessData(aSizeY, 0),
98
+                                                             aFromPlane.getSizeX(), aSizeY,
99
+                                                             aFromPlane.getSizeRowBytes());
100
+                }
101
+                break;
102
+            }
103
+            case StFormat_Rows: {
104
+                reset();
105
+                copyProps(theDataL, theDataR);
106
+                myDataL.setPixelRatio(theDataL.getPixelRatio() * 0.5f);
107
+                myDataR.setPixelRatio(theDataL.getPixelRatio() * 0.5f);
108
+                StImage& aDataL = myDataL;
109
+                StImage& aDataR = myDataR;
110
+                myDataPair.initReference(theDataL);
111
+                for(size_t aPlaneId = 0; aPlaneId < 4; ++aPlaneId) {
112
+                    const StImagePlane& aFromPlane = myDataPair.getPlane(aPlaneId);
113
+                    if(aFromPlane.isNull()) {
114
+                        continue;
115
+                    }
116
+                    const size_t aSizeY = aFromPlane.getSizeY() / 2;
117
+                    aDataL.changePlane(aPlaneId).initWrapper(aFromPlane.getFormat(),
118
+                                                             aFromPlane.accessData(0, 0),
119
+                                                             aFromPlane.getSizeX(), aSizeY,
120
+                                                             aFromPlane.getSizeRowBytes() * 2);
121
+                    aDataR.changePlane(aPlaneId).initWrapper(aFromPlane.getFormat(),
122
+                                                             aFromPlane.accessData(1, 0),
123
+                                                             aFromPlane.getSizeX(), aSizeY,
124
+                                                             aFromPlane.getSizeRowBytes() * 2);
125
+                }
126
+                break;
127
+            }
128
+            case StFormat_Columns:
129
+            case StFormat_Tiled4x: {
130
+                toCopy = true;
131
+                break;
132
+            }
133
+            case StFormat_Mono:
134
+            case StFormat_SeparateFrames:
135
+            case StFormat_FrameSequence:
136
+            case StFormat_AnaglyphRedCyan:
137
+            case StFormat_AnaglyphGreenMagenta:
138
+            case StFormat_AnaglyphYellowBlue:
139
+            case StFormat_AUTO: {
140
+                reset();
141
+                copyProps(theDataL, theDataR);
142
+                myDataL.initReference(theDataL);
143
+                myDataR.initReference(theDataR);
144
+                break;
145
+            }
146
+            case StFormat_NB: {
147
+                reset();
148
+                return;
149
+            }
150
+        }
151
+
152
+        if(!toCopy) {
153
+            validateCubemap(theCubemap);
154
+            return;
155
+        }
156
+    }
157
+
158
+    myDataPair.setBufferCounter(NULL);
159
+    myDataL.setBufferCounter(NULL);
160
+    myDataR.setBufferCounter(NULL);
161
+
162
     // reallocate buffer if needed
163
     const size_t aNewSizeBytes = computeBufferSize(theDataL) + computeBufferSize(theDataR);
164
     if(aNewSizeBytes == 0) {
165
         // invalid data
166
+        myDataPair.nullify();
167
         myDataL.nullify();
168
         myDataR.nullify();
169
+        myCubemapFormat = StCubemap_OFF;
170
         return;
171
     }
172
 
173
     reAllocate(aNewSizeBytes);
174
-    myDataL.setColorModel(theDataL.getColorModel());
175
-    myDataL.setColorScale(theDataL.getColorScale());
176
-    myDataR.setColorModel(theDataR.isNull() ? theDataL.getColorModel() : theDataR.getColorModel());
177
-    myDataR.setColorScale(theDataR.isNull() ? theDataL.getColorScale() : theDataR.getColorScale());
178
-    myDataL.setPixelRatio(theDataL.getPixelRatio());
179
-    myDataR.setPixelRatio(theDataL.getPixelRatio());
180
+    copyProps(theDataL, theDataR);
181
 
182
     switch(mySrcFormat) {
183
         case StFormat_SideBySide_LR:
184
@@ -424,24 +558,32 @@
185
             break;
186
         }
187
     }
188
-    if(myCubemapFormat == StCubemap_Packed) {
189
-        size_t aCoeffs[2] = {0, 0};
190
-        if(!myDataL.isNull()) {
191
-            for(size_t aPlaneId = 0; aPlaneId < 4; ++aPlaneId) {
192
-                const StImagePlane& aPlane = myDataL.getPlane(aPlaneId);
193
-                if(!checkCubeMap(aPlane, aCoeffs[0], aCoeffs[1])) {
194
-                    myCubemapFormat = StCubemap_OFF;
195
-                    break;
196
-                }
197
+    validateCubemap(theCubemap);
198
+}
199
+
200
+void StGLTextureData::validateCubemap(const StCubemap theCubemap) {
201
sview-15_10.tar.gz/StShared/StGLTextureQueue.cpp -> sview-15_11.tar.gz/StShared/StGLTextureQueue.cpp Changed
11
 
1
@@ -171,6 +171,9 @@
2
         // reset queue
3
         myQueueSize     = 0;
4
         myDataBack      = myDataFront;
5
+        if(myDataSnap != NULL) {
6
+            myDataSnap->resetStParams();
7
+        }
8
         myDataSnap      = NULL;
9
         mySwapFBCount   = 0;
10
         myIsReadyToSwap = false; // invalidate currently uploaded image in back buffer
11
sview-15_10.tar.gz/StShared/StImage.cpp -> sview-15_11.tar.gz/StShared/StImage.cpp Changed
86
 
1
@@ -45,16 +45,18 @@
2
     //
3
 }
4
 
5
-bool StImage::initCopy(const StImage& theCopy) {
6
+bool StImage::initCopy(const StImage& theCopy,
7
+                       const bool     theIsCompact) {
8
     nullify();
9
     setColorModel(theCopy.getColorModel());
10
     setColorScale(theCopy.getColorScale());
11
+    myPAR = theCopy.myPAR;
12
     for(size_t aPlaneId = 0; aPlaneId < 4; ++aPlaneId) {
13
         const StImagePlane& aFromPlane = theCopy.getPlane(aPlaneId);
14
         if(aFromPlane.isNull()) {
15
             continue;
16
         }
17
-        if(!changePlane(aPlaneId).initCopy(aFromPlane)) {
18
+        if(!changePlane(aPlaneId).initCopy(aFromPlane, theIsCompact)) {
19
             return false;
20
         }
21
     }
22
@@ -65,6 +67,7 @@
23
     nullify();
24
     setColorModel(theCopy.getColorModel());
25
     setColorScale(theCopy.getColorScale());
26
+    myPAR = theCopy.myPAR;
27
     for(size_t aPlaneId = 0; aPlaneId < 4; ++aPlaneId) {
28
         const StImagePlane& aFromPlane = theCopy.getPlane(aPlaneId);
29
         if(aFromPlane.isNull()) {
30
@@ -77,6 +80,29 @@
31
     return true;
32
 }
33
 
34
+bool StImage::initReference(const StImage& theCopy) {
35
+    nullify();
36
+    if( theCopy.myBufCounter.isNull()
37
+    || !initWrapper(theCopy)) {
38
+        return false;
39
+    }
40
+
41
+    theCopy.myBufCounter->createReference(myBufCounter);
42
+    return true;
43
+}
44
+
45
+bool StImage::initReference(const StImage&                   theCopy,
46
+                            const StHandle<StBufferCounter>& theRef) {
47
+    nullify();
48
+    if( theRef.isNull()
49
+    || !initWrapper(theCopy)) {
50
+        return false;
51
+    }
52
+
53
+    theRef->createReference(myBufCounter);
54
+    return true;
55
+}
56
+
57
 bool StImage::initTrashLimited(const StImage& theRef,
58
                                const size_t   theSizeX,
59
                                const size_t   theSizeY) {
60
@@ -189,12 +215,13 @@
61
     return true;
62
 }
63
 
64
-bool StImage::fill(const StImage& theCopy) {
65
+bool StImage::fill(const StImage& theCopy,
66
+                   const bool     theIsCompact) {
67
     if(getColorModel() != theCopy.getColorModel()) {
68
-        return initCopy(theCopy);
69
+        return initCopy(theCopy, theIsCompact);
70
     }
71
     for(size_t aPlaneId = 0; aPlaneId < 4; ++aPlaneId) {
72
-        if(!changePlane(aPlaneId).fill(theCopy.getPlane(aPlaneId))) {
73
+        if(!changePlane(aPlaneId).fill(theCopy.getPlane(aPlaneId), theIsCompact)) {
74
             nullify();
75
             return false;
76
         }
77
@@ -212,5 +239,8 @@
78
     myPlanes[1].nullify();
79
     myPlanes[2].nullify();
80
     myPlanes[3].nullify();
81
+    if(!myBufCounter.isNull()) {
82
+        myBufCounter->releaseReference();
83
+    }
84
     myPAR = 1.0f;
85
 }
86
sview-15_10.tar.gz/StShared/StImageFile.cpp -> sview-15_11.tar.gz/StShared/StImageFile.cpp Changed
29
 
1
@@ -15,6 +15,8 @@
2
 #include <StFile/StFileNode.h>
3
 #include <StFile/StMIME.h>
4
 
5
+#include <StStrings/StLogger.h>
6
+
7
 StImageFile::StImageFile()
8
 : mySrcFormat(StFormat_AUTO) {
9
     //
10
@@ -177,3 +179,18 @@
11
     }
12
     return StHandle<StImageFile>();
13
 }
14
+
15
+StImageFileCounter::~StImageFileCounter() {}
16
+
17
+void StImageFileCounter::createReference(StHandle<StBufferCounter>& theOther) const {
18
+    StHandle<StImageFileCounter> anImgFileRef = StHandle<StImageFileCounter>::downcast(theOther);
19
+    if(anImgFileRef.isNull()) {
20
+        anImgFileRef = new StImageFileCounter();
21
+        theOther = anImgFileRef;
22
+    }
23
+    anImgFileRef->myImageFile = myImageFile;
24
+}
25
+
26
+void StImageFileCounter::releaseReference() {
27
+    myImageFile.nullify();
28
+}
29
sview-15_10.tar.gz/StShared/StImagePlane.cpp -> sview-15_11.tar.gz/StShared/StImagePlane.cpp Changed
96
 
1
@@ -1,5 +1,5 @@
2
 /**
3
- * Copyright © 2010-2013 Kirill Gavrilov <kirill@sview.ru>
4
+ * Copyright © 2010-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
  * See accompanying file license-boost.txt or copy at
8
@@ -16,8 +16,10 @@
9
         case ImgBGR:     return "ImgBGR";
10
         case ImgRGB32:   return "ImgRGB32";
11
         case ImgBGR32:   return "ImgBGR32";
12
+        case ImgRGB48:   return "ImgRGB48";
13
         case ImgRGBA:    return "ImgRGBA";
14
         case ImgBGRA:    return "ImgBGRA";
15
+        case ImgRGBA64:  return "ImgRGBA64";
16
         case ImgGrayF:   return "ImgGrayF";
17
         case ImgRGBF:    return "ImgRGBF";
18
         case ImgBGRF:    return "ImgBGRF";
19
@@ -63,10 +65,16 @@
20
         case ImgBGRA:
21
             mySizeBPP = 4;
22
             break;
23
+        case ImgRGBA64:
24
+            mySizeBPP = 8;
25
+            break;
26
         case ImgRGB32:
27
         case ImgBGR32:
28
             mySizeBPP = 4;
29
             break;
30
+        case ImgRGB48:
31
+            mySizeBPP = 6;
32
+            break;
33
         case ImgRGB:
34
         case ImgBGR:
35
             mySizeBPP = 3;
36
@@ -129,17 +137,31 @@
37
     return true;
38
 }
39
 
40
-bool StImagePlane::initCopy(const StImagePlane& theCopy) {
41
-    if(initTrash(theCopy.getFormat(), theCopy.getSizeX(), theCopy.getSizeY(), theCopy.getSizeRowBytes())) {
42
+bool StImagePlane::initCopy(const StImagePlane& theCopy,
43
+                            const bool          theIsCompact) {
44
+    if(!initTrash(theCopy.myImgFormat, theCopy.mySizeX, theCopy.mySizeY, theIsCompact ? 0 : theCopy.mySizeRowBytes)) {
45
+        return false;
46
+    }
47
+
48
+    if(mySizeRowBytes == theCopy.mySizeRowBytes) {
49
         stMemCpy(changeData(), theCopy.getData(), theCopy.getSizeBytes());
50
         return true;
51
     }
52
-    return false;
53
+
54
+    const size_t aCopyRowBytes = stMin(mySizeRowBytes, theCopy.mySizeRowBytes);
55
+    for(size_t aRow = 0; aRow < mySizeY; ++aRow) {
56
+        stMemCpy(changeData(aRow, 0), theCopy.getData(aRow, 0), aCopyRowBytes);
57
+    }
58
+    return true;
59
 }
60
 
61
 bool StImagePlane::initWrapper(const StImagePlane& theCopy) {
62
-    return initWrapper(theCopy.getFormat(), theCopy.myDataPtr,
63
-                       theCopy.getSizeX(), theCopy.getSizeY(), theCopy.getSizeRowBytes());
64
+    if(!initWrapper(theCopy.myImgFormat, theCopy.myDataPtr,
65
+                    theCopy.mySizeX, theCopy.mySizeY, theCopy.mySizeRowBytes)) {
66
+        return false;
67
+    }
68
+    myIsTopBottom = theCopy.myIsTopBottom;
69
+    return true;
70
 }
71
 
72
 bool StImagePlane::initSideBySide(const StImagePlane& theImageL,
73
@@ -186,16 +208,19 @@
74
     return true;
75
 }
76
 
77
-bool StImagePlane::fill(const StImagePlane& theCopy) {
78
+bool StImagePlane::fill(const StImagePlane& theCopy,
79
+                        const bool          theIsCompact) {
80
     if(getSizeY()        != theCopy.getSizeY()
81
     || getSizeRowBytes() != theCopy.getSizeRowBytes()
82
     || getFormat()       != theCopy.getFormat()) {
83
-        return initCopy(theCopy);
84
+        return initCopy(theCopy, theIsCompact);
85
     }
86
+
87
+    const size_t aCopyRowBytes = stMin(mySizeRowBytes, theCopy.mySizeRowBytes);
88
     for(size_t row = 0; row < theCopy.getSizeY(); ++row) {
89
         stMemCpy(changeData(row, 0),
90
                  theCopy.getData(row, 0),
91
-                 theCopy.getSizeRowBytes());
92
+                 aCopyRowBytes);
93
     }
94
     return true;
95
 }
96
sview-15_10.tar.gz/StShared/StPlayList.cpp -> sview-15_11.tar.gz/StShared/StPlayList.cpp Changed
30
 
1
@@ -1,5 +1,5 @@
2
 /**
3
- * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
4
+ * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
  * See accompanying file license-boost.txt or copy at
8
@@ -260,6 +260,21 @@
9
     return (myCurrent != NULL) ? myCurrent->getPosition() : 0;
10
 }
11
 
12
+StPlayList::CurrentPosition StPlayList::getCurrentPosition() const {
13
+    StMutexAuto anAutoLock(myMutex);
14
+    if(myCurrent == NULL) {
15
+        return CurrentPosition_NONE;
16
+    } else if(myCurrent == myFirst) {
17
+        if(myCurrent == myLast) {
18
+            return CurrentPosition_Single;
19
+        }
20
+        return CurrentPosition_First;
21
+    } else if(myCurrent == myLast) {
22
+        return CurrentPosition_Last;
23
+    }
24
+    return CurrentPosition_Middle;
25
+}
26
+
27
 StString StPlayList::getCurrentTitle() const {
28
     StMutexAuto anAutoLock(myMutex);
29
     return (myCurrent != NULL) ? myCurrent->getTitle() : StString();
30
sview-15_10.tar.gz/StShared/StShared.cbp -> sview-15_11.tar.gz/StShared/StShared.cbp Changed
96
 
1
@@ -6,38 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/StShared" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME)" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="1" />
7
-               <Option working_dir="../bin/$(TARGET_NAME)" />
8
-               <Option object_output="obj/$(TARGET_NAME)/" />
9
-               <Option type="3" />
10
-               <Option compiler="gcc" />
11
-               <Option createStaticLib="1" />
12
-               <Compiler>
13
-                   <Add option="-O3" />
14
-                   <Add option="-std=c++0x" />
15
-                   <Add option="-Wall" />
16
-                   <Add option="-g" />
17
-                   <Add option="-mmmx" />
18
-                   <Add option="-msse" />
19
-                   <Add option="-DUNICODE" />
20
-                   <Add option="-DST_DEBUG" />
21
-                   <Add option="-DST_SHARED_DLL" />
22
-                   <Add option="-D__MSVCRT_VERSION__=0x0601" />
23
-                   <Add option="-DST_HAVE_STCONFIG" />
24
-               </Compiler>
25
-               <Linker>
26
-                   <Add library="opengl32" />
27
-                   <Add library="user32" />
28
-                   <Add library="gdi32" />
29
-                   <Add library="Advapi32" />
30
-                   <Add library="Comdlg32" />
31
-                   <Add library="Shell32" />
32
-                   <Add library="Ole32.lib" />
33
-                   <Add library="Version" />
34
-                   <Add library="Wsock32" />
35
-               </Linker>
36
-           </Target>
37
            <Target title="WIN_vc_x86">
38
                <Option output="../bin/$(TARGET_NAME)/StShared" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="1" extension_auto="1" />
39
                <Option working_dir="../bin/$(TARGET_NAME)" />
40
@@ -68,12 +36,12 @@
41
                    <Add library="Wsock32" />
42
                </Linker>
43
            </Target>
44
-           <Target title="WIN_vc_x86_DEBUG">
45
+           <Target title="WIN_vc_AMD64_DEBUG">
46
                <Option output="../bin/$(TARGET_NAME)/StShared" imp_lib="../lib/$(TARGET_NAME)/$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="1" extension_auto="1" />
47
                <Option working_dir="../bin/$(TARGET_NAME)" />
48
                <Option object_output="obj/$(TARGET_NAME)/" />
49
                <Option type="3" />
50
-               <Option compiler="msvc10" />
51
+               <Option compiler="windows_sdk_x86_64" />
52
                <Option createStaticLib="1" />
53
                <Compiler>
54
                    <Add option="/MDd" />
55
@@ -296,9 +264,8 @@
56
        <Unit filename="StFTLibrary.cpp" />
57
        <Unit filename="StFileNode.cpp" />
58
        <Unit filename="StFileNode2.cpp">
59
-           <Option target="WIN_gcc_x86" />
60
            <Option target="WIN_vc_x86" />
61
-           <Option target="WIN_vc_x86_DEBUG" />
62
+           <Option target="WIN_vc_AMD64_DEBUG" />
63
            <Option target="WIN_vc_AMD64" />
64
            <Option target="LINUX_gcc" />
65
            <Option target="LINUX_gcc_DEBUG" />
66
@@ -362,9 +329,8 @@
67
        <Unit filename="StProcess2.cpp" />
68
        <Unit filename="StRawFile.cpp" />
69
        <Unit filename="StRegisterImpl.cpp">
70
-           <Option target="WIN_gcc_x86" />
71
            <Option target="WIN_vc_x86" />
72
-           <Option target="WIN_vc_x86_DEBUG" />
73
+           <Option target="WIN_vc_AMD64_DEBUG" />
74
            <Option target="WIN_vc_AMD64" />
75
        </Unit>
76
        <Unit filename="StResourceManager.cpp" />
77
@@ -389,6 +355,7 @@
78
        <Unit filename="stAV.cpp" />
79
        <Unit filename="stConsole.cpp" />
80
        <Unit filename="stUtfTools.cpp" />
81
+       <Unit filename="../include/StAV/StAVBufferPool.h" />
82
        <Unit filename="../include/StAV/StAVFrame.h" />
83
        <Unit filename="../include/StAV/StAVImage.h" />
84
        <Unit filename="../include/StAV/StAVPacket.h" />
85
@@ -545,9 +512,8 @@
86
        <Unit filename="../include/stconfig.conf" />
87
        <Unit filename="StShared.rc">
88
            <Option compilerVar="WINDRES" />
89
-           <Option target="WIN_gcc_x86" />
90
            <Option target="WIN_vc_x86" />
91
-           <Option target="WIN_vc_x86_DEBUG" />
92
+           <Option target="WIN_vc_AMD64_DEBUG" />
93
            <Option target="WIN_vc_AMD64" />
94
        </Unit>
95
        <Extensions>
96
sview-15_10.tar.gz/StShared/stAV.cpp -> sview-15_11.tar.gz/StShared/stAV.cpp Changed
47
 
1
@@ -108,6 +108,7 @@
2
 const PixelFormat stAV::PIX_FMT::YUV410P    = ST_AV_GETPIXFMT("yuv410p");
3
 const PixelFormat stAV::PIX_FMT::YUV411P    = ST_AV_GETPIXFMT("yuv411p");
4
 const PixelFormat stAV::PIX_FMT::YUV440P    = ST_AV_GETPIXFMT("yuv440p");
5
+const PixelFormat stAV::PIX_FMT::NV12       = ST_AV_GETPIXFMT("nv12");
6
 const PixelFormat stAV::PIX_FMT::YUV420P9   = ST_AV_GETPIXFMT("yuv420p9");
7
 const PixelFormat stAV::PIX_FMT::YUV422P9   = ST_AV_GETPIXFMT("yuv422p9");
8
 const PixelFormat stAV::PIX_FMT::YUV444P9   = ST_AV_GETPIXFMT("yuv444p9");
9
@@ -123,6 +124,11 @@
10
 const PixelFormat stAV::PIX_FMT::YUVJ440P   = ST_AV_GETPIXFMT("yuvj440p");
11
 const PixelFormat stAV::PIX_FMT::RGB24      = ST_AV_GETPIXFMT("rgb24");
12
 const PixelFormat stAV::PIX_FMT::BGR24      = ST_AV_GETPIXFMT("bgr24");
13
+const PixelFormat stAV::PIX_FMT::RGB48      = ST_AV_GETPIXFMT("rgb48");
14
+const PixelFormat stAV::PIX_FMT::BGR48      = ST_AV_GETPIXFMT("bgr48");
15
+const PixelFormat stAV::PIX_FMT::RGBA64     = ST_AV_GETPIXFMT("rgba64");
16
+const PixelFormat stAV::PIX_FMT::BGRA64     = ST_AV_GETPIXFMT("bgra64");
17
+const PixelFormat stAV::PIX_FMT::DXVA2_VLD  = ST_AV_GETPIXFMT("dxva2_vld");
18
 
19
 // TODO (Kirill Gavrilov#9) remove this stuff
20
 namespace {
21
@@ -189,6 +195,8 @@
22
         return stCString("rgb24");
23
     } else if(theFrmt == stAV::PIX_FMT::BGR24) {
24
         return stCString("bgr24");
25
+    } else if(theFrmt == stAV::PIX_FMT::NV12) {
26
+        return stCString("nv12");
27
     } else {
28
         return stCString("unknown");
29
     }
30
@@ -512,13 +520,11 @@
31
     return true;
32
 }
33
 
34
-bool stAV::meta::readTag(AVFrame*         theFrame,
35
-                         const StCString& theKey,
36
-                         StString&        theValue) {
37
+stAV::meta::Dict* stAV::meta::getFrameMetadata(AVFrame* theFrame) {
38
 #if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 38, 100)) && !defined(ST_LIBAV_FORK)
39
-    return readTag(av_frame_get_metadata(theFrame), theKey, theValue);
40
+    return av_frame_get_metadata(theFrame);
41
 #else
42
-    return false;
43
+    return NULL;
44
 #endif
45
 }
46
 
47
sview-15_10.tar.gz/StTests/StTestGlBand.cpp -> sview-15_11.tar.gz/StTests/StTestGlBand.cpp Changed
10
 
1
@@ -119,7 +119,7 @@
2
     st::cout << stostream_text("RGB Frame to Frame ") << theFrameSizeX << stostream_text(" x ") << theFrameSizeY << stostream_text(" (RAM)\n");
3
     myTimer.restart();
4
     for(size_t anIter = 0; anIter < TEST_ITERATIONS; ++anIter) {
5
-        if(!anImgPlaneDst.fill(anImgPlaneSrc)) {
6
+        if(!anImgPlaneDst.fill(anImgPlaneSrc, false)) {
7
             st::cout << stostream_text("Fail to fill the image plane...\n");
8
             return;
9
         }
10
sview-15_10.tar.gz/StTests/StTests.cbp -> sview-15_11.tar.gz/StTests/StTests.cbp Changed
61
 
1
@@ -6,33 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/StTests" prefix_auto="1" extension_auto="1" />
7
-               <Option working_dir="../bin/$(TARGET_NAME)/" />
8
-               <Option object_output="obj/$(TARGET_NAME)/" />
9
-               <Option type="1" />
10
-               <Option compiler="gcc" />
11
-               <Option parameters="demo.jps" />
12
-               <Compiler>
13
-                   <Add option="-O3" />
14
-                   <Add option="-std=c++0x" />
15
-                   <Add option="-Wall" />
16
-                   <Add option="-g" />
17
-                   <Add option="-mmmx" />
18
-                   <Add option="-msse" />
19
-                   <Add option="-DUNICODE" />
20
-                   <Add option="-DST_DEBUG" />
21
-                   <Add option="-DST_HAVE_STCONFIG" />
22
-               </Compiler>
23
-               <Linker>
24
-                   <Add library="opengl32" />
25
-                   <Add library="gdi32" />
26
-                   <Add library="user32" />
27
-                   <Add library="kernel32" />
28
-                   <Add library="Comdlg32" />
29
-                   <Add library="Version" />
30
-               </Linker>
31
-           </Target>
32
            <Target title="WIN_vc_x86">
33
                <Option output="../bin/$(TARGET_NAME)/StTests" prefix_auto="1" extension_auto="1" />
34
                <Option working_dir="../bin/$(TARGET_NAME)/" />
35
@@ -65,12 +38,12 @@
36
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /manifest &quot;..\dpiAware.manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;1' />
37
                </ExtraCommands>
38
            </Target>
39
-           <Target title="WIN_vc_x86_DEBUG">
40
+           <Target title="WIN_vc_AMD64_DEBUG">
41
                <Option output="../bin/$(TARGET_NAME)/StTests" prefix_auto="1" extension_auto="1" />
42
                <Option working_dir="../bin/$(TARGET_NAME)/" />
43
                <Option object_output="obj/$(TARGET_NAME)/" />
44
                <Option type="1" />
45
-               <Option compiler="msvc10" />
46
+               <Option compiler="windows_sdk_x86_64" />
47
                <Option parameters="demo.jps" />
48
                <Compiler>
49
                    <Add option="/MDd" />
50
@@ -271,9 +244,8 @@
51
            <Option target="MAC_gcc_DEBUG" />
52
        </Unit>
53
        <Unit filename="main.cpp">
54
-           <Option target="WIN_gcc_x86" />
55
            <Option target="WIN_vc_x86" />
56
-           <Option target="WIN_vc_x86_DEBUG" />
57
+           <Option target="WIN_vc_AMD64_DEBUG" />
58
            <Option target="WIN_vc_AMD64" />
59
            <Option target="LINUX_gcc" />
60
            <Option target="LINUX_gcc_DEBUG" />
61
sview-15_10.tar.gz/distribution/build.iss -> sview-15_11.tar.gz/distribution/build.iss Changed
9
 
1
@@ -166,7 +166,6 @@
2
 Source: {#SVIEW_DISTR_PATH_AMD64}\StCore.dll;     DestDir: {app}\amd64;  Flags: 64bit ignoreversion; Components: StCore; Check: IsWin64
3
 Source: {#SVIEW_DISTR_PATH_x86}\StDiagnostics.dll;   DestDir: {app};       Flags: 32bit ignoreversion; Components: StCore
4
 Source: {#SVIEW_DISTR_PATH_AMD64}\StDiagnostics.dll; DestDir: {app}\amd64; Flags: 64bit ignoreversion; Components: StCore; Check: IsWin64
5
-Source: {#SVIEW_DISTR_PATH_x86}\shaders\StGLWidgets\*;         DestDir: {app}\shaders\StGLWidgets;       Flags: 32bit ignoreversion; Components: StCore
6
 Source: {#SVIEW_DISTR_PATH_x86}\lang\Korean\language.lng;      DestDir: {app}\lang\Korean;               Flags: 32bit ignoreversion; Components: StCore
7
 Source: {#SVIEW_DISTR_PATH_x86}\lang\ChineseS\language.lng;    DestDir: {app}\lang\ChineseS;             Flags: 32bit ignoreversion; Components: StCore
8
 Source: {#SVIEW_DISTR_PATH_x86}\lang\Czech\language.lng;       DestDir: {app}\lang\Czech;                Flags: 32bit ignoreversion; Components: StCore
9
sview-15_10.tar.gz/distribution/buildDebSrc.sh -> sview-15_11.tar.gz/distribution/buildDebSrc.sh Changed
14
 
1
@@ -41,8 +41,10 @@
2
 cp -f -r ../sview          $aDebSrcRoot/
3
 cp -f -r ../textures       $aDebSrcRoot/
4
 cp -f    ../Makefile       $aDebSrcRoot/
5
-cp -f    ../README         $aDebSrcRoot/
6
-cp -f    ../LICENSE        $aDebSrcRoot/
7
+cp -f    ../README.md      $aDebSrcRoot/
8
+cp -f    ../README.md      $aDebSrcRoot/README
9
+cp -f    ../LICENSE.md     $aDebSrcRoot/
10
+cp -f    ../LICENSE.md     $aDebSrcRoot/LICENSE
11
 cp -f    ../license*.txt   $aDebSrcRoot/
12
 
13
 mkdir -p $aDebSrcRoot/3rdparty/include
14
sview-15_10.tar.gz/distribution/buildDebSrc_ppa.sh -> sview-15_11.tar.gz/distribution/buildDebSrc_ppa.sh Changed
11
 
1
@@ -21,8 +21,7 @@
2
 # Ubuntu 14.04 LTS (Trusty Tahr)
3
 # Ubuntu 15.04     (Vivid Vervet)
4
 # Ubuntu 15.10     (Wily Werewolf)
5
-#aDistribs=("trusty" "vivid" "wily")
6
-aDistribs=("trusty" "vivid")
7
+aDistribs=("trusty" "vivid" "wily")
8
 
9
 # Debian
10
 #aDistribs=("stable" "unstable" "testing-proposed-updates" "experimental")
11
sview-15_10.tar.gz/distribution/media/sView_SetupMac.png -> sview-15_11.tar.gz/distribution/media/sView_SetupMac.png Changed
sview-15_11.tar.gz/docs/INSTALL.md Added
115
 
1
@@ -0,0 +1,113 @@
2
+## I. Installing 3rd-parties
3
+
4
+sView requires several 3rd-party components for building:
5
+* C/C++ compiler (g++, MSVC 2010+)
6
+* Code::Blocks (http://www.codeblocks.org)
7
+* FFmpeg (http://www.ffmpeg.org)
8
+* OpenAL soft (http://kcat.strangesoft.net/openal.html)
9
+* libwebp, optional (https://developers.google.com/speed/webp/download)
10
+* GTK2+, Linux only (http://www.gtk.org)
11
+* libconfig++, Linux and Android (http://www.hyperrealm.com/libconfig)
12
+* libxpm, Linux only
13
+
14
+On Debian/Ubuntu you might use the following command to install all dependencies at once:
15
+
16
+~~~~~
17
+sudo apt-get install \
18
+ g++ \
19
+ libgtk2.0-dev \
20
+ libopenal-dev \
21
+ libgl1-mesa-dev \
22
+ libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev libswscale-dev \
23
+ libwebp-dev \
24
+ libconfig++-dev libconfig-dev \
25
+ libxpm-dev \
26
+ codeblocks
27
+~~~~~
28
+ 
29
+The similar command for RPM-based distributives:
30
+
31
+~~~~~
32
+yum install gcc gcc-c++ \
33
+ gtk+-devel gtk2-devel \
34
+ mesa-libGLU-devel glew-devel \
35
+ openal-devel \
36
+ libconfig-devel
37
+
38
+rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
39
+yum install ffmpeg-devel
40
+~~~~~
41
+
42
+On Windows and Mac OS X please refer to official documentation for each project.
43
+Notice that DevIL and FreeImage libraries are optional and need not for building sView
44
+(libraries are loaded dynamically if available).
45
+
46
+## II. Makefile on Linux
47
+
48
+Current Makefile has been written only for DEB/RPM source packages
49
+and lacks configuration flexibility (means there NO any ./configure and so on).
50
+
51
+All you need is to install dependencies and to execute traditional commands:
52
+
53
+~~~~~
54
+  make && make install
55
+~~~~~
56
+
57
+## III. Code::Blocks
58
+
59
+Code::Blocks is an official way for building and development of sView.
60
+There are several building targets depending on platform
61
+(Mac OS X, Linux, Windows) and debugging possibilities:
62
+* `WIN_vc_x86`,        32-bit target using Visual Studio compiler
63
+* `WIN_vc_AMD64_DEBUG`,64-bit target with debugging options
64
+* `WIN_vc_AMD64`,      64-bit target using Visual Studio compiler
65
+* `LINUX_gcc`,         Linux target, g++ compiler
66
+* `LINUX_gcc_DEBUG`,   Linux target with debugging options
67
+* `MAC_gcc`,           Mac OS X target, g++ compatible compiler
68
+* `MAC_gcc_DEBUG`,     Mac OS X target with debugging options
69
+
70
+Notice that the following compilers should be configured within Code::Blocks:
71
+* `gcc`,               configured to g++ or compatible compiler (on systems other than Windows)
72
+* `msvc10`,            configured to Visual Studio 2010+ compiler, PSDK and DXSDK
73
+* `windows_sdk_x86_64` (copy of msvc10) configured to 64-bit libraries and compiler toolchain
74
+
75
+3rd-parties should be either configured as Code::Blocks global compiler options
76
+or placed into "3rdparty" folder.
77
+
78
+## IV. Building options
79
+
80
+Several preprocessor directives control building options.
81
+Notice that by default "include/stconfig.conf" file is used to override these options
82
+(this file will be used only when ST_HAVE_STCONFIG is defined).
83
+
84
+* `ST_HAVE_WEBP` - should be defined to activate libwebp usage
85
+  (notice that since next releases of FFmpeg might have built-in support for webp/webpll image files)
86
+* `ST_HAVE_MONGOOSE` - should be defined to activate built-in web UI for remote Movie Player control
87
+* `ST_DEBUG` - should be defined to activate debugging log output
88
+* `ST_DEBUG_LOG_TO_FILE` - specifies file name or full path to duplicate debug log output
89
+
90
+## V. Distribution scripts
91
+
92
+Several script were written to automate distribution routines.
93
+All them were placed in "distribution" folder.
94
+
95
+* `build.bat`, batch script for Windows. Performs re-building of **WIN_vc_x86** and **WIN_vc_AMD64** targets
96
+  using Code::Blocks and pack result binaries using InnoSetup script.
97
+  Notice that all dependencies should be available (including InnoSetup),
98
+  and DLLs should be placed into **bin/WIN_vc_x86** and **bin/WIN_vc_AMD64** folders.
99
+* `buildDebSrc.sh`, bash script for Linux to pack sources into Debian source package.
100
+* `buildMac.sh`, bash script to pack binaries from **bin/MAC_gcc** folder into DMG image.
101
+  3rd-party libraries should be already located in "bin/MAC_gcc_DEBUG/sView.app/Contents/Frameworks/"
102
+  folder with correct search path (refer to `bind_frameworks.sh` auxiliary script).
103
+
104
+~~~~~
105
+su
106
+yum install rpm-build
107
+
108
+mkdir -p ${HOME}/workspace/redhat/{RPMS,SRPMS,SPECS,SOURCES,BUILD}
109
+echo "%_topdir ${HOME}/workspace/redhat" > ${HOME}/.rpmmacros
110
+
111
+wget https://launchpad.net/~sview/+archive/stable/+files/sview_12.05-1%7Eprecise.tar.gz
112
+mv sview_12.05-1~precise.tar.gz $HOME/workspace/redhat/SOURCES/sview_12.05-1.tar.gz
113
+rpmbuild -ba distribution/sView.rpm.spec
114
+~~~~~
115
sview-15_11.tar.gz/include/StAV/StAVBufferPool.h Added
106
 
1
@@ -0,0 +1,104 @@
2
+/**
3
+ * Copyright © 2015 Kirill Gavrilov <kirill@sview.ru>
4
+ *
5
+ * Distributed under the Boost Software License, Version 1.0.
6
+ * See accompanying file license-boost.txt or copy at
7
+ * http://www.boost.org/LICENSE_1_0.txt
8
+ */
9
+
10
+#ifndef __StAVBufferPool_h_
11
+#define __StAVBufferPool_h_
12
+
13
+#include <StAV/stAV.h>
14
+
15
+struct AVBufferPool;
16
+struct AVBufferRef;
17
+
18
+/**
19
+ * This is just a wrapper over AVBufferPool structure.
20
+ */
21
+class StAVBufferPool {
22
+
23
+        public:
24
+
25
+    /**
26
+     * Empty constructor
27
+     */
28
+    ST_LOCAL StAVBufferPool()
29
+    : myPool(NULL),
30
+      myBufferSize(0) {
31
+        //
32
+    }
33
+
34
+    /**
35
+     * Destructor
36
+     */
37
+    ST_LOCAL ~StAVBufferPool() {
38
+        release();
39
+    }
40
+
41
+    /**
42
+     * Release the pool (reference-counted buffer will be released when needed).
43
+     */
44
+    ST_LOCAL void release() {
45
+    #if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101))
46
+        if(myPool != NULL) {
47
+            av_buffer_pool_uninit(&myPool);
48
+            myPool       = NULL;
49
+            myBufferSize = 0;
50
+         }
51
+    #endif
52
+    }
53
+
54
+    /**
55
+     * (Re-)initialize the pool.
56
+     */
57
+    ST_LOCAL bool init(const int theBufferSize) {
58
+        if(myBufferSize == theBufferSize) {
59
+            return true;
60
+        }
61
+
62
+        release();
63
+        if(theBufferSize == 0) {
64
+            return true;
65
+        }
66
+
67
+    #if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101))
68
+        myPool       = av_buffer_pool_init(theBufferSize, NULL);
69
+        myBufferSize = theBufferSize;
70
+        return myPool != NULL;
71
+    #else
72
+        return false;
73
+    #endif
74
+    }
75
+
76
+    /**
77
+     * Return buffer size within the pool.
78
+     */
79
+    int getBufferSize() const {
80
+        return myBufferSize;
81
+    }
82
+
83
+    /**
84
+     * Get new buffer from the pool.
85
+     */
86
+    ST_LOCAL AVBufferRef* getBuffer() {
87
+    #if(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101))
88
+        return av_buffer_pool_get(myPool);
89
+    #else
90
+        return NULL;
91
+    #endif
92
+    }
93
+
94
+        private:
95
+
96
+    StAVBufferPool(const StAVBufferPool& theCopy);
97
+
98
+        private:
99
+
100
+    AVBufferPool* myPool;
101
+    int           myBufferSize;
102
+
103
+};
104
+
105
+#endif // __StAVBufferPool_h_
106
sview-15_10.tar.gz/include/StAV/StAVFrame.h -> sview-15_11.tar.gz/include/StAV/StAVFrame.h Changed
20
 
1
@@ -1,5 +1,5 @@
2
 /**
3
- * Copyright © 2013 Kirill Gavrilov <kirill@sview.ru>
4
+ * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
  * See accompanying file license-boost.txt or copy at
8
@@ -29,6 +29,11 @@
9
     ST_CPPEXPORT ~StAVFrame();
10
 
11
     /**
12
+     * Return true if frame does not contain any data.
13
+     */
14
+    ST_LOCAL bool isEmpty() const { return Frame->format == -1; } // AV_PIX_FMT_NONE
15
+
16
+    /**
17
      * Reset frame to default state (empty).
18
      */
19
     ST_CPPEXPORT void reset();
20
sview-15_10.tar.gz/include/StAV/StAVImage.h -> sview-15_11.tar.gz/include/StAV/StAVImage.h Changed
91
 
1
@@ -1,5 +1,5 @@
2
 /**
3
- * Copyright © 2011-2014 Kirill Gavrilov <kirill@sview.ru>
4
+ * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
  * See accompanying file license-boost.txt or copy at
8
@@ -10,17 +10,20 @@
9
 #define __StAVImage_h_
10
 
11
 #include <StImage/StImageFile.h>
12
+#include <StAV/StAVFrame.h>
13
 
14
 struct AVInputFormat;
15
 struct AVFormatContext;
16
 struct AVCodecContext;
17
 struct AVCodec;
18
-struct AVFrame;
19
 
20
 // define StHandle template specialization
21
 class StAVImage;
22
 ST_DEFINE_HANDLE(StAVImage, StImageFile);
23
 
24
+class StAVFrameCounter;
25
+ST_DEFINE_HANDLE(StAVFrameCounter, StBufferCounter);
26
+
27
 /**
28
  * This class implements image load/save operation using libav* libraries.
29
  */
30
@@ -78,13 +81,59 @@
31
 
32
     ST_LOCAL static int getAVPixelFormat(const StImage& theImage);
33
 
34
+    /**
35
+     * Close currently opened image context and release memory.
36
+     */
37
+    ST_LOCAL void closeAvCtx();
38
+
39
         private:
40
 
41
     AVInputFormat*   myImageFormat; //!< image format
42
     AVFormatContext* myFormatCtx;   //!< file context
43
     AVCodecContext*  myCodecCtx;    //!< codec context
44
     AVCodec*         myCodec;       //!< codec
45
-    AVFrame*         myFrame;
46
+    StAVFrame        myFrame;
47
+
48
+};
49
+
50
+/**
51
+ * Pass reference-counted AVFrame (e.g. AVBuffer) into StImage without data copying.
52
+ */
53
+class StAVFrameCounter : public StBufferCounter {
54
+
55
+        public:
56
+
57
+    /**
58
+     * Default constructor.
59
+     */
60
+    ST_CPPEXPORT StAVFrameCounter();
61
+
62
+    /**
63
+     * Create the new reference (e.g. increment counter).
64
+     * If theOther has the same type, than the ref counter will be reused.
65
+     * Otherwise then new counter will be allocated.
66
+     */
67
+    ST_CPPEXPORT virtual void createReference(StHandle<StBufferCounter>& theOther) const;
68
+
69
+    /**
70
+     * Release current reference.
71
+     */
72
+    ST_CPPEXPORT virtual void releaseReference();
73
+
74
+    /**
75
+     * Release reference counter.
76
+     */
77
+    ST_CPPEXPORT virtual ~StAVFrameCounter();
78
+
79
+    /**
80
+     * Initialize a proxy reference.
81
+     */
82
+    ST_CPPEXPORT void moveReferenceFrom(AVFrame* theFrame);
83
+
84
+        private:
85
+
86
+    AVFrame* myFrame;   //!< frame
87
+    bool     myIsProxy; //!< proxy reference to be moved, not copied
88
 
89
 };
90
 
91
sview-15_10.tar.gz/include/StAV/stAV.h -> sview-15_11.tar.gz/include/StAV/stAV.h Changed
137
 
1
@@ -206,6 +206,7 @@
2
         ST_SHARED_CPPEXPORT PixelFormat YUV410P;   //!< planar YUV 4:1:0,  9bpp, (1 Cr & Cb sample per 4x4 Y samples)
3
         ST_SHARED_CPPEXPORT PixelFormat YUV411P;   //!< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
4
         ST_SHARED_CPPEXPORT PixelFormat YUV440P;   //!< planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
5
+        ST_SHARED_CPPEXPORT PixelFormat NV12;      //!< YUV420, Y plane + interleaved UV plane oh half width and height
6
         // wide planar YUV formats (9,10,14,16 bits stored in 16 bits)
7
         ST_SHARED_CPPEXPORT PixelFormat YUV420P9;
8
         ST_SHARED_CPPEXPORT PixelFormat YUV422P9;
9
@@ -225,8 +226,14 @@
10
         // RGB formats
11
         ST_SHARED_CPPEXPORT PixelFormat RGB24;     //!< packed RGB 8:8:8, 24bpp, RGBRGB...
12
         ST_SHARED_CPPEXPORT PixelFormat BGR24;     //!< packed RGB 8:8:8, 24bpp, BGRBGR...
13
+        ST_SHARED_CPPEXPORT PixelFormat RGB48;
14
+        ST_SHARED_CPPEXPORT PixelFormat BGR48;
15
         ST_SHARED_CPPEXPORT PixelFormat RGBA32;
16
         ST_SHARED_CPPEXPORT PixelFormat BGRA32;
17
+        ST_SHARED_CPPEXPORT PixelFormat RGBA64;
18
+        ST_SHARED_CPPEXPORT PixelFormat BGRA64;
19
+        // HWAccel formats
20
+        ST_SHARED_CPPEXPORT PixelFormat DXVA2_VLD;
21
 
22
         ST_CPPEXPORT StCString getString(const PixelFormat theFrmt);
23
     }
24
@@ -282,6 +289,21 @@
25
 #endif
26
 
27
     /**
28
+     * Check is stream represents attached picture (e.g. NOT a video stream).
29
+     */
30
+    inline bool isAttachedPicture(const AVStream* theStream) {
31
+        if(theStream == NULL) {
32
+            return false;
33
+        }
34
+
35
+    #if(LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(54, 2, 100))
36
+        return (theStream->disposition & AV_DISPOSITION_ATTACHED_PIC) != 0;
37
+    #else
38
+        return false;
39
+    #endif
40
+    }
41
+
42
+    /**
43
      * Audio functions
44
      */
45
     namespace audio {
46
@@ -342,7 +364,12 @@
47
     #endif
48
 
49
         /**
50
-         * Alias to av_dict_get.
51
+         * Alias for av_frame_get_metadata().
52
+         */
53
+        ST_CPPEXPORT Dict* getFrameMetadata(AVFrame* theFrame);
54
+
55
+        /**
56
+         * Alias for av_dict_get().
57
          */
58
         ST_CPPEXPORT Tag* findTag(Dict*       theDict,
59
                                   const char* theKey,
60
@@ -360,21 +387,32 @@
61
                                   const StCString& theKey,
62
                                   StString&        theValue);
63
 
64
+        /**
65
+         * Read tag from Format Context metadata.
66
+         */
67
         inline bool readTag(AVFormatContext* theFormatCtx,
68
                             const StCString& theKey,
69
                             StString&        theValue) {
70
             return readTag(theFormatCtx->metadata, theKey, theValue);
71
         }
72
 
73
+        /**
74
+         * Read tag from Stream metadata.
75
+         */
76
         inline bool readTag(AVStream*        theStream,
77
                             const StCString& theKey,
78
                             StString&        theValue) {
79
             return readTag(theStream->metadata, theKey, theValue);
80
         }
81
 
82
-        ST_CPPEXPORT bool readTag(AVFrame*         theFrame,
83
-                                  const StCString& theKey,
84
-                                  StString&        theValue);
85
+        /**
86
+         * Read tag from Frame metadata.
87
+         */
88
+        inline bool readTag(AVFrame*         theFrame,
89
+                            const StCString& theKey,
90
+                            StString&        theValue) {
91
+            return readTag(getFrameMetadata(theFrame), theKey, theValue);
92
+        }
93
 
94
     }
95
 
96
@@ -399,19 +437,32 @@
97
     /**
98
      * Convert stereo3d enumeration from sView to FFmpeg definition.
99
      */
100
-    ST_LOCAL inline AVStereo3DType stereo3dStToAv(const StFormat theType) {
101
+    ST_LOCAL inline AVStereo3DType stereo3dStToAv(const StFormat theType,
102
+                                                  bool&          theIsReversed) {
103
+        theIsReversed = false;
104
         switch(theType) {
105
             default:
106
-            case StFormat_AUTO:               return (AVStereo3DType )-1;
107
-            case StFormat_Mono:               return AV_STEREO3D_2D;
108
+            case StFormat_AUTO:
109
+                return (AVStereo3DType )-1;
110
+            case StFormat_Mono:
111
+                return AV_STEREO3D_2D;
112
+            case StFormat_SideBySide_RL:
113
+                theIsReversed = true;
114
+                return AV_STEREO3D_SIDEBYSIDE;
115
             case StFormat_SideBySide_LR:
116
-            case StFormat_SideBySide_RL:      return AV_STEREO3D_SIDEBYSIDE;
117
+                return AV_STEREO3D_SIDEBYSIDE;
118
+            case StFormat_TopBottom_RL:
119
+                theIsReversed = true;
120
+                return AV_STEREO3D_TOPBOTTOM;
121
             case StFormat_TopBottom_LR:
122
-            case StFormat_TopBottom_RL:       return AV_STEREO3D_TOPBOTTOM;
123
-            case StFormat_Rows:               return AV_STEREO3D_LINES;
124
-            case StFormat_Columns:            return AV_STEREO3D_COLUMNS;
125
+                return AV_STEREO3D_TOPBOTTOM;
126
+            case StFormat_Rows:
127
+                return AV_STEREO3D_LINES;
128
+            case StFormat_Columns:
129
+                return AV_STEREO3D_COLUMNS;
130
             //case StFormat_SeparateFrames:
131
-            case StFormat_FrameSequence:      return AV_STEREO3D_FRAMESEQUENCE;
132
+            case StFormat_FrameSequence:
133
+                return AV_STEREO3D_FRAMESEQUENCE;
134
             //case StFormat_AnaglyphRedCyan:
135
             //case StFormat_AnaglyphGreenMagenta:
136
             //case StFormat_AnaglyphYellowBlue:
137
sview-15_10.tar.gz/include/StCore/StAndroidGlue.h -> sview-15_11.tar.gz/include/StCore/StAndroidGlue.h Changed
46
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2014-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #if defined(__ANDROID__)
25
@@ -89,6 +80,12 @@
26
      */
27
     static StCString getCommandIdName(StAndroidGlue::CommandId theCmd);
28
 
29
+    /**
30
+     * Retrieve path using android.os.Environment.getExternalStoragePublicDirectory().
31
+     */
32
+    static StString getStoragePath(JNIEnv*     theJEnv,
33
+                                   const char* theType);
34
+
35
         public: //! @name interface to implement
36
 
37
     /**
38
@@ -384,6 +381,7 @@
39
     StAndroidPollSource     myInputPollSource;
40
 
41
     StMutex                 myFetchLock;         //!< fetch data lock
42
+    StString                myStAppClass;        //!< application class name (e.g. image, video)
43
     StString                myDndPath;           //!< intent data string
44
     StString                myCreatePath;        //!< intent data string used to open this activity
45
     StQuaternion<double>    myQuaternion;        //!< device orientation
46
sview-15_10.tar.gz/include/StCore/StApplication.h -> sview-15_11.tar.gz/include/StCore/StApplication.h Changed
55
 
1
@@ -1,19 +1,10 @@
2
 /**
3
- * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
4
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
5
+ * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
6
  *
7
- * StCore library is free software: you can redistribute it and/or modify
8
- * it under the terms of the GNU Lesser General Public License as published by
9
- * the Free Software Foundation, either version 3 of the License, or
10
- * (at your option) any later version.
11
- *
12
- * StCore library is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
- * See the GNU General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU Lesser General Public
18
- * License along with this library.
19
- * If not, see <http://www.gnu.org/licenses/>.
20
+ * Distributed under the Boost Software License, Version 1.0.
21
+ * See accompanying file license-boost.txt or copy at
22
+ * http://www.boost.org/LICENSE_1_0.txt
23
  */
24
 
25
 #ifndef __StApplication_h_
26
@@ -25,6 +16,7 @@
27
 #include <StSlots/StAction.h>
28
 
29
 #include <map>
30
+#include <string>
31
 
32
 class StEventsBuffer;
33
 class StSettings;
34
@@ -135,6 +127,11 @@
35
      */
36
     ST_LOCAL const std::map< int, StHandle<StAction> >& getActions() const { return myActions; }
37
 
38
+    /**
39
+     * Find action ID for specified Action Name.
40
+     */
41
+    ST_CPPEXPORT int getActionIdFromName(const StString& theActionName) const;
42
+
43
         protected:
44
 
45
     /**
46
@@ -275,6 +272,8 @@
47
     StHandle<StOpenInfo>  myOpenFileInfo;          //!< file to open
48
     std::map< int, StHandle<StAction> >
49
                           myActions;               //!< ID -> Action map
50
+    std::map< std::string, int >
51
+                          myActionLookup;          //!< lookup map ActionName -> ActionID
52
     std::map< unsigned int, StHandle<StAction> >
53
                           myKeyActions;            //!< Hot Key -> Action map
54
     StHandle<StEventsBuffer>
55
sview-15_10.tar.gz/include/StCore/StEDIDParser.h -> sview-15_11.tar.gz/include/StCore/StEDIDParser.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2010-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StEDIDParser_h_
25
sview-15_10.tar.gz/include/StCore/StEvent.h -> sview-15_11.tar.gz/include/StCore/StEvent.h Changed
36
 
1
@@ -1,19 +1,10 @@
2
 /**
3
- * Copyright © 2013 Kirill Gavrilov <kirill@sview.ru>
4
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
5
+ * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru>
6
  *
7
- * StCore library is free software: you can redistribute it and/or modify
8
- * it under the terms of the GNU Lesser General Public License as published by
9
- * the Free Software Foundation, either version 3 of the License, or
10
- * (at your option) any later version.
11
- *
12
- * StCore library is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
- * See the GNU General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU Lesser General Public
18
- * License along with this library.
19
- * If not, see <http://www.gnu.org/licenses/>.
20
+ * Distributed under the Boost Software License, Version 1.0.
21
+ * See accompanying file license-boost.txt or copy at
22
+ * http://www.boost.org/LICENSE_1_0.txt
23
  */
24
 
25
 #ifndef __StEvent_h_
26
@@ -118,7 +109,8 @@
27
 
28
     StEventType   Type;   //!< event type
29
     double        Time;   //!< time in seconds when event was registered
30
-    const char*   File;   //!< file path
31
+    const char**  Files;  //!< file paths
32
+    uint32_t      NbFiles;//!< number of files
33
 
34
 };
35
 
36
sview-15_10.tar.gz/include/StCore/StKeysState.h -> sview-15_11.tar.gz/include/StCore/StKeysState.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StKeysState_h_
25
sview-15_10.tar.gz/include/StCore/StMonitor.h -> sview-15_11.tar.gz/include/StCore/StMonitor.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StMonitor_h_
25
sview-15_10.tar.gz/include/StCore/StNativeWin_t.h -> sview-15_11.tar.gz/include/StCore/StNativeWin_t.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StNativeWin_t_h_
25
sview-15_10.tar.gz/include/StCore/StOpenInfo.h -> sview-15_11.tar.gz/include/StCore/StOpenInfo.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2009-2011 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StOpenInfo_h_
25
sview-15_10.tar.gz/include/StCore/StSearchMonitors.h -> sview-15_11.tar.gz/include/StCore/StSearchMonitors.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StSearchMonitors_h_
25
sview-15_10.tar.gz/include/StCore/StVirtualKeys.h -> sview-15_11.tar.gz/include/StCore/StVirtualKeys.h Changed
34
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StVirtualKey_h_
25
@@ -305,7 +296,7 @@
26
     ST_VK_COMMA      = 0xBC,   // 188 = VK_OEM_COMMA   | ',' any country
27
     ST_VK_OEM_MINUS  = 0xBD,   // 189 = VK_OEM_MINUS   | '-' any country
28
     ST_VK_PERIOD     = 0xBE,   // 190 = VK_OEM_PERIOD  | '.' any country
29
-    ///ST_VK_OEM_2       = 0xBF,  // 191 = VK_OEM_2       | '/?' for US
30
+    ST_VK_SLASH      = 0xBF,   // 191 = VK_OEM_2       | '/?' for US
31
     ///ST_VK_OEM_3       = 0xC0,  // 192 = VK_OEM_3       | '`~' for US*
32
 
33
     ST_VK_BRACKETLEFT  = 0xDB, // 219 = VK_OEM_4       | '[{' for US
34
sview-15_10.tar.gz/include/StCore/StWinErrorCodes.h -> sview-15_11.tar.gz/include/StCore/StWinErrorCodes.h Changed
25
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2007-2009 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StWinErrorCodes_h_
25
sview-15_10.tar.gz/include/StCore/StWindow.h -> sview-15_11.tar.gz/include/StCore/StWindow.h Changed
34
 
1
@@ -1,19 +1,10 @@
2
 /**
3
+ * StCore, window system independent C++ toolkit for writing OpenGL applications.
4
  * Copyright © 2007-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
- * StCore library is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Lesser General Public License as published by
8
- * the Free Software Foundation, either version 3 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * StCore library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
- * See the GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library.
18
- * If not, see <http://www.gnu.org/licenses/>.
19
+ * Distributed under the Boost Software License, Version 1.0.
20
+ * See accompanying file license-boost.txt or copy at
21
+ * http://www.boost.org/LICENSE_1_0.txt
22
  */
23
 
24
 #ifndef __StWindow_h_
25
@@ -85,6 +76,8 @@
26
     StWinSlave_splitOff,         //!< do not split the window
27
     StWinSlave_splitHorizontal,  //!< split window horizontally
28
     StWinSlave_splitVertical,    //!< split window vertically
29
+    StWinSlave_splitVertHdmi720, //!< split window vertically (2x 1280x720  + 30 pixels between)
30
+    StWinSlave_splitVertHdmi1080 //!< split window vertically (2x 1920x1080 + 45 pixels between)
31
 };
32
 
33
 /**
34
sview-15_10.tar.gz/include/StGL/StPlayList.h -> sview-15_11.tar.gz/include/StGL/StPlayList.h Changed
50
 
1
@@ -1,5 +1,5 @@
2
 /**
3
- * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
4
+ * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
  * See accompanying file license-boost.txt or copy at
8
@@ -114,6 +114,19 @@
9
         public:
10
 
11
     /**
12
+     * Enumeration identifying position of current item in the playlist.
13
+     */
14
+    enum CurrentPosition {
15
+        CurrentPosition_NONE,   //!< empty list
16
+        CurrentPosition_Single, //!< single item
17
+        CurrentPosition_First,  //!< first     in the list
18
+        CurrentPosition_Last,   //!< last      in the list
19
+        CurrentPosition_Middle, //!< somewhere in the list
20
+    };
21
+
22
+        public:
23
+
24
+    /**
25
      * Main constructor.
26
      */
27
     ST_CPPEXPORT StPlayList(const int  theRecursionDeep,
28
@@ -149,6 +162,12 @@
29
     ST_CPPEXPORT size_t getCurrentId() const;
30
 
31
     /**
32
+     * Return item index for the current position in playlist
33
+     * and flags if it is last or first
34
+     */
35
+    ST_CPPEXPORT StPlayList::CurrentPosition getCurrentPosition() const;
36
+
37
+    /**
38
      * Return title for the current position in playlist.
39
      * Will be empty string if playlist is empty.
40
      */
41
@@ -231,7 +250,7 @@
42
         return myItemsCount;
43
     }
44
 
45
-    inline bool isEmpty() const {
46
+    ST_LOCAL bool isEmpty() const {
47
         StMutexAuto anAutoLock(myMutex);
48
         return myFirst == NULL;
49
     }
50
sview-15_10.tar.gz/include/StGLStereo/StGLTextureData.h -> sview-15_11.tar.gz/include/StGLStereo/StGLTextureData.h Changed
42
 
1
@@ -51,8 +51,13 @@
2
         return myStParams;
3
     }
4
 
5
-    inline void resetStParams() {
6
+    ST_LOCAL void resetStParams() {
7
         myStParams.nullify();
8
+        if(!myDataPair.getBufferCounter().isNull()
9
+        || !myDataL.getBufferCounter().isNull()
10
+        || !myDataR.getBufferCounter().isNull()) {
11
+            reset();
12
+        }
13
     }
14
 
15
     /**
16
@@ -148,9 +153,16 @@
17
 
18
         private:
19
 
20
-
21
     ST_LOCAL bool reAllocate(const size_t theSizeBytes);
22
 
23
+    ST_LOCAL void copyProps(const StImage& theDataL,
24
+                            const StImage& theDataR);
25
+
26
+    /**
27
+     * Validate and setup packed cubemap flag.
28
+     */
29
+    ST_LOCAL void validateCubemap(const StCubemap theCubemap);
30
+
31
     /**
32
      * Fill the texture plane.
33
      */
34
@@ -167,6 +179,7 @@
35
 
36
     GLubyte*                 myDataPtr;       //!< data for left and right views
37
     size_t                   myDataSizeBytes; //!< allocated data size in bytes
38
+    StImage                  myDataPair;
39
     StImage                  myDataL;
40
     StImage                  myDataR;
41
 
42
sview-15_10.tar.gz/include/StGLWidgets/StGLAssignHotKey.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLAssignHotKey.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLButton.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLButton.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLCheckbox.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLCheckbox.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLCheckboxTextured.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLCheckboxTextured.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLCombobox.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLCombobox.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLCorner.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLCorner.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009, 2011 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLDescription.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLDescription.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLFpsLabel.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLFpsLabel.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLImageProgram.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLImageProgram.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2010-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLImageRegion.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLImageRegion.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2010-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLMenu.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLMenu.h Changed
25
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
@@ -49,15 +50,14 @@
8
     ST_CPPEXPORT virtual void stglResize();
9
     ST_CPPEXPORT virtual bool stglInit();
10
     ST_CPPEXPORT virtual void stglDraw(unsigned int theView);
11
+    ST_CPPEXPORT virtual bool doKeyDown(const StKeyEvent& theEvent);
12
     ST_CPPEXPORT virtual bool tryUnClick(const StPointD_t& theCursorZo, const int& theMouseBtn, bool& theIsItemUnclicked);
13
 
14
     inline bool isRootMenu() const {
15
         return myIsRootMenu;
16
     }
17
 
18
-    void setContextual(const bool theValue) {
19
-        myIsContextual = theValue;
20
-    }
21
+    ST_CPPEXPORT void setContextual(const bool theValue);
22
 
23
     inline bool isActive() const {
24
         return myIsActive;
25
sview-15_10.tar.gz/include/StGLWidgets/StGLMenuCheckbox.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLMenuCheckbox.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLMenuItem.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLMenuItem.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLMenuProgram.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLMenuProgram.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLMenuRadioButton.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLMenuRadioButton.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLMessageBox.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLMessageBox.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLMsgStack.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLMsgStack.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLOpenFile.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLOpenFile.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLPlayList.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLPlayList.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLRadioButton.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLRadioButton.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLRadioButtonFloat32.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLRadioButtonFloat32.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLRadioButtonTextured.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLRadioButtonTextured.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLRangeFieldFloat32.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLRangeFieldFloat32.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLRootWidget.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLRootWidget.h Changed
42
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
@@ -18,6 +19,8 @@
8
 template<> inline void StArray<StGLNamedTexture>::sort() {}
9
 typedef StArray<StGLNamedTexture> StGLTextureArray;
10
 class StGLMenuProgram;
11
+class StGLTextProgram;
12
+class StGLTextBorderProgram;
13
 
14
 /**
15
  * Full OpenGL-window widget, must be ROOT for other widgets.
16
@@ -109,6 +112,16 @@
17
     ST_LOCAL StGLMenuProgram& getMenuProgram() { return *myMenuProgram; }
18
 
19
     /**
20
+     * Get shared text program instance.
21
+     */
22
+    ST_LOCAL StGLTextProgram& getTextProgram() { return *myTextProgram; }
23
+
24
+    /**
25
+     * Get shared text border program instance.
26
+     */
27
+    ST_LOCAL StGLTextBorderProgram& getTextBorderProgram() { return *myTextBorderProgram; }
28
+
29
+    /**
30
      * Return color of standard element.
31
      */
32
     ST_LOCAL const StGLVec4& getColorForElement(const StGLRootWidget::Color theElement) const { return myColors[theElement]; }
33
@@ -434,6 +447,8 @@
34
     StHandle<StGLTextureArray> myCheckboxIcon;
35
     StHandle<StGLTextureArray> myRadioIcon;
36
     StHandle<StGLMenuProgram>  myMenuProgram;
37
+    StHandle<StGLTextProgram>  myTextProgram;
38
+    StHandle<StGLTextBorderProgram> myTextBorderProgram;
39
 
40
     bool                      myIsMobile;      //!< flag indicating mobile device
41
     StMarginsI                myMarginsPx;     //!< active area margins in pixels
42
sview-15_10.tar.gz/include/StGLWidgets/StGLScrollArea.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLScrollArea.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2013-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLShare.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLShare.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLSubtitles.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLSubtitles.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2010-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLSwitchTextured.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLSwitchTextured.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2011-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLTable.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLTable.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2014-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLTextArea.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLTextArea.h Changed
29
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
@@ -17,6 +18,9 @@
8
 #include <StGLWidgets/StGLShare.h>
9
 #include <StGLWidgets/StGLWidget.h>
10
 
11
+class StGLTextProgram;
12
+class StGLTextBorderProgram;
13
+
14
 /**
15
  * Class implements basic text rendering widget.
16
  */
17
@@ -233,11 +237,6 @@
18
     StGLVertexBuffer     myBorderIVertBuf;
19
     StGLVertexBuffer     myBorderOVertBuf;
20
 
21
-    class StTextProgram;
22
-    class StBorderProgram;
23
-    StGLShare<StTextProgram>   myTextProgram;
24
-    StGLShare<StBorderProgram> myBorderProgram;
25
-
26
         protected:
27
 
28
     StHandle<StGLFont>   myFont;          //!< used font
29
sview-15_11.tar.gz/include/StGLWidgets/StGLTextBorderProgram.h Added
81
 
1
@@ -0,0 +1,79 @@
2
+/**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
+ * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
+ *
6
+ * Distributed under the Boost Software License, Version 1.0.
7
+ * See accompanying file license-boost.txt or copy at
8
+ * http://www.boost.org/LICENSE_1_0.txt
9
+ */
10
+
11
+#ifndef __StGLTextBorderProgram_h_
12
+#define __StGLTextBorderProgram_h_
13
+
14
+#include <StGL/StGLProgram.h>
15
+#include <StGL/StGLVec.h>
16
+
17
+class StGLMatrix;
18
+
19
+/**
20
+ * GLSL program for rendering border around 2D text.
21
+ */
22
+class StGLTextBorderProgram : public StGLProgram {
23
+
24
+        public:
25
+
26
+    /**
27
+     * Empty constructor.
28
+     */
29
+    ST_CPPEXPORT StGLTextBorderProgram();
30
+
31
+    /**
32
+     * Destructor.
33
+     */
34
+    ST_CPPEXPORT virtual ~StGLTextBorderProgram();
35
+
36
+    /**
37
+     * Return location of vertex attribute defining position.
38
+     */
39
+    ST_LOCAL StGLVarLocation getVVertexLoc() const { return StGLVarLocation(0); }
40
+
41
+    /**
42
+     * Setup projection matrix.
43
+     * @param theCtx     active GL context
44
+     * @param theProjMat projection matrix
45
+     */
46
+    ST_CPPEXPORT void setProjMat(StGLContext&      theCtx,
47
+                                 const StGLMatrix& theProjMat);
48
+
49
+    /**
50
+     * Setup model-view matrix.
51
+     * @param theCtx      active GL context
52
+     * @param theModelMat model-view matrix
53
+     */
54
+    ST_CPPEXPORT void setModelMat(StGLContext&      theCtx,
55
+                                  const StGLMatrix& theModelMat);
56
+
57
+    /**
58
+     * Setup text color.
59
+     * @param theCtx   active GL context
60
+     * @param theColor color
61
+     */
62
+    ST_CPPEXPORT void setColor(StGLContext&    theCtx,
63
+                               const StGLVec4& theColor);
64
+
65
+    /**
66
+     * Initialize program.
67
+     * @param theCtx active GL context
68
+     * @return true if no error
69
+     */
70
+    ST_CPPEXPORT virtual bool init(StGLContext& theCtx);
71
+
72
+        private:
73
+
74
+    StGLVarLocation myUniformProjMat;  //!< location of uniform variable of projection matrix
75
+    StGLVarLocation myUniformModelMat; //!< location of uniform variable of model view matrix
76
+    StGLVarLocation myUniformColor;    //!< location of uniform variable of color value
77
+
78
+};
79
+
80
+#endif // __StGLTextBorderProgram_h_
81
sview-15_11.tar.gz/include/StGLWidgets/StGLTextProgram.h Added
88
 
1
@@ -0,0 +1,86 @@
2
+/**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
+ * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
+ *
6
+ * Distributed under the Boost Software License, Version 1.0.
7
+ * See accompanying file license-boost.txt or copy at
8
+ * http://www.boost.org/LICENSE_1_0.txt
9
+ */
10
+
11
+#ifndef __StGLTextProgram_h_
12
+#define __StGLTextProgram_h_
13
+
14
+#include <StGL/StGLProgram.h>
15
+#include <StGL/StGLVec.h>
16
+
17
+class StGLMatrix;
18
+
19
+/**
20
+ * GLSL program for rendering textured text.
21
+ * Font texture is expected to be in alpha format
22
+ * (either GL_ALPHA8 or GL_R8 when StGLContext::arbTexRG is available).
23
+ */
24
+class StGLTextProgram : public StGLProgram {
25
+
26
+        public:
27
+
28
+    /**
29
+     * Empty constructor.
30
+     */
31
+    ST_CPPEXPORT StGLTextProgram();
32
+
33
+    /**
34
+     * Destructor.
35
+     */
36
+    ST_CPPEXPORT virtual ~StGLTextProgram();
37
+
38
+    /**
39
+     * Return vertex position attribute location.
40
+     */
41
+    ST_LOCAL StGLVarLocation getVVertexLoc()   const { return StGLVarLocation(0); }
42
+
43
+    /**
44
+     * Return vertex texture coordinates attribute location.
45
+     */
46
+    ST_LOCAL StGLVarLocation getVTexCoordLoc() const { return StGLVarLocation(1); }
47
+
48
+    /**
49
+     * Setup projection matrix.
50
+     * @param theCtx     active GL context
51
+     * @param theProjMat projection matrix
52
+     */
53
+    ST_CPPEXPORT void setProjMat(StGLContext&      theCtx,
54
+                                 const StGLMatrix& theProjMat);
55
+
56
+    /**
57
+     * Setup model-view matrix.
58
+     * @param theCtx      active GL context
59
+     * @param theModelMat model-view matrix
60
+     */
61
+    ST_CPPEXPORT void setModelMat(StGLContext&      theCtx,
62
+                                  const StGLMatrix& theModelMat);
63
+
64
+    /**
65
+     * Setup text color.
66
+     * @param theCtx   active GL context
67
+     * @param theColor color
68
+     */
69
+    ST_CPPEXPORT void setColor(StGLContext&    theCtx,
70
+                               const StGLVec4& theColor);
71
+
72
+    /**
73
+     * Initialize program.
74
+     * @param theCtx active GL context
75
+     * @return true if no error
76
+     */
77
+    ST_CPPEXPORT virtual bool init(StGLContext& theCtx);
78
+
79
+        private:
80
+
81
+    StGLVarLocation myUniformProjMat;  //!< location of uniform variable of projection matrix
82
+    StGLVarLocation myUniformModelMat; //!< location of uniform variable of model view matrix
83
+    StGLVarLocation myUniformColor;    //!< location of uniform variable of color value
84
+
85
+};
86
+
87
+#endif // __StGLTextProgram_h_
88
sview-15_10.tar.gz/include/StGLWidgets/StGLTextureButton.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLTextureButton.h Changed
24
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
@@ -43,6 +44,16 @@
8
     ST_CPPEXPORT virtual ~StGLTextureButton();
9
 
10
     /**
11
+     * Return scale factor to be applied to the widget opacity, 1.0 by default.
12
+     */
13
+    ST_LOCAL float getOpacityScale() const { return myOpacityScale; }
14
+
15
+    /**
16
+     * Setup scale factor to be applied to the widget opacity.
17
+     */
18
+    ST_LOCAL void setOpacityScale(const float theValue) { myOpacityScale = theValue; }
19
+
20
+    /**
21
      * Setup color for alpha texture.
22
      */
23
     ST_LOCAL void setColor(const StGLVec4& theColor) {
24
sview-15_10.tar.gz/include/StGLWidgets/StGLWidget.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLWidget.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StGLWidgetList.h -> sview-15_11.tar.gz/include/StGLWidgets/StGLWidgetList.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2009-2013 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StGLWidgets/StSubQueue.h -> sview-15_11.tar.gz/include/StGLWidgets/StSubQueue.h Changed
7
 
1
@@ -1,4 +1,5 @@
2
 /**
3
+ * StGLWidgets, small C++ toolkit for writing GUI using OpenGL.
4
  * Copyright © 2010-2014 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
sview-15_10.tar.gz/include/StImage/StImage.h -> sview-15_11.tar.gz/include/StImage/StImage.h Changed
132
 
1
@@ -1,5 +1,5 @@
2
 /**
3
- * Copyright © 2010-2013 Kirill Gavrilov <kirill@sview.ru>
4
+ * Copyright © 2010-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
  * See accompanying file license-boost.txt or copy at
8
@@ -11,6 +11,40 @@
9
 
10
 #include "StImagePlane.h"
11
 
12
+/**
13
+ * Interface to share arbitrary memory buffer using reference counter.
14
+ */
15
+class StBufferCounter {
16
+
17
+        public:
18
+
19
+    /**
20
+     * Empty constructor.
21
+     */
22
+    StBufferCounter() {}
23
+
24
+    /**
25
+     * Create the new reference (e.g. increment counter).
26
+     * If theOther has the same type, than the ref counter will be reused.
27
+     * Otherwise then new counter will be allocated.
28
+     */
29
+    virtual void createReference(StHandle<StBufferCounter>& theOther) const = 0;
30
+
31
+    /**
32
+     * Release current reference.
33
+     */
34
+    virtual void releaseReference() = 0;
35
+
36
+    /**
37
+     * Destructor.
38
+     */
39
+    virtual ~StBufferCounter() {}
40
+
41
+};
42
+
43
+/**
44
+ * Class defining 2D image consisting from one or more color planes.
45
+ */
46
 class StImage {
47
 
48
         public: //! @name enumerations
49
@@ -49,7 +83,8 @@
50
     /**
51
      * Initialize as copy (data will be copied!).
52
      */
53
-    ST_CPPEXPORT bool initCopy(const StImage& theCopy);
54
+    ST_CPPEXPORT bool initCopy(const StImage& theCopy,
55
+                               const bool     theIsCompact);
56
 
57
     /**
58
      * Initialize as wrapper (data will not be copied).
59
@@ -57,6 +92,17 @@
60
     ST_CPPEXPORT bool initWrapper(const StImage& theCopy);
61
 
62
     /**
63
+     * Initialize as reference to the shared buffer.
64
+     */
65
+    ST_CPPEXPORT bool initReference(const StImage& theCopy);
66
+
67
+    /**
68
+     * Initialize as reference to the shared buffer.
69
+     */
70
+    ST_CPPEXPORT bool initReference(const StImage&                   theCopy,
71
+                                    const StHandle<StBufferCounter>& theRef);
72
+
73
+    /**
74
      * Initialize as wrapper of input data in RGB format
75
      * or tries to convert data to RGB.
76
      */
77
@@ -70,7 +116,8 @@
78
                                      const int theSeparationDx,
79
                                      const int theSeparationDy);
80
 
81
-    ST_CPPEXPORT bool fill(const StImage& theCopy);
82
+    ST_CPPEXPORT bool fill(const StImage& theCopy,
83
+                           const bool     theIsCompact);
84
 
85
     /**
86
      * Advanced initializer for further scaling - creates an image from specified one with:
87
@@ -159,6 +206,13 @@
88
     }
89
 
90
     /**
91
+     * Return true if rows are packed in top-bottom order.
92
+     */
93
+    ST_LOCAL bool isTopDown() const {
94
+        return myPlanes[0].isTopDown();
95
+    }
96
+
97
+    /**
98
      * @return image width in pixels.
99
      */
100
     inline size_t getSizeX() const {
101
@@ -206,8 +260,21 @@
102
      */
103
     ST_CPPEXPORT bool isNull() const;
104
 
105
+    /**
106
+     * Release all color planes and reference counter.
107
+     */
108
     ST_CPPEXPORT void nullify();
109
 
110
+    /**
111
+     * Return reference counter for shared memory buffer.
112
+     */
113
+    ST_LOCAL const StHandle<StBufferCounter>& getBufferCounter() const { return myBufCounter; }
114
+
115
+    /**
116
+     * Dangerous method to assign reference counter for shared memory buffer.
117
+     */
118
+    ST_LOCAL void setBufferCounter(const StHandle<StBufferCounter>& theCounter) { myBufCounter = theCounter; }
119
+
120
         protected:
121
 
122
     ST_LOCAL inline StString getDescription() const {
123
@@ -258,6 +325,8 @@
124
     GLfloat       myPAR;        //!< pixel aspect ratio
125
     ImgColorModel myColorModel; //!< color model (RGB/YUV...)
126
     ImgColorScale myColorScale; //!< color scale (range)
127
+    StHandle<StBufferCounter>
128
+                  myBufCounter; //!< reference counter for shared memory buffer
129
 
130
 };
131
 
132
sview-15_10.tar.gz/include/StImage/StImageFile.h -> sview-15_11.tar.gz/include/StImage/StImageFile.h Changed
110
 
1
@@ -10,6 +10,7 @@
2
 #define __StImageFile_h_
3
 
4
 #include <StTemplates/StHandle.h>
5
+#include <StStrings/StDictionary.h>
6
 #include <StGLStereo/StFormatEnum.h>
7
 
8
 #include "StImage.h"
9
@@ -20,6 +21,12 @@
10
 class StImageFile;
11
 ST_DEFINE_HANDLE(StImageFile, StImage);
12
 
13
+class StImageFileCounter;
14
+ST_DEFINE_HANDLE(StImageFileCounter, StBufferCounter);
15
+
16
+/**
17
+ * Interface extending StImage with load/save capabilities.
18
+ */
19
 class StImageFile : public StImage {
20
 
21
         public:
22
@@ -74,18 +81,32 @@
23
     /**
24
      * @return the error description occured on load/save operations.
25
      */
26
-    inline const StString& getState() const {
27
+    ST_LOCAL const StString& getState() const {
28
         return myStateDescr;
29
     }
30
 
31
-    inline StString& changeState() {
32
+    ST_LOCAL StString& changeState() {
33
         return myStateDescr;
34
     }
35
 
36
-    inline void setState(const StString& theDescr = StString()) {
37
+    ST_LOCAL void setState(const StString& theDescr = StString()) {
38
         myStateDescr = theDescr;
39
     }
40
 
41
+    /**
42
+     * Return metadata associated with image.
43
+     */
44
+    ST_LOCAL const StDictionary& getMetadata() const {
45
+        return myMetadata;
46
+    }
47
+
48
+    /**
49
+     * Assign new metadata.
50
+     */
51
+    ST_LOCAL void setMetadata(const StDictionary& theDict) {
52
+        myMetadata = theDict;
53
+    }
54
+
55
     ST_LOCAL StFormat getFormat() const {
56
         return mySrcFormat;
57
     }
58
@@ -127,8 +148,49 @@
59
 
60
         protected:
61
 
62
-    StString myStateDescr;
63
-    StFormat mySrcFormat;
64
+    StDictionary myMetadata;
65
+    StString     myStateDescr;
66
+    StFormat     mySrcFormat;
67
+
68
+};
69
+
70
+/**
71
+ * Define reference-counted StImageFile buffer for StImage.
72
+ */
73
+class StImageFileCounter : public StBufferCounter {
74
+
75
+        public:
76
+
77
+    /**
78
+     * Empty constructor.
79
+     */
80
+    ST_LOCAL StImageFileCounter() {}
81
+
82
+    /**
83
+     * Main constructor.
84
+     */
85
+    ST_LOCAL StImageFileCounter(const StHandle<StImage>& theImage) : myImageFile(theImage) {}
86
+
87
+    /**
88
+     * Create the new reference (e.g. increment counter).
89
+     * If theOther has the same type, than the ref counter will be reused.
90
+     * Otherwise then new counter will be allocated.
91
+     */
92
+    ST_CPPEXPORT virtual void createReference(StHandle<StBufferCounter>& theOther) const;
93
+
94
+    /**
95
+     * Release current reference.
96
+     */
97
+    ST_CPPEXPORT virtual void releaseReference();
98
+
99
+    /**
100
+     * Release reference counter.
101
+     */
102
+    ST_CPPEXPORT virtual ~StImageFileCounter();
103
+
104
+        private:
105
+
106
+    StHandle<StImage> myImageFile;
107
 
108
 };
109
 
110
sview-15_10.tar.gz/include/StImage/StImagePlane.h -> sview-15_11.tar.gz/include/StImage/StImagePlane.h Changed
54
 
1
@@ -1,5 +1,5 @@
2
 /**
3
- * Copyright © 2010-2013 Kirill Gavrilov <kirill@sview.ru>
4
+ * Copyright © 2010-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
  * See accompanying file license-boost.txt or copy at
8
@@ -30,8 +30,10 @@
9
         ImgBGR,         //!< same as RGB but with different components order
10
         ImgRGB32,       //!< 4 bytes packed RGB image plane (1 byte is dummy)
11
         ImgBGR32,       //!< same as RGB but with different components order
12
+        ImgRGB48,       //!< 6 bytes packed RGB image plane
13
         ImgRGBA,        //!< 4 bytes packed RGBA image plane
14
         ImgBGRA,        //!< same as RGBA but with different components order
15
+        ImgRGBA64,      //!< 8 bytes packed RGBA image plane
16
         ImgGrayF,       //!< 1 float  (4-bytes) per pixel (1-component plane)
17
         ImgRGBF,        //!< 3 floats (12-bytes) RGB image plane
18
         ImgBGRF,        //!< same as RGBF but with different components order
19
@@ -106,6 +108,14 @@
20
         return &myDataPtr[mySizeRowBytes * theRow + mySizeBPP * theCol];
21
     }
22
 
23
+    /**
24
+     * @return data pointer to requested position.
25
+     */
26
+    inline GLubyte* accessData(const size_t theRow = 0, const size_t theCol = 0) const {
27
+        ST_DEBUG_ASSERT((myDataPtr != NULL) && (theRow < mySizeY) && (theCol < mySizeX));
28
+        return &myDataPtr[mySizeRowBytes * theRow + mySizeBPP * theCol];
29
+    }
30
+
31
     inline GLubyte getFirstByte(const size_t theRow, const size_t theCol) const {
32
         return *getData(theRow, theCol);
33
     }
34
@@ -240,7 +250,8 @@
35
     /**
36
      * Initialize as copy (data will be copied!).
37
      */
38
-    ST_CPPEXPORT bool initCopy(const StImagePlane& theCopy);
39
+    ST_CPPEXPORT bool initCopy(const StImagePlane& theCopy,
40
+                               const bool          theIsCompact);
41
 
42
     /**
43
      * Initialize as wrapper (data will not be copied).
44
@@ -256,7 +267,8 @@
45
                                      const int theSeparationDy = 0,
46
                                      const int theValue = 0);
47
 
48
-    ST_CPPEXPORT bool fill(const StImagePlane& theCopy);
49
+    ST_CPPEXPORT bool fill(const StImagePlane& theCopy,
50
+                           const bool          theIsCompact);
51
 
52
     /**
53
      * Smart method to correctly deallocate image plane.
54
sview-15_10.tar.gz/include/StThreads/StCondition.h -> sview-15_11.tar.gz/include/StThreads/StCondition.h Changed
8
 
1
@@ -1,5 +1,5 @@
2
 /**
3
- * Copyright © 2009-2014 Kirill Gavrilov <kirill@sview.ru>
4
+ * Copyright © 2009-2015 Kirill Gavrilov <kirill@sview.ru>
5
  *
6
  * Distributed under the Boost Software License, Version 1.0.
7
  * See accompanying file license-boost.txt or copy at
8
sview-15_10.tar.gz/include/StThreads/StResourceManager.h -> sview-15_11.tar.gz/include/StThreads/StResourceManager.h Changed
27
 
1
@@ -92,8 +92,10 @@
2
      * The list of standard folders.
3
      */
4
     enum FolderId {
5
+        FolderId_SdCard,
6
         FolderId_Downloads,
7
         FolderId_Pictures,
8
+        FolderId_Photos,
9
         FolderId_Music,
10
         FolderId_Videos,
11
         FolderId_NB
12
@@ -127,6 +129,14 @@
13
     }
14
 
15
     /**
16
+     * Assign folder.
17
+     */
18
+    ST_LOCAL void setFolder(const FolderId  theId,
19
+                            const StString& thePath) {
20
+        myFolders[theId] = thePath;
21
+    }
22
+
23
+    /**
24
      * Folder containing user-specific application data.
25
      */
26
     ST_LOCAL const StString& getUserDataFolder() const {
27
sview-15_11.tar.gz/license-CC-BY-4.0.txt Added
201
 
1
@@ -0,0 +1,393 @@
2
+Attribution 4.0 International
3
+
4
+=======================================================================
5
+
6
+Creative Commons Corporation ("Creative Commons") is not a law firm and
7
+does not provide legal services or legal advice. Distribution of
8
+Creative Commons public licenses does not create a lawyer-client or
9
+other relationship. Creative Commons makes its licenses and related
10
+information available on an "as-is" basis. Creative Commons gives no
11
+warranties regarding its licenses, any material licensed under their
12
+terms and conditions, or any related information. Creative Commons
13
+disclaims all liability for damages resulting from their use to the
14
+fullest extent possible.
15
+
16
+Using Creative Commons Public Licenses
17
+
18
+Creative Commons public licenses provide a standard set of terms and
19
+conditions that creators and other rights holders may use to share
20
+original works of authorship and other material subject to copyright
21
+and certain other rights specified in the public license below. The
22
+following considerations are for informational purposes only, are not
23
+exhaustive, and do not form part of our licenses.
24
+
25
+     Considerations for licensors: Our public licenses are
26
+     intended for use by those authorized to give the public
27
+     permission to use material in ways otherwise restricted by
28
+     copyright and certain other rights. Our licenses are
29
+     irrevocable. Licensors should read and understand the terms
30
+     and conditions of the license they choose before applying it.
31
+     Licensors should also secure all rights necessary before
32
+     applying our licenses so that the public can reuse the
33
+     material as expected. Licensors should clearly mark any
34
+     material not subject to the license. This includes other CC-
35
+     licensed material, or material used under an exception or
36
+     limitation to copyright. More considerations for licensors:
37
+   wiki.creativecommons.org/Considerations_for_licensors
38
+
39
+     Considerations for the public: By using one of our public
40
+     licenses, a licensor grants the public permission to use the
41
+     licensed material under specified terms and conditions. If
42
+     the licensor's permission is not necessary for any reason--for
43
+     example, because of any applicable exception or limitation to
44
+     copyright--then that use is not regulated by the license. Our
45
+     licenses grant only permissions under copyright and certain
46
+     other rights that a licensor has authority to grant. Use of
47
+     the licensed material may still be restricted for other
48
+     reasons, including because others have copyright or other
49
+     rights in the material. A licensor may make special requests,
50
+     such as asking that all changes be marked or described.
51
+     Although not required by our licenses, you are encouraged to
52
+     respect those requests where reasonable. More_considerations
53
+     for the public:
54
+   wiki.creativecommons.org/Considerations_for_licensees
55
+
56
+=======================================================================
57
+
58
+Creative Commons Attribution 4.0 International Public License
59
+
60
+By exercising the Licensed Rights (defined below), You accept and agree
61
+to be bound by the terms and conditions of this Creative Commons
62
+Attribution 4.0 International Public License ("Public License"). To the
63
+extent this Public License may be interpreted as a contract, You are
64
+granted the Licensed Rights in consideration of Your acceptance of
65
+these terms and conditions, and the Licensor grants You such rights in
66
+consideration of benefits the Licensor receives from making the
67
+Licensed Material available under these terms and conditions.
68
+
69
+
70
+Section 1 -- Definitions.
71
+
72
+  a. Adapted Material means material subject to Copyright and Similar
73
+     Rights that is derived from or based upon the Licensed Material
74
+     and in which the Licensed Material is translated, altered,
75
+     arranged, transformed, or otherwise modified in a manner requiring
76
+     permission under the Copyright and Similar Rights held by the
77
+     Licensor. For purposes of this Public License, where the Licensed
78
+     Material is a musical work, performance, or sound recording,
79
+     Adapted Material is always produced where the Licensed Material is
80
+     synched in timed relation with a moving image.
81
+
82
+  b. Adapter's License means the license You apply to Your Copyright
83
+     and Similar Rights in Your contributions to Adapted Material in
84
+     accordance with the terms and conditions of this Public License.
85
+
86
+  c. Copyright and Similar Rights means copyright and/or similar rights
87
+     closely related to copyright including, without limitation,
88
+     performance, broadcast, sound recording, and Sui Generis Database
89
+     Rights, without regard to how the rights are labeled or
90
+     categorized. For purposes of this Public License, the rights
91
+     specified in Section 2(b)(1)-(2) are not Copyright and Similar
92
+     Rights.
93
+
94
+  d. Effective Technological Measures means those measures that, in the
95
+     absence of proper authority, may not be circumvented under laws
96
+     fulfilling obligations under Article 11 of the WIPO Copyright
97
+     Treaty adopted on December 20, 1996, and/or similar international
98
+     agreements.
99
+
100
+  e. Exceptions and Limitations means fair use, fair dealing, and/or
101
+     any other exception or limitation to Copyright and Similar Rights
102
+     that applies to Your use of the Licensed Material.
103
+
104
+  f. Licensed Material means the artistic or literary work, database,
105
+     or other material to which the Licensor applied this Public
106
+     License.
107
+
108
+  g. Licensed Rights means the rights granted to You subject to the
109
+     terms and conditions of this Public License, which are limited to
110
+     all Copyright and Similar Rights that apply to Your use of the
111
+     Licensed Material and that the Licensor has authority to license.
112
+
113
+  h. Licensor means the individual(s) or entity(ies) granting rights
114
+     under this Public License.
115
+
116
+  i. Share means to provide material to the public by any means or
117
+     process that requires permission under the Licensed Rights, such
118
+     as reproduction, public display, public performance, distribution,
119
+     dissemination, communication, or importation, and to make material
120
+     available to the public including in ways that members of the
121
+     public may access the material from a place and at a time
122
+     individually chosen by them.
123
+
124
+  j. Sui Generis Database Rights means rights other than copyright
125
+     resulting from Directive 96/9/EC of the European Parliament and of
126
+     the Council of 11 March 1996 on the legal protection of databases,
127
+     as amended and/or succeeded, as well as other essentially
128
+     equivalent rights anywhere in the world.
129
+
130
+  k. You means the individual or entity exercising the Licensed Rights
131
+     under this Public License. Your has a corresponding meaning.
132
+
133
+
134
+Section 2 -- Scope.
135
+
136
+  a. License grant.
137
+
138
+       1. Subject to the terms and conditions of this Public License,
139
+          the Licensor hereby grants You a worldwide, royalty-free,
140
+          non-sublicensable, non-exclusive, irrevocable license to
141
+          exercise the Licensed Rights in the Licensed Material to:
142
+
143
+            a. reproduce and Share the Licensed Material, in whole or
144
+               in part; and
145
+
146
+            b. produce, reproduce, and Share Adapted Material.
147
+
148
+       2. Exceptions and Limitations. For the avoidance of doubt, where
149
+          Exceptions and Limitations apply to Your use, this Public
150
+          License does not apply, and You do not need to comply with
151
+          its terms and conditions.
152
+
153
+       3. Term. The term of this Public License is specified in Section
154
+          6(a).
155
+
156
+       4. Media and formats; technical modifications allowed. The
157
+          Licensor authorizes You to exercise the Licensed Rights in
158
+          all media and formats whether now known or hereafter created,
159
+          and to make technical modifications necessary to do so. The
160
+          Licensor waives and/or agrees not to assert any right or
161
+          authority to forbid You from making technical modifications
162
+          necessary to exercise the Licensed Rights, including
163
+          technical modifications necessary to circumvent Effective
164
+          Technological Measures. For purposes of this Public License,
165
+          simply making modifications authorized by this Section 2(a)
166
+          (4) never produces Adapted Material.
167
+
168
+       5. Downstream recipients.
169
+
170
+            a. Offer from the Licensor -- Licensed Material. Every
171
+               recipient of the Licensed Material automatically
172
+               receives an offer from the Licensor to exercise the
173
+               Licensed Rights under the terms and conditions of this
174
+               Public License.
175
+
176
+            b. No downstream restrictions. You may not offer or impose
177
+               any additional or different terms or conditions on, or
178
+               apply any Effective Technological Measures to, the
179
+               Licensed Material if doing so restricts exercise of the
180
+               Licensed Rights by any recipient of the Licensed
181
+               Material.
182
+
183
+       6. No endorsement. Nothing in this Public License constitutes or
184
+          may be construed as permission to assert or imply that You
185
+          are, or that Your use of the Licensed Material is, connected
186
+          with, or sponsored, endorsed, or granted official status by,
187
+          the Licensor or others designated to receive attribution as
188
+          provided in Section 3(a)(1)(A)(i).
189
+
190
+  b. Other rights.
191
+
192
+       1. Moral rights, such as the right of integrity, are not
193
+          licensed under this Public License, nor are publicity,
194
+          privacy, and/or other similar personality rights; however, to
195
+          the extent possible, the Licensor waives and/or agrees not to
196
+          assert any such rights held by the Licensor to the limited
197
+          extent necessary to allow You to exercise the Licensed
198
+          Rights, but not otherwise.
199
+
200
+       2. Patent and trademark rights are not licensed under this
201
sview-15_10.tar.gz/sview/AndroidManifest.xml -> sview-15_11.tar.gz/sview/AndroidManifest.xml Changed
109
 
1
@@ -1,51 +1,11 @@
2
 <?xml version="1.0" encoding="utf-8"?>
3
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
4
           package="com.sview"
5
-          android:versionCode="8"
6
-          android:versionName="15.10">
7
+          android:versionCode="10"
8
+          android:versionName="15.11">
9
     <application android:label="@string/app_name"
10
                  android:hasCode="true"
11
                  android:icon="@drawable/ic_launcher">
12
-        <!-- <uses-library android:name="com.lge.real3d"
13
-                      android:required="false" />
14
-        <uses-library android:name="jp.co.sharp.android.stereo3dlcd"
15
-                      android:required="false" />  -->
16
-        <!-- Image Viewer -->
17
-        <activity android:name="com.sview.StImageActivity"
18
-                  android:label="@string/app_image_name"
19
-                  android:launchMode="singleTask"
20
-                  android:configChanges="orientation|keyboardHidden|screenSize"
21
-                  android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
22
-                  <!-- android:documentLaunchMode="always" - available since Android 5.0 -->
23
-            <!-- Tell NativeActivity the name of or .so -->
24
-            <meta-data android:name="android.app.lib_name" android:value="sview" />
25
-            <intent-filter>
26
-                <action android:name="android.intent.action.VIEW" />
27
-                <category android:name="android.intent.category.DEFAULT" />
28
-                <category android:name="android.intent.category.BROWSABLE" />
29
-                <data android:mimeType="application/vnd.google.panorama360+jpg"/>
30
-                <data android:mimeType="image/*"/>
31
-            </intent-filter>
32
-            <intent-filter>
33
-                <action android:name="android.intent.action.VIEW" />
34
-
35
-                <category android:name="android.intent.category.DEFAULT" />
36
-                <category android:name="android.intent.category.BROWSABLE" />
37
-
38
-                <data android:scheme="" />
39
-                <data android:scheme="file" />
40
-                <data android:scheme="ftp" />
41
-                <data android:scheme="content" />
42
-                <data android:scheme="http" />
43
-                <data android:scheme="https" />
44
-                <data android:host="*" />
45
-
46
-                <data android:pathPattern=".*\\.mpo" />
47
-                <data android:pathPattern=".*\\.jps" />
48
-                <data android:pathPattern=".*\\.pns" />
49
-                <data android:pathPattern=".*\\.webp" />
50
-            </intent-filter>
51
-        </activity>
52
         <!-- Movie Player -->
53
         <activity android:name="com.sview.StMovieActivity"
54
                   android:label="@string/app_movie_name"
55
@@ -191,13 +151,51 @@
56
                 <data android:pathPattern=".*\\.WMA" />
57
             </intent-filter>
58
         </activity>
59
+        <!-- Image Viewer -->
60
+        <activity android:name="com.sview.StImageActivity"
61
+                  android:label="@string/app_image_name"
62
+                  android:launchMode="singleTask"
63
+                  android:configChanges="orientation|keyboardHidden|screenSize"
64
+                  android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
65
+                  <!-- android:documentLaunchMode="always" - available since Android 5.0 -->
66
+            <!-- Tell NativeActivity the name of or .so -->
67
+            <meta-data android:name="android.app.lib_name" android:value="sview" />
68
+            <intent-filter>
69
+                <action android:name="android.intent.action.MAIN" />
70
+                <category android:name="android.intent.category.LAUNCHER" />
71
+            </intent-filter>
72
+            <intent-filter>
73
+                <action android:name="android.intent.action.VIEW" />
74
+                <category android:name="android.intent.category.DEFAULT" />
75
+                <category android:name="android.intent.category.BROWSABLE" />
76
+                <data android:mimeType="application/vnd.google.panorama360+jpg"/>
77
+                <data android:mimeType="image/*"/>
78
+            </intent-filter>
79
+            <intent-filter>
80
+                <action android:name="android.intent.action.VIEW" />
81
+
82
+                <category android:name="android.intent.category.DEFAULT" />
83
+                <category android:name="android.intent.category.BROWSABLE" />
84
+
85
+                <data android:scheme="" />
86
+                <data android:scheme="file" />
87
+                <data android:scheme="ftp" />
88
+                <data android:scheme="content" />
89
+                <data android:scheme="http" />
90
+                <data android:scheme="https" />
91
+                <data android:host="*" />
92
+
93
+                <data android:pathPattern=".*\\.mpo" />
94
+                <data android:pathPattern=".*\\.jps" />
95
+                <data android:pathPattern=".*\\.pns" />
96
+                <data android:pathPattern=".*\\.webp" />
97
+            </intent-filter>
98
+        </activity>
99
         <!-- <activity android:name="com.sview.MainActivity" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity> -->
100
     </application>
101
 
102
     <uses-sdk android:minSdkVersion="15" />
103
     <uses-feature android:glEsVersion="0x00020000"/>
104
     <uses-permission android:name="android.permission.INTERNET" />
105
-    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
106
-    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
107
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
108
 </manifest> 
109
sview-15_10.tar.gz/sview/StMultiApp.cpp -> sview-15_11.tar.gz/sview/StMultiApp.cpp Changed
108
 
1
@@ -21,6 +21,13 @@
2
         + "Usage: sView [options] - file\n"
3
         + "Available options:\n"
4
           "  --fullscreen         Open fullscreen\n"
5
+          "  --toShowMenu=off     Hide main menu\n"
6
+          "  --toShowTopbar=off   Hide top toolbar\n"
7
+          "  --monitorId=ID       open window on specified monitor\n"
8
+          "  --windowLeft=L       window left   position\n"
9
+          "  --windowTop=T        window top    position\n"
10
+          "  --windowWidth=W      window width  position\n"
11
+          "  --windowHeight=H     window height position\n"
12
           "  --slideshow          Start slideshow\n"
13
           "  --last               Open last file\n"
14
           "  --paused             Open file in paused state\n"
15
@@ -40,7 +47,18 @@
16
             + st::formatToString(StFormat_Rows)          + ", "
17
             + st::formatToString(StFormat_FrameSequence) + "\n"
18
         + "  --left=PATH          Specify source for left view\n"
19
-          "  --right=PATH         Specify source for right view\n";
20
+          "  --right=PATH         Specify source for right view\n"
21
+          "  --webuiCmdPort=PORT  Use http://localhost:PORT for remote control (see --invokeAction).\n"
22
+          "  --invokeAction=ACT   Invoke action on http://localhost:PORT.\n"
23
+          "                       play - play/pause\n"
24
+          "                       mute - mute/unmute audio\n"
25
+          "                       vol?VOLUME - specify volume in percents\n"
26
+          "                       prev,next - play previous/next item in playlist\n"
27
+          "                       fastbwd,fastfwd - seek backward/forward\n"
28
+          "                       quit - close the program\n"
29
+          "                       current?title - print title of currently played item\n"
30
+          "                       fullscreen - switch fullscreen/windowed.\n"
31
+          "                       The full list also includes actions having hot-keys";
32
     return anAboutString;
33
 }
34
 
35
@@ -59,7 +77,72 @@
36
         return NULL;
37
     }
38
 
39
+    // command interface
40
     const StArgumentsMap anArgs = anInfo->getArgumentsMap();
41
+    StArgument anArgCmd  = anArgs["invokeAction"];
42
+    StArgument anArgCmd2 = anArgs["action"];
43
+    StString anAction;
44
+    if(anArgCmd2.isValid()) {
45
+        anAction = anArgCmd2.getValue();
46
+    }
47
+    if(anArgCmd.isValid()) {
48
+        anAction = anArgCmd.getValue();
49
+    }
50
+    if(!anAction.isEmpty()) {
51
+        StString anActLow = anAction;
52
+        anActLow.toLowerCase();
53
+        if(anActLow == "play"
54
+        || anActLow == "pause") {
55
+            anAction = "play_pause";
56
+        } else if(anActLow == "stop") {
57
+            anAction = "stop";
58
+        } else if(anActLow == "mute") {
59
+            anAction = "mute";
60
+        } else if(anActLow == "next"
61
+               || anActLow == "nextitem") {
62
+            anAction = "next";
63
+        } else if(anActLow == "prev"
64
+               || anActLow == "previous"
65
+               || anActLow == "previtem") {
66
+            anAction = "prev";
67
+        } else if(anActLow == "currentid") {
68
+            anAction = "current?id";
69
+        } else if(anActLow == "currenttitle") {
70
+            anAction = "current?title";
71
+        } else if(anAction.isContains('?')) {
72
+            anAction = anAction;
73
+        } else if(anActLow == "fastbwd") {
74
+            anAction = "action?DoSeekLeft";
75
+        } else if(anActLow == "fastfwd") {
76
+            anAction = "action?DoSeekRight";
77
+        } else if(anActLow == "quit"
78
+               || anActLow == "exit") {
79
+            anAction = "action?DoQuit";
80
+        } else if(anActLow == "mono") {
81
+            anAction = "action?DoSrcMono";
82
+        } else if(anActLow == "overunder") {
83
+            anAction = "action?DoSrcOverUnder";
84
+        } else if(anActLow == "sidebyside") {
85
+            anAction = "action?DoSrcSideBySide";
86
+        } else if(anActLow == "fullscreen") {
87
+            anAction = "action?DoFullscreen";
88
+        } else {
89
+            anAction = StString("action?") + anAction;
90
+        }
91
+    }
92
+    if(!anAction.isEmpty()) {
93
+        StArgument anArgCmdPort = anArgs["webuiCmdPort"];
94
+        StString   aPort        = "8080";
95
+        if(anArgCmdPort.isValid()) {
96
+            aPort = anArgCmdPort.getValue();
97
+        }
98
+        StString anUrl     = StString("http://localhost:") + aPort + "/" + anAction;
99
+        StString aResponse = StRawFile::readTextFile(anUrl);
100
+        st::cout << aResponse << "\n";
101
+        return NULL;
102
+    }
103
+
104
+    // select application
105
     const StString ARGUMENT_DRAWER = "in";
106
     StArgument anArgDrawer = anArgs[ARGUMENT_DRAWER];
107
     if(anArgDrawer.isValid()) {
108
sview-15_10.tar.gz/sview/jni/main.cpp -> sview-15_11.tar.gz/sview/jni/main.cpp Changed
65
 
1
@@ -32,6 +32,19 @@
2
     }
3
 
4
     /**
5
+     * Determine StApplication class from file extension.
6
+     */
7
+    ST_LOCAL static StString getStAppClassFromExtension(const StString& theExtension) {
8
+        const StMIMEList aMimeImg(ST_IMAGE_PLUGIN_MIME_CHAR);
9
+        for(size_t aMimeIter = 0; aMimeIter < aMimeImg.size(); ++aMimeIter) {
10
+            if(theExtension.isEqualsIgnoreCase(aMimeImg[aMimeIter].getExtension())) {
11
+                return "image";
12
+            }
13
+        }
14
+        return "video";
15
+    }
16
+
17
+    /**
18
      * Choose and instantiate StApplication.
19
      */
20
     ST_LOCAL virtual void createApplication() override {
21
@@ -43,19 +56,32 @@
22
         myDndPath.clear();
23
 
24
         StHandle<StResourceManager> aResMgr = new StResourceManager(myActivity->assetManager);
25
+        aResMgr->setFolder(StResourceManager::FolderId_SdCard,
26
+                           getStoragePath(myThJniEnv, "sdcard"));
27
+        aResMgr->setFolder(StResourceManager::FolderId_Downloads,
28
+                           getStoragePath(myThJniEnv, "Download"));
29
+        aResMgr->setFolder(StResourceManager::FolderId_Pictures,
30
+                           getStoragePath(myThJniEnv, "Pictures"));
31
+        aResMgr->setFolder(StResourceManager::FolderId_Photos,
32
+                           getStoragePath(myThJniEnv, "DCIM"));
33
+        aResMgr->setFolder(StResourceManager::FolderId_Music,
34
+                           getStoragePath(myThJniEnv, "Music"));
35
+        aResMgr->setFolder(StResourceManager::FolderId_Videos,
36
+                           getStoragePath(myThJniEnv, "Movies"));
37
+
38
+        if(myStAppClass.isEmpty()) {
39
+            myStAppClass = getStAppClassFromExtension(aFileExtension);
40
+        }
41
 
42
-        const StMIMEList aMimeImg(ST_IMAGE_PLUGIN_MIME_CHAR);
43
-        for(size_t aMimeIter = 0; aMimeIter < aMimeImg.size(); ++aMimeIter) {
44
-            if(aFileExtension.isEqualsIgnoreCase(aMimeImg[aMimeIter].getExtension())) {
45
-                StArgumentsMap anArgs = anInfo->getArgumentsMap();
46
-                if(anInfo->isEmpty()) {
47
-                    anArgs.set(StDictEntry("last",    "true"));
48
-                }
49
-                anArgs.set(StDictEntry("toSaveRecent","true"));
50
-                anInfo->setArgumentsMap(anArgs);
51
-                myApp = new StImageViewer(aResMgr, this, anInfo);
52
-                return;
53
+        if(myStAppClass == "image") {
54
+            StArgumentsMap anArgs = anInfo->getArgumentsMap();
55
+            if(anInfo->isEmpty()) {
56
+                anArgs.set(StDictEntry("last",    "true"));
57
             }
58
+            anArgs.set(StDictEntry("toSaveRecent","true"));
59
+            anInfo->setArgumentsMap(anArgs);
60
+            myApp = new StImageViewer(aResMgr, this, anInfo);
61
+            return;
62
         }
63
 
64
         if(anInfo->isEmpty()) {
65
sview-15_10.tar.gz/sview/src/com/sview/StActivity.java -> sview-15_11.tar.gz/sview/src/com/sview/StActivity.java Changed
15
 
1
@@ -240,6 +240,13 @@
2
 //region Methods to be called from C++ level
3
 
4
     /**
5
+     * Virtual method defining StApplication class.
6
+     */
7
+    public String getStAppClass() {
8
+        return null;
9
+    }
10
+
11
+    /**
12
      * Method is called when StAndroidGlue has been created (BEFORE starting application thread!)
13
      * or during destruction.
14
      */
15
sview-15_10.tar.gz/sview/src/com/sview/StImageActivity.java -> sview-15_11.tar.gz/sview/src/com/sview/StImageActivity.java Changed
16
 
1
@@ -13,6 +13,14 @@
2
 public class StImageActivity extends StActivity {
3
 
4
     /**
5
+     * Virtual method defining StApplication class.
6
+     */
7
+    @Override
8
+    public String getStAppClass() {
9
+        return "image";
10
+    }
11
+
12
+    /**
13
      * Create activity.
14
      */
15
     @Override
16
sview-15_10.tar.gz/sview/src/com/sview/StMovieActivity.java -> sview-15_11.tar.gz/sview/src/com/sview/StMovieActivity.java Changed
16
 
1
@@ -13,6 +13,14 @@
2
 public class StMovieActivity extends StActivity {
3
 
4
     /**
5
+     * Virtual method defining StApplication class.
6
+     */
7
+    @Override
8
+    public String getStAppClass() {
9
+        return "video";
10
+    }
11
+
12
+    /**
13
      * Create activity.
14
      */
15
     @Override
16
sview-15_10.tar.gz/sview/sview.cbp -> sview-15_11.tar.gz/sview/sview.cbp Changed
70
 
1
@@ -6,32 +6,6 @@
2
        <Option pch_mode="2" />
3
        <Option compiler="gcc" />
4
        <Build>
5
-           <Target title="WIN_gcc_x86">
6
-               <Option output="../bin/$(TARGET_NAME)/sView" prefix_auto="1" extension_auto="1" />
7
-               <Option working_dir="../bin/$(TARGET_NAME)/" />
8
-               <Option object_output="obj/$(TARGET_NAME)/" />
9
-               <Option type="1" />
10
-               <Option compiler="gcc" />
11
-               <Option parameters="demo.jps" />
12
-               <Compiler>
13
-                   <Add option="-O3" />
14
-                   <Add option="-std=c++0x" />
15
-                   <Add option="-Wall" />
16
-                   <Add option="-g" />
17
-                   <Add option="-mmmx" />
18
-                   <Add option="-msse" />
19
-                   <Add option="-DUNICODE" />
20
-                   <Add option="-DST_DEBUG" />
21
-                   <Add option="-DST_HAVE_STCONFIG" />
22
-               </Compiler>
23
-               <Linker>
24
-                   <Add library="gdi32" />
25
-                   <Add library="user32" />
26
-                   <Add library="kernel32" />
27
-                   <Add library="Comdlg32" />
28
-                   <Add library="Version" />
29
-               </Linker>
30
-           </Target>
31
            <Target title="WIN_vc_x86">
32
                <Option output="../bin/$(TARGET_NAME)/sView" prefix_auto="1" extension_auto="1" />
33
                <Option working_dir="../bin/$(TARGET_NAME)/" />
34
@@ -63,12 +37,12 @@
35
                    <Add after='mt.exe /nologo /manifest &quot;$(TARGET_OUTPUT_FILE).manifest&quot; /manifest &quot;..\dpiAware.manifest&quot; /outputresource:&quot;$(TARGET_OUTPUT_FILE)&quot;;1' />
36
                </ExtraCommands>
37
            </Target>
38
-           <Target title="WIN_vc_x86_DEBUG">
39
+           <Target title="WIN_vc_AMD64_DEBUG">
40
                <Option output="../bin/$(TARGET_NAME)/sView" prefix_auto="1" extension_auto="1" />
41
                <Option working_dir="../bin/$(TARGET_NAME)/" />
42
                <Option object_output="obj/$(TARGET_NAME)/" />
43
                <Option type="1" />
44
-               <Option compiler="msvc10" />
45
+               <Option compiler="windows_sdk_x86_64" />
46
                <Option parameters="demo.jps" />
47
                <Compiler>
48
                    <Add option="/MDd" />
49
@@ -280,9 +254,8 @@
50
        <Unit filename="StMultiApp.cpp" />
51
        <Unit filename="StMultiApp.h" />
52
        <Unit filename="main.cpp">
53
-           <Option target="WIN_gcc_x86" />
54
            <Option target="WIN_vc_x86" />
55
-           <Option target="WIN_vc_x86_DEBUG" />
56
+           <Option target="WIN_vc_AMD64_DEBUG" />
57
            <Option target="WIN_vc_AMD64" />
58
            <Option target="LINUX_gcc" />
59
            <Option target="LINUX_gcc_DEBUG" />
60
@@ -298,8 +271,7 @@
61
            <Option compilerVar="WINDRES" />
62
            <Option target="WIN_vc_x86" />
63
            <Option target="WIN_vc_AMD64" />
64
-           <Option target="WIN_gcc_x86" />
65
-           <Option target="WIN_vc_x86_DEBUG" />
66
+           <Option target="WIN_vc_AMD64_DEBUG" />
67
        </Unit>
68
        <Extensions>
69
            <code_completion />
70
sview-15_10.tar.gz/textures/menuAuto128.png -> sview-15_11.tar.gz/textures/menuAuto128.png Changed
sview-15_10.tar.gz/textures/menuAuto144.png -> sview-15_11.tar.gz/textures/menuAuto144.png Changed
sview-15_10.tar.gz/textures/menuAuto16.png -> sview-15_11.tar.gz/textures/menuAuto16.png Changed
sview-15_10.tar.gz/textures/menuAuto192.png -> sview-15_11.tar.gz/textures/menuAuto192.png Changed
sview-15_10.tar.gz/textures/menuAuto24.png -> sview-15_11.tar.gz/textures/menuAuto24.png Changed
sview-15_10.tar.gz/textures/menuAuto256.png -> sview-15_11.tar.gz/textures/menuAuto256.png Changed
sview-15_10.tar.gz/textures/menuAuto32.png -> sview-15_11.tar.gz/textures/menuAuto32.png Changed
sview-15_10.tar.gz/textures/menuAuto48.png -> sview-15_11.tar.gz/textures/menuAuto48.png Changed
sview-15_10.tar.gz/textures/menuAuto64.png -> sview-15_11.tar.gz/textures/menuAuto64.png Changed
sview-15_10.tar.gz/textures/menuAuto72.png -> sview-15_11.tar.gz/textures/menuAuto72.png Changed
sview-15_10.tar.gz/textures/menuAuto96.png -> sview-15_11.tar.gz/textures/menuAuto96.png Changed
sview-15_10.tar.gz/textures/menuDual128.png -> sview-15_11.tar.gz/textures/menuDual128.png Changed
sview-15_10.tar.gz/textures/menuDual144.png -> sview-15_11.tar.gz/textures/menuDual144.png Changed
sview-15_10.tar.gz/textures/menuDual16.png -> sview-15_11.tar.gz/textures/menuDual16.png Changed
sview-15_10.tar.gz/textures/menuDual192.png -> sview-15_11.tar.gz/textures/menuDual192.png Changed
sview-15_10.tar.gz/textures/menuDual24.png -> sview-15_11.tar.gz/textures/menuDual24.png Changed
sview-15_10.tar.gz/textures/menuDual256.png -> sview-15_11.tar.gz/textures/menuDual256.png Changed
sview-15_10.tar.gz/textures/menuDual32.png -> sview-15_11.tar.gz/textures/menuDual32.png Changed
sview-15_10.tar.gz/textures/menuDual48.png -> sview-15_11.tar.gz/textures/menuDual48.png Changed
sview-15_10.tar.gz/textures/menuDual64.png -> sview-15_11.tar.gz/textures/menuDual64.png Changed
sview-15_10.tar.gz/textures/menuDual72.png -> sview-15_11.tar.gz/textures/menuDual72.png Changed
sview-15_10.tar.gz/textures/menuDual96.png -> sview-15_11.tar.gz/textures/menuDual96.png Changed
sview-15_10.tar.gz/textures/menuFrameSeqLR128.png -> sview-15_11.tar.gz/textures/menuFrameSeqLR128.png Changed
sview-15_10.tar.gz/textures/menuFrameSeqLR144.png -> sview-15_11.tar.gz/textures/menuFrameSeqLR144.png Changed
sview-15_10.tar.gz/textures/menuFrameSeqLR16.png -> sview-15_11.tar.gz/textures/menuFrameSeqLR16.png Changed
sview-15_10.tar.gz/textures/menuFrameSeqLR192.png -> sview-15_11.tar.gz/textures/menuFrameSeqLR192.png Changed
sview-15_10.tar.gz/textures/menuFrameSeqLR24.png -> sview-15_11.tar.gz/textures/menuFrameSeqLR24.png Changed
sview-15_10.tar.gz/textures/menuFrameSeqLR256.png -> sview-15_11.tar.gz/textures/menuFrameSeqLR256.png Changed
sview-15_10.tar.gz/textures/menuFrameSeqLR32.png -> sview-15_11.tar.gz/textures/menuFrameSeqLR32.png Changed
sview-15_10.tar.gz/textures/menuFrameSeqLR48.png -> sview-15_11.tar.gz/textures/menuFrameSeqLR48.png Changed
sview-15_10.tar.gz/textures/menuFrameSeqLR64.png -> sview-15_11.tar.gz/textures/menuFrameSeqLR64.png Changed
sview-15_10.tar.gz/textures/menuFrameSeqLR72.png -> sview-15_11.tar.gz/textures/menuFrameSeqLR72.png Changed
sview-15_10.tar.gz/textures/menuFrameSeqLR96.png -> sview-15_11.tar.gz/textures/menuFrameSeqLR96.png Changed
sview-15_10.tar.gz/textures/menuMono128.png -> sview-15_11.tar.gz/textures/menuMono128.png Changed
sview-15_10.tar.gz/textures/menuMono144.png -> sview-15_11.tar.gz/textures/menuMono144.png Changed
sview-15_10.tar.gz/textures/menuMono16.png -> sview-15_11.tar.gz/textures/menuMono16.png Changed
sview-15_10.tar.gz/textures/menuMono192.png -> sview-15_11.tar.gz/textures/menuMono192.png Changed
sview-15_10.tar.gz/textures/menuMono24.png -> sview-15_11.tar.gz/textures/menuMono24.png Changed
sview-15_10.tar.gz/textures/menuMono256.png -> sview-15_11.tar.gz/textures/menuMono256.png Changed
sview-15_10.tar.gz/textures/menuMono32.png -> sview-15_11.tar.gz/textures/menuMono32.png Changed
sview-15_10.tar.gz/textures/menuMono48.png -> sview-15_11.tar.gz/textures/menuMono48.png Changed
sview-15_10.tar.gz/textures/menuMono64.png -> sview-15_11.tar.gz/textures/menuMono64.png Changed
sview-15_10.tar.gz/textures/menuMono72.png -> sview-15_11.tar.gz/textures/menuMono72.png Changed
sview-15_10.tar.gz/textures/menuMono96.png -> sview-15_11.tar.gz/textures/menuMono96.png Changed
sview-15_10.tar.gz/textures/menuOverUnderLR128.png -> sview-15_11.tar.gz/textures/menuOverUnderLR128.png Changed
sview-15_10.tar.gz/textures/menuOverUnderLR144.png -> sview-15_11.tar.gz/textures/menuOverUnderLR144.png Changed
sview-15_10.tar.gz/textures/menuOverUnderLR16.png -> sview-15_11.tar.gz/textures/menuOverUnderLR16.png Changed
sview-15_10.tar.gz/textures/menuOverUnderLR192.png -> sview-15_11.tar.gz/textures/menuOverUnderLR192.png Changed
sview-15_10.tar.gz/textures/menuOverUnderLR24.png -> sview-15_11.tar.gz/textures/menuOverUnderLR24.png Changed
sview-15_10.tar.gz/textures/menuOverUnderLR256.png -> sview-15_11.tar.gz/textures/menuOverUnderLR256.png Changed
sview-15_10.tar.gz/textures/menuOverUnderLR32.png -> sview-15_11.tar.gz/textures/menuOverUnderLR32.png Changed
sview-15_10.tar.gz/textures/menuOverUnderLR48.png -> sview-15_11.tar.gz/textures/menuOverUnderLR48.png Changed
sview-15_10.tar.gz/textures/menuOverUnderLR64.png -> sview-15_11.tar.gz/textures/menuOverUnderLR64.png Changed
sview-15_10.tar.gz/textures/menuOverUnderLR72.png -> sview-15_11.tar.gz/textures/menuOverUnderLR72.png Changed
sview-15_10.tar.gz/textures/menuOverUnderLR96.png -> sview-15_11.tar.gz/textures/menuOverUnderLR96.png Changed
sview-15_10.tar.gz/textures/menuOverUnderRL128.png -> sview-15_11.tar.gz/textures/menuOverUnderRL128.png Changed
sview-15_10.tar.gz/textures/menuOverUnderRL144.png -> sview-15_11.tar.gz/textures/menuOverUnderRL144.png Changed
sview-15_10.tar.gz/textures/menuOverUnderRL16.png -> sview-15_11.tar.gz/textures/menuOverUnderRL16.png Changed
sview-15_10.tar.gz/textures/menuOverUnderRL192.png -> sview-15_11.tar.gz/textures/menuOverUnderRL192.png Changed
sview-15_10.tar.gz/textures/menuOverUnderRL24.png -> sview-15_11.tar.gz/textures/menuOverUnderRL24.png Changed
sview-15_10.tar.gz/textures/menuOverUnderRL256.png -> sview-15_11.tar.gz/textures/menuOverUnderRL256.png Changed
sview-15_10.tar.gz/textures/menuOverUnderRL32.png -> sview-15_11.tar.gz/textures/menuOverUnderRL32.png Changed
sview-15_10.tar.gz/textures/menuOverUnderRL48.png -> sview-15_11.tar.gz/textures/menuOverUnderRL48.png Changed
sview-15_10.tar.gz/textures/menuOverUnderRL64.png -> sview-15_11.tar.gz/textures/menuOverUnderRL64.png Changed
sview-15_10.tar.gz/textures/menuOverUnderRL72.png -> sview-15_11.tar.gz/textures/menuOverUnderRL72.png Changed
sview-15_10.tar.gz/textures/menuOverUnderRL96.png -> sview-15_11.tar.gz/textures/menuOverUnderRL96.png Changed
sview-15_10.tar.gz/textures/menuRatio16_10_128.png -> sview-15_11.tar.gz/textures/menuRatio16_10_128.png Changed
sview-15_10.tar.gz/textures/menuRatio16_10_144.png -> sview-15_11.tar.gz/textures/menuRatio16_10_144.png Changed
sview-15_10.tar.gz/textures/menuRatio16_10_16.png -> sview-15_11.tar.gz/textures/menuRatio16_10_16.png Changed
sview-15_10.tar.gz/textures/menuRatio16_10_192.png -> sview-15_11.tar.gz/textures/menuRatio16_10_192.png Changed
sview-15_10.tar.gz/textures/menuRatio16_10_24.png -> sview-15_11.tar.gz/textures/menuRatio16_10_24.png Changed
sview-15_10.tar.gz/textures/menuRatio16_10_256.png -> sview-15_11.tar.gz/textures/menuRatio16_10_256.png Changed
sview-15_10.tar.gz/textures/menuRatio16_10_32.png -> sview-15_11.tar.gz/textures/menuRatio16_10_32.png Changed
sview-15_10.tar.gz/textures/menuRatio16_10_48.png -> sview-15_11.tar.gz/textures/menuRatio16_10_48.png Changed
sview-15_10.tar.gz/textures/menuRatio16_10_64.png -> sview-15_11.tar.gz/textures/menuRatio16_10_64.png Changed
sview-15_10.tar.gz/textures/menuRatio16_10_72.png -> sview-15_11.tar.gz/textures/menuRatio16_10_72.png Changed
sview-15_10.tar.gz/textures/menuRatio16_10_96.png -> sview-15_11.tar.gz/textures/menuRatio16_10_96.png Changed
sview-15_10.tar.gz/textures/menuRatio16_9_128.png -> sview-15_11.tar.gz/textures/menuRatio16_9_128.png Changed
sview-15_10.tar.gz/textures/menuRatio16_9_144.png -> sview-15_11.tar.gz/textures/menuRatio16_9_144.png Changed
sview-15_10.tar.gz/textures/menuRatio16_9_16.png -> sview-15_11.tar.gz/textures/menuRatio16_9_16.png Changed
sview-15_10.tar.gz/textures/menuRatio16_9_192.png -> sview-15_11.tar.gz/textures/menuRatio16_9_192.png Changed
sview-15_10.tar.gz/textures/menuRatio16_9_24.png -> sview-15_11.tar.gz/textures/menuRatio16_9_24.png Changed
sview-15_10.tar.gz/textures/menuRatio16_9_256.png -> sview-15_11.tar.gz/textures/menuRatio16_9_256.png Changed
sview-15_10.tar.gz/textures/menuRatio16_9_32.png -> sview-15_11.tar.gz/textures/menuRatio16_9_32.png Changed
sview-15_10.tar.gz/textures/menuRatio16_9_48.png -> sview-15_11.tar.gz/textures/menuRatio16_9_48.png Changed
sview-15_10.tar.gz/textures/menuRatio16_9_64.png -> sview-15_11.tar.gz/textures/menuRatio16_9_64.png Changed
sview-15_10.tar.gz/textures/menuRatio16_9_72.png -> sview-15_11.tar.gz/textures/menuRatio16_9_72.png Changed
sview-15_10.tar.gz/textures/menuRatio16_9_96.png -> sview-15_11.tar.gz/textures/menuRatio16_9_96.png Changed
sview-15_10.tar.gz/textures/menuRatio1_1_128.png -> sview-15_11.tar.gz/textures/menuRatio1_1_128.png Changed
sview-15_10.tar.gz/textures/menuRatio1_1_144.png -> sview-15_11.tar.gz/textures/menuRatio1_1_144.png Changed
sview-15_10.tar.gz/textures/menuRatio1_1_16.png -> sview-15_11.tar.gz/textures/menuRatio1_1_16.png Changed
sview-15_10.tar.gz/textures/menuRatio1_1_192.png -> sview-15_11.tar.gz/textures/menuRatio1_1_192.png Changed
sview-15_10.tar.gz/textures/menuRatio1_1_24.png -> sview-15_11.tar.gz/textures/menuRatio1_1_24.png Changed
sview-15_10.tar.gz/textures/menuRatio1_1_256.png -> sview-15_11.tar.gz/textures/menuRatio1_1_256.png Changed
sview-15_10.tar.gz/textures/menuRatio1_1_32.png -> sview-15_11.tar.gz/textures/menuRatio1_1_32.png Changed
sview-15_10.tar.gz/textures/menuRatio1_1_48.png -> sview-15_11.tar.gz/textures/menuRatio1_1_48.png Changed
sview-15_10.tar.gz/textures/menuRatio1_1_64.png -> sview-15_11.tar.gz/textures/menuRatio1_1_64.png Changed
sview-15_10.tar.gz/textures/menuRatio1_1_72.png -> sview-15_11.tar.gz/textures/menuRatio1_1_72.png Changed
sview-15_10.tar.gz/textures/menuRatio1_1_96.png -> sview-15_11.tar.gz/textures/menuRatio1_1_96.png Changed
sview-15_10.tar.gz/textures/menuRatio2_1_128.png -> sview-15_11.tar.gz/textures/menuRatio2_1_128.png Changed
sview-15_10.tar.gz/textures/menuRatio2_1_144.png -> sview-15_11.tar.gz/textures/menuRatio2_1_144.png Changed
sview-15_10.tar.gz/textures/menuRatio2_1_16.png -> sview-15_11.tar.gz/textures/menuRatio2_1_16.png Changed
sview-15_10.tar.gz/textures/menuRatio2_1_192.png -> sview-15_11.tar.gz/textures/menuRatio2_1_192.png Changed
sview-15_10.tar.gz/textures/menuRatio2_1_24.png -> sview-15_11.tar.gz/textures/menuRatio2_1_24.png Changed
sview-15_10.tar.gz/textures/menuRatio2_1_256.png -> sview-15_11.tar.gz/textures/menuRatio2_1_256.png Changed
sview-15_10.tar.gz/textures/menuRatio2_1_32.png -> sview-15_11.tar.gz/textures/menuRatio2_1_32.png Changed
sview-15_10.tar.gz/textures/menuRatio2_1_48.png -> sview-15_11.tar.gz/textures/menuRatio2_1_48.png Changed
sview-15_10.tar.gz/textures/menuRatio2_1_64.png -> sview-15_11.tar.gz/textures/menuRatio2_1_64.png Changed
sview-15_10.tar.gz/textures/menuRatio2_1_72.png -> sview-15_11.tar.gz/textures/menuRatio2_1_72.png Changed
sview-15_10.tar.gz/textures/menuRatio2_1_96.png -> sview-15_11.tar.gz/textures/menuRatio2_1_96.png Changed
sview-15_10.tar.gz/textures/menuRatio4_3_128.png -> sview-15_11.tar.gz/textures/menuRatio4_3_128.png Changed
sview-15_10.tar.gz/textures/menuRatio4_3_144.png -> sview-15_11.tar.gz/textures/menuRatio4_3_144.png Changed
sview-15_10.tar.gz/textures/menuRatio4_3_16.png -> sview-15_11.tar.gz/textures/menuRatio4_3_16.png Changed
sview-15_10.tar.gz/textures/menuRatio4_3_192.png -> sview-15_11.tar.gz/textures/menuRatio4_3_192.png Changed
sview-15_10.tar.gz/textures/menuRatio4_3_24.png -> sview-15_11.tar.gz/textures/menuRatio4_3_24.png Changed
sview-15_10.tar.gz/textures/menuRatio4_3_256.png -> sview-15_11.tar.gz/textures/menuRatio4_3_256.png Changed
sview-15_10.tar.gz/textures/menuRatio4_3_32.png -> sview-15_11.tar.gz/textures/menuRatio4_3_32.png Changed
sview-15_10.tar.gz/textures/menuRatio4_3_48.png -> sview-15_11.tar.gz/textures/menuRatio4_3_48.png Changed
sview-15_10.tar.gz/textures/menuRatio4_3_64.png -> sview-15_11.tar.gz/textures/menuRatio4_3_64.png Changed
sview-15_10.tar.gz/textures/menuRatio4_3_72.png -> sview-15_11.tar.gz/textures/menuRatio4_3_72.png Changed
sview-15_10.tar.gz/textures/menuRatio4_3_96.png -> sview-15_11.tar.gz/textures/menuRatio4_3_96.png Changed
sview-15_10.tar.gz/textures/menuRatio5_4_128.png -> sview-15_11.tar.gz/textures/menuRatio5_4_128.png Changed
sview-15_10.tar.gz/textures/menuRatio5_4_144.png -> sview-15_11.tar.gz/textures/menuRatio5_4_144.png Changed
sview-15_10.tar.gz/textures/menuRatio5_4_16.png -> sview-15_11.tar.gz/textures/menuRatio5_4_16.png Changed
sview-15_10.tar.gz/textures/menuRatio5_4_192.png -> sview-15_11.tar.gz/textures/menuRatio5_4_192.png Changed
sview-15_10.tar.gz/textures/menuRatio5_4_24.png -> sview-15_11.tar.gz/textures/menuRatio5_4_24.png Changed
sview-15_10.tar.gz/textures/menuRatio5_4_256.png -> sview-15_11.tar.gz/textures/menuRatio5_4_256.png Changed
sview-15_10.tar.gz/textures/menuRatio5_4_32.png -> sview-15_11.tar.gz/textures/menuRatio5_4_32.png Changed
sview-15_10.tar.gz/textures/menuRatio5_4_48.png -> sview-15_11.tar.gz/textures/menuRatio5_4_48.png Changed
sview-15_10.tar.gz/textures/menuRatio5_4_64.png -> sview-15_11.tar.gz/textures/menuRatio5_4_64.png Changed
sview-15_10.tar.gz/textures/menuRatio5_4_72.png -> sview-15_11.tar.gz/textures/menuRatio5_4_72.png Changed
sview-15_10.tar.gz/textures/menuRatio5_4_96.png -> sview-15_11.tar.gz/textures/menuRatio5_4_96.png Changed
sview-15_10.tar.gz/textures/menuRowLR128.png -> sview-15_11.tar.gz/textures/menuRowLR128.png Changed
sview-15_10.tar.gz/textures/menuRowLR144.png -> sview-15_11.tar.gz/textures/menuRowLR144.png Changed
sview-15_10.tar.gz/textures/menuRowLR16.png -> sview-15_11.tar.gz/textures/menuRowLR16.png Changed
sview-15_10.tar.gz/textures/menuRowLR192.png -> sview-15_11.tar.gz/textures/menuRowLR192.png Changed
sview-15_10.tar.gz/textures/menuRowLR24.png -> sview-15_11.tar.gz/textures/menuRowLR24.png Changed
sview-15_10.tar.gz/textures/menuRowLR256.png -> sview-15_11.tar.gz/textures/menuRowLR256.png Changed
sview-15_10.tar.gz/textures/menuRowLR32.png -> sview-15_11.tar.gz/textures/menuRowLR32.png Changed
sview-15_10.tar.gz/textures/menuRowLR48.png -> sview-15_11.tar.gz/textures/menuRowLR48.png Changed
sview-15_10.tar.gz/textures/menuRowLR64.png -> sview-15_11.tar.gz/textures/menuRowLR64.png Changed
sview-15_10.tar.gz/textures/menuRowLR72.png -> sview-15_11.tar.gz/textures/menuRowLR72.png Changed
sview-15_10.tar.gz/textures/menuRowLR96.png -> sview-15_11.tar.gz/textures/menuRowLR96.png Changed
sview-15_10.tar.gz/textures/menuRowRL128.png -> sview-15_11.tar.gz/textures/menuRowRL128.png Changed
sview-15_10.tar.gz/textures/menuRowRL144.png -> sview-15_11.tar.gz/textures/menuRowRL144.png Changed
sview-15_10.tar.gz/textures/menuRowRL16.png -> sview-15_11.tar.gz/textures/menuRowRL16.png Changed
sview-15_10.tar.gz/textures/menuRowRL192.png -> sview-15_11.tar.gz/textures/menuRowRL192.png Changed
sview-15_10.tar.gz/textures/menuRowRL24.png -> sview-15_11.tar.gz/textures/menuRowRL24.png Changed
sview-15_10.tar.gz/textures/menuRowRL256.png -> sview-15_11.tar.gz/textures/menuRowRL256.png Changed
sview-15_10.tar.gz/textures/menuRowRL32.png -> sview-15_11.tar.gz/textures/menuRowRL32.png Changed
sview-15_10.tar.gz/textures/menuRowRL48.png -> sview-15_11.tar.gz/textures/menuRowRL48.png Changed
sview-15_10.tar.gz/textures/menuRowRL64.png -> sview-15_11.tar.gz/textures/menuRowRL64.png Changed
sview-15_10.tar.gz/textures/menuRowRL72.png -> sview-15_11.tar.gz/textures/menuRowRL72.png Changed
sview-15_10.tar.gz/textures/menuRowRL96.png -> sview-15_11.tar.gz/textures/menuRowRL96.png Changed
sview-15_10.tar.gz/textures/menuSbsLR128.png -> sview-15_11.tar.gz/textures/menuSbsLR128.png Changed
sview-15_10.tar.gz/textures/menuSbsLR144.png -> sview-15_11.tar.gz/textures/menuSbsLR144.png Changed
sview-15_10.tar.gz/textures/menuSbsLR16.png -> sview-15_11.tar.gz/textures/menuSbsLR16.png Changed
sview-15_10.tar.gz/textures/menuSbsLR192.png -> sview-15_11.tar.gz/textures/menuSbsLR192.png Changed
sview-15_10.tar.gz/textures/menuSbsLR24.png -> sview-15_11.tar.gz/textures/menuSbsLR24.png Changed
sview-15_10.tar.gz/textures/menuSbsLR256.png -> sview-15_11.tar.gz/textures/menuSbsLR256.png Changed
sview-15_10.tar.gz/textures/menuSbsLR32.png -> sview-15_11.tar.gz/textures/menuSbsLR32.png Changed
sview-15_10.tar.gz/textures/menuSbsLR48.png -> sview-15_11.tar.gz/textures/menuSbsLR48.png Changed
sview-15_10.tar.gz/textures/menuSbsLR64.png -> sview-15_11.tar.gz/textures/menuSbsLR64.png Changed
sview-15_10.tar.gz/textures/menuSbsLR72.png -> sview-15_11.tar.gz/textures/menuSbsLR72.png Changed
sview-15_10.tar.gz/textures/menuSbsLR96.png -> sview-15_11.tar.gz/textures/menuSbsLR96.png Changed
sview-15_10.tar.gz/textures/menuSbsRL128.png -> sview-15_11.tar.gz/textures/menuSbsRL128.png Changed
sview-15_10.tar.gz/textures/menuSbsRL144.png -> sview-15_11.tar.gz/textures/menuSbsRL144.png Changed
sview-15_10.tar.gz/textures/menuSbsRL16.png -> sview-15_11.tar.gz/textures/menuSbsRL16.png Changed
sview-15_10.tar.gz/textures/menuSbsRL192.png -> sview-15_11.tar.gz/textures/menuSbsRL192.png Changed
sview-15_10.tar.gz/textures/menuSbsRL24.png -> sview-15_11.tar.gz/textures/menuSbsRL24.png Changed
sview-15_10.tar.gz/textures/menuSbsRL256.png -> sview-15_11.tar.gz/textures/menuSbsRL256.png Changed
sview-15_10.tar.gz/textures/menuSbsRL32.png -> sview-15_11.tar.gz/textures/menuSbsRL32.png Changed
sview-15_10.tar.gz/textures/menuSbsRL48.png -> sview-15_11.tar.gz/textures/menuSbsRL48.png Changed
sview-15_10.tar.gz/textures/menuSbsRL64.png -> sview-15_11.tar.gz/textures/menuSbsRL64.png Changed
sview-15_10.tar.gz/textures/menuSbsRL72.png -> sview-15_11.tar.gz/textures/menuSbsRL72.png Changed
sview-15_10.tar.gz/textures/menuSbsRL96.png -> sview-15_11.tar.gz/textures/menuSbsRL96.png Changed
sview-15_10.tar.gz/textures/menuTiledLR128.png -> sview-15_11.tar.gz/textures/menuTiledLR128.png Changed
sview-15_10.tar.gz/textures/menuTiledLR144.png -> sview-15_11.tar.gz/textures/menuTiledLR144.png Changed
sview-15_10.tar.gz/textures/menuTiledLR16.png -> sview-15_11.tar.gz/textures/menuTiledLR16.png Changed
sview-15_10.tar.gz/textures/menuTiledLR192.png -> sview-15_11.tar.gz/textures/menuTiledLR192.png Changed
sview-15_10.tar.gz/textures/menuTiledLR24.png -> sview-15_11.tar.gz/textures/menuTiledLR24.png Changed
sview-15_10.tar.gz/textures/menuTiledLR256.png -> sview-15_11.tar.gz/textures/menuTiledLR256.png Changed
sview-15_10.tar.gz/textures/menuTiledLR32.png -> sview-15_11.tar.gz/textures/menuTiledLR32.png Changed
sview-15_10.tar.gz/textures/menuTiledLR48.png -> sview-15_11.tar.gz/textures/menuTiledLR48.png Changed
sview-15_10.tar.gz/textures/menuTiledLR64.png -> sview-15_11.tar.gz/textures/menuTiledLR64.png Changed
sview-15_10.tar.gz/textures/menuTiledLR72.png -> sview-15_11.tar.gz/textures/menuTiledLR72.png Changed
sview-15_10.tar.gz/textures/menuTiledLR96.png -> sview-15_11.tar.gz/textures/menuTiledLR96.png Changed
sview-15_11.tar.gz/texturesSrc/export.sh Added
19
 
1
@@ -0,0 +1,17 @@
2
+#!/bin/bash
3
+# Auxiliary script to export SVG images into grayscale PNG image.
4
+
5
+anSvgName=$1
6
+aPngName=$2
7
+if [ "$aPngName" == "" ]; then aPngName=$1; fi
8
+if [ ! -f "$anSvgName" ]; then anSvgName=${anSvgName}.svg; fi
9
+
10
+aSizeList=(16 24 32 48 64 72 96 128 144 192 256)
11
+for aSize in "${aSizeList[@]}"
12
+do
13
+  rm -f "${aPngName}${aSize}.png"
14
+
15
+  inkscape --file "$anSvgName" --export-area-page --export-height ${aSize} --export-png "${aPngName}${aSize}.tmp.png"
16
+  ffmpeg -i "${aPngName}${aSize}.tmp.png" -pix_fmt gray "${aPngName}${aSize}.png"
17
+  rm -f "${aPngName}${aSize}.tmp.png"
18
+done
19
sview-15_10.tar.gz/texturesSrc/menuRatio.svg -> sview-15_11.tar.gz/texturesSrc/menuRatio.svg Changed
201
 
1
@@ -7,217 +7,34 @@
2
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
3
    xmlns:svg="http://www.w3.org/2000/svg"
4
    xmlns="http://www.w3.org/2000/svg"
5
-   xmlns:xlink="http://www.w3.org/1999/xlink"
6
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
7
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
8
    width="16"
9
    height="16"
10
    id="svg2"
11
    version="1.1"
12
-   inkscape:version="0.48.3.1 r9886"
13
+   inkscape:version="0.91 r13725"
14
    sodipodi:docname="menuRatio.svg"
15
    inkscape:export-filename="menuRatio1_1_16.png"
16
    inkscape:export-xdpi="90"
17
    inkscape:export-ydpi="90">
18
   <defs
19
-     id="defs4">
20
-    <linearGradient
21
-       id="linearGradient4713">
22
-      <stop
23
-         id="stop4715"
24
-         offset="0"
25
-         style="stop-color:#000000;stop-opacity:0;" />
26
-      <stop
27
-         style="stop-color:#000000;stop-opacity:0;"
28
-         offset="0.46642813"
29
-         id="stop4717" />
30
-      <stop
31
-         id="stop4719"
32
-         offset="0.47303236"
33
-         style="stop-color:#000000;stop-opacity:1;" />
34
-      <stop
35
-         id="stop4721"
36
-         offset="1"
37
-         style="stop-color:#000000;stop-opacity:1;" />
38
-    </linearGradient>
39
-    <linearGradient
40
-       id="linearGradient4634">
41
-      <stop
42
-         style="stop-color:#000000;stop-opacity:1;"
43
-         offset="0"
44
-         id="stop4636" />
45
-      <stop
46
-         id="stop4642"
47
-         offset="0.46642813"
48
-         style="stop-color:#000000;stop-opacity:1;" />
49
-      <stop
50
-         style="stop-color:#000000;stop-opacity:0;"
51
-         offset="0.47303236"
52
-         id="stop4644" />
53
-      <stop
54
-         style="stop-color:#000000;stop-opacity:0;"
55
-         offset="1"
56
-         id="stop4638" />
57
-    </linearGradient>
58
-    <linearGradient
59
-       inkscape:collect="always"
60
-       xlink:href="#linearGradient4634"
61
-       id="linearGradient4640"
62
-       x1="10.176364"
63
-       y1="7.4030485"
64
-       x2="14.850094"
65
-       y2="7.4030485"
66
-       gradientUnits="userSpaceOnUse" />
67
-    <linearGradient
68
-       inkscape:collect="always"
69
-       xlink:href="#linearGradient4634-3"
70
-       id="linearGradient4640-7"
71
-       x1="10.176364"
72
-       y1="7.4030485"
73
-       x2="14.850094"
74
-       y2="7.4030485"
75
-       gradientUnits="userSpaceOnUse" />
76
-    <linearGradient
77
-       id="linearGradient4634-3">
78
-      <stop
79
-         style="stop-color:#000000;stop-opacity:1;"
80
-         offset="0"
81
-         id="stop4636-4" />
82
-      <stop
83
-         id="stop4642-5"
84
-         offset="0.46642813"
85
-         style="stop-color:#000000;stop-opacity:1;" />
86
-      <stop
87
-         style="stop-color:#000000;stop-opacity:0;"
88
-         offset="0.47303236"
89
-         id="stop4644-5" />
90
-      <stop
91
-         style="stop-color:#000000;stop-opacity:0;"
92
-         offset="1"
93
-         id="stop4638-7" />
94
-    </linearGradient>
95
-    <linearGradient
96
-       inkscape:collect="always"
97
-       xlink:href="#linearGradient4634-3"
98
-       id="linearGradient4662"
99
-       x1="10.176364"
100
-       y1="7.4030485"
101
-       x2="14.850094"
102
-       y2="7.4030485"
103
-       gradientUnits="userSpaceOnUse" />
104
-    <linearGradient
105
-       id="linearGradient4664">
106
-      <stop
107
-         style="stop-color:#000000;stop-opacity:1;"
108
-         offset="0"
109
-         id="stop4666" />
110
-      <stop
111
-         id="stop4668"
112
-         offset="0.46642813"
113
-         style="stop-color:#000000;stop-opacity:1;" />
114
-      <stop
115
-         style="stop-color:#000000;stop-opacity:0;"
116
-         offset="0.47303236"
117
-         id="stop4670" />
118
-      <stop
119
-         style="stop-color:#000000;stop-opacity:0;"
120
-         offset="1"
121
-         id="stop4672" />
122
-    </linearGradient>
123
-    <linearGradient
124
-       gradientTransform="translate(-10.601134,6.9138058)"
125
-       y2="7.4030485"
126
-       x2="14.850094"
127
-       y1="7.4030485"
128
-       x1="10.176364"
129
-       gradientUnits="userSpaceOnUse"
130
-       id="linearGradient4676"
131
-       xlink:href="#linearGradient4713"
132
-       inkscape:collect="always" />
133
-    <linearGradient
134
-       gradientTransform="translate(-9.1593698,6.9138058)"
135
-       y2="7.4030485"
136
-       x2="14.850094"
137
-       y1="7.4030485"
138
-       x1="10.176364"
139
-       gradientUnits="userSpaceOnUse"
140
-       id="linearGradient4676-8"
141
-       xlink:href="#linearGradient4713-2"
142
-       inkscape:collect="always" />
143
-    <linearGradient
144
-       id="linearGradient4713-2">
145
-      <stop
146
-         id="stop4715-9"
147
-         offset="0"
148
-         style="stop-color:#000000;stop-opacity:0;" />
149
-      <stop
150
-         style="stop-color:#000000;stop-opacity:0;"
151
-         offset="0.46642813"
152
-         id="stop4717-9" />
153
-      <stop
154
-         id="stop4719-2"
155
-         offset="0.47303236"
156
-         style="stop-color:#000000;stop-opacity:1;" />
157
-      <stop
158
-         id="stop4721-1"
159
-         offset="1"
160
-         style="stop-color:#000000;stop-opacity:1;" />
161
-    </linearGradient>
162
-    <linearGradient
163
-       gradientTransform="translate(-9.1593698,6.9138058)"
164
-       y2="7.4030485"
165
-       x2="14.850094"
166
-       y1="7.4030485"
167
-       x1="10.176364"
168
-       gradientUnits="userSpaceOnUse"
169
-       id="linearGradient4757"
170
-       xlink:href="#linearGradient4713-2"
171
-       inkscape:collect="always" />
172
-    <linearGradient
173
-       id="linearGradient4759">
174
-      <stop
175
-         id="stop4761"
176
-         offset="0"
177
-         style="stop-color:#000000;stop-opacity:0;" />
178
-      <stop
179
-         style="stop-color:#000000;stop-opacity:0;"
180
-         offset="0.46642813"
181
-         id="stop4763" />
182
-      <stop
183
-         id="stop4765"
184
-         offset="0.47303236"
185
-         style="stop-color:#000000;stop-opacity:1;" />
186
-      <stop
187
-         id="stop4767"
188
-         offset="1"
189
-         style="stop-color:#000000;stop-opacity:1;" />
190
-    </linearGradient>
191
-    <linearGradient
192
-       y2="7.4030485"
193
-       x2="14.850094"
194
-       y1="7.4030485"
195
-       x1="10.176364"
196
-       gradientTransform="translate(-7.0215298,3.6524912)"
197
-       gradientUnits="userSpaceOnUse"
198
-       id="linearGradient4771"
199
-       xlink:href="#linearGradient4713-2"
200
-       inkscape:collect="always" />
201
sview-15_10.tar.gz/texturesSrc/menuSrcFormat.svg -> sview-15_11.tar.gz/texturesSrc/menuSrcFormat.svg Changed
201
 
1
@@ -14,7 +14,7 @@
2
    height="16"
3
    id="svg2"
4
    version="1.1"
5
-   inkscape:version="0.48.5 r10040"
6
+   inkscape:version="0.91 r13725"
7
    sodipodi:docname="menuSrcFormat.svg"
8
    inkscape:export-filename="/home/menuSbsLR16.png"
9
    inkscape:export-xdpi="90"
10
@@ -41,91 +41,7 @@
11
          style="stop-color:#000000;stop-opacity:1;" />
12
     </linearGradient>
13
     <linearGradient
14
-       id="linearGradient4634">
15
-      <stop
16
-         style="stop-color:#000000;stop-opacity:1;"
17
-         offset="0"
18
-         id="stop4636" />
19
-      <stop
20
-         id="stop4642"
21
-         offset="0.46642813"
22
-         style="stop-color:#000000;stop-opacity:1;" />
23
-      <stop
24
-         style="stop-color:#000000;stop-opacity:0;"
25
-         offset="0.47303236"
26
-         id="stop4644" />
27
-      <stop
28
-         style="stop-color:#000000;stop-opacity:0;"
29
-         offset="1"
30
-         id="stop4638" />
31
-    </linearGradient>
32
-    <linearGradient
33
-       inkscape:collect="always"
34
-       xlink:href="#linearGradient4634"
35
-       id="linearGradient4640"
36
-       x1="10.176364"
37
-       y1="7.4030485"
38
-       x2="14.850094"
39
-       y2="7.4030485"
40
-       gradientUnits="userSpaceOnUse" />
41
-    <linearGradient
42
-       inkscape:collect="always"
43
-       xlink:href="#linearGradient4634-3"
44
-       id="linearGradient4640-7"
45
-       x1="10.176364"
46
-       y1="7.4030485"
47
-       x2="14.850094"
48
-       y2="7.4030485"
49
-       gradientUnits="userSpaceOnUse" />
50
-    <linearGradient
51
-       id="linearGradient4634-3">
52
-      <stop
53
-         style="stop-color:#000000;stop-opacity:1;"
54
-         offset="0"
55
-         id="stop4636-4" />
56
-      <stop
57
-         id="stop4642-5"
58
-         offset="0.46642813"
59
-         style="stop-color:#000000;stop-opacity:1;" />
60
-      <stop
61
-         style="stop-color:#000000;stop-opacity:0;"
62
-         offset="0.47303236"
63
-         id="stop4644-5" />
64
-      <stop
65
-         style="stop-color:#000000;stop-opacity:0;"
66
-         offset="1"
67
-         id="stop4638-7" />
68
-    </linearGradient>
69
-    <linearGradient
70
-       inkscape:collect="always"
71
-       xlink:href="#linearGradient4634-3"
72
-       id="linearGradient4662"
73
-       x1="10.176364"
74
-       y1="7.4030485"
75
-       x2="14.850094"
76
-       y2="7.4030485"
77
-       gradientUnits="userSpaceOnUse" />
78
-    <linearGradient
79
-       id="linearGradient4664">
80
-      <stop
81
-         style="stop-color:#000000;stop-opacity:1;"
82
-         offset="0"
83
-         id="stop4666" />
84
-      <stop
85
-         id="stop4668"
86
-         offset="0.46642813"
87
-         style="stop-color:#000000;stop-opacity:1;" />
88
-      <stop
89
-         style="stop-color:#000000;stop-opacity:0;"
90
-         offset="0.47303236"
91
-         id="stop4670" />
92
-      <stop
93
-         style="stop-color:#000000;stop-opacity:0;"
94
-         offset="1"
95
-         id="stop4672" />
96
-    </linearGradient>
97
-    <linearGradient
98
-       gradientTransform="translate(-10.601134,6.9138058)"
99
+       gradientTransform="matrix(1.126643,0,0,0.8875926,-11.954742,5.9491429)"
100
        y2="7.4030485"
101
        x2="14.850094"
102
        y1="7.4030485"
103
@@ -135,16 +51,6 @@
104
        xlink:href="#linearGradient4713"
105
        inkscape:collect="always" />
106
     <linearGradient
107
-       gradientTransform="translate(-9.1593698,6.9138058)"
108
-       y2="7.4030485"
109
-       x2="14.850094"
110
-       y1="7.4030485"
111
-       x1="10.176364"
112
-       gradientUnits="userSpaceOnUse"
113
-       id="linearGradient4676-8"
114
-       xlink:href="#linearGradient4713-2"
115
-       inkscape:collect="always" />
116
-    <linearGradient
117
        id="linearGradient4713-2">
118
       <stop
119
          id="stop4715-9"
120
@@ -164,40 +70,11 @@
121
          style="stop-color:#000000;stop-opacity:1;" />
122
     </linearGradient>
123
     <linearGradient
124
-       gradientTransform="translate(-9.1593698,6.9138058)"
125
-       y2="7.4030485"
126
-       x2="14.850094"
127
-       y1="7.4030485"
128
-       x1="10.176364"
129
-       gradientUnits="userSpaceOnUse"
130
-       id="linearGradient4757"
131
-       xlink:href="#linearGradient4713-2"
132
-       inkscape:collect="always" />
133
-    <linearGradient
134
-       id="linearGradient4759">
135
-      <stop
136
-         id="stop4761"
137
-         offset="0"
138
-         style="stop-color:#000000;stop-opacity:0;" />
139
-      <stop
140
-         style="stop-color:#000000;stop-opacity:0;"
141
-         offset="0.46642813"
142
-         id="stop4763" />
143
-      <stop
144
-         id="stop4765"
145
-         offset="0.47303236"
146
-         style="stop-color:#000000;stop-opacity:1;" />
147
-      <stop
148
-         id="stop4767"
149
-         offset="1"
150
-         style="stop-color:#000000;stop-opacity:1;" />
151
-    </linearGradient>
152
-    <linearGradient
153
        y2="7.4030485"
154
        x2="14.850094"
155
        y1="7.4030485"
156
        x1="10.176364"
157
-       gradientTransform="translate(-7.0215298,3.6524912)"
158
+       gradientTransform="translate(-7.0215298,2.8075088)"
159
        gradientUnits="userSpaceOnUse"
160
        id="linearGradient4771"
161
        xlink:href="#linearGradient4713-2"
162
@@ -208,19 +85,19 @@
163
      pagecolor="#ffffff"
164
      bordercolor="#666666"
165
      borderopacity="1.0"
166
-     inkscape:pageopacity="0.0"
167
+     inkscape:pageopacity="0"
168
      inkscape:pageshadow="2"
169
-     inkscape:zoom="31.999999"
170
-     inkscape:cx="8.3167614"
171
-     inkscape:cy="6.1548109"
172
+     inkscape:zoom="7.9999998"
173
+     inkscape:cx="22.787657"
174
+     inkscape:cy="22.468716"
175
      inkscape:document-units="px"
176
-     inkscape:current-layer="layer8"
177
+     inkscape:current-layer="layer3"
178
      showgrid="false"
179
-     inkscape:window-width="1920"
180
-     inkscape:window-height="1004"
181
-     inkscape:window-x="-9"
182
-     inkscape:window-y="-9"
183
-     inkscape:window-maximized="1"
184
+     inkscape:window-width="2410"
185
+     inkscape:window-height="1233"
186
+     inkscape:window-x="90"
187
+     inkscape:window-y="28"
188
+     inkscape:window-maximized="0"
189
      inkscape:snap-grids="true" />
190
   <metadata
191
      id="metadata7">
192
@@ -230,7 +107,7 @@
193
         <dc:format>image/svg+xml</dc:format>
194
         <dc:type
195
            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
196
-        <dc:title />
197
+        <dc:title></dc:title>
198
       </cc:Work>
199
     </rdf:RDF>
200
   </metadata>
201