From 621935256b987929450717d4561fa16f0e732e8d Mon Sep 17 00:00:00 2001
From: fszontagh <51741446+fszontagh@users.noreply.github.com>
Date: Sun, 25 Feb 2024 08:23:46 +0000
Subject: [PATCH] Skeleton with icons
---
res/icons/16/interrogation.png | 0
.gitignore | 7
main.cpp | 25 +
res/icons/16/palette.png | 0
res/icons/16/trash.png | 0
CMakeLists.txt | 28 +
res/icons/16/images.png | 0
res/icons/16/add_image.png | 0
res/icons/16/forward.png | 0
res/icons/16/zoom_in.png | 0
ui/ImageViewer.h | 56 +++
ui/ImageViewerImageWindow.cpp | 8
static/minimal.rc | 2
res/icons/16/pause.png | 0
static/window.fbp | 279 ++++++++++++++++++
res/zoom_out.png.h | 59 +++
res/icons/16/fullscreen.png | 0
res/icons/16/rotate_right.png | 0
res/icons/16/rotate_left.png | 0
res/icons/16/dice_four.png | 0
res/icons/16/file_import.png | 0
res/icons/16/rewind.png | 0
res/rotate_left.png.h | 60 ++++
ui/ImageViewerImageWindow.h | 25 +
res/icons/16/disk.png | 0
res/icons/16/cube.ico | 0
res/fullscreen.png.h | 48 +++
res/icons/16/replace.png | 0
ui/ImageViewer.cpp | 74 ++++
res/icons/16/settings.png | 0
res/add_image.png.h | 64 ++++
res/icons/16/play.png | 0
res/icons/16/cross_circle.png | 0
res/icons/16/picture.png | 0
res/icons/16/zoom_out.png | 0
res/icons/16/folder_open.png | 0
res/zoom_in.png.h | 59 +++
res/rotate_right.png.h | 60 ++++
res/icons/16/text_box_dots.png | 0
res/icons/16/cube.png | 0
res/icons/16/refresh.png | 0
41 files changed, 854 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
index 0def275..2fec102 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,10 @@
*.exe
*.out
*.app
+
+
+vcpkg_installed
+build/
+.vscode/c_cpp_properties.json
+.vscode/settings.json
+.vscode/tasks.json
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..7bcdae6
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,28 @@
+cmake_minimum_required(VERSION 3.5.0)
+
+set(PNAME ImageViewer)
+
+project(${PNAME} VERSION 0.1.0 LANGUAGES C CXX)
+
+find_package(wxWidgets CONFIG REQUIRED)
+find_package(exiv2 CONFIG REQUIRED)
+
+
+IF(WIN32)
+ SET(OPTIONS WIN32)
+ SET(SRCS ${SRCS} static/minimal.rc)
+ENDIF(WIN32)
+
+add_executable(${PNAME} ${OPTIONS} ${SRCS} main.cpp ui/ImageViewer.cpp ui/ImageViewerImageWindow.cpp)
+
+target_compile_definitions(${PROJECT_NAME} PRIVATE ${wxWidgets_DEFINITIONS} "$<$<CONFIG:DEBUG>:${wxWidgets_DEFINITIONS_DEBUG}>")
+target_include_directories(${PROJECT_NAME} PRIVATE ${wxWidgets_INCLUDE_DIRS})
+
+
+target_link_libraries(${PNAME} PRIVATE Exiv2::exiv2lib wx::core wx::base wx::xrc wx::adv wx::richtext wx::aui wx::propgrid wx::html)
+target_compile_features(${PNAME} PUBLIC cxx_std_17)
+
+
+set(CPACK_PROJECT_NAME ${PROJECT_NAME})
+set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
+include(CPack)
diff --git a/main.cpp b/main.cpp
new file mode 100644
index 0000000..4d14ac1
--- /dev/null
+++ b/main.cpp
@@ -0,0 +1,25 @@
+#include <wx/app.h>
+#include <wx/event.h>
+#define STB_IMAGE_IMPLEMENTATION
+#include "ui/ImageViewerImageWindow.h"
+#include <wx/image.h>
+
+// Define the MainApp
+class MainApp : public wxApp
+{
+public:
+ MainApp() {}
+ virtual ~MainApp() {}
+
+ virtual bool OnInit()
+ {
+ wxInitAllImageHandlers();
+ ImageViewerImageWindow *mainFrame = new ImageViewerImageWindow(nullptr);
+ SetTopWindow(mainFrame);
+
+ return GetTopWindow()->Show();
+ }
+};
+
+DECLARE_APP(MainApp)
+IMPLEMENT_APP(MainApp)
\ No newline at end of file
diff --git a/res/add_image.png.h b/res/add_image.png.h
new file mode 100644
index 0000000..6b68549
--- /dev/null
+++ b/res/add_image.png.h
@@ -0,0 +1,64 @@
+#ifndef ADD_IMAGE_PNG_H
+#define ADD_IMAGE_PNG_H
+
+#include <wx/mstream.h>
+#include <wx/image.h>
+#include <wx/bitmap.h>
+
+static const unsigned char add_image_png[] =
+{
+ 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00,
+ 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x08, 0x06, 0x00, 0x00, 0x00, 0x1F,
+ 0xF3, 0xFF, 0x61, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59,
+ 0x73, 0x00, 0x00, 0x09, 0xD7, 0x00, 0x00, 0x09, 0xD7, 0x01,
+ 0xB1, 0x6E, 0x17, 0xB7, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45,
+ 0x58, 0x74, 0x53, 0x6F, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
+ 0x00, 0x77, 0x77, 0x77, 0x2E, 0x69, 0x6E, 0x6B, 0x73, 0x63,
+ 0x61, 0x70, 0x65, 0x2E, 0x6F, 0x72, 0x67, 0x9B, 0xEE, 0x3C,
+ 0x1A, 0x00, 0x00, 0x01, 0x38, 0x49, 0x44, 0x41, 0x54, 0x38,
+ 0x8D, 0x7D, 0xD3, 0x3D, 0x4B, 0x5D, 0x41, 0x10, 0x06, 0xE0,
+ 0xE7, 0xE2, 0x15, 0x04, 0xFF, 0x80, 0x8D, 0x55, 0x1A, 0x0B,
+ 0x3F, 0xDA, 0x58, 0xE4, 0x17, 0xD8, 0x26, 0x04, 0xAD, 0x44,
+ 0xC4, 0xCA, 0x52, 0xB0, 0x12, 0x0B, 0x6D, 0x24, 0xA2, 0x28,
+ 0xA4, 0x89, 0xE9, 0x05, 0xBF, 0x3A, 0x2B, 0x1B, 0x3F, 0x0A,
+ 0x6F, 0x23, 0x04, 0x82, 0x60, 0x27, 0x89, 0xE6, 0x07, 0x04,
+ 0x15, 0x41, 0xEE, 0xF5, 0x5A, 0xEC, 0x1C, 0xB9, 0x1E, 0x8E,
+ 0xFB, 0xC2, 0x70, 0x76, 0x67, 0xE7, 0x7D, 0x67, 0xF6, 0xEC,
+ 0x0C, 0x09, 0x53, 0xB8, 0x44, 0x13, 0xED, 0x8C, 0xDD, 0xE3,
+ 0x08, 0x43, 0xC1, 0x53, 0x0B, 0xF2, 0x0F, 0x7C, 0xC7, 0x39,
+ 0x5A, 0xDE, 0x47, 0x2F, 0x26, 0x31, 0x82, 0x41, 0xFC, 0x13,
+ 0x99, 0x37, 0x32, 0xA4, 0x3E, 0xAC, 0x63, 0x2D, 0xD6, 0x3D,
+ 0xF8, 0x83, 0xC5, 0x22, 0xA0, 0x89, 0xAF, 0x19, 0x81, 0x33,
+ 0xFC, 0x0D, 0x3B, 0x09, 0xDF, 0x3E, 0xB6, 0xA1, 0x8E, 0x2E,
+ 0x3C, 0x67, 0x04, 0x86, 0xF1, 0x2D, 0xD6, 0x73, 0xF1, 0x6D,
+ 0x05, 0x4F, 0xBD, 0x14, 0xFC, 0x01, 0xB3, 0xE8, 0xC6, 0x4F,
+ 0xFC, 0xC2, 0x16, 0x96, 0xE2, 0x7C, 0xB5, 0xAC, 0xDE, 0x29,
+ 0xF0, 0x09, 0x87, 0xB8, 0xC1, 0x23, 0x66, 0x30, 0x1E, 0x59,
+ 0xF7, 0x22, 0xA6, 0x51, 0x55, 0x62, 0x1B, 0x9B, 0xB8, 0x8B,
+ 0xC0, 0x6E, 0xE9, 0x75, 0x36, 0xF1, 0x84, 0xCF, 0x15, 0x9C,
+ 0x95, 0xB0, 0x57, 0x81, 0x76, 0x07, 0xB9, 0x40, 0x4D, 0x7A,
+ 0x9D, 0x26, 0x26, 0xAA, 0x32, 0x77, 0x0A, 0x1C, 0x94, 0xC8,
+ 0x9D, 0x22, 0x45, 0x25, 0x63, 0xE1, 0x5B, 0x46, 0x7F, 0x59,
+ 0xE0, 0x4B, 0x26, 0x41, 0x4D, 0xFA, 0x89, 0x33, 0x55, 0xF1,
+ 0x75, 0x3C, 0x48, 0x1D, 0x96, 0xAB, 0x70, 0x21, 0x73, 0xEE,
+ 0x08, 0xC7, 0x52, 0x87, 0xBD, 0x87, 0x25, 0xD5, 0xB3, 0x71,
+ 0x55, 0x93, 0x06, 0xE3, 0x14, 0xFF, 0x71, 0xE1, 0xED, 0x2C,
+ 0x5C, 0x63, 0x5E, 0xBA, 0xF3, 0xC7, 0xF0, 0xED, 0x48, 0x6D,
+ 0xDD, 0xC0, 0x6D, 0x1D, 0xBF, 0xA5, 0xC1, 0x98, 0xC6, 0x80,
+ 0xE8, 0xB0, 0x12, 0x6E, 0xC2, 0x0A, 0x34, 0xB0, 0x9B, 0xBB,
+ 0x56, 0x0E, 0x57, 0x18, 0x2D, 0x36, 0x2F, 0x15, 0x18, 0x51,
+ 0x56, 0x88, 0xBB, 0xC5, 0xFB, 0x00, 0x00, 0x00, 0x00, 0x49,
+ 0x45, 0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82,
+};
+
+wxBitmap& add_image_png_to_wx_bitmap()
+{
+ static wxMemoryInputStream memIStream( add_image_png, sizeof( add_image_png ) );
+ static wxImage image( memIStream, wxBITMAP_TYPE_PNG );
+ static wxBitmap bmp( image );
+ return bmp;
+}
+
+
+#endif //ADD_IMAGE_PNG_H
diff --git a/res/fullscreen.png.h b/res/fullscreen.png.h
new file mode 100644
index 0000000..dcbd7e3
--- /dev/null
+++ b/res/fullscreen.png.h
@@ -0,0 +1,48 @@
+#ifndef FULLSCREEN_PNG_H
+#define FULLSCREEN_PNG_H
+
+#include <wx/mstream.h>
+#include <wx/image.h>
+#include <wx/bitmap.h>
+
+static const unsigned char fullscreen_png[] =
+{
+ 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00,
+ 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x08, 0x06, 0x00, 0x00, 0x00, 0x1F,
+ 0xF3, 0xFF, 0x61, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59,
+ 0x73, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01,
+ 0x4E, 0x7B, 0x26, 0x08, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45,
+ 0x58, 0x74, 0x53, 0x6F, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
+ 0x00, 0x77, 0x77, 0x77, 0x2E, 0x69, 0x6E, 0x6B, 0x73, 0x63,
+ 0x61, 0x70, 0x65, 0x2E, 0x6F, 0x72, 0x67, 0x9B, 0xEE, 0x3C,
+ 0x1A, 0x00, 0x00, 0x00, 0x9B, 0x49, 0x44, 0x41, 0x54, 0x38,
+ 0x8D, 0xCD, 0xD3, 0xB1, 0x0D, 0xC2, 0x30, 0x10, 0x85, 0xE1,
+ 0x2F, 0x62, 0x0C, 0x28, 0x58, 0x83, 0x94, 0x74, 0xE9, 0x68,
+ 0x18, 0x20, 0x1D, 0x2D, 0xA9, 0x18, 0x85, 0x65, 0x42, 0xC9,
+ 0x0C, 0xA4, 0x05, 0xB1, 0x06, 0xA1, 0xB0, 0x23, 0x19, 0x45,
+ 0x48, 0x36, 0x15, 0x4F, 0xB2, 0x64, 0x3F, 0xE9, 0x7E, 0xDD,
+ 0xE9, 0xF9, 0xC8, 0xD7, 0x80, 0x31, 0x39, 0x0F, 0x34, 0x55,
+ 0x01, 0xA0, 0xC6, 0x32, 0xDE, 0x0F, 0xD8, 0x46, 0x48, 0xB1,
+ 0x3A, 0xBC, 0xD0, 0xC7, 0x4E, 0x8A, 0x74, 0x8C, 0x45, 0x27,
+ 0xEC, 0x4B, 0x01, 0x69, 0xB1, 0x52, 0x40, 0x2B, 0xB4, 0xDD,
+ 0x25, 0x5E, 0x8D, 0x5B, 0x2E, 0x60, 0x17, 0x21, 0x7F, 0xA8,
+ 0xC5, 0x17, 0xBF, 0xC5, 0x5A, 0xE6, 0x8C, 0x03, 0x36, 0xC9,
+ 0x7B, 0xCA, 0x39, 0x7B, 0xE6, 0x51, 0x88, 0x84, 0x79, 0x54,
+ 0x45, 0x80, 0x9F, 0x8A, 0x27, 0x40, 0x6F, 0x9E, 0x73, 0x96,
+ 0x2A, 0x61, 0x21, 0x56, 0xB8, 0xE0, 0x1C, 0xFD, 0x27, 0xAE,
+ 0xB9, 0x90, 0x06, 0x77, 0x9F, 0xAB, 0x9A, 0xFD, 0xC3, 0xDE,
+ 0x7F, 0x59, 0x2B, 0x02, 0x7A, 0x97, 0x4A, 0x74, 0x00, 0x00,
+ 0x00, 0x00, 0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82,
+};
+
+wxBitmap& fullscreen_png_to_wx_bitmap()
+{
+ static wxMemoryInputStream memIStream( fullscreen_png, sizeof( fullscreen_png ) );
+ static wxImage image( memIStream, wxBITMAP_TYPE_PNG );
+ static wxBitmap bmp( image );
+ return bmp;
+}
+
+
+#endif //FULLSCREEN_PNG_H
diff --git a/res/icons/16/add_image.png b/res/icons/16/add_image.png
new file mode 100644
index 0000000..ac809b5
--- /dev/null
+++ b/res/icons/16/add_image.png
Binary files differ
diff --git a/res/icons/16/cross_circle.png b/res/icons/16/cross_circle.png
new file mode 100644
index 0000000..aa05a65
--- /dev/null
+++ b/res/icons/16/cross_circle.png
Binary files differ
diff --git a/res/icons/16/cube.ico b/res/icons/16/cube.ico
new file mode 100644
index 0000000..be7152b
--- /dev/null
+++ b/res/icons/16/cube.ico
Binary files differ
diff --git a/res/icons/16/cube.png b/res/icons/16/cube.png
new file mode 100644
index 0000000..39f3037
--- /dev/null
+++ b/res/icons/16/cube.png
Binary files differ
diff --git a/res/icons/16/dice_four.png b/res/icons/16/dice_four.png
new file mode 100644
index 0000000..4a31b84
--- /dev/null
+++ b/res/icons/16/dice_four.png
Binary files differ
diff --git a/res/icons/16/disk.png b/res/icons/16/disk.png
new file mode 100644
index 0000000..3d9afb1
--- /dev/null
+++ b/res/icons/16/disk.png
Binary files differ
diff --git a/res/icons/16/file_import.png b/res/icons/16/file_import.png
new file mode 100644
index 0000000..7e87159
--- /dev/null
+++ b/res/icons/16/file_import.png
Binary files differ
diff --git a/res/icons/16/folder_open.png b/res/icons/16/folder_open.png
new file mode 100644
index 0000000..8838325
--- /dev/null
+++ b/res/icons/16/folder_open.png
Binary files differ
diff --git a/res/icons/16/forward.png b/res/icons/16/forward.png
new file mode 100644
index 0000000..43dc718
--- /dev/null
+++ b/res/icons/16/forward.png
Binary files differ
diff --git a/res/icons/16/fullscreen.png b/res/icons/16/fullscreen.png
new file mode 100644
index 0000000..3aa177a
--- /dev/null
+++ b/res/icons/16/fullscreen.png
Binary files differ
diff --git a/res/icons/16/images.png b/res/icons/16/images.png
new file mode 100644
index 0000000..24f6c0e
--- /dev/null
+++ b/res/icons/16/images.png
Binary files differ
diff --git a/res/icons/16/interrogation.png b/res/icons/16/interrogation.png
new file mode 100644
index 0000000..ee17c65
--- /dev/null
+++ b/res/icons/16/interrogation.png
Binary files differ
diff --git a/res/icons/16/palette.png b/res/icons/16/palette.png
new file mode 100644
index 0000000..637029b
--- /dev/null
+++ b/res/icons/16/palette.png
Binary files differ
diff --git a/res/icons/16/pause.png b/res/icons/16/pause.png
new file mode 100644
index 0000000..8da828c
--- /dev/null
+++ b/res/icons/16/pause.png
Binary files differ
diff --git a/res/icons/16/picture.png b/res/icons/16/picture.png
new file mode 100644
index 0000000..00c4d82
--- /dev/null
+++ b/res/icons/16/picture.png
Binary files differ
diff --git a/res/icons/16/play.png b/res/icons/16/play.png
new file mode 100644
index 0000000..25ad68a
--- /dev/null
+++ b/res/icons/16/play.png
Binary files differ
diff --git a/res/icons/16/refresh.png b/res/icons/16/refresh.png
new file mode 100644
index 0000000..b132117
--- /dev/null
+++ b/res/icons/16/refresh.png
Binary files differ
diff --git a/res/icons/16/replace.png b/res/icons/16/replace.png
new file mode 100644
index 0000000..e5d062a
--- /dev/null
+++ b/res/icons/16/replace.png
Binary files differ
diff --git a/res/icons/16/rewind.png b/res/icons/16/rewind.png
new file mode 100644
index 0000000..51a23cb
--- /dev/null
+++ b/res/icons/16/rewind.png
Binary files differ
diff --git a/res/icons/16/rotate_left.png b/res/icons/16/rotate_left.png
new file mode 100644
index 0000000..ca71ca8
--- /dev/null
+++ b/res/icons/16/rotate_left.png
Binary files differ
diff --git a/res/icons/16/rotate_right.png b/res/icons/16/rotate_right.png
new file mode 100644
index 0000000..3d67759
--- /dev/null
+++ b/res/icons/16/rotate_right.png
Binary files differ
diff --git a/res/icons/16/settings.png b/res/icons/16/settings.png
new file mode 100644
index 0000000..abdc42a
--- /dev/null
+++ b/res/icons/16/settings.png
Binary files differ
diff --git a/res/icons/16/text_box_dots.png b/res/icons/16/text_box_dots.png
new file mode 100644
index 0000000..ee66c97
--- /dev/null
+++ b/res/icons/16/text_box_dots.png
Binary files differ
diff --git a/res/icons/16/trash.png b/res/icons/16/trash.png
new file mode 100644
index 0000000..431d747
--- /dev/null
+++ b/res/icons/16/trash.png
Binary files differ
diff --git a/res/icons/16/zoom_in.png b/res/icons/16/zoom_in.png
new file mode 100644
index 0000000..916413c
--- /dev/null
+++ b/res/icons/16/zoom_in.png
Binary files differ
diff --git a/res/icons/16/zoom_out.png b/res/icons/16/zoom_out.png
new file mode 100644
index 0000000..5db2046
--- /dev/null
+++ b/res/icons/16/zoom_out.png
Binary files differ
diff --git a/res/rotate_left.png.h b/res/rotate_left.png.h
new file mode 100644
index 0000000..1ccbf13
--- /dev/null
+++ b/res/rotate_left.png.h
@@ -0,0 +1,60 @@
+#ifndef ROTATE_LEFT_PNG_H
+#define ROTATE_LEFT_PNG_H
+
+#include <wx/mstream.h>
+#include <wx/image.h>
+#include <wx/bitmap.h>
+
+static const unsigned char rotate_left_png[] =
+{
+ 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00,
+ 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x08, 0x06, 0x00, 0x00, 0x00, 0x1F,
+ 0xF3, 0xFF, 0x61, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59,
+ 0x73, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01,
+ 0x4E, 0x7B, 0x26, 0x08, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45,
+ 0x58, 0x74, 0x53, 0x6F, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
+ 0x00, 0x77, 0x77, 0x77, 0x2E, 0x69, 0x6E, 0x6B, 0x73, 0x63,
+ 0x61, 0x70, 0x65, 0x2E, 0x6F, 0x72, 0x67, 0x9B, 0xEE, 0x3C,
+ 0x1A, 0x00, 0x00, 0x01, 0x1C, 0x49, 0x44, 0x41, 0x54, 0x38,
+ 0x8D, 0x9D, 0xD3, 0x4B, 0x2B, 0xC4, 0x51, 0x18, 0xC7, 0xF1,
+ 0x4F, 0xE3, 0xD2, 0x94, 0x12, 0x56, 0xDE, 0x81, 0x72, 0x09,
+ 0x53, 0x34, 0xAC, 0xF0, 0x06, 0xAC, 0xAC, 0x78, 0x07, 0x5E,
+ 0x8A, 0x24, 0x26, 0x59, 0x7A, 0x01, 0x4A, 0x59, 0x49, 0x16,
+ 0xB2, 0xB3, 0x90, 0x92, 0xCB, 0x96, 0xCD, 0x94, 0xD5, 0x94,
+ 0x12, 0xC3, 0x18, 0x63, 0xF1, 0x7F, 0xC6, 0x65, 0x9A, 0xF9,
+ 0xBB, 0xFC, 0xEA, 0x74, 0xEA, 0x39, 0xCF, 0xF9, 0x9E, 0xDF,
+ 0x73, 0xCE, 0x79, 0x48, 0xD4, 0xEE, 0x53, 0x23, 0x28, 0xE0,
+ 0x0A, 0x8F, 0x78, 0xC2, 0x75, 0xC4, 0x86, 0x35, 0xD1, 0x2C,
+ 0x4A, 0x98, 0xC1, 0x26, 0xAA, 0xA8, 0xB5, 0x18, 0x55, 0xAC,
+ 0x22, 0xFB, 0x15, 0xB0, 0xD0, 0x90, 0xF4, 0x8A, 0x2D, 0xCC,
+ 0xA1, 0x0F, 0xBD, 0x98, 0xC0, 0x3A, 0x9E, 0x23, 0xE7, 0x00,
+ 0x9D, 0xAD, 0x00, 0xCB, 0xCD, 0x6C, 0x86, 0xC6, 0x51, 0x8C,
+ 0xBC, 0x42, 0x3D, 0x38, 0xDF, 0x00, 0x28, 0xA1, 0x2D, 0x05,
+ 0x32, 0x16, 0x4E, 0x2A, 0x18, 0x6C, 0xC3, 0x2D, 0x4E, 0xB1,
+ 0x8B, 0x1D, 0x6C, 0xE3, 0x26, 0x05, 0x70, 0x87, 0x7E, 0xE4,
+ 0xF1, 0x92, 0x92, 0x97, 0xAA, 0xA9, 0x70, 0x7B, 0xF1, 0x5F,
+ 0x40, 0x4F, 0x00, 0x4A, 0x19, 0xEC, 0xE1, 0x44, 0x7A, 0xDD,
+ 0x8D, 0x7A, 0x8B, 0xB9, 0x03, 0x2E, 0x83, 0x36, 0xF9, 0x07,
+ 0xC0, 0x74, 0xEC, 0x39, 0xCB, 0xE0, 0x28, 0x82, 0x8B, 0x7F,
+ 0x00, 0x2C, 0xC5, 0x7C, 0x0C, 0x43, 0x61, 0xA9, 0x8C, 0xD1,
+ 0x5F, 0x6C, 0xCE, 0x49, 0x6E, 0xBF, 0x8A, 0x81, 0x7A, 0xB0,
+ 0x10, 0x96, 0x8A, 0x3F, 0x40, 0x72, 0x92, 0x67, 0xAC, 0x49,
+ 0xBE, 0xF4, 0x87, 0xB2, 0x38, 0x8C, 0x85, 0x72, 0x00, 0xF3,
+ 0xE8, 0x42, 0xB7, 0xA4, 0xE6, 0xCD, 0x38, 0xB9, 0x86, 0x7D,
+ 0x0D, 0xFD, 0x50, 0x87, 0x14, 0xA4, 0x37, 0x53, 0x05, 0x6B,
+ 0xBE, 0xF4, 0x41, 0x33, 0x0D, 0x62, 0x43, 0xF2, 0x3A, 0x0F,
+ 0xB8, 0xC7, 0x39, 0x56, 0x62, 0xED, 0x9B, 0xDE, 0x01, 0xA6,
+ 0xD5, 0x58, 0x18, 0xA2, 0x54, 0x3E, 0x29, 0x00, 0x00, 0x00,
+ 0x00, 0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82, };
+
+wxBitmap& rotate_left_png_to_wx_bitmap()
+{
+ static wxMemoryInputStream memIStream( rotate_left_png, sizeof( rotate_left_png ) );
+ static wxImage image( memIStream, wxBITMAP_TYPE_PNG );
+ static wxBitmap bmp( image );
+ return bmp;
+}
+
+
+#endif //ROTATE_LEFT_PNG_H
diff --git a/res/rotate_right.png.h b/res/rotate_right.png.h
new file mode 100644
index 0000000..bdf7b23
--- /dev/null
+++ b/res/rotate_right.png.h
@@ -0,0 +1,60 @@
+#ifndef ROTATE_RIGHT_PNG_H
+#define ROTATE_RIGHT_PNG_H
+
+#include <wx/mstream.h>
+#include <wx/image.h>
+#include <wx/bitmap.h>
+
+static const unsigned char rotate_right_png[] =
+{
+ 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00,
+ 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x08, 0x06, 0x00, 0x00, 0x00, 0x1F,
+ 0xF3, 0xFF, 0x61, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59,
+ 0x73, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01,
+ 0x4E, 0x7B, 0x26, 0x08, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45,
+ 0x58, 0x74, 0x53, 0x6F, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
+ 0x00, 0x77, 0x77, 0x77, 0x2E, 0x69, 0x6E, 0x6B, 0x73, 0x63,
+ 0x61, 0x70, 0x65, 0x2E, 0x6F, 0x72, 0x67, 0x9B, 0xEE, 0x3C,
+ 0x1A, 0x00, 0x00, 0x01, 0x1C, 0x49, 0x44, 0x41, 0x54, 0x38,
+ 0x8D, 0x9D, 0xD3, 0xBB, 0x4A, 0x03, 0x51, 0x10, 0xC6, 0xF1,
+ 0x9F, 0x31, 0xF1, 0x0A, 0x3E, 0x80, 0xAD, 0x90, 0x26, 0xE0,
+ 0xA5, 0x08, 0x2A, 0x08, 0xB6, 0xBE, 0x80, 0x08, 0x0A, 0x16,
+ 0x56, 0xBE, 0x8A, 0x5A, 0x18, 0x2D, 0xA2, 0x95, 0x2F, 0xA1,
+ 0x85, 0x8D, 0xA2, 0xAD, 0x58, 0x48, 0x04, 0x4B, 0x41, 0x10,
+ 0x9B, 0x80, 0x60, 0x21, 0x31, 0x6A, 0x8C, 0x45, 0x26, 0x18,
+ 0x72, 0x59, 0x88, 0x03, 0xCB, 0x9E, 0x9D, 0x99, 0xEF, 0x3F,
+ 0x73, 0x66, 0xCF, 0xA1, 0xD3, 0x72, 0xD8, 0x47, 0x09, 0x1F,
+ 0x78, 0xC3, 0x03, 0x8A, 0x98, 0x6E, 0xC9, 0x1B, 0x6C, 0x17,
+ 0x66, 0x42, 0xF8, 0x8D, 0x7A, 0x8F, 0xE7, 0x07, 0xC7, 0x58,
+ 0x46, 0x19, 0x2B, 0xAD, 0xE2, 0xB3, 0x48, 0xAA, 0xA2, 0x80,
+ 0x3C, 0x86, 0x31, 0x8A, 0x25, 0x1C, 0xE0, 0xB3, 0x0D, 0xB8,
+ 0xD9, 0x04, 0xEC, 0x84, 0xE3, 0x19, 0x33, 0x5D, 0xB6, 0xD5,
+ 0xB4, 0xAD, 0x6E, 0x80, 0xA9, 0x68, 0xBB, 0x82, 0xD9, 0x04,
+ 0xF1, 0x00, 0x5E, 0xDA, 0x00, 0x6B, 0x69, 0x6C, 0xC7, 0x40,
+ 0x8A, 0xB8, 0x4B, 0x00, 0xD4, 0xB1, 0x8A, 0xC9, 0xF8, 0xFE,
+ 0xC2, 0x39, 0xDC, 0x46, 0x70, 0x31, 0x41, 0x9C, 0x68, 0xE5,
+ 0x00, 0x4C, 0xFC, 0x47, 0x9C, 0x46, 0x2A, 0xD6, 0x3F, 0x7D,
+ 0xE8, 0x52, 0xB8, 0xD6, 0x38, 0x27, 0x6E, 0xA2, 0x83, 0x85,
+ 0x3E, 0x00, 0x73, 0xA1, 0x79, 0x4C, 0xE1, 0x22, 0x9C, 0x1B,
+ 0x7D, 0x00, 0xD6, 0xE3, 0x7D, 0x09, 0x59, 0x8D, 0x89, 0x56,
+ 0x25, 0xFF, 0xC6, 0xA6, 0xE5, 0xF0, 0xAE, 0xB1, 0xE5, 0x7C,
+ 0xD3, 0xB9, 0xEB, 0xEF, 0x20, 0x25, 0x41, 0x72, 0x78, 0x8A,
+ 0xDC, 0x93, 0xD6, 0x40, 0x06, 0xA7, 0x11, 0xA8, 0xE0, 0x10,
+ 0xF3, 0x18, 0xC3, 0x48, 0x54, 0x2A, 0x68, 0x0C, 0xAD, 0x8E,
+ 0x2B, 0x8C, 0xB7, 0xD3, 0x87, 0xB0, 0x87, 0x9A, 0xDE, 0x97,
+ 0xA9, 0x86, 0xA3, 0x80, 0xF6, 0xB4, 0x6C, 0x54, 0x2B, 0xE1,
+ 0x35, 0xAA, 0xDE, 0x47, 0x57, 0x1D, 0xF7, 0xE4, 0x17, 0xBF,
+ 0xE2, 0x56, 0x31, 0x5E, 0xE5, 0x59, 0xC4, 0x00, 0x00, 0x00,
+ 0x00, 0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82, };
+
+wxBitmap& rotate_right_png_to_wx_bitmap()
+{
+ static wxMemoryInputStream memIStream( rotate_right_png, sizeof( rotate_right_png ) );
+ static wxImage image( memIStream, wxBITMAP_TYPE_PNG );
+ static wxBitmap bmp( image );
+ return bmp;
+}
+
+
+#endif //ROTATE_RIGHT_PNG_H
diff --git a/res/zoom_in.png.h b/res/zoom_in.png.h
new file mode 100644
index 0000000..c425dd6
--- /dev/null
+++ b/res/zoom_in.png.h
@@ -0,0 +1,59 @@
+#ifndef ZOOM_IN_PNG_H
+#define ZOOM_IN_PNG_H
+
+#include <wx/mstream.h>
+#include <wx/image.h>
+#include <wx/bitmap.h>
+
+static const unsigned char zoom_in_png[] =
+{
+ 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00,
+ 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x08, 0x06, 0x00, 0x00, 0x00, 0x1F,
+ 0xF3, 0xFF, 0x61, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59,
+ 0x73, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01,
+ 0x4E, 0x7B, 0x26, 0x08, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45,
+ 0x58, 0x74, 0x53, 0x6F, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
+ 0x00, 0x77, 0x77, 0x77, 0x2E, 0x69, 0x6E, 0x6B, 0x73, 0x63,
+ 0x61, 0x70, 0x65, 0x2E, 0x6F, 0x72, 0x67, 0x9B, 0xEE, 0x3C,
+ 0x1A, 0x00, 0x00, 0x01, 0x05, 0x49, 0x44, 0x41, 0x54, 0x38,
+ 0x8D, 0x8D, 0xD2, 0x3D, 0x4E, 0x02, 0x51, 0x14, 0x05, 0xE0,
+ 0x4F, 0x3A, 0xE9, 0x05, 0x94, 0xB5, 0x58, 0xD8, 0xD3, 0x60,
+ 0x88, 0xDB, 0xD0, 0xC4, 0x0D, 0xE0, 0x5F, 0xED, 0x4E, 0x2C,
+ 0x8C, 0xD8, 0x58, 0xA2, 0x8D, 0x89, 0x10, 0xB1, 0x74, 0x0F,
+ 0x0A, 0x89, 0x12, 0x0B, 0x15, 0x0B, 0x2E, 0xE1, 0x31, 0xCE,
+ 0x64, 0x38, 0xC9, 0xCB, 0x9B, 0x77, 0xEE, 0xB9, 0xBF, 0x73,
+ 0x59, 0x45, 0x1D, 0xA7, 0x78, 0xC2, 0x04, 0x53, 0x0C, 0x70,
+ 0x82, 0x9A, 0x12, 0x74, 0x30, 0xC6, 0xAC, 0xE0, 0xBC, 0x87,
+ 0x26, 0x17, 0xFB, 0xF8, 0x0E, 0x61, 0x1F, 0x6D, 0x34, 0xB1,
+ 0x83, 0x16, 0xEE, 0xC2, 0xF6, 0x83, 0x83, 0xAC, 0x73, 0x0D,
+ 0x6F, 0x21, 0xB8, 0xC4, 0x46, 0x41, 0x92, 0x6E, 0x68, 0xC6,
+ 0x68, 0xE4, 0x19, 0xFA, 0xA8, 0x24, 0xFC, 0x43, 0x70, 0x29,
+ 0x7A, 0xA1, 0x3D, 0x4F, 0xC9, 0x61, 0x90, 0xED, 0x8C, 0x78,
+ 0xD1, 0x7B, 0x8A, 0xBD, 0xE0, 0x86, 0x29, 0xF9, 0x11, 0x64,
+ 0x33, 0xC9, 0x9C, 0x1D, 0xE0, 0xA2, 0x92, 0x6A, 0xBC, 0x3F,
+ 0x17, 0xCE, 0x15, 0xFC, 0x26, 0x19, 0x25, 0xEF, 0x6C, 0x35,
+ 0xE9, 0xBD, 0x82, 0x41, 0x18, 0x5A, 0x6B, 0xB4, 0xB0, 0x1B,
+ 0xDC, 0x73, 0x5A, 0xC1, 0x4D, 0x7C, 0x1F, 0x66, 0xC4, 0xF7,
+ 0xFE, 0x0F, 0xF1, 0x28, 0xEE, 0xEB, 0x94, 0xAC, 0x5B, 0x2E,
+ 0x50, 0x37, 0xAF, 0xC4, 0xC0, 0xB1, 0xE5, 0x6F, 0xAC, 0x67,
+ 0x8D, 0x1D, 0xCB, 0x45, 0xEA, 0x99, 0x4F, 0xBB, 0x8A, 0xCD,
+ 0x28, 0xFB, 0x2A, 0x69, 0xE9, 0x15, 0x5B, 0x79, 0x19, 0xCA,
+ 0x56, 0x79, 0x12, 0xCE, 0x33, 0x8C, 0x8A, 0x82, 0x34, 0x70,
+ 0x66, 0x3E, 0xA4, 0x69, 0x9C, 0x11, 0x2E, 0xB0, 0x1D, 0x4E,
+ 0x2F, 0x65, 0x41, 0xCA, 0x90, 0x06, 0x79, 0x2C, 0xDA, 0xFB,
+ 0x75, 0x82, 0xDC, 0xE2, 0xEB, 0x0F, 0x93, 0xCD, 0x61, 0x15,
+ 0x7C, 0x55, 0xE1, 0x85, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45,
+ 0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82,
+};
+
+wxBitmap& zoom_in_png_to_wx_bitmap()
+{
+ static wxMemoryInputStream memIStream( zoom_in_png, sizeof( zoom_in_png ) );
+ static wxImage image( memIStream, wxBITMAP_TYPE_PNG );
+ static wxBitmap bmp( image );
+ return bmp;
+}
+
+
+#endif //ZOOM_IN_PNG_H
diff --git a/res/zoom_out.png.h b/res/zoom_out.png.h
new file mode 100644
index 0000000..8d740a5
--- /dev/null
+++ b/res/zoom_out.png.h
@@ -0,0 +1,59 @@
+#ifndef ZOOM_OUT_PNG_H
+#define ZOOM_OUT_PNG_H
+
+#include <wx/mstream.h>
+#include <wx/image.h>
+#include <wx/bitmap.h>
+
+static const unsigned char zoom_out_png[] =
+{
+ 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00,
+ 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x08, 0x06, 0x00, 0x00, 0x00, 0x1F,
+ 0xF3, 0xFF, 0x61, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59,
+ 0x73, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01,
+ 0x4E, 0x7B, 0x26, 0x08, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45,
+ 0x58, 0x74, 0x53, 0x6F, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
+ 0x00, 0x77, 0x77, 0x77, 0x2E, 0x69, 0x6E, 0x6B, 0x73, 0x63,
+ 0x61, 0x70, 0x65, 0x2E, 0x6F, 0x72, 0x67, 0x9B, 0xEE, 0x3C,
+ 0x1A, 0x00, 0x00, 0x01, 0x01, 0x49, 0x44, 0x41, 0x54, 0x38,
+ 0x8D, 0x9D, 0xD2, 0xBD, 0x4E, 0x02, 0x51, 0x10, 0x05, 0xE0,
+ 0x4F, 0x3A, 0xB5, 0x76, 0xFD, 0xE1, 0x11, 0xEC, 0x8C, 0xB5,
+ 0x89, 0xD6, 0x16, 0x04, 0x7D, 0x0F, 0x63, 0x61, 0x0F, 0x4A,
+ 0xED, 0xAB, 0x98, 0x98, 0x60, 0x63, 0x68, 0xAC, 0xA5, 0x20,
+ 0x94, 0x3C, 0x83, 0x42, 0x42, 0xB4, 0x22, 0x62, 0xC1, 0xAC,
+ 0x7B, 0x45, 0xD6, 0x35, 0x9E, 0x64, 0x72, 0xE7, 0xCE, 0x9C,
+ 0x73, 0xEE, 0xEE, 0xBD, 0xC3, 0x77, 0x64, 0x68, 0xE1, 0x19,
+ 0x13, 0xBC, 0xA1, 0x1F, 0xB5, 0x4C, 0x05, 0x9A, 0x18, 0x63,
+ 0x5E, 0x12, 0xAF, 0xC1, 0x59, 0x89, 0x06, 0x66, 0x41, 0x7C,
+ 0x8A, 0x7D, 0x1D, 0x7B, 0x38, 0xC5, 0x63, 0xF4, 0x66, 0x38,
+ 0x5F, 0x16, 0x6F, 0xE1, 0x25, 0x08, 0xB7, 0x58, 0x2B, 0x39,
+ 0xA4, 0x1D, 0x9C, 0x09, 0xB6, 0xD3, 0x46, 0x2B, 0x39, 0xB9,
+ 0x4C, 0x9C, 0xA3, 0x1B, 0xDC, 0xEB, 0xB4, 0xD8, 0x8F, 0x62,
+ 0xA3, 0x42, 0x0C, 0xC7, 0xC1, 0xED, 0xA7, 0xC5, 0x69, 0x14,
+ 0xEB, 0xB1, 0x2F, 0xBB, 0x44, 0xD8, 0x8C, 0x7C, 0x9A, 0x8B,
+ 0x6B, 0xF8, 0x48, 0x84, 0x55, 0xC8, 0x39, 0x5F, 0xBF, 0x5A,
+ 0xC3, 0x28, 0xF2, 0x83, 0xA4, 0xB9, 0x2A, 0xE0, 0x30, 0xD6,
+ 0x51, 0x6A, 0xD0, 0x8D, 0xFC, 0xE2, 0x0F, 0x5F, 0x70, 0x19,
+ 0xEB, 0x7D, 0x5A, 0xCC, 0x14, 0x03, 0xD4, 0xFE, 0x45, 0x7C,
+ 0x15, 0x9C, 0xB1, 0xA5, 0x67, 0x84, 0x33, 0xC5, 0x20, 0x3D,
+ 0xE0, 0x04, 0x1B, 0x58, 0xC7, 0x11, 0xEE, 0x14, 0x97, 0x39,
+ 0xB2, 0x98, 0x9D, 0x1F, 0x68, 0x5A, 0x0C, 0x49, 0xD9, 0x2B,
+ 0x4C, 0x42, 0x3C, 0xC7, 0xB0, 0xCC, 0x64, 0x07, 0x37, 0x18,
+ 0xE0, 0x3D, 0x62, 0x80, 0x0E, 0x76, 0x43, 0x34, 0xAC, 0x32,
+ 0xA9, 0x42, 0x6A, 0xD2, 0xFB, 0x8F, 0x41, 0x6E, 0xD2, 0xC3,
+ 0xFE, 0x27, 0xE9, 0xED, 0x55, 0x8D, 0x88, 0x47, 0x65, 0x9C,
+ 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42,
+ 0x60, 0x82,
+};
+
+wxBitmap& zoom_out_png_to_wx_bitmap()
+{
+ static wxMemoryInputStream memIStream( zoom_out_png, sizeof( zoom_out_png ) );
+ static wxImage image( memIStream, wxBITMAP_TYPE_PNG );
+ static wxBitmap bmp( image );
+ return bmp;
+}
+
+
+#endif //ZOOM_OUT_PNG_H
diff --git a/static/minimal.rc b/static/minimal.rc
new file mode 100644
index 0000000..a207eea
--- /dev/null
+++ b/static/minimal.rc
@@ -0,0 +1,2 @@
+mondrian ICON "../res/icons/16/cube.ico"
+#include "wx/msw/wx.rc"
\ No newline at end of file
diff --git a/static/window.fbp b/static/window.fbp
new file mode 100644
index 0000000..e819c31
--- /dev/null
+++ b/static/window.fbp
@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<wxFormBuilder_Project>
+ <FileVersion major="1" minor="17"/>
+ <object class="Project" expanded="true">
+ <property name="class_decoration">; </property>
+ <property name="code_generation">C++</property>
+ <property name="disconnect_events">1</property>
+ <property name="disconnect_mode">source_name</property>
+ <property name="disconnect_php_events">0</property>
+ <property name="disconnect_python_events">0</property>
+ <property name="embedded_files_path">Z:\wx.image_viewer\res</property>
+ <property name="encoding">UTF-8</property>
+ <property name="event_generation">connect</property>
+ <property name="file">ImageViewer</property>
+ <property name="first_id">1000</property>
+ <property name="help_provider">wxSimpleHelpProvider</property>
+ <property name="image_path_wrapper_function_name"></property>
+ <property name="indent_with_spaces"></property>
+ <property name="internationalize">1</property>
+ <property name="name">ImageViewer</property>
+ <property name="namespace"></property>
+ <property name="path">Z:\wx.image_viewer\ui</property>
+ <property name="precompiled_header"></property>
+ <property name="relative_path">1</property>
+ <property name="skip_lua_events">1</property>
+ <property name="skip_php_events">1</property>
+ <property name="skip_python_events">1</property>
+ <property name="ui_table">UI</property>
+ <property name="use_array_enum">0</property>
+ <property name="use_enum">0</property>
+ <property name="use_microsoft_bom">0</property>
+ <object class="Frame" expanded="true">
+ <property name="aui_managed">0</property>
+ <property name="aui_manager_style">wxAUI_MGR_DEFAULT</property>
+ <property name="bg"></property>
+ <property name="center">wxBOTH</property>
+ <property name="context_help"></property>
+ <property name="context_menu">1</property>
+ <property name="drag_accept_files">1</property>
+ <property name="enabled">1</property>
+ <property name="event_handler">impl_virtual</property>
+ <property name="extra_style"></property>
+ <property name="fg"></property>
+ <property name="font"></property>
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="maximum_size"></property>
+ <property name="minimum_size"></property>
+ <property name="name">ImageWindow</property>
+ <property name="pos"></property>
+ <property name="size">500,300</property>
+ <property name="style">wxDEFAULT_FRAME_STYLE</property>
+ <property name="subclass">; ; forward_declare</property>
+ <property name="title">Image viewer</property>
+ <property name="tooltip"></property>
+ <property name="two_step_creation">0</property>
+ <property name="window_extra_style"></property>
+ <property name="window_name"></property>
+ <property name="window_style">wxTAB_TRAVERSAL</property>
+ <property name="xrc_skip_sizer">1</property>
+ <object class="wxBoxSizer" expanded="true">
+ <property name="minimum_size"></property>
+ <property name="name">bSizer1</property>
+ <property name="orient">wxVERTICAL</property>
+ <property name="permission">none</property>
+ <object class="sizeritem" expanded="true">
+ <property name="border">5</property>
+ <property name="flag">wxALL|wxEXPAND</property>
+ <property name="proportion">1</property>
+ <object class="wxStaticBitmap" expanded="true">
+ <property name="BottomDockable">1</property>
+ <property name="LeftDockable">1</property>
+ <property name="RightDockable">1</property>
+ <property name="TopDockable">1</property>
+ <property name="aui_layer"></property>
+ <property name="aui_name"></property>
+ <property name="aui_position"></property>
+ <property name="aui_row"></property>
+ <property name="best_size"></property>
+ <property name="bg"></property>
+ <property name="bitmap"></property>
+ <property name="caption"></property>
+ <property name="caption_visible">1</property>
+ <property name="center_pane">0</property>
+ <property name="close_button">1</property>
+ <property name="context_help"></property>
+ <property name="context_menu">1</property>
+ <property name="default_pane">0</property>
+ <property name="dock">Dock</property>
+ <property name="dock_fixed">0</property>
+ <property name="docking">Left</property>
+ <property name="drag_accept_files">0</property>
+ <property name="enabled">1</property>
+ <property name="fg"></property>
+ <property name="floatable">1</property>
+ <property name="font"></property>
+ <property name="gripper">0</property>
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="max_size"></property>
+ <property name="maximize_button">0</property>
+ <property name="maximum_size"></property>
+ <property name="min_size"></property>
+ <property name="minimize_button">0</property>
+ <property name="minimum_size"></property>
+ <property name="moveable">1</property>
+ <property name="name">m_bitmap1</property>
+ <property name="pane_border">1</property>
+ <property name="pane_position"></property>
+ <property name="pane_size"></property>
+ <property name="permission">protected</property>
+ <property name="pin_button">1</property>
+ <property name="pos"></property>
+ <property name="resize">Resizable</property>
+ <property name="show">1</property>
+ <property name="size"></property>
+ <property name="subclass">; ; forward_declare</property>
+ <property name="toolbar_pane">0</property>
+ <property name="tooltip"></property>
+ <property name="window_extra_style"></property>
+ <property name="window_name"></property>
+ <property name="window_style"></property>
+ </object>
+ </object>
+ </object>
+ <object class="wxStatusBar" expanded="true">
+ <property name="bg"></property>
+ <property name="context_help"></property>
+ <property name="context_menu">1</property>
+ <property name="drag_accept_files">0</property>
+ <property name="enabled">1</property>
+ <property name="fg"></property>
+ <property name="fields">1</property>
+ <property name="font"></property>
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="maximum_size"></property>
+ <property name="minimum_size"></property>
+ <property name="name">m_statusBar1</property>
+ <property name="permission">protected</property>
+ <property name="pos"></property>
+ <property name="size"></property>
+ <property name="style">wxSTB_SIZEGRIP</property>
+ <property name="subclass">; ; forward_declare</property>
+ <property name="tooltip"></property>
+ <property name="window_extra_style"></property>
+ <property name="window_name"></property>
+ <property name="window_style"></property>
+ </object>
+ <object class="wxToolBar" expanded="true">
+ <property name="BottomDockable">1</property>
+ <property name="LeftDockable">1</property>
+ <property name="RightDockable">1</property>
+ <property name="TopDockable">1</property>
+ <property name="aui_layer"></property>
+ <property name="aui_name"></property>
+ <property name="aui_position"></property>
+ <property name="aui_row"></property>
+ <property name="best_size"></property>
+ <property name="bg"></property>
+ <property name="bitmapsize"></property>
+ <property name="caption"></property>
+ <property name="caption_visible">1</property>
+ <property name="center_pane">0</property>
+ <property name="close_button">1</property>
+ <property name="context_help"></property>
+ <property name="context_menu">1</property>
+ <property name="default_pane">0</property>
+ <property name="dock">Dock</property>
+ <property name="dock_fixed">0</property>
+ <property name="docking">Left</property>
+ <property name="drag_accept_files">0</property>
+ <property name="enabled">1</property>
+ <property name="fg"></property>
+ <property name="floatable">1</property>
+ <property name="font"></property>
+ <property name="gripper">0</property>
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="margins"></property>
+ <property name="max_size"></property>
+ <property name="maximize_button">0</property>
+ <property name="maximum_size"></property>
+ <property name="min_size"></property>
+ <property name="minimize_button">0</property>
+ <property name="minimum_size"></property>
+ <property name="moveable">1</property>
+ <property name="name">m_toolBar1</property>
+ <property name="packing">1</property>
+ <property name="pane_border">1</property>
+ <property name="pane_position"></property>
+ <property name="pane_size"></property>
+ <property name="permission">protected</property>
+ <property name="pin_button">1</property>
+ <property name="pos"></property>
+ <property name="resize">Resizable</property>
+ <property name="separation">5</property>
+ <property name="show">1</property>
+ <property name="size"></property>
+ <property name="style">wxTB_DOCKABLE|wxTB_HORIZONTAL</property>
+ <property name="subclass">; ; forward_declare</property>
+ <property name="toolbar_pane">0</property>
+ <property name="tooltip"></property>
+ <property name="window_extra_style"></property>
+ <property name="window_name"></property>
+ <property name="window_style"></property>
+ <object class="tool" expanded="true">
+ <property name="bitmap">Load From Embedded File; ../res/icons/16/add_image.png</property>
+ <property name="context_menu">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="kind">wxITEM_NORMAL</property>
+ <property name="label">Open image</property>
+ <property name="name">m_open_image</property>
+ <property name="permission">protected</property>
+ <property name="statusbar"></property>
+ <property name="tooltip"></property>
+ </object>
+ <object class="toolSeparator" expanded="true">
+ <property name="permission">protected</property>
+ </object>
+ <object class="tool" expanded="true">
+ <property name="bitmap">Load From Embedded File; ../res/icons/16/rotate_left.png</property>
+ <property name="context_menu">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="kind">wxITEM_NORMAL</property>
+ <property name="label">Rotate -90</property>
+ <property name="name">m_rotate_left</property>
+ <property name="permission">protected</property>
+ <property name="statusbar"></property>
+ <property name="tooltip"></property>
+ </object>
+ <object class="tool" expanded="true">
+ <property name="bitmap">Load From Embedded File; ../res/icons/16/rotate_right.png</property>
+ <property name="context_menu">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="kind">wxITEM_NORMAL</property>
+ <property name="label">Rotate +90</property>
+ <property name="name">m_rotate_right</property>
+ <property name="permission">protected</property>
+ <property name="statusbar"></property>
+ <property name="tooltip"></property>
+ </object>
+ <object class="tool" expanded="true">
+ <property name="bitmap">Load From Embedded File; ../res/icons/16/zoom_in.png</property>
+ <property name="context_menu">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="kind">wxITEM_NORMAL</property>
+ <property name="label">Zoom in</property>
+ <property name="name">m_zoom_in</property>
+ <property name="permission">protected</property>
+ <property name="statusbar"></property>
+ <property name="tooltip"></property>
+ </object>
+ <object class="tool" expanded="true">
+ <property name="bitmap">Load From Embedded File; ../res/icons/16/zoom_out.png</property>
+ <property name="context_menu">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="kind">wxITEM_NORMAL</property>
+ <property name="label">Zoom out</property>
+ <property name="name">m_zoom_out</property>
+ <property name="permission">protected</property>
+ <property name="statusbar"></property>
+ <property name="tooltip"></property>
+ </object>
+ <object class="tool" expanded="true">
+ <property name="bitmap">Load From Embedded File; ../res/icons/16/fullscreen.png</property>
+ <property name="context_menu">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="kind">wxITEM_NORMAL</property>
+ <property name="label">Fullscreen</property>
+ <property name="name">m_fullscreen</property>
+ <property name="permission">protected</property>
+ <property name="statusbar"></property>
+ <property name="tooltip"></property>
+ </object>
+ </object>
+ </object>
+ </object>
+</wxFormBuilder_Project>
diff --git a/ui/ImageViewer.cpp b/ui/ImageViewer.cpp
new file mode 100644
index 0000000..31ee985
--- /dev/null
+++ b/ui/ImageViewer.cpp
@@ -0,0 +1,74 @@
+///////////////////////////////////////////////////////////////////////////
+// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf)
+// http://www.wxformbuilder.org/
+//
+// PLEASE DO *NOT* EDIT THIS FILE!
+///////////////////////////////////////////////////////////////////////////
+
+#include "ImageViewer.h"
+
+#include "../res/add_image.png.h"
+#include "../res/fullscreen.png.h"
+#include "../res/rotate_left.png.h"
+#include "../res/rotate_right.png.h"
+#include "../res/zoom_in.png.h"
+#include "../res/zoom_out.png.h"
+
+// Using the construction of a static object to ensure that the help provider is set
+// wx Manages the most recent HelpProvider passed to ::Set, but not the previous ones
+// If ::Set gets called more than once, the previous one is returned and should be deleted
+class wxFBContextSensitiveHelpSetter
+{
+public:
+wxFBContextSensitiveHelpSetter()
+{
+wxSimpleHelpProvider* help = new wxSimpleHelpProvider();
+wxHelpProvider* old = wxHelpProvider::Set( help );
+if (old != 0){
+delete old;
+}
+}
+};
+
+static wxFBContextSensitiveHelpSetter s_wxFBSetTheHelpProvider;
+///////////////////////////////////////////////////////////////////////////
+
+ImageWindow::ImageWindow( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
+{
+ this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+ this->DragAcceptFiles( true );
+
+ wxBoxSizer* bSizer1;
+ bSizer1 = new wxBoxSizer( wxVERTICAL );
+
+ m_bitmap1 = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ bSizer1->Add( m_bitmap1, 1, wxALL|wxEXPAND, 5 );
+
+
+ this->SetSizer( bSizer1 );
+ this->Layout();
+ m_statusBar1 = this->CreateStatusBar( 1, wxSTB_SIZEGRIP, wxID_ANY );
+ m_toolBar1 = this->CreateToolBar( wxTB_DOCKABLE|wxTB_HORIZONTAL, wxID_ANY );
+ m_open_image = m_toolBar1->AddTool( wxID_ANY, _("Open image"), add_image_png_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
+
+ m_toolBar1->AddSeparator();
+
+ m_rotate_left = m_toolBar1->AddTool( wxID_ANY, _("Rotate -90"), rotate_left_png_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
+
+ m_rotate_right = m_toolBar1->AddTool( wxID_ANY, _("Rotate +90"), rotate_right_png_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
+
+ m_zoom_in = m_toolBar1->AddTool( wxID_ANY, _("Zoom in"), zoom_in_png_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
+
+ m_zoom_out = m_toolBar1->AddTool( wxID_ANY, _("Zoom out"), zoom_out_png_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
+
+ m_fullscreen = m_toolBar1->AddTool( wxID_ANY, _("Fullscreen"), fullscreen_png_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
+
+ m_toolBar1->Realize();
+
+
+ this->Centre( wxBOTH );
+}
+
+ImageWindow::~ImageWindow()
+{
+}
diff --git a/ui/ImageViewer.h b/ui/ImageViewer.h
new file mode 100644
index 0000000..8e17b5a
--- /dev/null
+++ b/ui/ImageViewer.h
@@ -0,0 +1,56 @@
+///////////////////////////////////////////////////////////////////////////
+// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf)
+// http://www.wxformbuilder.org/
+//
+// PLEASE DO *NOT* EDIT THIS FILE!
+///////////////////////////////////////////////////////////////////////////
+
+#pragma once
+
+#include <wx/artprov.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/cshelp.h>
+#include <wx/intl.h>
+#include <wx/bitmap.h>
+#include <wx/image.h>
+#include <wx/icon.h>
+#include <wx/statbmp.h>
+#include <wx/gdicmn.h>
+#include <wx/font.h>
+#include <wx/colour.h>
+#include <wx/settings.h>
+#include <wx/string.h>
+#include <wx/sizer.h>
+#include <wx/statusbr.h>
+#include <wx/toolbar.h>
+#include <wx/frame.h>
+
+///////////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////////////
+/// Class ImageWindow
+///////////////////////////////////////////////////////////////////////////////
+class ImageWindow : public wxFrame
+{
+ private:
+
+ protected:
+ wxStaticBitmap* m_bitmap1;
+ wxStatusBar* m_statusBar1;
+ wxToolBar* m_toolBar1;
+ wxToolBarToolBase* m_open_image;
+ wxToolBarToolBase* m_rotate_left;
+ wxToolBarToolBase* m_rotate_right;
+ wxToolBarToolBase* m_zoom_in;
+ wxToolBarToolBase* m_zoom_out;
+ wxToolBarToolBase* m_fullscreen;
+
+ public:
+
+ ImageWindow( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Image viewer"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
+
+ ~ImageWindow();
+
+};
+
diff --git a/ui/ImageViewerImageWindow.cpp b/ui/ImageViewerImageWindow.cpp
new file mode 100644
index 0000000..28a9dcf
--- /dev/null
+++ b/ui/ImageViewerImageWindow.cpp
@@ -0,0 +1,8 @@
+#include "ImageViewerImageWindow.h"
+
+ImageViewerImageWindow::ImageViewerImageWindow( wxWindow* parent )
+:
+ImageWindow( parent )
+{
+
+}
diff --git a/ui/ImageViewerImageWindow.h b/ui/ImageViewerImageWindow.h
new file mode 100644
index 0000000..211fac0
--- /dev/null
+++ b/ui/ImageViewerImageWindow.h
@@ -0,0 +1,25 @@
+#ifndef __ImageViewerImageWindow__
+#define __ImageViewerImageWindow__
+
+/**
+@file
+Subclass of ImageWindow, which is generated by wxFormBuilder.
+*/
+
+#include "ImageViewer.h"
+
+//// end generated include
+
+/** Implementing ImageWindow */
+class ImageViewerImageWindow : public ImageWindow
+{
+ public:
+ /** Constructor */
+ ImageViewerImageWindow( wxWindow* parent );
+ //// end generated class members
+
+
+
+};
+
+#endif // __ImageViewerImageWindow__
--
Gitblit v1.9.3