1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
// GUI_Main_Common_Core - Core GUI for MediaInfo
// Copyright (C) 2007-2012 MediaArea.net SARL, Info@MediaArea.net
//
// This library is free software: you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this library. If not, see <http://www.gnu.org/licenses/>.
//
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
// GUI for MediaInfo, Common Part
//
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//---------------------------------------------------------------------------
#ifndef GUI_Main_Common_CoreH
#define GUI_Main_Common_CoreH
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#ifdef MEDIAINFO_DLL_RUNTIME
#include "MediaInfoDLL/MediaInfoDLL.h"
#define MediaInfoNameSpace MediaInfoDLL
#elif defined MEDIAINFO_DLL_STATIC
#include "MediaInfoDLL/MediaInfoDLL_Static.h"
#define MediaInfoNameSpace MediaInfoDLL
#else
#include "MediaInfo/MediaInfoList.h"
#define MediaInfoNameSpace MediaInfoLib
#endif
using namespace MediaInfoNameSpace;
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
class Core;
//---------------------------------------------------------------------------
//***************************************************************************
// GUI_Main_Common_Core
//***************************************************************************
class GUI_Main_Common_Core
{
public:
//Constructor/Destructor
GUI_Main_Common_Core(Core* _C);
virtual ~GUI_Main_Common_Core() {};
//Actions to be overloded
void GUI_UpdateAll() {GUI_Resize(); GUI_Refresh();}
virtual void GUI_Refresh() {};
virtual void GUI_Resize() {};
//Actions - Global
size_t FilesCount_Get ();
size_t FilesPos_Get ();
//Actions - Per File
MediaInfoNameSpace::String FileName_Get ();
//Actions - Per StreamKind
size_t StreamsCount_Get (stream_t StreamKind);
//Actions - Per Stream
MediaInfoNameSpace::String Summary_Get (stream_t StreamKind, size_t StreamPos);
MediaInfoNameSpace::String Inform_Get (stream_t StreamKind, size_t StreamPos);
MediaInfoNameSpace::String CodecID_Url_Get (stream_t StreamKind, size_t StreamPos);
//protected: //Should be protected, but Borland VCL does NOT accept multiple classes, so we need of data
//Internal
Core* C;
size_t File_Pos;
};
#endif
|