Previous, home, and next frame buttons for exploring MJ2 files in OPJViewer
authorGiuseppe Baruffa <gbaruffa@users.noreply.github.com>
Thu, 21 Jun 2007 14:00:32 +0000 (14:00 +0000)
committerGiuseppe Baruffa <gbaruffa@users.noreply.github.com>
Thu, 21 Jun 2007 14:00:32 +0000 (14:00 +0000)
ChangeLog
OPJViewer/source/OPJViewer.cpp
OPJViewer/source/OPJViewer.h
OPJViewer/source/build.h

index fa3e4832b395f6deae341d034ec066b81681e0c2..30b9775421b1958879c97fdab3fef351d1a42f8d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,7 @@ What's New for OpenJPEG
 
 June 21, 2007
 * [FOD] Output image color space set when decoding a JP2 file in jp2.c
++ [GB] Previous, home, and next frame buttons for exploring MJ2 files in OPJViewer
 
 June 18, 2007
 * [GB] Reload image doesn't crash in OPJViewer; more settings saved to registry
index 942d08b56ddc94fe6e910abaf2d63e7c86831f97..1e1ef64703134a9bc66c45cba652d082c0a5d50c 100644 (file)
@@ -338,6 +338,9 @@ BEGIN_EVENT_TABLE(OPJFrame, wxMDIParentFrame)
     EVT_MENU(OPJFRAME_VIEWZOOM, OPJFrame::OnZoom)\r
     EVT_MENU(OPJFRAME_VIEWFIT, OPJFrame::OnFit)\r
     EVT_MENU(OPJFRAME_VIEWRELOAD, OPJFrame::OnReload)\r
+    EVT_MENU(OPJFRAME_VIEWPREVFRAME, OPJFrame::OnPrevFrame)\r
+    EVT_MENU(OPJFRAME_VIEWHOMEFRAME, OPJFrame::OnHomeFrame)\r
+    EVT_MENU(OPJFRAME_VIEWNEXTFRAME, OPJFrame::OnNextFrame)\r
     EVT_MENU(OPJFRAME_FILETOGGLEB, OPJFrame::OnToggleBrowser)\r
     EVT_MENU(OPJFRAME_FILETOGGLEP, OPJFrame::OnTogglePeeker)\r
     EVT_MENU(OPJFRAME_FILETOGGLET, OPJFrame::OnToggleToolbar)\r
@@ -389,6 +392,18 @@ OPJFrame::OPJFrame(wxWindow *parent, const wxWindowID id, const wxString& title,
        view_menu->Append(OPJFRAME_VIEWRELOAD, wxT("&Reload image\tCtrl+R"));\r
        view_menu->SetHelpString(OPJFRAME_VIEWRELOAD, wxT("Reload the current image"));\r
 \r
+       view_menu->AppendSeparator();\r
+\r
+       view_menu->Append(OPJFRAME_VIEWPREVFRAME, wxT("&Prev frame\tLeft"));\r
+       view_menu->SetHelpString(OPJFRAME_VIEWPREVFRAME, wxT("View previous frame"));\r
+\r
+       view_menu->Append(OPJFRAME_VIEWHOMEFRAME, wxT("&Start frame\tHome"));\r
+       view_menu->SetHelpString(OPJFRAME_VIEWHOMEFRAME, wxT("View starting frame"));\r
+\r
+       view_menu->Append(OPJFRAME_VIEWNEXTFRAME, wxT("&Next frame\tRight"));\r
+       view_menu->SetHelpString(OPJFRAME_VIEWNEXTFRAME, wxT("View next frame"));\r
+\r
+\r
        // settings menu and its items\r
        wxMenu *sets_menu = new wxMenu;\r
 \r
@@ -435,6 +450,12 @@ OPJFrame::OPJFrame(wxWindow *parent, const wxWindowID id, const wxString& title,
                                                                                                wxDefaultSize);\r
        wxBitmap bmpEncosettings = wxArtProvider::GetBitmap(wxART_LIST_VIEW, wxART_TOOLBAR,\r
                                                                                                wxDefaultSize);\r
+       wxBitmap bmpPrevframe = wxArtProvider::GetBitmap(wxART_GO_BACK, wxART_TOOLBAR,\r
+                                                                                               wxDefaultSize);\r
+       wxBitmap bmpHomeframe = wxArtProvider::GetBitmap(wxART_GO_HOME, wxART_TOOLBAR,\r
+                                                                                               wxDefaultSize);\r
+       wxBitmap bmpNextframe = wxArtProvider::GetBitmap(wxART_GO_FORWARD, wxART_TOOLBAR,\r
+                                                                                               wxDefaultSize);\r
 \r
        tool_bar->AddTool(OPJFRAME_FILEOPEN, bmpOpen, wxT("Open"));\r
        tool_bar->AddTool(OPJFRAME_FILESAVEAS, bmpSaveAs, wxT("Save as "));\r
@@ -446,6 +467,10 @@ OPJFrame::OPJFrame(wxWindow *parent, const wxWindowID id, const wxString& title,
        tool_bar->AddSeparator();\r
        tool_bar->AddTool(OPJFRAME_SETSDECO, bmpDecosettings, wxT("Decoder settings"));\r
        tool_bar->AddTool(OPJFRAME_SETSENCO, bmpEncosettings, wxT("Encoder settings"));\r
+       tool_bar->AddSeparator();\r
+       tool_bar->AddTool(OPJFRAME_VIEWPREVFRAME, bmpPrevframe, wxT("Previous frame"));\r
+       tool_bar->AddTool(OPJFRAME_VIEWHOMEFRAME, bmpHomeframe, wxT("Starting frame"));\r
+       tool_bar->AddTool(OPJFRAME_VIEWNEXTFRAME, bmpNextframe, wxT("Next frame"));\r
        tool_bar->Realize();\r
        \r
        // associate the toolbar with the frame\r
@@ -720,6 +745,34 @@ void OPJFrame::OnReload(wxCommandEvent& event)
        }\r
 }\r
 \r
