summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorfbarchard@chromium.org <fbarchard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-12 00:43:14 +0000
committerfbarchard@chromium.org <fbarchard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-12 00:43:14 +0000
commit474e15bc5e4025a91ba857e6f0aae0affc5d7a07 (patch)
treeac4a67eb4a88ab59e147b2cc6c18ffc592972db9 /media
parent684092d90f495440a8924588f2cab834d5dcaba6 (diff)
downloadchromium_src-474e15bc5e4025a91ba857e6f0aae0affc5d7a07.zip
chromium_src-474e15bc5e4025a91ba857e6f0aae0affc5d7a07.tar.gz
chromium_src-474e15bc5e4025a91ba857e6f0aae0affc5d7a07.tar.bz2
Media Player view rotation options.
Review URL: http://codereview.chromium.org/112016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15825 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r--media/player/mainfrm.h48
-rw-r--r--media/player/player_wtl.cc16
-rwxr-xr-xmedia/player/player_wtl.rc950
-rw-r--r--media/player/resource.h120
-rw-r--r--media/player/view.h123
5 files changed, 667 insertions, 590 deletions
diff --git a/media/player/mainfrm.h b/media/player/mainfrm.h
index e1c9978..7874a01 100644
--- a/media/player/mainfrm.h
+++ b/media/player/mainfrm.h
@@ -77,7 +77,12 @@ class CMainFrame : public CFrameWindowImpl<CMainFrame>,
UIEnable(ID_VIEW_FITTOSCREEN, false); // Not currently implemented.
UIEnable(ID_VIEW_FULLSCREEN, false); // Not currently implemented.
UIEnable(ID_VIEW_PROPERTIES, bEnable);
-
+ UIEnable(ID_VIEW_ROTATE0, true);
+ UIEnable(ID_VIEW_ROTATE90, false);
+ UIEnable(ID_VIEW_ROTATE180, true);
+ UIEnable(ID_VIEW_ROTATE270, false);
+ UIEnable(ID_VIEW_MIRROR_HORIZONTAL, true);
+ UIEnable(ID_VIEW_MIRROR_VERTICAL, true);
UIEnable(ID_PLAY_PLAY_PAUSE, bMovieOpen); // if no movie open.
UIEnable(ID_PLAY_HALFSPEED, true);
UIEnable(ID_PLAY_NORMALSPEED, true);
@@ -207,6 +212,8 @@ class CMainFrame : public CFrameWindowImpl<CMainFrame>,
COMMAND_RANGE_HANDLER_EX(ID_VIEW_HALFSIZE, ID_VIEW_FULLSCREEN, OnViewSize)
COMMAND_ID_HANDLER_EX(ID_VIEW_TOOLBAR, OnViewToolBar)
COMMAND_ID_HANDLER_EX(ID_VIEW_STATUS_BAR, OnViewStatusBar)
+ COMMAND_RANGE_HANDLER_EX(ID_VIEW_ROTATE0, ID_VIEW_MIRROR_VERTICAL,
+ OnViewRotate)
COMMAND_ID_HANDLER_EX(ID_VIEW_PROPERTIES, OnViewProperties)
COMMAND_ID_HANDLER_EX(ID_PLAY_PLAY_PAUSE, OnPlayPlayPause)
COMMAND_RANGE_HANDLER_EX(ID_PLAY_HALFSPEED, ID_PLAY_DOUBLESPEED,
@@ -236,6 +243,12 @@ class CMainFrame : public CFrameWindowImpl<CMainFrame>,
UPDATE_ELEMENT(ID_VIEW_FULLSCREEN, UPDUI_MENUPOPUP)
UPDATE_ELEMENT(ID_VIEW_TOOLBAR, UPDUI_MENUPOPUP)
UPDATE_ELEMENT(ID_VIEW_STATUS_BAR, UPDUI_MENUPOPUP)
+ UPDATE_ELEMENT(ID_VIEW_ROTATE0, UPDUI_MENUPOPUP)
+ UPDATE_ELEMENT(ID_VIEW_ROTATE90, UPDUI_MENUPOPUP)
+ UPDATE_ELEMENT(ID_VIEW_ROTATE180, UPDUI_MENUPOPUP)
+ UPDATE_ELEMENT(ID_VIEW_ROTATE270, UPDUI_MENUPOPUP)
+ UPDATE_ELEMENT(ID_VIEW_MIRROR_HORIZONTAL, UPDUI_MENUPOPUP)
+ UPDATE_ELEMENT(ID_VIEW_MIRROR_VERTICAL, UPDUI_MENUPOPUP)
UPDATE_ELEMENT(ID_VIEW_PROPERTIES, UPDUI_MENUPOPUP | UPDUI_TOOLBAR)
UPDATE_ELEMENT(ID_PLAY_PLAY_PAUSE, UPDUI_MENUPOPUP | UPDUI_TOOLBAR)
UPDATE_ELEMENT(ID_PLAY_HALFSPEED, UPDUI_MENUPOPUP)
@@ -260,10 +273,22 @@ class CMainFrame : public CFrameWindowImpl<CMainFrame>,
}
void UpdateSpeedUICheck() {
- float play_rate = media::Movie::get()->GetPlayRate();
- UISetCheck(ID_PLAY_HALFSPEED, (play_rate == 0.5f));
- UISetCheck(ID_PLAY_NORMALSPEED, (play_rate == 1.0f));
- UISetCheck(ID_PLAY_DOUBLESPEED, (play_rate == 2.0f));
+ if (media::Movie::get()) {
+ float play_rate = media::Movie::get()->GetPlayRate();
+ UISetCheck(ID_PLAY_HALFSPEED, (play_rate == 0.5f));
+ UISetCheck(ID_PLAY_NORMALSPEED, (play_rate == 1.0f));
+ UISetCheck(ID_PLAY_DOUBLESPEED, (play_rate == 2.0f));
+ }
+ }
+
+ void UpdateRotateUICheck() {
+ int view_rotate = m_view.GetViewRotate();
+ UISetCheck(ID_VIEW_ROTATE0, (view_rotate == 0));
+ UISetCheck(ID_VIEW_ROTATE90, (view_rotate == 1));
+ UISetCheck(ID_VIEW_ROTATE180, (view_rotate == 2));
+ UISetCheck(ID_VIEW_ROTATE270, (view_rotate == 3));
+ UISetCheck(ID_VIEW_MIRROR_HORIZONTAL, (view_rotate == 4));
+ UISetCheck(ID_VIEW_MIRROR_VERTICAL, (view_rotate == 5));
}
int OnCreate(LPCREATESTRUCT /*lpCreateStruct*/) {
@@ -312,6 +337,7 @@ class CMainFrame : public CFrameWindowImpl<CMainFrame>,
UISetCheck(ID_PLAY_NORMALSPEED, 1);
UISetCheck(ID_VIEW_TOOLBAR, 1);
UISetCheck(ID_VIEW_STATUS_BAR, 1);
+ UISetCheck(ID_VIEW_ROTATE0, 1);
UISetCheck(ID_OPTIONS_OPENMP, 0);
UISetCheck(ID_OPTIONS_DRAW, 1);
UISetCheck(ID_OPTIONS_AUDIO, 1);
@@ -390,9 +416,9 @@ class CMainFrame : public CFrameWindowImpl<CMainFrame>,
void OnFileOpen(UINT /*uNotifyCode*/, int /*nID*/, CWindow /*wnd*/) {
CFileDialog dlg(TRUE, L"bmp", NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
- L"Movie Files (*.mp4;*.mov;*.mkv;*.flv;*.avi;*.264)\0"
- L"*.mp4;*.mov;*.mkv;*.flv;*.avi;*.264\0"
- L"Bitmap Files (*.bmp)\0*.bmp\0All Files (*.*)\0*.*\0",
+ L"Movie Files (*.mp4;*.ogg;*.ogv)\0"
+ L"*.mp4;*.ogg;*.ogv\0"
+ L"Audio Files (*.mp3;*.m4a)\0*.mp3;*.m4a\0All Files (*.*)\0*.*\0",
m_hWnd);
if (dlg.DoModal() == IDOK) {
MovieOpenFile(dlg.m_szFileName);
@@ -537,6 +563,12 @@ class CMainFrame : public CFrameWindowImpl<CMainFrame>,
UpdateLayout();
}
+ void OnViewRotate(UINT /*uNotifyCode*/, int nID, CWindow /*wnd*/) {
+ m_view.SetViewRotate(nID - ID_VIEW_ROTATE0);
+ UpdateRotateUICheck();
+ UpdateLayout();
+ }
+
void OnViewToolBar(UINT /*uNotifyCode*/, int /*nID*/, CWindow /*wnd*/) {
static BOOL bNew = TRUE; // initially visible
bNew = !bNew;
diff --git a/media/player/player_wtl.cc b/media/player/player_wtl.cc
index 46d0cea..0f89fd6 100644
--- a/media/player/player_wtl.cc
+++ b/media/player/player_wtl.cc
@@ -14,14 +14,14 @@
// Note this header must come before other ATL headers.
#include "media/player/stdafx.h"
-#include <atlcrack.h>
-#include <atlctrls.h>
-#include <atlctrlw.h>
-#include <atldlgs.h>
-#include <atlframe.h>
-#include <atlmisc.h>
-#include <atlprint.h>
-#include <atlscrl.h>
+#include <atlcrack.h> // NOLINT
+#include <atlctrls.h> // NOLINT
+#include <atlctrlw.h> // NOLINT
+#include <atldlgs.h> // NOLINT
+#include <atlframe.h> // NOLINT
+#include <atlmisc.h> // NOLINT
+#include <atlprint.h> // NOLINT
+#include <atlscrl.h> // NOLINT
// Note these headers are order sensitive.
#include "base/at_exit.h"
diff --git a/media/player/player_wtl.rc b/media/player/player_wtl.rc
index 2470362..35999c9 100755
--- a/media/player/player_wtl.rc
+++ b/media/player/player_wtl.rc
@@ -1,472 +1,478 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "../chrome/third_party/wtl/include/atlres.h"
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""../chrome/third_party/wtl/include/atlres.h\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Toolbar
-//
-
-IDR_MAINFRAME4 TOOLBAR 16, 15
-BEGIN
- BUTTON ID_PLAY_PLAY_PAUSE
- SEPARATOR
- BUTTON ID_FILE_OPEN
- BUTTON ID_RECENT_BTN
- SEPARATOR
- BUTTON ID_FILE_PRINT
- BUTTON ID_FILE_PRINT_PREVIEW
- BUTTON ID_FILE_PAGE_SETUP
- SEPARATOR
- BUTTON ID_EDIT_COPY
- BUTTON ID_EDIT_PASTE
- BUTTON ID_EDIT_CLEAR
- SEPARATOR
- BUTTON ID_VIEW_PROPERTIES
- BUTTON ID_APP_ABOUT
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Bitmap
-//
-
-IDR_MAINFRAME4 BITMAP "Toolbar.bmp"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDR_MAINFRAME MENU
-BEGIN
- POPUP "&File"
- BEGIN
- MENUITEM "&Open...\tCtrl+O", ID_FILE_OPEN
- MENUITEM SEPARATOR
- MENUITEM "&Print...\tCtrl+P", ID_FILE_PRINT
- MENUITEM "Print Pre&view", ID_FILE_PRINT_PREVIEW
- MENUITEM "Pa&ge Setup...", ID_FILE_PAGE_SETUP
- MENUITEM SEPARATOR
- POPUP "Recent &Files"
- BEGIN
- MENUITEM "(empty)", ID_FILE_MRU_FILE1
- END
- MENUITEM "&Last...\tLast+L", ID_FILE_LAST
- MENUITEM SEPARATOR
- MENUITEM "E&xit", ID_APP_EXIT
- END
- POPUP "&Edit"
- BEGIN
- MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY
- MENUITEM "&Paste\tCtrl+V", ID_EDIT_PASTE
- MENUITEM "Cl&ear\tCTRL+F4", ID_EDIT_CLEAR
- END
- POPUP "&View"
- BEGIN
- MENUITEM "&Half Size\tCtrl+0", ID_VIEW_HALFSIZE
- MENUITEM "&Normal Size\tCtrl+1", ID_VIEW_NORMALSIZE
- MENUITEM "&Double Size\tCtrl+2", ID_VIEW_DOUBLESIZE
- MENUITEM "Fit to Screen\tCtrl+3", ID_VIEW_FITTOSCREEN
- MENUITEM "&Full Screen\tCtrl+F", ID_VIEW_FULLSCREEN
- MENUITEM SEPARATOR
- MENUITEM "&Toolbar", ID_VIEW_TOOLBAR
- MENUITEM "&Status Bar", ID_VIEW_STATUS_BAR
- MENUITEM SEPARATOR
- MENUITEM "&Properties", ID_VIEW_PROPERTIES
- END
- POPUP "&Play"
- BEGIN
- MENUITEM "&Play/Pause\tSpace", ID_PLAY_PLAY_PAUSE
- MENUITEM SEPARATOR
- MENUITEM "&Half Speed\tCtrl+0", ID_PLAY_HALFSPEED
- MENUITEM "&Normal Speed\tCtrl+1", ID_PLAY_NORMALSPEED
- MENUITEM "&Double Speed\tCtrl+2", ID_PLAY_DOUBLESPEED
- END
- POPUP "&Options"
- BEGIN
- MENUITEM "&OpenMP", ID_OPTIONS_OPENMP
- MENUITEM "&MMX", ID_OPTIONS_MMX
- MENUITEM "SWScaler", ID_OPTIONS_SWSCALER
- MENUITEM "Draw", ID_OPTIONS_DRAW
- MENUITEM "Audio", ID_OPTIONS_AUDIO
- MENUITEM "Dump YUV File", ID_OPTIONS_DUMPYUVFILE
- END
- POPUP "&Help"
- BEGIN
- MENUITEM "&About Media Player...", ID_APP_ABOUT
- END
-END
-
-IDR_CONTEXTMENU MENU
-BEGIN
- POPUP ""
- BEGIN
- MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY
- MENUITEM "&Paste\tCtrl+V", ID_EDIT_PASTE
- MENUITEM "Cl&ear", ID_EDIT_CLEAR
- MENUITEM SEPARATOR
- MENUITEM "&Properties", ID_VIEW_PROPERTIES
- END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDR_MAINFRAME3 ICON "player_wtl.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ABOUTBOX DIALOGEX 0, 0, 185, 126
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "About"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
- DEFPUSHBUTTON "OK",IDOK,121,97,50,14
- CTEXT "Media Player v2.0\n\nApril 14, 2009\n\nCopyright (c) 2009 The Chromium Authors.\nAll rights reserved.",IDC_STATIC,7,43,171,49
- ICON IDR_MAINFRAME3,IDC_STATIC,80,17,21,20
- GROUPBOX "",IDC_STATIC,7,7,171,112
-END
-
-IDD_PROP_PAGE1 DIALOGEX 0, 0, 212, 114
-STYLE DS_SETFONT | WS_CHILD | WS_CAPTION
-CAPTION "Movie"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
- LTEXT "Location:",IDC_STATIC,5,20,30,8
- LTEXT "Size:",IDC_STATIC,5,41,16,8
- LTEXT "Created:",IDC_STATIC,5,60,28,8
- LTEXT "Attributes:",IDC_STATIC,5,81,32,8
- LTEXT "Static",IDC_FILESIZE,40,41,170,8
- LTEXT "Static",IDC_FILEDATE,40,60,170,8
- LTEXT "Static",IDC_FILEATTRIB,40,81,170,8
- LTEXT "Static",IDC_FILELOCATION,40,20,170,8,SS_NOTIFY
-END
-
-IDD_PROP_PAGE2 DIALOGEX 0, 0, 212, 114
-STYLE DS_SETFONT | WS_CHILD | WS_CAPTION
-CAPTION "Frame"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
- LTEXT "Type:",IDC_STATIC,15,10,80,8
- LTEXT "Static",IDC_TYPE,100,10,105,8
- LTEXT "Width:",IDC_STATIC,15,25,80,8
- LTEXT "Static",IDC_WIDTH,100,25,105,8
- LTEXT "Height:",IDC_STATIC,15,40,80,8
- LTEXT "Static",IDC_HEIGHT,100,40,105,8
- LTEXT "Horizontal Resolution:",IDC_STATIC,15,55,80,8
- LTEXT "Static",IDC_HORRES,100,55,105,8
- LTEXT "Vertical Resolution:",IDC_STATIC,15,70,80,8
- LTEXT "Static",IDC_VERTRES,100,70,105,8
- LTEXT "Bit Depth:",IDC_STATIC,15,85,80,8
- LTEXT "Static",IDC_BITDEPTH,100,85,105,8
- LTEXT "Compression:",IDC_STATIC,15,100,80,8
- LTEXT "Static",IDC_COMPRESSION,100,100,105,8
-END
-
-IDD_PROP_PAGE3 DIALOGEX 0, 0, 212, 114
-STYLE DS_SETFONT | WS_CHILD | WS_CAPTION
-CAPTION "Screen"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
- LTEXT "Width:",IDC_STATIC,15,25,80,8
- LTEXT "Static",IDC_WIDTH,100,25,105,8
- LTEXT "Height:",IDC_STATIC,15,40,80,8
- LTEXT "Static",IDC_HEIGHT,100,40,105,8
- LTEXT "Horizontal DPI:",IDC_STATIC,15,55,80,8
- LTEXT "Static",IDC_HORRES,100,55,105,8
- LTEXT "Vertical DPI:",IDC_STATIC,15,70,80,8
- LTEXT "Static",IDC_VERTRES,100,70,105,8
- LTEXT "Bit Depth:",IDC_STATIC,15,85,80,8
- LTEXT "Static",IDC_BITDEPTH,100,85,105,8
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_ABOUTBOX, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 178
- TOPMARGIN, 7
- BOTTOMMARGIN, 119
- END
-
- IDD_PROP_PAGE1, DIALOG
- BEGIN
- LEFTMARGIN, 5
- RIGHTMARGIN, 205
- TOPMARGIN, 7
- BOTTOMMARGIN, 107
- END
-
- IDD_PROP_PAGE2, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 205
- TOPMARGIN, 7
- BOTTOMMARGIN, 107
- END
-
- IDD_PROP_PAGE3, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 205
- TOPMARGIN, 7
- BOTTOMMARGIN, 107
- END
-END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Accelerator
-//
-
-IDR_MAINFRAME2 ACCELERATORS
-BEGIN
- VK_F4, ID_EDIT_CLEAR, VIRTKEY, CONTROL, NOINVERT
- "C", ID_EDIT_COPY, VIRTKEY, CONTROL, NOINVERT
- VK_INSERT, ID_EDIT_COPY, VIRTKEY, CONTROL, NOINVERT
- "V", ID_EDIT_PASTE, VIRTKEY, CONTROL, NOINVERT
- VK_INSERT, ID_EDIT_PASTE, VIRTKEY, SHIFT, NOINVERT
- "O", ID_FILE_OPEN, VIRTKEY, CONTROL, NOINVERT
- "L", ID_FILE_LAST, VIRTKEY, CONTROL, NOINVERT
- "P", ID_FILE_PRINT, VIRTKEY, CONTROL, NOINVERT
- "0", ID_PLAY_HALFSPEED, VIRTKEY, ALT, NOINVERT
- "1", ID_PLAY_NORMALSPEED, VIRTKEY, ALT, NOINVERT
- "2", ID_PLAY_DOUBLESPEED, VIRTKEY, ALT, NOINVERT
- " ", ID_PLAY_PLAY_PAUSE, ASCII, NOINVERT
- "0", ID_VIEW_HALFSIZE, VIRTKEY, CONTROL, NOINVERT
- "1", ID_VIEW_NORMALSIZE, VIRTKEY, CONTROL, NOINVERT
- "2", ID_VIEW_DOUBLESIZE, VIRTKEY, CONTROL, NOINVERT
- "3", ID_VIEW_FITTOSCREEN, VIRTKEY, CONTROL, NOINVERT
- "F", ID_VIEW_FULLSCREEN, VIRTKEY, CONTROL, NOINVERT
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by Frank Barchard"
- VALUE "FileDescription", "media_player"
- VALUE "FileVersion", "1, 0, 0, 1"
- VALUE "InternalName", "media_player_wtl"
- VALUE "LegalCopyright", "Copyright 2009"
- VALUE "OriginalFilename", "media_player_wtl.exe"
- VALUE "ProductName", "media_player"
- VALUE "ProductVersion", "1, 0, 0, 1"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDR_MAINFRAME "Media Player"
-END
-
-STRINGTABLE
-BEGIN
- ID_FILE_NEW "Create a new document\nNew"
- ID_FILE_OPEN "Open a movie\nOpen"
- ID_FILE_CLOSE "Close movie\nClose"
- ID_FILE_SAVE "Save the movie\nSave"
- ID_FILE_SAVE_AS "Save the movie with a new name\nSave As"
- ID_FILE_PAGE_SETUP "Change the printing options\nPage Setup"
- ID_FILE_PRINT_SETUP "Change the printer and printing options\nPrint Setup"
- ID_FILE_PRINT "Print the movie\nPrint"
- ID_FILE_PRINT_PREVIEW "Display full pages\nPrint Preview"
-END
-
-STRINGTABLE
-BEGIN
- ID_VIEW_FULLSCREEN "Full screen mode."
- ID_PLAY_HALFSPEED "Play movie at half normal speed."
- ID_PLAY_NORMALSPEED "Play movie at normal speed."
- ID_PLAY_DOUBLESPEED "Play movie at twice the normal speed."
- ID_FILE_LAST "Replay last movie\nOpen"
-END
-
-STRINGTABLE
-BEGIN
- ID_APP_ABOUT "Display program information, version number and copyright\nAbout"
- ID_APP_EXIT "Quit the application; prompts to save documents\nExit"
-END
-
-STRINGTABLE
-BEGIN
- ID_NEXT_PANE "Switch to the next window pane\nNext Pane"
- ID_PREV_PANE "Switch back to the previous window pane\nPrevious Pane"
-END
-
-STRINGTABLE
-BEGIN
- ID_WINDOW_NEW "Open another window for the movie\nNew Window"
- ID_WINDOW_ARRANGE "Arrange icons at the bottom of the window\nArrange Icons"
- ID_WINDOW_CASCADE "Arrange windows so they overlap\nCascade Windows"
- ID_WINDOW_TILE_HORZ "Arrange windows as non-overlapping tiles\nTile Windows"
- ID_WINDOW_TILE_VERT "Arrange windows as non-overlapping tiles\nTile Windows"
- ID_WINDOW_SPLIT "Split the active window into panes\nSplit"
-END
-
-STRINGTABLE
-BEGIN
- ID_EDIT_CLEAR "Removes the movie\nClear"
- ID_EDIT_CLEAR_ALL "Erase everything\nErase All"
- ID_EDIT_COPY "Copy the movie and put it on the Clipboard\nCopy"
- ID_EDIT_CUT "Cut the selection and put it on the Clipboard\nCut"
- ID_EDIT_FIND "Find the specified text\nFind"
- ID_EDIT_PASTE "Insert movie from the Clipboard\nPaste"
- ID_EDIT_REPEAT "Repeat the last action\nRepeat"
- ID_EDIT_REPLACE "Replace specific text with different text\nReplace"
- ID_EDIT_SELECT_ALL "Select the entire document\nSelect All"
- ID_EDIT_UNDO "Undo the last action\nUndo"
- ID_EDIT_REDO "Redo the previously undone action\nRedo"
-END
-
-STRINGTABLE
-BEGIN
- ID_VIEW_TOOLBAR "Show or hide the toolbar\nToggle ToolBar"
- ID_VIEW_STATUS_BAR "Show or hide the status bar\nToggle StatusBar"
-END
-
-STRINGTABLE
-BEGIN
- ATL_IDS_SCSIZE "Change the window size"
- ATL_IDS_SCMOVE "Change the window position"
- ATL_IDS_SCMINIMIZE "Reduce the window to an icon"
- ATL_IDS_SCMAXIMIZE "Enlarge the window to full size"
- ATL_IDS_SCNEXTWINDOW "Switch to the next document window"
- ATL_IDS_SCPREVWINDOW "Switch to the previous document window"
- ATL_IDS_SCCLOSE "Close the active window and prompts to save the documents"
-END
-
-STRINGTABLE
-BEGIN
- ATL_IDS_SCRESTORE "Restore the window to normal size"
- ATL_IDS_SCTASKLIST "Activate Task List"
- ATL_IDS_MDICHILD "Activate this window"
-END
-
-STRINGTABLE
-BEGIN
- ATL_IDS_IDLEMESSAGE "Ready"
-END
-
-STRINGTABLE
-BEGIN
- ATL_IDS_MRU_FILE "Open this document"
-END
-
-STRINGTABLE
-BEGIN
- ID_RECENT_BTN "\nRecent Files"
- ID_VIEW_PROPERTIES "Displays movie properties\nProperties"
- ID_PLAY_PLAY_PAUSE "Start or pause movie playback"
-END
-
-STRINGTABLE
-BEGIN
- ID_OPTIONS_MMX "Enable CPU extensions including MMX and SSE"
- ID_OPTIONS_OPENMP "Enable OpenMP for YUV"
- ID_OPTIONS_SWSCALER "Use SWScaler YUV conversion"
- ID_OPTIONS_DRAW "Enable/Disable Draws"
- ID_OPTIONS_AUDIO "Enable/Disable Audio"
- ID_OPTIONS_DUMPYUVFILE "Dump YUV frames to a file"
- ID_VIEW_HALFSIZE "View movie at half normal size."
- ID_VIEW_NORMALSIZE "View movie at normal size."
- ID_VIEW_DOUBLESIZE "View movie at twice the normal size."
- ID_VIEW_FITTOSCREEN "Maximize window to desktop."
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "../chrome/third_party/wtl/include/atlres.h"
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "../chrome/third_party/wtl/include/atlres.h\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Toolbar
+//
+
+IDR_MAINFRAME4 TOOLBAR 16, 15
+BEGIN
+ BUTTON ID_PLAY_PLAY_PAUSE
+ SEPARATOR
+ BUTTON ID_FILE_OPEN
+ BUTTON ID_RECENT_BTN
+ SEPARATOR
+ BUTTON ID_FILE_PRINT
+ BUTTON ID_FILE_PRINT_PREVIEW
+ BUTTON ID_FILE_PAGE_SETUP
+ SEPARATOR
+ BUTTON ID_EDIT_COPY
+ BUTTON ID_EDIT_PASTE
+ BUTTON ID_EDIT_CLEAR
+ SEPARATOR
+ BUTTON ID_VIEW_PROPERTIES
+ BUTTON ID_APP_ABOUT
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Bitmap
+//
+
+IDR_MAINFRAME4 BITMAP "Toolbar.bmp"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Menu
+//
+
+IDR_MAINFRAME MENU
+BEGIN
+ POPUP "&File"
+ BEGIN
+ MENUITEM "&Open...\tCtrl+O", ID_FILE_OPEN
+ MENUITEM SEPARATOR
+ MENUITEM "&Print...\tCtrl+P", ID_FILE_PRINT
+ MENUITEM "Print Pre&view", ID_FILE_PRINT_PREVIEW
+ MENUITEM "Pa&ge Setup...", ID_FILE_PAGE_SETUP
+ MENUITEM SEPARATOR
+ POPUP "Recent &Files"
+ BEGIN
+ MENUITEM "(empty)", ID_FILE_MRU_FILE1
+ END
+ MENUITEM "&Last...\tLast+L", ID_FILE_LAST
+ MENUITEM SEPARATOR
+ MENUITEM "E&xit", ID_APP_EXIT
+ END
+ POPUP "&Edit"
+ BEGIN
+ MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY
+ MENUITEM "&Paste\tCtrl+V", ID_EDIT_PASTE
+ MENUITEM "Cl&ear\tCTRL+F4", ID_EDIT_CLEAR
+ END
+ POPUP "&View"
+ BEGIN
+ MENUITEM "&Half Size\tCtrl+0", ID_VIEW_HALFSIZE
+ MENUITEM "&Normal Size\tCtrl+1", ID_VIEW_NORMALSIZE
+ MENUITEM "&Double Size\tCtrl+2", ID_VIEW_DOUBLESIZE
+ MENUITEM "Fit to Screen\tCtrl+3", ID_VIEW_FITTOSCREEN
+ MENUITEM "&Full Screen\tCtrl+F", ID_VIEW_FULLSCREEN
+ MENUITEM SEPARATOR
+ MENUITEM "&Toolbar", ID_VIEW_TOOLBAR
+ MENUITEM "&Status Bar", ID_VIEW_STATUS_BAR
+ MENUITEM SEPARATOR
+ MENUITEM "N&o Rotation", ID_VIEW_ROTATE0
+ MENUITEM "Rotate &90", ID_VIEW_ROTATE90
+ MENUITEM "Rotate &180", ID_VIEW_ROTATE180
+ MENUITEM "Rotate &270", ID_VIEW_ROTATE270
+ MENUITEM "&Mirror Horizontally", ID_VIEW_MIRROR_HORIZONTAL
+ MENUITEM "Mirror &Vertically", ID_VIEW_MIRROR_VERTICAL
+ MENUITEM SEPARATOR
+ MENUITEM "&Properties", ID_VIEW_PROPERTIES
+ END
+ POPUP "&Play"
+ BEGIN
+ MENUITEM "&Play/Pause\tSpace", ID_PLAY_PLAY_PAUSE
+ MENUITEM SEPARATOR
+ MENUITEM "&Half Speed\tAlt+0", ID_PLAY_HALFSPEED
+ MENUITEM "&Normal Speed\tAlt+1", ID_PLAY_NORMALSPEED
+ MENUITEM "&Double Speed\tAlt+2", ID_PLAY_DOUBLESPEED
+ END
+ POPUP "&Options"
+ BEGIN
+ MENUITEM "&OpenMP", ID_OPTIONS_OPENMP
+ MENUITEM "&MMX", ID_OPTIONS_MMX
+ MENUITEM "SWScaler", ID_OPTIONS_SWSCALER
+ MENUITEM "Draw", ID_OPTIONS_DRAW
+ MENUITEM "Audio", ID_OPTIONS_AUDIO
+ MENUITEM "Dump YUV File", ID_OPTIONS_DUMPYUVFILE
+ END
+ POPUP "&Help"
+ BEGIN
+ MENUITEM "&About Media Player...", ID_APP_ABOUT
+ END
+END
+
+IDR_CONTEXTMENU MENU
+BEGIN
+ POPUP ""
+ BEGIN
+ MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY
+ MENUITEM "&Paste\tCtrl+V", ID_EDIT_PASTE
+ MENUITEM "Cl&ear", ID_EDIT_CLEAR
+ MENUITEM SEPARATOR
+ MENUITEM "&Properties", ID_VIEW_PROPERTIES
+ END
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDR_MAINFRAME3 ICON "player_wtl.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_ABOUTBOX DIALOGEX 0, 0, 185, 126
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "About"
+FONT 8, "MS Sans Serif", 0, 0, 0x0
+BEGIN
+ DEFPUSHBUTTON "OK",IDOK,121,97,50,14
+ CTEXT "Media Player v2.0\n\nApril 14, 2009\n\nCopyright (c) 2009 The Chromium Authors.\nAll rights reserved.",IDC_STATIC,7,43,171,49
+ ICON IDR_MAINFRAME3,IDC_STATIC,80,17,21,20
+ GROUPBOX "",IDC_STATIC,7,7,171,112
+END
+
+IDD_PROP_PAGE1 DIALOGEX 0, 0, 212, 114
+STYLE DS_SETFONT | WS_CHILD | WS_CAPTION
+CAPTION "Movie"
+FONT 8, "MS Sans Serif", 0, 0, 0x0
+BEGIN
+ LTEXT "Location:",IDC_STATIC,5,20,30,8
+ LTEXT "Size:",IDC_STATIC,5,41,16,8
+ LTEXT "Created:",IDC_STATIC,5,60,28,8
+ LTEXT "Attributes:",IDC_STATIC,5,81,32,8
+ LTEXT "Static",IDC_FILESIZE,40,41,170,8
+ LTEXT "Static",IDC_FILEDATE,40,60,170,8
+ LTEXT "Static",IDC_FILEATTRIB,40,81,170,8
+ LTEXT "Static",IDC_FILELOCATION,40,20,170,8,SS_NOTIFY
+END
+
+IDD_PROP_PAGE2 DIALOGEX 0, 0, 212, 114
+STYLE DS_SETFONT | WS_CHILD | WS_CAPTION
+CAPTION "Frame"
+FONT 8, "MS Sans Serif", 0, 0, 0x0
+BEGIN
+ LTEXT "Type:",IDC_STATIC,15,10,80,8
+ LTEXT "Static",IDC_TYPE,100,10,105,8
+ LTEXT "Width:",IDC_STATIC,15,25,80,8
+ LTEXT "Static",IDC_WIDTH,100,25,105,8
+ LTEXT "Height:",IDC_STATIC,15,40,80,8
+ LTEXT "Static",IDC_HEIGHT,100,40,105,8
+ LTEXT "Horizontal Resolution:",IDC_STATIC,15,55,80,8
+ LTEXT "Static",IDC_HORRES,100,55,105,8
+ LTEXT "Vertical Resolution:",IDC_STATIC,15,70,80,8
+ LTEXT "Static",IDC_VERTRES,100,70,105,8
+ LTEXT "Bit Depth:",IDC_STATIC,15,85,80,8
+ LTEXT "Static",IDC_BITDEPTH,100,85,105,8
+ LTEXT "Compression:",IDC_STATIC,15,100,80,8
+ LTEXT "Static",IDC_COMPRESSION,100,100,105,8
+END
+
+IDD_PROP_PAGE3 DIALOGEX 0, 0, 212, 114
+STYLE DS_SETFONT | WS_CHILD | WS_CAPTION
+CAPTION "Screen"
+FONT 8, "MS Sans Serif", 0, 0, 0x0
+BEGIN
+ LTEXT "Width:",IDC_STATIC,15,25,80,8
+ LTEXT "Static",IDC_WIDTH,100,25,105,8
+ LTEXT "Height:",IDC_STATIC,15,40,80,8
+ LTEXT "Static",IDC_HEIGHT,100,40,105,8
+ LTEXT "Horizontal DPI:",IDC_STATIC,15,55,80,8
+ LTEXT "Static",IDC_HORRES,100,55,105,8
+ LTEXT "Vertical DPI:",IDC_STATIC,15,70,80,8
+ LTEXT "Static",IDC_VERTRES,100,70,105,8
+ LTEXT "Bit Depth:",IDC_STATIC,15,85,80,8
+ LTEXT "Static",IDC_BITDEPTH,100,85,105,8
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO
+BEGIN
+ IDD_ABOUTBOX, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 178
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 119
+ END
+
+ IDD_PROP_PAGE1, DIALOG
+ BEGIN
+ LEFTMARGIN, 5
+ RIGHTMARGIN, 205
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 107
+ END
+
+ IDD_PROP_PAGE2, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 205
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 107
+ END
+
+ IDD_PROP_PAGE3, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 205
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 107
+ END
+END
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Accelerator
+//
+
+IDR_MAINFRAME2 ACCELERATORS
+BEGIN
+ VK_F4, ID_EDIT_CLEAR, VIRTKEY, CONTROL, NOINVERT
+ "C", ID_EDIT_COPY, VIRTKEY, CONTROL, NOINVERT
+ VK_INSERT, ID_EDIT_COPY, VIRTKEY, CONTROL, NOINVERT
+ "V", ID_EDIT_PASTE, VIRTKEY, CONTROL, NOINVERT
+ VK_INSERT, ID_EDIT_PASTE, VIRTKEY, SHIFT, NOINVERT
+ "O", ID_FILE_OPEN, VIRTKEY, CONTROL, NOINVERT
+ "L", ID_FILE_LAST, VIRTKEY, CONTROL, NOINVERT
+ "P", ID_FILE_PRINT, VIRTKEY, CONTROL, NOINVERT
+ "0", ID_PLAY_HALFSPEED, VIRTKEY, ALT, NOINVERT
+ "1", ID_PLAY_NORMALSPEED, VIRTKEY, ALT, NOINVERT
+ "2", ID_PLAY_DOUBLESPEED, VIRTKEY, ALT, NOINVERT
+ " ", ID_PLAY_PLAY_PAUSE, ASCII, NOINVERT
+ "0", ID_VIEW_HALFSIZE, VIRTKEY, CONTROL, NOINVERT
+ "1", ID_VIEW_NORMALSIZE, VIRTKEY, CONTROL, NOINVERT
+ "2", ID_VIEW_DOUBLESIZE, VIRTKEY, CONTROL, NOINVERT
+ "3", ID_VIEW_FITTOSCREEN, VIRTKEY, CONTROL, NOINVERT
+ "F", ID_VIEW_FULLSCREEN, VIRTKEY, CONTROL, NOINVERT
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "Comments", "Written by Frank Barchard"
+ VALUE "FileDescription", "media_player"
+ VALUE "FileVersion", "1, 0, 0, 1"
+ VALUE "InternalName", "media_player_wtl"
+ VALUE "LegalCopyright", "Copyright 2009"
+ VALUE "OriginalFilename", "media_player_wtl.exe"
+ VALUE "ProductName", "media_player"
+ VALUE "ProductVersion", "1, 0, 0, 1"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE
+BEGIN
+ IDR_MAINFRAME "Media Player"
+END
+
+STRINGTABLE
+BEGIN
+ ID_FILE_NEW "Create a new document\nNew"
+ ID_FILE_OPEN "Open a movie\nOpen"
+ ID_FILE_CLOSE "Close movie\nClose"
+ ID_FILE_SAVE "Save the movie\nSave"
+ ID_FILE_SAVE_AS "Save the movie with a new name\nSave As"
+ ID_FILE_PAGE_SETUP "Change the printing options\nPage Setup"
+ ID_FILE_PRINT_SETUP "Change the printer and printing options\nPrint Setup"
+ ID_FILE_PRINT "Print the movie\nPrint"
+ ID_FILE_PRINT_PREVIEW "Display full pages\nPrint Preview"
+END
+
+STRINGTABLE
+BEGIN
+ ID_VIEW_FULLSCREEN "Full screen mode."
+ ID_PLAY_HALFSPEED "Play movie at half normal speed."
+ ID_PLAY_NORMALSPEED "Play movie at normal speed."
+ ID_PLAY_DOUBLESPEED "Play movie at twice the normal speed."
+ ID_FILE_LAST "Replay last movie\nOpen"
+ ID_VIEW_ROTATE0 "Turn off rotation."
+ ID_VIEW_ROTATE90 "Rotate movie by 90 degrees clockwise."
+ ID_VIEW_ROTATE180 "Rotate movie by 180 degrees."
+ ID_VIEW_ROTATE270 "Rotate movie by 270 degrees clockwise."
+ ID_VIEW_MIRROR_HORIZONTAL "Mirror movie horizontally."
+ ID_VIEW_MIRROR_VERTICAL "Mirror movie vertically."
+END
+
+STRINGTABLE
+BEGIN
+ ID_APP_ABOUT "Display program information, version number and copyright\nAbout"
+ ID_APP_EXIT "Quit the application; prompts to save documents\nExit"
+END
+
+STRINGTABLE
+BEGIN
+ ID_NEXT_PANE "Switch to the next window pane\nNext Pane"
+ ID_PREV_PANE "Switch back to the previous window pane\nPrevious Pane"
+END
+
+STRINGTABLE
+BEGIN
+ ID_WINDOW_NEW "Open another window for the movie\nNew Window"
+ ID_WINDOW_ARRANGE "Arrange icons at the bottom of the window\nArrange Icons"
+ ID_WINDOW_CASCADE "Arrange windows so they overlap\nCascade Windows"
+ ID_WINDOW_TILE_HORZ "Arrange windows as non-overlapping tiles\nTile Windows"
+ ID_WINDOW_TILE_VERT "Arrange windows as non-overlapping tiles\nTile Windows"
+ ID_WINDOW_SPLIT "Split the active window into panes\nSplit"
+END
+
+STRINGTABLE
+BEGIN
+ ID_EDIT_CLEAR "Removes the movie\nClear"
+ ID_EDIT_CLEAR_ALL "Erase everything\nErase All"
+ ID_EDIT_COPY "Copy the movie and put it on the Clipboard\nCopy"
+ ID_EDIT_CUT "Cut the selection and put it on the Clipboard\nCut"
+ ID_EDIT_FIND "Find the specified text\nFind"
+ ID_EDIT_PASTE "Insert movie from the Clipboard\nPaste"
+ ID_EDIT_REPEAT "Repeat the last action\nRepeat"
+ ID_EDIT_REPLACE "Replace specific text with different text\nReplace"
+ ID_EDIT_SELECT_ALL "Select the entire document\nSelect All"
+ ID_EDIT_UNDO "Undo the last action\nUndo"
+ ID_EDIT_REDO "Redo the previously undone action\nRedo"
+END
+
+STRINGTABLE
+BEGIN
+ ID_VIEW_TOOLBAR "Show or hide the toolbar\nToggle ToolBar"
+ ID_VIEW_STATUS_BAR "Show or hide the status bar\nToggle StatusBar"
+END
+
+STRINGTABLE
+BEGIN
+ ATL_IDS_SCSIZE "Change the window size"
+ ATL_IDS_SCMOVE "Change the window position"
+ ATL_IDS_SCMINIMIZE "Reduce the window to an icon"
+ ATL_IDS_SCMAXIMIZE "Enlarge the window to full size"
+ ATL_IDS_SCNEXTWINDOW "Switch to the next document window"
+ ATL_IDS_SCPREVWINDOW "Switch to the previous document window"
+ ATL_IDS_SCCLOSE "Close the active window and prompts to save the documents"
+END
+
+STRINGTABLE
+BEGIN
+ ATL_IDS_SCRESTORE "Restore the window to normal size"
+ ATL_IDS_SCTASKLIST "Activate Task List"
+ ATL_IDS_MDICHILD "Activate this window"
+END
+
+STRINGTABLE
+BEGIN
+ ATL_IDS_IDLEMESSAGE "Ready"
+END
+
+STRINGTABLE
+BEGIN
+ ATL_IDS_MRU_FILE "Open this document"
+END
+
+STRINGTABLE
+BEGIN
+ ID_RECENT_BTN "\nRecent Files"
+ ID_VIEW_PROPERTIES "Displays movie properties\nProperties"
+ ID_PLAY_PLAY_PAUSE "Start or pause movie playback"
+END
+
+STRINGTABLE
+BEGIN
+ ID_OPTIONS_MMX "Enable CPU extensions including MMX and SSE"
+ ID_OPTIONS_OPENMP "Enable OpenMP for YUV"
+ ID_OPTIONS_SWSCALER "Use SWScaler YUV conversion"
+ ID_OPTIONS_DRAW "Enable/Disable Draws"
+ ID_OPTIONS_AUDIO "Enable/Disable Audio"
+ ID_OPTIONS_DUMPYUVFILE "Dump YUV frames to a file"
+ ID_VIEW_HALFSIZE "View movie at half normal size."
+ ID_VIEW_NORMALSIZE "View movie at normal size."
+ ID_VIEW_DOUBLESIZE "View movie at twice the normal size."
+ ID_VIEW_FITTOSCREEN "Maximize window to desktop."
+END
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
diff --git a/media/player/resource.h b/media/player/resource.h
index d009d7b..c1a9457 100644
--- a/media/player/resource.h
+++ b/media/player/resource.h
@@ -1,56 +1,64 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by player_wtl.rc
-//
-#define IDD_ABOUTBOX 100
-#define IDR_MAINFRAME 128
-#define IDR_MAINFRAME2 128
-#define IDR_MAINFRAME3 128
-#define IDR_MAINFRAME4 128
-#define IDR_CONTEXTMENU 201
-#define IDD_PROP_PAGE1 202
-#define IDD_PROP_PAGE2 203
-#define IDD_PROP_PAGE3 204
-#define IDC_TYPE 1001
-#define IDC_WIDTH 1002
-#define IDC_HEIGHT 1003
-#define IDC_HORRES 1004
-#define IDC_VERTRES 1005
-#define IDC_BITDEPTH 1006
-#define IDC_COMPRESSION 1008
-#define IDC_FILELOCATION 1009
-#define IDC_FILESIZE 1010
-#define IDC_FILEDATE 1011
-#define IDC_FILEATTRIB 1012
-#define ID_RECENT_BTN 32777
-#define ID_VIEW_PROPERTIES 32778
-#define ID_VIEW_MEDIADETAILS 32780
-#define ID_PLAY_PLAY 32781
-#define ID_PLAY_PLAY_PAUSE 32782
-#define ID_OPTIONS_MMX 32789
-#define ID_OPTIONS_OPENMP 32790
-#define ID_OPTIONS_SWSCALER 32791
-#define ID_OPTIONS_DRAW 32792
-#define ID_OPTIONS_AUDIO 32793
-#define ID_OPTIONS_DUMPYUVFILE 32794
-#define ID_Menu 32795
-#define ID_VIEW_HALFSIZE 32796
-#define ID_VIEW_NORMALSIZE 32797
-#define ID_VIEW_DOUBLESIZE 32798
-#define ID_VIEW_FITTOSCREEN 32799
-#define ID_VIEW_FULLSCREEN 32800
-#define ID_PLAY_HALFSPEED 32801
-#define ID_PLAY_NORMALSPEED 32802
-#define ID_PLAY_DOUBLESPEED 32803
-#define ID_FILE_LAST 32804
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 203
-#define _APS_NEXT_COMMAND_VALUE 32806
-#define _APS_NEXT_CONTROL_VALUE 1013
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by player_wtl.rc
+//
+#define IDD_ABOUTBOX 100
+#define IDR_MAINFRAME 128
+#define IDR_MAINFRAME2 128
+#define IDR_MAINFRAME3 128
+#define IDR_MAINFRAME4 128
+#define IDR_CONTEXTMENU 201
+#define IDD_PROP_PAGE1 202
+#define IDD_PROP_PAGE2 203
+#define IDD_PROP_PAGE3 204
+#define IDC_TYPE 1001
+#define IDC_WIDTH 1002
+#define IDC_HEIGHT 1003
+#define IDC_HORRES 1004
+#define IDC_VERTRES 1005
+#define IDC_BITDEPTH 1006
+#define IDC_COMPRESSION 1008
+#define IDC_FILELOCATION 1009
+#define IDC_FILESIZE 1010
+#define IDC_FILEDATE 1011
+#define IDC_FILEATTRIB 1012
+#define ID_RECENT_BTN 32777
+#define ID_VIEW_PROPERTIES 32778
+#define ID_VIEW_MEDIADETAILS 32780
+#define ID_PLAY_PLAY 32781
+#define ID_PLAY_PLAY_PAUSE 32782
+#define ID_OPTIONS_MMX 32789
+#define ID_OPTIONS_OPENMP 32790
+#define ID_OPTIONS_SWSCALER 32791
+#define ID_OPTIONS_DRAW 32792
+#define ID_OPTIONS_AUDIO 32793
+#define ID_OPTIONS_DUMPYUVFILE 32794
+#define ID_Menu 32795
+#define ID_VIEW_HALFSIZE 32796
+#define ID_VIEW_NORMALSIZE 32797
+#define ID_VIEW_DOUBLESIZE 32798
+#define ID_VIEW_FITTOSCREEN 32799
+#define ID_VIEW_FULLSCREEN 32800
+#define ID_PLAY_HALFSPEED 32801
+#define ID_PLAY_NORMALSPEED 32802
+#define ID_PLAY_DOUBLESPEED 32803
+#define ID_FILE_LAST 32804
+#define ID_Menu32806 32806
+#define ID_VIEW_ROTATE0 32807
+#define ID_VIEW_ROTATE90 32808
+#define ID_VIEW_ROTATE180 32809
+#define ID_VIEW_ROTATE270 32810
+#define ID_VIEW_MIRROR_HORIZONTAL 32811
+#define ID_VIEW_MIRROR_VERTICAL 32812
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 203
+#define _APS_NEXT_COMMAND_VALUE 32813
+#define _APS_NEXT_CONTROL_VALUE 1013
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
+
diff --git a/media/player/view.h b/media/player/view.h
index 4c72512..f515c16 100644
--- a/media/player/view.h
+++ b/media/player/view.h
@@ -54,6 +54,7 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
size_.cx = 0;
size_.cy = 0;
view_size_ = 1;
+ view_rotate_ = media::ROTATE_0;
renderer_ = new WtlVideoRenderer(this);
last_frame_ = NULL;
hbmp_ = NULL;
@@ -295,6 +296,56 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
return view_size_;
}
+ void SetViewRotate(int view_rotate) {
+ switch (view_rotate) {
+ default:
+ case 0:
+ view_rotate_ = media::ROTATE_0;
+ break;
+ case 1:
+ view_rotate_ = media::ROTATE_90;
+ break;
+ case 2:
+ view_rotate_ = media::ROTATE_180;
+ break;
+ case 3:
+ view_rotate_ = media::ROTATE_270;
+ break;
+ case 4:
+ view_rotate_ = media::MIRROR_ROTATE_0;
+ break;
+ case 5:
+ view_rotate_ = media::MIRROR_ROTATE_180;
+ break;
+ }
+ }
+
+ int GetViewRotate() {
+ int view_rotate = 0;
+ switch (view_rotate_) {
+ default:
+ case media::ROTATE_0:
+ view_rotate = 0;
+ break;
+ case media::ROTATE_90:
+ view_rotate = 1;
+ break;
+ case media::ROTATE_180:
+ view_rotate = 2;
+ break;
+ case media::ROTATE_270:
+ view_rotate = 3;
+ break;
+ case media::MIRROR_ROTATE_0:
+ view_rotate = 4;
+ break;
+ case media::MIRROR_ROTATE_180:
+ view_rotate = 5;
+ break;
+ }
+ return view_rotate;
+ }
+
void SetBitmap(HBITMAP hbmp) {
hbmp_ = hbmp;
}
@@ -307,6 +358,9 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
HBITMAP hbmp_; // For Images
int view_size_; // View Size. 0=0.5, 1=normal, 2=2x, 3=fit, 4=full
+ // View Rotate 0-5 for ID_VIEW_ROTATE0 to ID_VIEW_MIRROR_VERTICAL
+ media::Rotate view_rotate_;
+
// Draw a frame of YUV to an RGB buffer with scaling.
// Handles different YUV formats.
void DrawYUV(const media::VideoSurface &frame_in,
@@ -316,53 +370,30 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
int clipped_height,
int scaled_width,
int scaled_height) {
- // Normal size
- if (view_size_ == 1) {
- if (frame_in.format == media::VideoSurface::YV16) {
- // Temporary cast, til we use uint8 for VideoFrame.
- media::ConvertYV16ToRGB32((const uint8*)frame_in.data[0],
- (const uint8*)frame_in.data[1],
- (const uint8*)frame_in.data[2],
- movie_dib_bits,
- clipped_width, clipped_height,
- frame_in.strides[0],
- frame_in.strides[1],
- dibrowbytes);
- } else {
- // Temporary cast, til we use uint8 for VideoFrame.
- media::ConvertYV12ToRGB32((const uint8*)frame_in.data[0],
- (const uint8*)frame_in.data[1],
- (const uint8*)frame_in.data[2],
- movie_dib_bits,
- clipped_width, clipped_height,
- frame_in.strides[0],
- frame_in.strides[1],
- dibrowbytes);
- }
+ if (frame_in.format == media::VideoSurface::YV16) {
+ // Temporary cast, til we use uint8 for VideoFrame.
+ media::ScaleYV16ToRGB32(frame_in.data[0],
+ frame_in.data[1],
+ frame_in.data[2],
+ movie_dib_bits,
+ clipped_width, clipped_height,
+ scaled_width, scaled_height,
+ frame_in.strides[0],
+ frame_in.strides[1],
+ dibrowbytes,
+ view_rotate_);
} else {
- if (frame_in.format == media::VideoSurface::YV16) {
- // Temporary cast, til we use uint8 for VideoFrame.
- media::ScaleYV16ToRGB32((const uint8*)frame_in.data[0],
- (const uint8*)frame_in.data[1],
- (const uint8*)frame_in.data[2],
- movie_dib_bits,
- clipped_width, clipped_height,
- scaled_width, scaled_height,
- frame_in.strides[0],
- frame_in.strides[1],
- dibrowbytes);
- } else {
- // Temporary cast, til we use uint8 for VideoFrame.
- media::ScaleYV12ToRGB32((const uint8*)frame_in.data[0],
- (const uint8*)frame_in.data[1],
- (const uint8*)frame_in.data[2],
- movie_dib_bits,
- clipped_width, clipped_height,
- scaled_width, scaled_height,
- frame_in.strides[0],
- frame_in.strides[1],
- dibrowbytes);
- }
+ // Temporary cast, til we use uint8 for VideoFrame.
+ media::ScaleYV12ToRGB32(frame_in.data[0],
+ frame_in.data[1],
+ frame_in.data[2],
+ movie_dib_bits,
+ clipped_width, clipped_height,
+ scaled_width, scaled_height,
+ frame_in.strides[0],
+ frame_in.strides[1],
+ dibrowbytes,
+ view_rotate_);
}
}