// Microsoft Visual C++ generated resource script.
//
#include "autoversion.h"
#include "resource.h"
#include "winresrc.h"

#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32

/////////////////////////////////////////////////////////////////////////////
//
// PNG
//

IDR_RESIZE_CORNER                PNG                     "textAreaResizeCorner.png"
IDR_MISSING_IMAGE                PNG                     "missingImage.png"
IDR_NULL_PLUGIN                  PNG                     "nullplugin.png"
IDR_DELETE_BUTTON                PNG                     "deleteButton.png"
IDR_DELETE_BUTTON_PRESSED        PNG                     "deleteButtonPressed.png"
IDR_ZOOM_IN_CURSOR               PNG                     "zoomInCursor.png"
IDR_ZOOM_OUT_CURSOR              PNG                     "zoomOutCursor.png"
IDR_VERTICAL_TEXT_CURSOR         PNG                     "verticalTextCursor.png"
IDR_PAN_SCROLL_ICON              PNG                     "panIcon.png"
IDR_PAN_SOUTH_CURSOR             PNG                     "panSouthCursor.png"
IDR_PAN_NORTH_CURSOR             PNG                     "panNorthCursor.png"
IDR_PAN_EAST_CURSOR              PNG                     "panEastCursor.png"
IDR_PAN_WEST_CURSOR              PNG                     "panWestCursor.png"
IDR_PAN_SOUTH_EAST_CURSOR        PNG                     "panSouthEastCursor.png"
IDR_PAN_SOUTH_WEST_CURSOR        PNG                     "panSouthWestCursor.png"
IDR_PAN_NORTH_EAST_CURSOR        PNG                     "panNorthEastCursor.png"
IDR_PAN_NORTH_WEST_CURSOR        PNG                     "panNorthWestCursor.png"
IDR_SEARCH_CANCEL                PNG                     "searchCancel.png"
IDR_SEARCH_CANCEL_PRESSED        PNG                     "searchCancelPressed.png"
IDR_SEARCH_MAGNIFIER             PNG                     "searchMagnifier.png"
IDR_SEARCH_MAGNIFIER_RESULTS     PNG                     "searchMagnifierResults.png"
IDR_FS_VIDEO_AUDIO_VOLUME_HIGH   PNG                     "fsVideoAudioVolumeHigh.png"
IDR_FS_VIDEO_AUDIO_VOLUME_LOW    PNG                     "fsVideoAudioVolumeLow.png"
IDR_FS_VIDEO_EXIT_FULLSCREEN     PNG                     "fsVideoExitFullscreen.png"
IDR_FS_VIDEO_PAUSE               PNG                     "fsVideoPause.png"
IDR_FS_VIDEO_PLAY                PNG                     "fsVideoPlay.png"

/////////////////////////////////////////////////////////////////////////////
//
// STRINGTABLE
//

STRINGTABLE 
BEGIN
    BUILD_NUMBER __BUILD_NUMBER_SHORT__
END