+void OPJFrame::OnPrevFrame(wxCommandEvent& event)\r
+{\r
+       if (--wxGetApp().m_framenum < 0)\r
+               wxGetApp().m_framenum = 0;\r
+\r
+       //wxLogMessage(wxT("================Go prev, dude!======================="));\r
+       wxCommandEvent e;\r
+       OnReload(e);\r
+}\r
+\r
+void OPJFrame::OnHomeFrame(wxCommandEvent& event)\r
+{\r
+       wxGetApp().m_framenum = 0;\r
+\r
+       //wxLogMessage(wxT("================Go home, dude!======================="));\r
+\r
+       wxCommandEvent e;\r
+       OnReload(e);\r
+}\r
+\r
+void OPJFrame::OnNextFrame(wxCommandEvent& event)\r
+{\r
+       ++wxGetApp().m_framenum;\r
+\r
+       //wxLogMessage(wxT("================Go next, dude!======================="));\r
+       wxCommandEvent e;\r
+       OnReload(e);\r
+}\r
 \r
 // about window for the frame\r
 void OPJFrame::OnAbout(wxCommandEvent& WXUNUSED(event))\r
index 9d954b9ad757f34eba927d87de9d6e09c33c9827..8904c9ee9c60fc6073f2907b473bafd1ebdd60e6 100644 (file)
@@ -391,6 +391,9 @@ class OPJFrame: public wxMDIParentFrame
        void OnTogglePeeker(wxCommandEvent& WXUNUSED(event));\r
        void OnToggleToolbar(wxCommandEvent& WXUNUSED(event));\r
        void OnReload(wxCommandEvent& event);\r
+       void OnPrevFrame(wxCommandEvent& event);\r
+       void OnHomeFrame(wxCommandEvent& event);\r
+       void OnNextFrame(wxCommandEvent& event);\r
        void OnSetsEnco(wxCommandEvent& event);\r
        void OnSetsDeco(wxCommandEvent& event);\r
        void OnSashDrag(wxSashEvent& event);\r
@@ -457,6 +460,9 @@ enum {
        OPJFRAME_VIEWZOOM,\r
        OPJFRAME_VIEWFIT,\r
        OPJFRAME_VIEWRELOAD,\r
+       OPJFRAME_VIEWPREVFRAME,\r
+       OPJFRAME_VIEWHOMEFRAME,\r
+       OPJFRAME_VIEWNEXTFRAME,\r
        OPJFRAME_FILECLOSE,\r
        OPJFRAME_SETSENCO,\r
        OPJFRAME_SETSDECO,\r
index 58f481933e7214a66cc9933c29fdb287f60c7b26..42c7d4dbee9077c80aeb3b80a7e2674a4d4d0228 100644 (file)
@@ -1 +1 @@
-wxT("48") \r
+wxT("59") \r